I'd like to add another custom eslint rule, but there isn't a very good place to do that right now. We have the `eslint-plugin-kibana-custom` package, which is super simple but isn't in the `@kbn` namespace and isn't included in the root eslint config, and `@kbn/eslint-plugin-license-header` is too specific, so I've merged those two packages into `@kbn/eslint-plugin-eslint`, which is a little redundant but allows is to refer to the rules within it as `@kbn/eslint/{rule}`, which feels nice.
Thoughts?
_**NOTE:**_ merging the eslint rules from the two packages means enabling prettier for the code from `@kbn/eslint-plugin-license-header`, all those changes are made in 42c7da6fe2. [View the changes without the prettier updates](b647f2b...74e07a0)
* Expose core api types in /public and /server
* Export CoreStart from core/public
* Export Server and Public from 'kibana'
* Cast frozen object type back to original
The exported type `InjectedMetadataStart` derives it's type from the returned values.
Since it's internal state is frozen the type changes to `ReadOnly<`. However, consumers
of the API shouldn't have to know or care about this type.
* Be more selective with what gets exported
* Fix type imports in tests
* Fix type errors
* Remove src/type_exports.ts
* More remove src/type_exports.ts
* Remove build:types
* Fix bootstrap import
* Expose internal API's at the top level
Exposing the internal API's at the top level of core/public and core/server
makes it obvious that these API's are consumed outside these modules. Marking
these @internal ensures they don't get exported as part of the documentation.
* Fix tests
* Put core/{public/server} in their own namespaces
* update for new eui nav drawer
* remove extraAction on flyout
* fix mobile menu toggle
* add i18n for recently reviewed nav link
* progress on updating tests
* replace EuiListGroup with EuiNavDrawerGroup
* Quick label fixes
- Removing aria-label if the same as label since the `EuiNavDrawerGroup` takes care of that
- Truncating any recent items to just 64 characters and applying the `title` attribute to display the whole label.
* Adding a truncation buffer
* fix navDrawerRef
* Update to EUI 9.3.0
Also comments out some logos that don’t exist that were throwing console errors
* remove unused import
* typo fix
* One DTS too many in test
* …all the small things…
* Upgrade plugin dependencies and fix nav drawer test
* update for new eui nav drawer
* remove extraAction on flyout
* fix mobile menu toggle
* add i18n for recently reviewed nav link
* progress on updating tests
* replace EuiListGroup with EuiNavDrawerGroup
* Quick label fixes
- Removing aria-label if the same as label since the `EuiNavDrawerGroup` takes care of that
- Truncating any recent items to just 64 characters and applying the `title` attribute to display the whole label.
* Adding a truncation buffer
* fix navDrawerRef
* Update to EUI 9.3.0
Also comments out some logos that don’t exist that were throwing console errors
* remove unused import
* typo fix
* One DTS too many in test
* …all the small things…
* Upgrade plugin dependencies and fix nav drawer test
* Add support for normal image paths
Updated to EUI 9.4.0
* update testing appMenu.clickLink selector
* leave appsMenu closed while reading and clicking links
* use saveVisualizationExpectSuccess to ensure modal is closed before continuing
* [Input controls vis] replace react-input-range with EuiDualRange
* remove unneeded styles
* correctly format I18n with variables
* fix problems with long decimals
* fix one test case
* clean-up error message text, remove extra commas in jest test
* fix bug where values were returned as strings
* use i18n.translate instead of passing formatMessage into isRangeValid
* assert error message in isRangeValid unit test
* changes from node scripts/i18n_check --fix
* remove localization from RangeControl component since it no longer has any text, update snapshots
* another snapshot update
* ensure min and max are not null
* check for value before checking if min/max is null
* Fixed a simple argument bug and removed infra date picker EUI types
* Fixes for EUI date picker types
* eui_8.0.0
* fix type errors in query_bar
* Small changes for EUI types
* Updates EUI to 9.0.0 and removes @types/react-datepicker as it now ships with EUI
* Updates to EUI 9.0.1 and removes duplicate types in infra eui.d.ts
* ts-ignore applied to ongoing type error with styled components and EUI
* Changes EuiProgress props to avoid TS errors
* Updates EUI 9.0 snapshots
* Updates kibana root snapshots for EUI 9.0 upgrade
* Update detail_panel.test.js for EUI changes
* Updated functioanl and unit tests to properly inspect EuiTableRowCell rendered values
* Fix docs_level_security_roles.js func tests
* Update EUI to 9.0.2
* Fixed failing snapshot for EUI icon default prop
* [ftr] flatten GenericProviderTypes to fix "log" types
* [ftr/remote] typscript-ify
* remove webdriver types, since they're version 3 and we're using version 4
* simplify initWebDriver() function
* keep jest tests in the functional tests as js, mixing jest and mocha types doesn't work
* Initial work for new server side export API
* Revert UI changes, API only in this PR
* Remove whitespace at top of export.asciidoc
* Add tests around limitations
* Add comment
* Convert some files to typescript
* Move Boom.boomify to where the errors are created
* Use Boom.badRequest for now
* Fix lint issue
* Move files
* Update tests
* Add functional test
* Export all documents by default
* Update test assertions
* Use ~10000 saved objects in export api integration test
* Convert route to typescript, add content-type response header
* Move some tests to api_integration
* Use new sort and rename functions/variables
* Move tests to API integration
* Cleanup and finalize api integration tests
* Make type or objects required but not both in the same call
* Add spaces / security tests
* Add noTypeOrObjects to security / spaces tests
* Use json-stable-stringify and add tests for export ordering
* Address self feedback, add without kibana index test
* Only allow export API to export index-pattern, dashboard, visualization and search type objects
* Make import export size configurable and fix broken tests
* Fix broken tests
* Move test config to mock server
* Add more typescript types instead of using any
* Convert request from GET to POST
* Fix saved objects mixin test
* Update src/legacy/server/saved_objects/lib/export.ts
Co-Authored-By: mikecote <mikecote@users.noreply.github.com>
* Apply PR feedback
* Fix lint error
* Update test snapshots due to jest upgrade
* Add error handling for bulkGet
* Split export API into two endpoints
* Update src/legacy/server/saved_objects/routes/export_by_type.test.ts
Co-Authored-By: mikecote <mikecote@users.noreply.github.com>
* Update docs/api/saved-objects/export_by_type.asciidoc
Co-Authored-By: mikecote <mikecote@users.noreply.github.com>
* Update docs/api/saved-objects/export_by_type.asciidoc
Co-Authored-By: mikecote <mikecote@users.noreply.github.com>
* Update src/legacy/server/saved_objects/routes/export_objects.test.ts
Co-Authored-By: mikecote <mikecote@users.noreply.github.com>
* Apply PR feedback
* MockServer -> createMockServer
* Revert back to single API
* Re-apply PR feedback
* Restore webdriver-based functional test runner driver
* run all function test suites 6 times per build, to help spot flakiness
* [tests/reporting] fix flaky click on report generation
* [#31446] stabilize x-pack-ciGroup6 (#31447)
* rerun x-pack-ciGroup6 40 times
* improve reporting tests stability (#31454)
* Revert "rerun x-pack-ciGroup6 40 times"
This reverts commit 63026b1a53.
* Fix Dashboard Save tests (#32112)
* [page_objects/dashboard_page] add waitDialogIsClosed to manage dashboard popup behaviour
* [page_objects/dashboard_page] add waitDialogIsClosed flag
* services: leadfoot -> webdriver
* [services/lib/web_element_wrapper] extend type with charByChar input (#32305)
* Revert "run all function test suites 6 times per build, to help spot flakiness"
This reverts commit 477099337a.
In https://github.com/elastic/kibana/pull/31234 there were some extra changes that I've reverted, like use of the `tsconfig-paths` package to magically rewrite import statements to defy the standard node module resolution algorithm, the inclusion of several unnecessary options in the `test/tsconfig.json` file, and changes of the line-endings in the config files. This also brings a few enhancements from https://github.com/elastic/kibana/pull/30190 including a modularized version of the expect.js types, and options for explicit mappings for the PageObjects and services used in ftr tests.
* bump typescript version to 3.3.3333
* fix tests after updating TS version
* suppress type errors until they fixed appropriately
* address comments
* add type def for UnconnectedKibanaLink
* remove fix @ts-ignore
* fix snapshot test. provide displayName
* udpate jest, jest-cli, @types/jest to v24
* fix type error in kibana-i18n package
* return serivce explicitly to fix typings
* add explicit never
* suppress typings errors
* update jest versions in x-pack
* make tests in x-pack more robust and fix incompatibility
* suppress CallCluster mock typings
Mock interface doesn't match CallCluster. Requires
additional work
* x-pack. resolve other typing conflicts
* remove unused types/jest
* fix snapshots
* restore mocks after jest.spyOn
* remove outdated definitions for jest
* cleanup x-pack package.json and update @types/jest
* fix tests merged from master
* updated yarn.lock and log errors for scripts/type_check
* This commit fixes error in TS, which failed on parsing the file.
* suppress type errors from master
* jest-cli is devDep
* Revert "Replace Leadfoot with WebDriver API (#26477)"
This reverts commit 0bd3b4fdfb.
* leadfoot expectes execute args to be an array
* disable flaky graphql tests
* [services/browser] switch to webdriver API
* [services/find] switch to webdriver API
* [services/remote] update to use webdriver service
* rename WebDriver service
* [services/remote] remove browser_driver_api
* [services/find] update to use WebDriver element wrapper
* [services/web_element_wrapper] use wrapped elements
* [services/find] use element wrapped moveMouseTo function
* [services/find] fix webdriver service init, add missing functions
* add missing functions for Leadfoot Element API
* [services/web_element_wrapper] add search by tag name
* tune WebDriver API calls to match Leadfoot
* Fixed implementation of moveMouseTo that is causing el.getClientRect error.
* fix references to WebElementWrapper
* [services/find] fix findElement call on webElementWrapper object
* fix issues in find and test_subject services
* [web_element_wrapper] add search by partial link text
* [services/find] adjust wrapper functions with Leadfoot API to support tests
* fix dragAnDrop & filer on elements displayed
* [visualise_page] improve searching of bucket element
* [discover_page] wait for visualisation loaded + dragAndDrop
* [service/find] fix exists, add pressKey for element
* fixes for visualize tests
* [services/browser] update dragAnddrop
* Made change to test to use move() code path in drag and drop.
* tune page objects for chart tests
* fix discover & xpack tests
* [page_objects/upgrade_assistant] fix locator
* [page_objects/discover_page] retry on brushHistogram to fix staleElementException
* update dragAndDrop, retry on getHeaders
* retry on getTextTag
* [services/screenshots] fix webdriver image take
* skip histogram brushed test & remove --bail
* use legacyAction for dragAndDrop with offset
* add missing await
* page objects update
* increase mocha timeout to 5 min
* use data-rendering-count to track visualization loading completion
* adjust waitForVisualizationRenderingCompleted
* [page_objects/visualize_page] add waiting for visualization
* fixes for xpack functional tests
* improve logging in find & testSubjects
* [services/find] fix wrapped element usage
* [page_objects/visual_builder_page] use BACK_SPACE key, supported by WebDriver
* page objects fix
* [services/test_subjects] add async/await
* [visualize/_tile_map] add missing await in tests
* fix tile_map tests for webdriver
* replace bluebird.prop with async/await
* try to wait for rendering in openLegendOptionColors
* additional logs in find.allByCssSelector
* [services/find] fix implicit wait handling
* fix mapping in getRowsFromTable
* add timeouts and waitForVisualisation in failed tests
* [services/test_subjects] set default timeout to FIND_TIME
* [services/test_subjects] replace bluebird.filter with for loop
* replace retry.try with waitForVisualisation
* add 'visualize' PO import
* [services/web_element_wrapper] add scrollIntoView support
* fixing kibana-intake
* fixes after merging master
* Switching browser temporarily to firefox to get a CI run on FF.
* set chrome back to default browser
* print logs for some WebElementWrapper functions
* fix _wrap function
* update NOTICE.txt
* Fixed some firefox config to get the browser working. Consolidated some of the calls to build out the driver.
* Cleaning driver instance creation
* Added network throttling option for chrome.
* fix implicit wait setting
* uncomment bail
* adjust waiting for timepicker popup
* [services/inspector] process table in sequence
* Added conditional for TEST_THROTTLE_NETWORK option along with updating the speed and comments.
* add cheerio checks
* [services/apps_menu] get links quicker via innerHtml
* install webdriver dependency via yarn
* [services/combo_box] wrap getComboBoxSelectedOptions with retry
* remove leadfoot
* [testSubjects] remove unnecessary method
* [ftr/browser] explicitly export specific keys, keep `BACKSPACE` name
* Revert "[ftr/browser] explicitly export specific keys, keep `BACKSPACE` name"
This reverts commit 779335f2d4.
* [ftr/filterBar] allow finding filters even if they're off the page
* [webdriver] write verbose logs
* [webdriver] shim executor to run all commands in series
Best we can tell WebDriver locks up sometimes when we send too many
commands at once, sometimes... It causes random lockups where we never
receive another response from WedDriver and we don't want to live with
that risk, so for now I've shimmed the Executor class in WebDiver to
queue all calls to Executor#send() if there is already a call in
progress.
* [webdriver] add comment about why we're shimming
* [webdriver] fix queue, actually put things there and take things off
* run all functional four times per build
* [webdriver] extract preventParallelCalls to test it
* Revert "run all functional four times per build"
This reverts commit f91996d977.