Commit graph

24 commits

Author SHA1 Message Date
Sergi Romeu
b2dd88ec55
chore: remove react-syntax-highlighter leftovers (#213076)
## Summary

Removes leftovers of react-syntax-highlighter removed in [this
PR](https://github.com/elastic/kibana/pull/204902)
2025-03-04 15:35:34 +01:00
Luke Elmers
b6287708f6
Adds AGPL 3.0 license (#192025)
Updates files outside of x-pack to be triple-licensed under Elastic
License 2.0, AGPL 3.0, or SSPL 1.0.
2024-09-06 19:02:41 -06:00
Eyo O. Eyo
d458b5382f
Remove legacy kibana react code editor (#171047)
## Summary

This PR removes the legacy kibana react code-editor, alongside replacing
all import declarations of this legacy component to the one offered by
shared-ux, i.e import declaration source of `'@kbn/kibana-react/public'`
is switched to `@kbn/code-editor`.

Also in this PR an helper for writing jest tests has been included
through the package `@kbn/code-editor-mock`, this would facilitate
mocking the editor, especially given that the code editor leverages
couple of APIs that are aren't included by default in jsdom, among them,
`matchMedia`, `ResizeObserver`. The provided mock is sufficient for most
use cases and can be setup in any package within kibana as a
[`node_module`
mock](https://jestjs.io/docs/manual-mocks#mocking-node-modules) without
having to repeatedly manually mock the editor within individual test
files. An example for how this might be done can be found here
ec5ba25368


### Checklist

<!-- Delete any items that are not applicable to this PR.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
-->
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

<!--
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)


### Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.

When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:

| Risk | Probability | Severity | Mitigation/Notes |

|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces&mdash;unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes&mdash;Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |


### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-01-05 14:35:09 +01:00
Patryk Kopyciński
4180a1a105
[security_solution] Fix @grep tags in Cypress (#164644)
## Summary

`@cypress/grep` is just reading the file as text, so it's not capable of
evaluating the variables, because of that, today we are running all the
spec files, and that means that we are setting up a new stack just to
stop it a few seconds later after grep skips the spec file

https://github.com/cypress-io/cypress/blob/develop/npm/grep/src/plugin.js#L117

With variable:
<img width="1219" alt="Zrzut ekranu 2023-08-23 o 23 06 30"
src="97b6fdaa-a03a-4a4f-bbdc-97da8e1788ce">

With string:
<img width="2074" alt="Zrzut ekranu 2023-08-23 o 23 06 04"
src="1f48d20a-3a1a-4ded-aa47-493781a4758b">

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-08-25 13:22:04 +01:00
Patryk Kopyciński
09aaecb59d
[security_solution] Cypress flaky tests catcher (#162376)
## Summary

Inspired by https://glebbahmutov.com/blog/burning-tests/

Implements the idea presented here
https://glebbahmutov.com/blog/burning-tests/#bonus-3-burning-new-or-changed-specs

In short, on PR that is changing/adding new Cypress spec files we will
try to "burn" them, it means we will try to run each `it` `2` times to
make sure tests are written in a way that gives Cypress a chance to
recover from the failed test.
Also adding a command that allows to "burn" tests locally
```
yarn cypress:burn --spec "<>"
```

Right now the job is set to `soft_fail`, so it is not going to block the
PR from merging, but hopefully will help the Team to recognize potential
flakiness before it is merged to `main`
2023-08-09 14:58:04 -07:00
Clint Andrew Hall
d92b7feeff
[typescript] Create Ambient Types package (#129368)
* WIP

* tweak @kbn/ambient-ui-types for special usecase

* remove @types/ for ambient-ui-types, the package is a types package

* Split types; remove duplicate types in packages

* Adjust README

* Update CODEOWNERS

* Addressing feedback

* Move to tsconfig.base.json

* Fix missing types array in kbn/field-types

* Addressing errors

* Return declaration

* move storybook types to storybook specific package

* add codeowner for new package

Co-authored-by: spalger <spencer@elastic.co>
2022-04-06 19:21:24 -05:00
Spencer
ac23dce29f
[storybook] upgrade to 6.3.x (#119498)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-11-24 20:46:32 +01:00
Nicolas Chaulet
3438a70ec3
[Fleet] Replace usages of EuiCodeEditor by CodeEditor (#107434) 2021-08-05 11:40:40 -04:00
Yaroslav Kuznietsov
a7444835dd
[TSVB] Replaces EuiCodeEditor 👉 Monaco editor (#100684)
* Сhanged EuiCodeEditor to CodeEditor (monaco) at markdown_editor.js

* Added css lang support for monaco-editor.

* Added .d.ts for css lang import directly from monaco.

* Moved handlebars_url language to the code_editor.

Moved handlebars_url language registration to the code_editor.
Changed the way of registration of languages.

* Added merge for markdown_handlebars lang.

* Changed to simple markdown syntax.

Handlebars syntax breaks highlighting of special chars in markdown syntax.

* Removed useless mergeConfig function.

* Removed legacy import.

* Refactor export from monaco-editor.

* Fixed 'Could not find a declaration file for module'

* Fixed tests.

* Fixed typings errors.

* Added comment to typings.

* Fixed clearMarkdown for Monaco editor.

* Made changes based on suggestions.

* Fixed types errors.

* Fixed function tests types errors.

* Fixes, based on nits.

* Fixes based on nits.

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-06-18 21:25:11 +03:00
Mikhail Shustov
ee84e0b0b7
Merge tsconfig and x-pack/tsconfig files (#94519)
* merge all the typings at root level

* merge x-pack/tsconfig into tsconfig.json

* fix tsconfig after changes in master

* remove unnecessary typings

* update paths to the global typings

* update paths to the global elaticsearch typings

* fix import

* fix path to typings/elasticsearch in fleet plugin

* remove file deleted from master

* fix lint errors
2021-03-16 15:13:49 +01:00
Thomas Watson
b862a6c181
Bump @storybook/* from 6.0.26 to 6.1.20 (#93386) 2021-03-09 08:51:37 -07:00
Brandon Kobel
4584a8b570
Elastic License 2.0 (#90099)
* Updating everything except the license headers themselves

* Applying ESLint rules

* Manually replacing the stragglers
2021-02-03 18:12:39 -08:00
Clint Andrew Hall
55afba4a4d
Setting up and documenting Presentation Util (#88112) 2021-01-28 17:15:13 -06:00
Brandon Kobel
170a2956c8
Updating the License (#88343)
* Updating the Licenses, except for applying eslint, building

* Applying ESLint rules,building @kbn/pm, regenerating api docs
2021-01-19 17:52:56 -08:00
Mikhail Shustov
2782204cc1
Get rid of global types (#81739)
* move global typings to packages/kbn-utility-types

* update all imports

* add tests

* mute error

* update docs

* ok

* rename kbn-utility-types/test --> kbn-utility-types/jest
2020-10-28 11:03:04 +01:00
Spencer
06d1628a00
[ts] enable "resolveJsonModule" and disable existing failures (#78855)
Co-authored-by: spalger <spalger@users.noreply.github.com>
2020-09-30 15:44:43 -07:00
Mike Côté
7d97ead26e
Adding PagerDuty icon to connectors cards (#60805)
* adding PagerDuty icon to connectors cards

* Fix jest

* remove unnecessary global typings from canvas and sync global typings in xpack with oss

Co-authored-by: Andrea Del Rio <delrio.andre@gmail.com>
Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-31 13:41:00 -04:00
Josh Dover
eb03fd8c5f
[new-platform] Add legacy property to NavLinks registered by… (#41301) 2019-07-29 17:51:45 -05:00
Spencer
a95ae8c037
[prettier] upgrade to 1.18.2 (#40229)
* [prettier] upgrade to 1.18.2

* autofix prettier violations
2019-07-03 12:36:44 -07:00
Rudolf Meijering
da09a11858
Mocks for CoreStart, CoreSetup and PluginInitializerContext (#39351)
* Mocks for CoreStart, CoreSetup and PluginInitializerContext

* Public CoreStart, CoreSetup mocks

* Update api signature/docs

* Convert embaddable_api tests to new core mocks

* CR Feedback

* Introduce ui_new_platform.test.mocks and refactor embedabble tests

* Hack to get TS warnings for Core mocks

* Core mocks types cleanup & hack to get TS warnings for Server Core mocks

* Use __mocks__ new_platform

* Remove accidently commited auto-mock

* Introduce MockedKeys type for Core mocks

* Better typing/docs for UiSettings

* Revert "Use __mocks__ new_platform"

This reverts commit 2d666facc8.

* Add missing mock to test

* Cleanup UiSettings types
2019-06-28 13:34:41 +02:00
Tiago Costa
ed795d28ee
Migrate from tslint (#33826)
* chore(NA): remove tslint dependencies, configs and enable eslint typescript parser.

* fix(NA): apply recommend eslint typescript rule.s

* chore(NA): upgrade eslint package versions.

* chore(NA): split javascript eslint config in an override section.

* chore(NA): split all eslint configs with overrides.

* chore(NA): remove missing console.log.

* chore(NA): change eslint splits and overrides order.

* chore(NA): replace tslint disable comments with eslint ones.

* chore(NA): solve eslint typescript errors for elastic/kibana-custom/no-default-export

* chore(NA): fixed multiple eslint typescript rule failures.

* chore(NA): add tarfet folder to the eslint ignore.

* chore(NA): apply prettier rule to ts type file.

* chore(NA): remove last mentions to tslint

* chore(NA): add old defined rules

* chore(NA): missing port rules website

* chore(na): ordered rules

* chore(NA): solved eslint typescript problems.

* chore(NA): fix spaced comment problems.

* chore(NA): fix some more eslint typescript rules: import/order no-empty-interface

* chore(NA): fix last rules and comment out what are the ones still failing.

* chore(NA): comment out camelcase rule.

* chore(NA): regenerate kbn pm dist.

* chore(NA): updated snapshots.

* chore(NA): updated snapshots.

* chore(NA): disabled sort-keys rule.

* chore(NA): remove rule prefer-arrow/prefer-arrow-functions.

* chore(NA): fix for @typescript-eslint/no-var-requires rule.

* chore(NA): fixes for @typescript-eslint/camelcase rule.

* chore(NA): fix typo on eslint config kibana typescript.

Co-Authored-By: mistic <tiagoffcc@hotmail.com>

* chore(NA): remove legacy note after the intellij upgrade to 2019.1

* fix(NA): import order plugin.

* chore(NA): fix ts ignore positions after auto fix.

* fix(NA): performance issue with typescript eslint.

* refact(NA): eslint configs organization.

* chore(NA): apply resticted paths to ts files too.

* chore(NA): split comment from eslint ignore.
2019-04-05 17:45:23 +01:00
Mikhail Shustov
03afe53752
Add client side service mocks (#32999)
* Add client side service mocks

* remove ab obsolete test snapshot

* put back accidentally removed type definition

* define MethodKeysOf, PublicMethodsOf on project level

* export src/core/public service mocks

* export src/core/server service mocks
2019-03-18 16:11:15 +01:00
Justin Kambic
2d8e7a146b
[Uptime Monitoring] Add uptime monitoring (#27552)
* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* [Uptime Monitoring] Add Overview and Monitor pages (#27279)

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add GQL query components.

* Remove reference to dedicated histogram resolver.

* Update formatting of displayed dates and columns for monitor statuses.

* Add UI import for framework adapter.

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add React Router and some basic breadcrumbs.

* Update application flow to subscribe to use K7 if available.

* Rename a type.

* Update to work with K7.

* Update breadcrumb module to export functions per uptime page.

* Add explicit type to object.

* HTML-encode a symbol.

* Extract router basename to prop/constant.

* Add autorefresh control and state variables.

* Support passing monitor ID to route.

* Mock up some charts in the Monitor page.

* Add spacer.

* Enlarge spacer.

* Add ID to sample link.

* Replace div with fragment.

* Remove unused text.

* Add GQL components/resolvers/queries for PingList and MonitorSelect.

* Add MonitorStatusBar GQL component, update GQL schema + resolver.

* Add GQL support for Monitor charts.

* Add auto-polling for Monitor Page components.

* Fix routing bug.

* Remove outdated code.

* Add beaker icon.

* Add snapshot component to Overview page.

* Update snapshot histogram to display monitors up/down. Update types.

* Update typings for adapters/libs.

* Move monitor list to Overview page. Update formatting of snapshot component.

* Include link from monitor table to monitor page.

* Add help link to app header.

* Remove unneeded title from Overview page.

* Update the data shown in checks list.

* Put limit on check query size.

* Remove obsolete code.

* Add filtering to Overview page.

* Add Monitor List component.

* Add filtering capabilities to errors list.

* Add pagination, sorting, and status code to errors list.

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Fix broken test.

* Add more tests for pings ES adapter.

* Remove obsolete code.

* Track autorefresh state in localStorage.

* Shrink top visualizations.

* Fix typings in monitor charts component.

* Fix typings in monitor status bar.

* Fix typings in monitor select component.

* Fix typings for monitor memory adapter.

* Update error list column ordering. Fix broken API test.

* Clean up names.

* Refactor snapshot histogram into dedicated component, make histogram data nullable.

* Add API test.

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add test for ES pings adapter.

* Add empty prompt when no index found.

* Place limits on filtering capabilities.

* Update plugin order.

* Add date picker.

* Fix bug setting date range. Update chart color.

* Downgrade apollo cache package to avoid bumping other clients.

* Extract reference to chrome API from app startup to kibana adapter.

* Update framework_adapter_types.ts

Remove unneeded comment via GitHub web UI.

* Extract data formatting function to dedicated file to improve modularity.

* Add a TODO.

* Add TODO for moving formatting code to server.

* Switch to use auto_date_histogram agg.

* Add filter schema.

* Add pagination and sorting to Monitor List component.

* Add latest timestamp to errors list.

* Add code to default the date range's end to be greater than 'now' to avoid the user missing latest information on refresh.

* Delete console.log call from code.
2019-01-03 12:17:21 -05:00
Stacey Gammon
f3545f3b11
Typescript search embeddable (#26863)
* typescript search embeddable

* Add a comment
2018-12-12 12:56:03 -05:00