Commit graph

352 commits

Author SHA1 Message Date
Tiago Costa
b142f80d7d
Match chalk dependency version on kibana with the one used on x-pack (#20621)
* chore(NA): match chalk dependency version on kibana with x-pack to ^2.3.2.

* chore(NA): bump chalk version dependencies and update lock files.
2018-07-13 00:26:57 +01:00
Marco Vettorello
6ef8f6355e
[kbn-plugin-generator] Fix eslint dependencies and template code linting (#20517)
* Add missing peer dependency and upgraded to new import resolver kibana

* Fixed template code to follow eslint rules

* Fix lint script to lint all files in the generated dir

* More precise slurp :p
2018-07-10 12:33:50 +02:00
Tim Roes
cb5ee01c6a
Increase prettier line width to 100 (#20535)
* Increase prettier line width to 100

* Fix packages JS prettier

* Change style guide to 100 width

* Fix line-width in latest master changes
2018-07-09 22:50:37 +02:00
Tyler Smalley
ee0610bd6b
[kbn-es] Windows uses zip snapshot, Linux uses tar. (#20503)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-07-09 09:35:51 -07:00
Spencer
d6f982dfd2
[system-loader] remove I-prefixed interface names (#20362)
Missed this in #19402
2018-07-02 09:44:52 -07:00
Maxim Tolochko
050e7ef13d Update @kbn/i18n yarn.lock file (#20301) 2018-06-28 18:31:40 +02:00
Maxim Tolochko
f522b31ac9
Add draft implementation of I18n engine (#19555)
* Add draft implementation of I18n engine

* Add i18n loader

* kbn-i18n refactoring

* Fix react i18n context and update doc

* i18n engine refactoring

* Fix locales data loading and add more jsdoc comments

* Fix verify_translations task

* I18n tests refactoring

* Add build scripts to kbn-i18n package

* Fix some bugs

* Move uiI18nMixin into ui_i18n folder

* Add 'browser' field to kbn-i18n package.json

* Get rid of "showError" method

* Make i18n and i18nLoader a singleton object

* Add default locale as fallback if translation files were not registered

* Update yarn.lock

* kbn-i18n fix

* Add default formats

* Try to fix build

* Add more examples into kbn-i18n/README.md

* kbn-i18n fix

* Fix app_bootstrap tests

* Add links to issues in TODO comments
2018-06-28 12:38:39 +03:00
Josh Soref
2b27fb1c5f Fix misspellings (#19981) 2018-06-26 20:17:41 -07:00
archana
b03243f5d8
[Functional Tests] Use @kbn/test on Kibana CI (#18967)
* Replace test:api with @kbn/test runTests

* Improve CLI help menu 🆘

* Use --es-from

* Replace jenkins:selenium with kbn-test

* Validate cli args, fixing test in the process

* Clean up some stuff

* Code review fixes

* Explanation for collectCliArgs

* Remove exit codes, they're useless anyway.

* Make markdown vis test pass with dev_mode setting

* Tests

* Remove unneeded export

* Code review: move console logging up to cli.js

* Code review: refactor startServers and runTests to take single options collection

* Code review: Remove all things I am sure we do not use

* Improve tests

* Code review fixes

* Pass created log to runFtr, runElasticsearch, runKibanaServer

* Update --es-from option to --esFrom
2018-06-26 18:08:40 -05:00
Aleh Zasypkin
18037984da
Upgrade rxjs: 6.1.0 ---> 6.2.1. (#20209) 2018-06-25 20:04:19 +02:00
Spencer
7f0308b700
[plugin-helpers] use execa so that errors include stdout with helpful info (#20110) 2018-06-22 13:17:10 -07:00
Tyler Smalley
699fb251eb
Adds SCSS support for plugins (#19643)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-06-21 16:25:29 -07:00
spalger
53cb1712f4 [kbn-es] update yarn.lock 2018-06-20 11:49:13 -07:00
Spencer
6a429d7fa3
[npm] upgrade to RxJS 6 (#18885)
This PR upgrades RxJS to version 6 and switches to a fork of `stream-to-observable` which includes an updated version of `any-observable` that supports RxJS 6 until https://github.com/jamestalmage/stream-to-observable/pull/10 is merged. The primary change in this version of RxJS is the movement of stream operators from `Obersable.prototype` to the `rxjs/operators` module. Some of the operators, like `catch` and `do`, have been renamed (`catchError`, and `tap`). The Obsevable factories have also been moved from static methods on the `Observable` class to named exports of the root `rxjs` module. Some of those factories have also changed slightly, like `fromEvent` which now emits arrays if the event handler is called with multiple arguments.

```js
// import the Rx namespace to get the Observable factories
import * as Rx from 'rxjs';
// import the operators as named imports
import { map, tap, switchMap } from 'rxjs/operators';
```
2018-06-18 10:16:38 -07:00
Jonathan Budzenski
3ad137a599
bump kbn-pm (#19623) 2018-06-07 13:32:11 -05:00
Aleh Zasypkin
bc5f05ef2f
Execute tsc.cmd on Windows during build. (#19622) 2018-06-01 18:49:55 +02:00
Spencer
f0cc432faf
Apache 2.0 license headers (#19383)
In order to make the license that applies to each file as clear as possible, and to be consistent with elasticsearch, we are adding Apache 2.0 license headers to the top of each file.

Existence of this header is enforced by eslint and tslint and missing headers were automatically added in the last commit by running:

```
node scripts/eslint --fix && node scripts/tslint --fix
```
2018-05-28 20:06:30 -07:00
Tiago Costa
194aba149f
Validate current node version (#19154)
* feat(12976): node version validation at runtime.

* refact(12976): move the code into a static utilities class.

* test(12976): added first test case using jest.

* test(12976): added test cases for node_version.

* feat(12976): create setup env node to bootstrap babel, ts-node and node version validator.

* refact(12976): migrated node version code from es6 to es5.

* feat(12976): node version validation at runtime.

* refact(12976): move the code into a static utilities class.

* test(12976): added first test case using jest.

* test(12976): added test cases for node_version.

* feat(12976): create setup env node to bootstrap babel, ts-node and node version validator.

* refact(12976): migrated node version code from es6 to es5.

* fix(12976): remove one level from ts node register cache directory link.

* chore(12976): added caret to semver dependecy in order to support minor versions.

* refact(12976): small change from named import to default import on node version validator.

* refact(12976): removed ts_node_register and add the code to babel_register.

* feat(12976): split eslint config in order to properly support files built to run before and after node version validator. refact(12976): convert script files to es5 code. refact(12976): delete inline eslint configs from node version check related files.

* refact(12976): remove ts node register file.

* refact(12976): completely port setup_node_env to es5.

* refact(12976): remove babel_register invokation from external dependencies in scripts.

* refact(12976): move node_version code directly into node_version_validator inside setup_node_env folder.

* refact(12976): only node version validator for kbn script.
2018-05-25 18:43:01 +01:00
Spencer
2587dc6867
[eslint-plugin-no-unsanitized] upgrade for import() support (#19315) 2018-05-24 11:36:59 -07:00
Spencer
ce20463f59
[tslint] Fix violations in kbn-pm (#19335)
* [tslint/kbn-pm] apply autofixes

* [tslint/kbn-pm] whitelist all console.log calls for now

* [tslint/kbn-pm] sort object keys alphabetically

* [tslint/kbn-pm] use comments to "fill" empty blocks

* [tslint/kbn-pm] use I-prefix for interface names

* [tslint/kbn-pm] use arrow-functions where possible

* [tslint/kbn-pm] use lowerCamelCase for variable names

* [tslint/kbn-pm] prevent shadowed variable names

* [tslint/kbn-pm] avoid variable name and type clashes

* [tslint/kbn-pm] replace console.log statements with bare-bones logger
2018-05-23 14:50:02 -07:00
Spencer
3d08c5cb31
[tslint] fix violations in kbn-system-loader (#19336)
* [tslint/kbn-system-loader] remove tslint overrides

* [tslint/kbn-system-loader] apply autofixes

* [tslint/kbn-system-loader] override max-classes-per-file for tests

* [tslint/kbn-system-loader] use I-prefix for interface names

* [tslint/kbn-system-loader] use comments to "fill" empty blocks

* [tslint/kbn-system-loader] use lowerCamelCase for variable/property names

* [tslint/kbn-system-loader] sort object keys alphabetically

* [tslint/kbn-system-loader] ensure that public methods come before private ones
2018-05-23 13:27:04 -07:00
Spencer
4c2a90dbdd
[tslint] lint typescript code (#19105)
* [tslint] lint typescript code

* [tslint] filter projects when running specific project

* [dev/ts] use more explicit types

* [dev/ts] add note about why using glob

* [dev/ts] rely on ts, use fewer getters
2018-05-22 14:00:02 -07:00
Aleh Zasypkin
0ab9703287
Upgrade sinon (v1.17.3 --> v5.0.7). (#19074) 2018-05-22 12:13:38 +02:00
archana
f63a3df17d
Option to run kibana from build for CI (#19125) (#19225)
* Option to run kibana from build for CI (#19125)

* Support --dev option for servers only

* try skipping dashboard time zones test
2018-05-21 08:31:30 -05:00
archana
eaa4960981
Revert "Option to run kibana from build for CI" (#19224)
* Revert "[DOCS] Removes redundant index.asciidoc files (#19192)"

This reverts commit d11b5aae9a.

* Revert "[typescript] add typescript support for the server and browser (#19104)"

This reverts commit c6112067fc.

* Revert "Option to run kibana from build for CI (#19125)"

This reverts commit 5969860303.
2018-05-18 14:09:38 -05:00
Spencer
c6112067fc
[typescript] add typescript support for the server and browser (#19104)
* [typescript] add typescript support for the server and browser

* [ts-jest] upgrade to latest version

* [jest] support test.tsx files

* [jest/ts] modify `ts-jest.tsConfigFile` config based on filePath

* [types] use correct major version of minimatch types

* [jest] add ts support to x-pack jest config

* [ts/projects] fix tsconfig.json not found error message

* [optimizer/ts] use lowercase jsx option

* [tsconfig] remove ui/* alias

* [plguin-helpers] remove mention of `buildSourcePatterns`

* [plugin-helpers] expect typescript to be a devDep

* [dev/build] place transpile tasks next to each other

* [ts/x-pack] add common and server directories to ts project

* [dev/ts/project] use a limited set of globs to find tsconfig files
2018-05-18 10:54:57 -07:00
archana
5969860303
Option to run kibana from build for CI (#19125) 2018-05-18 12:45:53 -05:00
spalger
0ad665f216 [eslint/import-resolver] ensure compat with slightly older versions of node for IDE support 2018-05-17 08:04:52 -07:00
Spencer
0b03166d2d
[eslint] unify resolver configs (#19102)
* [eslint] unify resolver configs

Our eslint resolver settings currently rely on the fact that we define
our resolver with a string globally, and an object in the overrides.
This causes the override value to completely override/replace the global
setting, which is desired, but when the global setting is converted to
an object they are merged, causing both resolvers to run.

This is a problem because some dependencies in the UI side of things
will resolve with the node resolver, but will resolve incorrectly
because they are intended to use some webpack specific override.

While trying to add TypeScript I needed to pass argument to the node
resolver which uncovered this issue. The change here moves us away from
using the node resolver directly and instead uses the kibana resolver
with `forceNode: true` set when linting server code and `forceNode:
false` when resolving imports that will be handled by webpack.

* [import-resolver] use object spread operator
2018-05-16 10:45:41 -07:00
Spencer
f24a725144
[mocha] remove grunt-simple-mocha (#19079)
* [mocha] run tests with mocha script, remove grunt-simple-mocha

* [ci] force colored output

* [ci] disable color when reading the yarn bin

* [dev/build/exec] support tooling log having its own chalk

* [dev/mocha] avoid changing the cwd of the process

* [dev/mocha] only match files, speed up negative matches

* [cli/serve/test] strip ansi control characters from logs

* [ci] disable color in all `yarn bin` invocations

* [dev/mocha] cleanup old runInBand check

* [dev/mocha] enable gloabl leak checks
2018-05-16 10:43:55 -07:00
Aleh Zasypkin
078fb147a4
Rename @kbn/babel-preset/common & node & webpack to @kbn/babel-preset/common_preset & node_preset & webpack_preset. (#19025) 2018-05-15 17:23:20 +02:00
Tim Roes
f579d2299f
Update React to 16.3 (#18768)
* Update React to 16.3

* Switch off specific eslint rules

* Update enzyme snapshots

* Incorporate PR feedback
2018-05-14 14:05:17 +02:00
archana
b58e757794
Functional test setup with kbn-test package (#18568)
Restructure testing with kbn-test package

 - Run with multiple configs, move cli options to config
 - Package-ify kbn-test
 - Eventually we'll have functional_test_runner live in a package
of its own, and then this kbn-test will use that as a dependency,
probably still as a devDependency.
 - Implement functional_tests_server
 - Collapse single and multiple config apis into one command

Use kbn-es

Replace es_test_cluster + es_test_config with kbn/test utils

Implement new createEsTestCluster

Improve scripts, jsdocs, cli top-level tools

Lift error handling to the top level
2018-05-09 18:23:49 -05:00
Tyler Smalley
7c784db2f1
[kbn-es] Updates location of ES OSS snapshot (#18938)
ES snapshots are located again within the base elasticsearch directory and NOT within an additionally nested elasticsearch-oss directory

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-05-09 09:29:15 -07:00
Spencer
8e3c1c7517
Fix procRunner/x-pack ftr scripts (#18789)
* [x-pack/ftr] call fatalErrorHandler when functional tests fail

* [kbn/dev-tools/withProcRunner] require a log as the first arg

* [kbn/dev-tools/procRunner] use correct promise, convert to getter

* [x-pack/ftr] avoid race condition that prevents success message logging

When starting the kibana server it is possible for log messages to come
after the server is started, so we added a pause that waits for 5
seconds of logging silence before logging the success message. The
observable used fails to complete though if a log message is never
written AFTER the Kibana server starts. To counter this the observable
is started with `null` so it will always start at least one 5 second
timer and always complete even if there is no log data after Kibana
server starts.

* fix typo
2018-05-07 14:50:15 -07:00
Spencer
e1a2fcbd96
[uiExports] migrate uiApp "uses" to explicit imports in apps (#17828)
* [uiExports] migrate uiApp "uses" to explicit imports in apps

* [uiApp] update tests for getModules() method

* [optimize/uiExports] improve naming and comments

* [uiExports] sort imports so they load in the same order as before

* [testHarness] load hacks when testing in the browser

* [x-pack/uiExports] use new uiExports modules

* [testHarness] describe why we import uiExports/hacks

* [optimize] remove needless [].concat()

* [optimize/createUiExportsModule] string.includes > string.indexOf

* [uiExports/createUiExportsModule] remove needless capture of module exports
2018-05-03 12:18:50 -07:00
Kim Joar Bekkelund
34ec484658 [kbn-pm] Max concurrency per batch (#16920) 2018-05-02 22:40:55 +02:00
Tyler Smalley
5cb9cd7d33
[kbn-es] Fixes ES snapshot path for OSS builds (#17860)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-04-24 15:42:49 -07:00
Jenkins CI
fe4609647d Migrate x-pack-kibana source to kibana 2018-04-24 13:48:10 -07:00
Larry Gregory
d9d9fb22fb
Disallow use of "dangerouslySetInnerHTML" on React components (#17759)
Disallows use of "dangerouslySetInnerHTML" on React components, except where explicitly whitelisted
2018-04-20 14:22:10 -04:00
Kim Joar Bekkelund
ef900fd42d
Enable Prettier for more packages (#17763) 2018-04-20 17:13:34 +02:00
Kim Joar Bekkelund
c0158105f5
Upgrade to Prettier 1.12.1 (#17791)
* Upgrade to Prettier 1.12.1

* Add back dev dep
2018-04-20 11:48:37 +02:00
Lukas Olson
2ec9956885
Fix date math parser to not use hardcoded length (#17751)
* Fix date math parser to not use hardcoded length

* Add test
2018-04-18 14:08:28 -07:00
Spencer
1fd537821f
[kbn-es] add basic integration tests for exit code/promise handling (#17600) 2018-04-18 12:59:19 -07:00
Kim Joar Bekkelund
d9f34f704e
Introduce @kbn/system-loader (#17595)
* Introduce @kbn/plugin-system

* Throw if plugin exposes a promise from 'start'

* TS updates

* rename

* Better error if missing plugin

* Api to add multiple specs at the same time

* isPromise prettier-ified

* Rename 'plugin' to 'system'

* Metadata + some cleanups

* Make it possible to type system metadata

* Throw if stop is async

* Add tests for System class
2018-04-18 21:50:36 +02:00
Kim Joar Bekkelund
6be9df01af Move to Yarn 1.6.0 (#17741) 2018-04-17 09:53:12 -07:00
Tim Roes
07cf4b6b08
Move ng_mock wrapper to test_utils (#17712) 2018-04-17 08:14:54 +02:00
Spencer
6db8fea28e
[eslint-import-resolver] support mapping plugins to directories (#17667)
* [eslint-import-resolver] support mapping plugins to directories

* use shorthand syntax
2018-04-12 15:28:30 -07:00
Aleh Zasypkin
35e01f288f
[kbn/pm] Get rid of --skip-kibana in favour of --exclude kibana. (#17684) 2018-04-12 20:56:28 +02:00
Aleh Zasypkin
8b5330ccec
[kbn/pm] Allow to include/exclude projects in kbn watch. (#17421) 2018-04-12 17:40:11 +02:00
Spencer
22d70fcb22
[eslint-import-resolver] Add installation docs 2018-04-11 16:12:14 -07:00
Spencer
4f2a19bd9b
[eslint-import-resolver-kibana] bring in repo as package (#17665)
* [eslint-import-resolver-kibana] bring in repo as package

* [eslint-import-resolver] enable prettier
2018-04-11 15:21:29 -07:00
Spencer
9bbf8ce12e
[plugin-helpers] fix order of arguments passed to commander actions (#17663) 2018-04-11 12:20:18 -07:00
Spencer
7b827e87a5
[plugin-helpers] report task failures to CLI with exitCode 1 (#17647)
* [plugin-helpers] return promises/fail cli when async tasks fail

* [plugin-helpers] rename taskRunner to commanderAction

* [plugin-helpers] await async assertion
2018-04-10 16:36:26 -07:00
Shaunak Kashyap
8800afd1d6
Removing old files that are no longer used (#17640) 2018-04-10 10:44:44 -07:00
Kim Joar Bekkelund
fc265294f5
Use Jest on cli tests (#16389)
* Move CLI tests to Jest

* Get rid of logs from the output

* Allow skipped tests

* Move integration tests into integration_tests folder
2018-04-10 12:12:47 +02:00
Kim Joar Bekkelund
a1d9e96a70
Upgrade to TypeScript 2.8.1 (#17617) 2018-04-10 11:41:06 +02:00
Spencer
f0d01928db
[@kbn/es] fix promise and CLI error handling (#17596)
* [kbn-es/cluster] fix promise handling to properly route success/failure

* [kbn-es/cli] catch errors that bubble to the CLI and log with a bit of style

* [kbn-es] fix promise handling when building from source

* [kbn-es] check for inverse of .stop() condition

* [kbn-es/cluster] resolve promise is cluster stops cleanly

* [kbn-es/cluster/start] reject if ES exits before starting
2018-04-06 12:58:37 -07:00
Tim Roes
8861b2a434
Fix styling of disabled kuiCheckboxes (#17522)
* Fix styling of disabled kuiCheckboxes

* Fix typo in SASS variable
2018-04-04 13:25:43 +02:00
spalger
caca7755cc [yarn] update lockfile 2018-03-28 16:54:36 -07:00
Tyler Smalley
46a5ef1316
[kbn-es] Wait for close event (#17448)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-03-28 14:22:53 -07:00
Spencer
56041ca1d0
More attempts to fix procRunner hangs in CI (#17325)
* [kbn-dev-utils/procRunner] try using execa to avoid never-exitting procs

* [kbn-dev-utils/procRunner] don't listen for close event, rely on stdio streams ending
2018-03-28 12:26:11 -07:00
Aleh Zasypkin
346a99865a
[kbn-pm] Implement kbn watch. (#16892) 2018-03-26 17:54:40 +02:00
archana
0f49d67db3
Replace tooling-log instances with @kbn/dev-utils (#17324) 2018-03-23 10:54:38 -05:00
Tyler Smalley
e5e025d732
[kbn-es] Allows error to bubble up (#17358)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-03-23 07:28:45 -07:00
Matt Bargar
aeaf57dd97
Add query enhancements opt-in switch to query bar (#17232)
Makes our language updates more visible to users and removes mentions of Kuery as a separate language. Users still get the old lucene experience by default, but have the option to opt-in to "experimental query features" directly in the query bar. Goal is to get more feedback by making these new features more prominent and less of a jump from lucene.
2018-03-22 15:47:52 -04:00
Lukas Olson
0f00c23a68
Kibana query language autocomplete (#15945)
* First stab at refactoring typeahead

* Don't double submit on enter

* Add item templating

* Introduce simple kuery language

* Rename to kql and add modules

* Update KQL syntax

* Automatically insert matching pairs

* Don't match quotes after alphanumeric chars

* Get field and value suggestions

* Remove accidental changes

* Remove unnecessary test

* Don't submit on enter

* Fix typeahead

* Suggest matching recent searches

* Suggest operators

* Suggest conjunctions

* Use template, separate suggestions into separate modules

* Whoops, add this module back

* Add clarifying comment

* Fix history log key

* Don't update suggestions on every key press

* Fix key handling

* Update terminology to be clearer

* Fix typo

* Simplify building of nodes

* Don't always hide on submit

* Check items exists

* Add icon directive which wraps EuiIcon.

* kql design start

* remove comment bits

* Simplify select next/prev and reset selected on hide/backspace

* Add test

* Put persistedLog on scope so it can be tested

* Fix typos

* Build up AST for sublist by returning functions that take a field name

* Remove single quoted strings and add double quote to special characters

* Build nodes with arg nodes instead of args themselves

* Add support for exact phrase search for quoted values

* Update typeahead items when language changes

* Finish that work I didn't do in the last commit

* This commit makes Bargs very happy cuz it does a lot

* Add wildcard field support to range query

* Remove range support for wildcard values

* Remove KQL as a separate language

Updates kuery to use KQL's grammar. This will lead to a smoother
transition for both us and Kuery users. We mainly added KQL as a
separate language so that we could notify Kuery users that the syntax
had changed. I realized we could do the same by trying to parse their
query strings with the old grammar if the new grammar fails, and if the
old grammar parses successfully we can display an error message with a
link to the docs describing the syntax changes. Since Kuery now uses the
more simple KQL syntax, I've also re-enabled the filter bar when Kuery
is selected.

* Fix typeahead behavior

* Update conjunctions

* Use scope apply

* Suggest conjunctions after ranges

* Support strings in wildcard node constructor and add tests for wildcard node

* test updates

* Removing unused serializeStyle and toKueryExpression, updating tests

* Fix functional test

* Fix typo

* Show fields that match in any part of the name

* Alter order of operators

* Preserve focus after selecting by click

* Ports tests for `fromKueryExpression` to `fromKqlExpression`

* More KQL syntax tests

* Suggest conjunctions after ranges

* Fix suggestions inside parens

* fromLiteralExpression tests

* remove serializeStyle arguments which no longer exist in the function definition

* tests for getFields

* Case insensitive search for field names

* update tests for is.js

* add wildcard fieldname test for range.js

* Fix removed div

* Fix line spacing for autocomplete suggestions

* Fix conjunction suggestions with escaped preceding literals

* Escape special characters in fields and values

* Don't suggest the value that's already selected

* Update icons

* Sort prefix first

* Simplify cursor detection and suggest booleans

* Use quotes for suggested values

* get rid of references to KQL

* Don't show errors from parsing

* That didn't even exist

* Use config to determine if values are suggested

* Update suggestions on home/end

* remove hack

* Update reference to kql

* Suggestions for quoted values

* Clean up grammar

* Better support for cursor inside spaces

* Create grunt task to generate parsers from peg files

* Simplify wildcard handling

* Don't filter out the exact fields/values

* Update parsing modules

* Fix peg task

* Make operator syntax more visible

* Update OR verbiage

* Simplify and improve match pairs

* Revert "Simplify wildcard handling"

This reverts commit 915861beab.

* Support escaped backslashes inside quoted strings

* Support escaped keywords

* Remove lodash dependency cuz w33ble

* Escape user input and fix conjunction description

* Clear suggestions after submitting

* Fix insertion of suggestion to account for selection

* Remove unnecessary?

* Remove extraneous file

* Better name for method

* Move functions out of event handler

* Don't wrap result in promise

* Don't show kuery suggestions for lucene

* some cleanup and polish for kql autocomplete

* Omit description completely for values

* Don't suggest and/or for quoted strings that end in spaces

* Submit recent search suggestions on select

* Scroll selected suggestion into view

* Better handling of key events and hiding typeahead

* Update suggestions to work in other apps with multiple index patterns

* Only update suggestions if not submitting

* Hide suggestions on focus

* Simplify wildcard (again)

* Fix console error

* Remove references to kql

* Fix match pairs so that suggestions occur with cursor in correct place

* Memoize value suggestions

* Debounce model updates

* Add tests for suggestion providers

* Add setting and docs

* Add custom error, helper for detecting leading wildcards, and check for
leading wildcards in the Value rule of the grammar.

* Better handling of suggestion clicks

* Dedup suggestions

* Sort keywords first

* Fix value suggestions memoizing

* Check if query exists

* Reduce size of dialog and fix ranges

* Create grunt task to generate parsers from peg files

* Lazy load typeahead items

* Fix wildcard tests

* Fix value suggestion tests

* Fix typeahead tests

* Fix value suggestion memoize resolver

* Leave comment

* Add a ttl for the value suggestion resolver

* Move grunt config to config/

* Bargs can suck it

* Fix more tests that bargs broke (and one I did too)

* Fix tests
2018-03-22 08:51:35 -07:00
Spencer
026d140aaf
[kbn-es] download to destPath.tmp rather than /tmp (#17322)
When kbn-es downloads a snapshot, it writes the in progress download to
`/tmp` rather than the destination path in case the download fails part
way through, then renames the file from `/tmp` to the final location.
This is a good practice, but in CI the `/tmp` directory isn't stored on
the same disk as the project, which causes a rename error to occur
because we're attempting to rename across devices.

This updates the download logic to write to `${destPath}.tmp` instead,
and do the same renaming, so that we can avoid cross-device errors.
2018-03-21 17:46:12 -07:00
Spencer
14cfade0b4
[dev-utils/procRunner] wrap stop and close promises in timeouts (#17320)
In an attempt to debug random stalls we are seeing in CI, the proc runner will now send SIGKILL if a process does not exit after receiving the standard exit signal it receives (usually SIGTERM). Additionally, if the child process object never emits "close" or "exit" another timeout will trigger an error
2018-03-21 16:17:51 -07:00
Kim Joar Bekkelund
a25f0c0ccb
[plugin helpers] Using --pure-lockfile instead of --frozen-lockfile (#17275) 2018-03-20 19:32:20 +01:00
Tyler Smalley
82e17f435f
[kbn-es] Package for managing Elasticsearch during dev and testing (#17168)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-03-20 08:30:15 -07:00
Bill McConaghy
3069bf5ab6
moving plugin template to React and EUI (#16937)
* moving plugin template to React and EUI

* fixing method reference error

* adding whitespace and comments per PR feedback

* adjusting test

* fixing test

* reducing Angular dependency and fixing issue with hack not loading properly

* fixing tests

* reacting to PR feedback
2018-03-19 15:13:03 -04:00
archana
856b55bbcf
Update packages/README.md (#17167)
* Update packages/README.md

* Update packages/README.md

* Split

* Update README.md
2018-03-15 02:31:15 -05:00
archana
df2a0252d0
Correct casing in kbn-dev-utils (#17166)
* Remove kbn-dev-utils

* Restore kbn-dev-utils with proper casing
2018-03-14 23:54:49 -05:00
archana
409af00d4d
Move proc_runner from x-pack-kibana into kibana (#17120)
* [tests] add proc_runner from x-pack-kibana

* [tests] implement proc_runner deps

* [tests] fix proc_runner dep

* [packages] move proc_runner into kbn-proc-runner

* [kbn-proc-runner] Package it

* [kbn-proc-runner] Chalk it up

* [kbn-proc-runner] Package.json

* Both kbn-proc-runner and kbn-utils depending on review. Sigh.

* Rename to kbn-dev-util, remove kbn-proc-runner

* Test proc-runner

* Add babel

* [proc-runner] build fixes

* Recreate yarn.locks, add mocha tests to simplemocha config
2018-03-14 19:55:50 -05:00
Spencer
ef3339bd7a
[@kbn/ui-framework] move ui-framework to a package (#17085)
* [@kbn/ui-framework] move ui-framework to a package

* [@kbn/ui-framework] restore doc_site index.html and fix build task names

* [jest] always ignore modules in target dirs
2018-03-13 10:43:39 -07:00
Jonathan Budzenski
047a6b3e62
[packages] add licenses (#17072) 2018-03-12 12:39:38 -05:00
Aleh Zasypkin
a0bc473ebe
[kbn-pm] Update ora typings. Remove redundant types in commands. (#17096) 2018-03-12 13:08:18 +01:00
Kim Joar Bekkelund
48f8dc323c
[kbn-pm] Include Kibana's transitive _projects_ in build (#16813) 2018-03-12 11:00:27 +01:00
Kim Joar Bekkelund
0c32d9f2ae
[kbn-pm] Use util.promisify instead of Bluebird (#16994) 2018-03-09 14:26:22 +01:00
Kim Joar Bekkelund
4b179e397e
Upgrade to Prettier 1.11.1 (#16956) 2018-03-04 21:59:34 -08:00
Kim Joar Bekkelund
f9b7ddb40d
[kbn-pm] Better command setup (#16879) 2018-02-23 13:12:23 +01:00
Kim Joar Bekkelund
293f280b14
[kbn-pm] Stricter types when creating maps (#16848) 2018-02-21 21:51:33 +01:00
Kim Joar Bekkelund
b91e7bad97
[kbn-pm] Show list of projects as a tree (#16754) 2018-02-21 19:56:09 +01:00
Kim Joar Bekkelund
8de986040f
[kbn-pm] Enable intermediate build directory for projects (#16839) 2018-02-21 13:54:27 +01:00
Aleh Zasypkin
cb21a7edec
Port kbn-pm to TypeScript. (#16732) 2018-02-21 10:09:30 +01:00
Spencer
d8b3ca27ab
[plugin-helpers] allow opt-ing out of dependency installation (#16816)
* [kbn-plugin-helpers] allow opt-ing out of dependency installation

* [plugin-helpers] rename buildIgnoreDependencies to skipInstallDependencies

* [plugin-helpers] use noop3 for test

* [plugin-helpers] fix test description

* [plugin-helpers] fix assertion
2018-02-20 16:28:22 -07:00
Kim Joar Bekkelund
491491224a Update @kbn/pm dist 2018-02-20 13:33:39 +01:00
Aleh Zasypkin
f2fda4aca3
Introduce Jest integration tests. (#16735) 2018-02-19 17:02:01 +01:00
Thomas Decaux
e135657d1f Missing argument for generate_plugin script (#16782) 2018-02-19 10:08:13 +01:00
Kim Joar Bekkelund
5c180d0c93
[kbn-pm] Include 'packages' and 'plugins' folders within projects as projects (#16713) 2018-02-15 12:45:00 +01:00
Spencer
4d246a10a8
[kbn-pm] rename from kbn-build (#16739) 2018-02-14 10:57:13 -07:00
Kim Joar Bekkelund
9a24dd3fcd
Update the packages readme (#16706)
* Update the packages readme

* Update after review
2018-02-14 17:08:14 +01:00
Kim Joar Bekkelund
f542c31059
[plugin helpers] Use Kibana's Jest setup (#16731)
* [plugin helpers] Use Kibana's Jest

* Remove outer 'describe'

* Async/await in tests

* Assertion improvements
2018-02-14 16:53:34 +01:00
Kim Joar Bekkelund
ea9ed801d2
Remove symlinks when building Kibana plugins (#16727) 2018-02-14 10:56:09 +01:00
Kim Joar Bekkelund
1c3b404774
Production package example: datemath (#16531) 2018-02-13 21:49:55 +01:00
CJ Cenizal
eb49a8c449
Add test-subj-selector module to packages dir. (#16623)
* Add test-subj-selector module to packages dir.
* Rename to @kbn/test-subj-selector.
* Simplify rejectRejFiles Grunt task and ignore nested node_modules.
* Update jenkins_unit script to use yarn kbn CLI.
2018-02-13 10:34:47 -08:00
Kim Joar Bekkelund
0ca6b5521d
Remove prettier script from @kbn/build (#16668) 2018-02-13 09:53:34 +01:00
Spencer
2c7a1f34cb
[kbn-plugin-generator] add plugin generator to the repo (#16655)
* [kbn-plugin-generator] add plugin generator to the repo

* [plugin-generator] use snake_case plugin name for directory name

* [plugin-generator] fix typo

* [plugin-generator] remove translation support until we resume i18n efforts

* [yarn] update lockfile

* [mocha] remove plugin-generator selector from mocha tests

* [plugin-generator] update generated readme to recommend yarn

* [plugin-generator] add readme to generator pacakge

* [plugin-generator] link from plugin-resource docs

* [plugin-generator] mention very important `kbn bootstrap` script

* [plugin-generator] rework some parts of the README

* [plugin-generator] log actual directory name with system separators

* [plugin-generator] include bootstrap/yarn preinstall check script
2018-02-12 12:23:23 -07:00
Kim Joar Bekkelund
b5bda1ee32
[plugin] Handle Kibana package dependencies (#16509)
* [plugin] Handle Kibana package dependencies

* Clean up 'link:' dep check in plugin installer

* Tests for 'prepareProjectDependencies'

* Remove unnecessary fn from 'prepareProjectDependencies'

* Move prepareProjectDependencies into @kbn/build

* update snapshot

* Move test to Jest

* clarification
2018-02-12 19:01:33 +01:00
Kim Joar Bekkelund
7e1bb7be50
[kbn-build] Extract and test parallelizeBatches (#16596)
* [kbn-build] Extract and test parallelizeBatches

* Add test for rejects

* Simplify test
2018-02-12 12:46:26 +01:00
Kim Joar Bekkelund
2220852a50
[plugin-helpers] npm -> yarn (#16632)
* [plugin-helpers] npm -> yarn

* Allow globs to not match when singular, e.g. for 'yarn.lock'

* --frozen-lockfile
2018-02-12 00:18:13 +01:00
Spencer
61ca974c2e
[eslint-config-kibana] remove stub test command (#16625) 2018-02-09 15:36:21 -07:00
Spencer
26dd5d69a8
[kbn-build/linkExectuables] add test with dev dependencies (#16621)
* [kbn-build/linkExectuables] add test with dev dependencies

* [kbn-build/linkProjectExecutables] update test snapshots
2018-02-09 11:49:29 -07:00
Spencer
a9f27bbee0
[plugin-helpers] use multiple fixtures so parallel tests don't break each other (#16624) 2018-02-08 17:25:06 -07:00
Spencer
a512466e30
[plugin-helpers] update readme (#16616)
* [plugin-helpers] update the readme to describe changes now that it is in the Kibana repo

* [plugin-helpers/readme] add note about versions before 6.3
2018-02-08 14:45:40 -07:00
spalger
489e64ef7e [plugin-helpers] replace last few uses of old package name 2018-02-08 11:57:08 -07:00
spalger
d2df52a68a [plugin-helpers/eslint] remove unused vars 2018-02-08 11:57:08 -07:00
spalger
3a6be3580c [plugin-helpers] rely on kibana eslint 2018-02-08 11:57:08 -07:00
spalger
6c64a4d77e [plugin-helpers] remove keywords from package.json 2018-02-08 11:57:08 -07:00
spalger
1678ab4466 [kbn-plugin-helpers/yarn] add yarn.lock file 2018-02-08 11:57:08 -07:00
spalger
9f6ebb12b6 [kbn-plugin-helpers] remove redundant configs 2018-02-08 11:57:08 -07:00
spalger
2ede1b11eb Merge elastic/kibana-plugin-helpers into elastic/kibana repo 2018-02-08 11:56:08 -07:00
Kim Joar Bekkelund
3448f31e3d
[kbn-build/bootstrap] Test cleanup (#16594) 2018-02-08 13:20:21 +01:00
Kim Joar Bekkelund
95a7435158
Run kbn:bootstrap script after installing deps (#16585)
* Run 'kbn:bootstrap' scripts at the end of bootstrapping

* Add bootstrap command tests

* resetAllMocks

* Use 'absolutePathSnaphotSerializer'

* Mock console.log calls

* Strip ansi snapshot serializer

* reset in afterEach

* Log before running 'kbn:bootstrap' scripts

* mock linkProjectExecutables in bootstrap tests
2018-02-08 01:41:16 +01:00
Spencer
f7748072fb
[kbn-build/bootstrap] symlink executables from linked packages (#16584)
* [kbn-build/bootstrap] symlink executables from linked packages

* [kbn-build/bootstrap] use snapshots for tests

* [kbn-build/jest] add absolute path serializer
2018-02-07 16:02:28 -07:00
Joe Fleming
37990e9cde v9.0.2
Original commit: elastic/kibana-plugin-helpers@3bd57fbe5e
2018-02-05 15:53:23 -07:00
Spencer
608c9ff38b [config] throw if config file has a syntax error (elastic/kibana-plugin-helpers#65)
Original commit: elastic/kibana-plugin-helpers@487dd70bdb
2018-02-05 15:37:22 -07:00
Kim Joar Bekkelund
e58b43f744
Prettier + ESLint setup (#16514)
* Move .eslintrc (yaml) to .eslintrc.js (js)

* Add Prettier setup to ESLint

* Run Prettier on @kbn/build

* Update style guide with Prettier
2018-02-05 18:18:43 +01:00
Court Ewing
271a941621
lint: error on innerHTML and family (#16477)
* lint for innerHTML and family

Browser apis like innerHTML and document.write are dangerous when used
incorrectly, so we should not be using them unless we explicitly opt-out
of the linting rule on a case by case basis.

* add no-unsanitized to eslint peerDependencies
2018-02-04 08:38:37 -05:00
Kim Joar Bekkelund
43dfbf01dc Babel preset package (#16479)
* [babel-preset] turn into a package

* switch to @kbn namespace

* [babel] pin babel-preset-env to 1.4.0, newer versions don't shim symbols

* [yarn] update lockfile
2018-02-03 12:24:16 -07:00
Kim Joar Bekkelund
c8f3efd4ef
Rename @elastic/kbn-build to @kbn/build (#16507) 2018-02-03 12:04:35 +01:00
Kim Joar Bekkelund
090866c514
Handle Yarn not forwarding -- to kbn-build (#16497) 2018-02-03 00:44:22 +01:00
Kim Joar Bekkelund
136ded978f
Build multiple Kibana packages for production (#16313)
* Build packages before running ESLint on CI

* Add production task to kbn-build

* Ensure packages are bootstrapped before running the build

* Run ESLint on kbn-build
2018-02-02 20:49:57 +01:00
Spencer
7fb3a4bfb5
[eslint] lint packages, but not eslint-* ones (#16470) 2018-02-01 16:59:04 -07:00
Kim Joar Bekkelund
2fd058876c
Handle Windows when checking relative paths (#16380) 2018-01-30 12:44:37 +01:00
Kim Joar Bekkelund
08e48aa847
Kibana build tool (#15055)
* Introduce `kbn`, the Kibana build tool

* yarn kbn

* Make all deps devDeps

* Exclude __fixtures__ folder from Jest to avoid warnings

* Review fixes

* Update readme

* Use 'yarn kbn'

* Consistent rootPath

* Link to kbn tool

* Unsupported URL 'debug help' in contributing guide
2018-01-24 10:34:52 +01:00
Joe Fleming
e734ee8338 v9.0.1
Original commit: elastic/kibana-plugin-helpers@140024adac
2018-01-04 18:47:50 -07:00
Spencer
26894673ec [npm] upgraded eslint-related deps (elastic/kibana-plugin-helpers#62)
* [npm] upgraded eslint-related deps

* [npm] reflect peer deps from @elastic/eslint-config-kibana

Original commit: elastic/kibana-plugin-helpers@1add265641
2018-01-04 18:37:34 -07:00
Joe Fleming
fdc4ff4bbf chore: ignore yarn.lock file
Original commit: elastic/kibana-plugin-helpers@9cad57cd97
2018-01-04 16:58:36 -07:00
Spencer
b591607f0a [npm] upgrade gulp-zip (elastic/kibana-plugin-helpers#61)
Original commit: elastic/kibana-plugin-helpers@94e7530e76
2018-01-04 16:50:35 -07:00
spalger
7a72506eb9 [eslint-config-kibana] v0.15.0 2018-01-03 10:54:08 -07:00
Spencer
28663f6f8e
[eslint-config-kibana] expand list of restricted globals (#15798) 2018-01-03 10:52:30 -07:00
Kim Joar Bekkelund
f0390c0ef0 v9.0.0
Original commit: elastic/kibana-plugin-helpers@8d5af744bb
2017-12-12 13:37:59 +01:00
Kim Joar Bekkelund
b8c9ef2ff9 Remove kibanaRoot option, require kibana-extra (elastic/kibana-plugin-helpers#58)
* Remove kibanaRoot option, require kibana-extra

* Check location of Kibana on postinstall

* Fix eslint

* Remove 'process.env.KIBANA_ROOT'

Original commit: elastic/kibana-plugin-helpers@3511054dfb
2017-12-12 13:35:24 +01:00
Kim Joar Bekkelund
eec07c5209 Deprecate specifying kibana root location (elastic/kibana-plugin-helpers#59)
Original commit: elastic/kibana-plugin-helpers@385fdede72
2017-12-12 13:11:27 +01:00
Jonathan Budzenski
4f24ea931b v8.1.0
Original commit: elastic/kibana-plugin-helpers@fb979ff679
2017-11-28 13:53:51 -06:00
Jonathan Budzenski
fd2fb5b3a0 Update yarn.lock
Original commit: elastic/kibana-plugin-helpers@b3d62e5925
2017-11-28 13:53:14 -06:00
Jonathan Budzenski
82f3293eff Add support for passing in node options via environment variable (elastic/kibana-plugin-helpers#56)
* Add support for passing in node options via environment variable

* Split node options

* semicolon

Original commit: elastic/kibana-plugin-helpers@3fc4ec0e87
2017-11-28 13:51:20 -06:00
Joe Fleming
b7ded472c1 v8.0.1
Original commit: elastic/kibana-plugin-helpers@2663befdc4
2017-11-21 10:19:16 -07:00
Spencer
0ee2d11a94 [createToolingLog] update require path for toolingLog (elastic/kibana-plugin-helpers#54)
Original commit: elastic/kibana-plugin-helpers@d968819d09
2017-11-21 10:16:08 -07:00
Joe Fleming
047a0ef4d9 chore: add kibanaRoot setting to readme
Original commit: elastic/kibana-plugin-helpers@3769efdb26
2017-11-21 10:12:16 -07:00
Joe Fleming
b8aa8ea38e v8.0.0
Original commit: elastic/kibana-plugin-helpers@d538b32bc3
2017-11-20 12:59:22 -07:00
Jonathan Budzenski
05de884f5d Use scripts/kibana instead of bin if available (elastic/kibana-plugin-helpers#53)
* Use scripts/kibana instead of bin if available

* semicolons

* Don't fallback to legacy bin/kibana start method

* chore: add 8.x version to compat chart

Original commit: elastic/kibana-plugin-helpers@fc72de53bd
2017-11-20 12:58:15 -07:00
Spencer
5cddc10077
Upgrade to eslint 4 (#14862)
* [eslint] upgrade to 4.10.0

* [eslint-config-kibana] limit jest config to jest test files

* [ui_framework] remove trailing comma from rest-spreads

* [dashboard/tests] tag jest helpers with .test.js suffix

* explicitly import expect.js where used

* [eslint] apply auto-fixes

* [eslint] manually add/wrap some parens for compliance

* [npm] point to local packages for testing/review

* [jest] remove .test extension from jest helpers

* [ui_framework] fix trailing comma removal from 3bc661a1c8

* [packages] upgrade eslint packages
2017-11-14 18:16:59 -07:00
Joe Fleming
5a9eed6765 v7.1.2
Original commit: elastic/kibana-plugin-helpers@e314c21bf3
2017-11-09 11:13:20 -07:00
Joe Fleming
8e9443f253 Fix: Package use build target (elastic/kibana-plugin-helpers#52)
* fix: pass build target into package task

use the build target for the zip output

* chore: change up the npm scripts

* chore: add create package tests

* chore: update eslint deps

* chore: fix linting issues, add engines

Original commit: elastic/kibana-plugin-helpers@51058fb7fc
2017-11-09 11:12:36 -07:00
Joe Fleming
7f15f82600 v7.1.1
Original commit: elastic/kibana-plugin-helpers@b489c76b26
2017-11-06 11:28:26 -07:00
Joe Fleming
ca5c47defa fix: read package file instead of using require
require uses a cache, so if the package.json file was changed before running build, the changes won't exist in the build runtime. using fs.readFileSync instead ensures that the information read from package.json is current.

Original commit: elastic/kibana-plugin-helpers@f78e891838
2017-11-06 11:25:19 -07:00
Spencer
3e08a7e765
[flot-charts] move into ui/public (#14669) 2017-10-30 12:43:12 -07:00