* [grunt/build] refactor _build:notice task to not depend on npm
The _build:notice task used to rely on the output of `npm ls` to determine where modules were defined, but the task now just asks `license-checker` to include the `realPath` of the modules it describes in it's output, which is ultimately the same thing but works with `yarn` too.
* [grunt/licenses] convert to use lib/packages/getInstalledPackages()
* [grunt/notice/generate] test generateNoticeText()
* [grunt/licenses] tested assertLicensesValid()
* [npm] remove npm dev dep
* [tasks/lib/packages] do not include kibana in "installed packages"
* [tasks/lib/notice] join all notices with the same separator
* Removing the auto-apply feature
* Removing commented out code
* Adding auto apply toggle; making apply bar perminant; only make apply sensitive to data changes
* Tweaking the auto apply behavior
* Moved auto apply toggle; added local storage for setting
* [tests/functional] move screenshots to their own service
* [ftr] add testFailure and testHookFailure lifecycle hooks
* [tests/functional/screenshots] cleanup old screenshots at startup
* [test/functional/screenshots] take screenshots when tests fail
* [cli_plugin/install] fix test
* [ui/scanner] fix test
* [scripts] convert `npm run makelogs` to script
* [scripts] convert `npm run mocha` to script
* [scripts] add warning to `test:ui:runner` npm script
* [script] fix location of scripts in warnings
* [babel] tweak babel options for performance and debugging
* [babel] remove babel-plugin-transform-export-extensions
* [npm] lock new deps to the patch version
* [npm] remove unused deps
* [ftr] remove digdug, use chromedriver directly
why?
- digdug is meant to be used by intern, and expects a certain lifecycle that the FTR has tried and continuously fails to mimic
- rather than continue trying to force digdug into the stack, just spawn chromedriver ourselves. We know how to handle it
- cleans up verbose remote logging while we're in there, since selenium-standalone-server went with digdug, which was previously doing the verbose logging
- deprecate config.servers.webdriver
- add config.chromedriver.url
- if url at config.chromedriver.url points to a server that responds to http requests use it as the chromedriver instance, enables running chrome in a VM or container
- if pings to config.chromedriver.url fail a local chromedriver is started
* address review requests
* Reactify the confirmation modal
Up next: jest tests
* Add tests
- Relies on https://github.com/elastic/kibana/pull/10821 getting
checked in first for commonHtmlProps
* Don't include the overlay as part of the confirm modal component
* Use the react version of a confirmation modal
- Can’t use the modalOverlay or it would be two nested react roots, due
to the way it’s embedded in angular.
* Add snapshots
* Fix tests
* fix confirm_modal_promise tests
I have no idea why the introduction of react would cause this to fail
as it was, but for some reason, grabbing the button reference has to be
after the digest loop.
* Address code review comments
* switch over the remaining React.PropType references (in the modals dir anyway)
* Add a react tool bar search box
Create basic react toolbar elements and update uiframework docs
* Package.json: put back ngreact (edits got overwritten)
* Add jest tests
* Combine basic tests into one, eliminate helper functions
* Address code review comments
- move tool_bar_footer into it’s own file.
- some stylistic html changes
- comments
* Remove toolbar_with_search_only
It isn’t being used in kibana currently, so we probably don’t need to
support it in our ui_Framework, and the need for the custom
“className="kuiToolBar--searchOnly”” indicates we should resdesign it
if we do need it some day.
* Fix issue with default to named conversion merge
* rename commonHtmlProps = requiredProps
* Make sure package is published under @elastic org namespace
* Preparing packages/ for Kibana-related packages
* Folder structure mirrors package name
* Add note on naming consistency
* s/packages/node modules/ for removing potention confusion with Kibana system packages
* Prefixing the eslint rule with package scope (i.e. org namespace)
* Adding README
* Bumping up version for release
* Adding repository information to package.json
* Bumping up version for release
* URL-encoding repository link + bumping up version for release
* Using published version
* Introduce a custom kibana estlint rule for no default exports
Turn it on only at the level of /kibana/src/core_plugins/public/ for
now, just to keep the PR sizes manageable.
* Don't call functions directly on the import
* Create a packages dir and move the custom rule in there
* Remove copied package.json portions, use minimal info necessary
* [functional_test_runner] replace functional testing tools with custom/pluggable solution
* [functional_test_runner] Convert unit tests to commonjs format
* [functional_test_runner] Fix dashboard test in wrong mode
* [functional_test_runner] Add dashboardLandingPage test subject
* [functional_test_runner] Get Visualize page object
* [functional_test_runner] Fix outdated references
* [functional_test_runner] Fix more outdated refs
* [functional_test_runner] Remove duplicate tests
* [functional_test_runner] Improve test readability
* [functional_test_runner] 😞 So many duplicate methods
* [functional_test_runner] Move mgmt `before` outside toplevel describe
* [functional_test_runner] Settings page obj missing methods
* [functional_test_runner] Add improvements from @gammon
* [functional_test_runner] Fix return statements in async funcs
* [functional_test_runner] Move before() to correct scope
* [functional_test_runner] Add after() hooks to remove index patterns
* [functional_test_runner] Attempt to fix vertical bar chart tests
* [functional_test_runner] Clean up
* [functional_test_runner] Reinstate unit tests
* [functional_test_runner] Set default loglevel back to info
* [functional_test_runner] Replace `context`s with `describe`s
* [functional_test_runner] Better error handling
* [functional_test_runner] Add in new Tile Map tests
* Incorporate changes from master
* [functional_test_runner] validate that every test file has a single top-level suite
* Update contributing doc with link to full doc
* [docs] Spelling and grammar fixes
* docs: writing and running functional tests
* [docs] Move plugin doc to plugin area
* [docs] Housekeeping. Doc in wrong place
* [docs] Remove dup doc file
* [grunt] Only run mocha_setup when running tests, not every grunt task
Previously our plugin installation used over 5,000 file descriptors when analyzing and extracting the archive. To mitigate this, we are moving to a more supported zip library, Yauzl.
In addition to the replacement of the zip library, this refactors the getPackData method. It was extracting the plugin package.json files, reading them, then finally deleting them. This commit performs this all in memory, removing the need for any file system operations during this step.
These changes reduced the installation time by an average of 35%, from 211.18 seconds to 137.8 seconds. The majority of this time is now spent during optimize.
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Create KuiButton, KuiLinkButton, KuiSubmitButton, and KuiButtonIcon React components in UI Framework.
* Add Jest test coverage for UI Framework, generate report in ui_framework/jest/report.
* Add UI Framework to linting task.
* Update UI Framework README with instructions on creating and testing React components.
* Add both React and HTML examples.
* Add UI Framework Jest tests to npm test script. Create separate scripts for watching and generating coverage reports.
* Fix appearance of kuiButtons with icons throughout Kibana, by adding a flexbox wrapper.
* Improve accessibility of kuiButtonIcon.
* Remove disabled attribute from KuiLinkButton.
* Remove kuiButton-isDisabled class from KuiButton and KuiSubmitButton.
* As a part of bringing functional testing to plugins, esArchiver gives these plugins a way to capture and reload es indexes without needing to write a bunch of custom code. It works similarly to the elasticDump and ScenarioManager tools that it replaces.
Differences:
- Streaming implementation allows for much larger archives
- CLI for creating and using archives
- Configurable archive location
- Stores the data in gzipped files (better for source control, searching, large archives)
- Automatically identifies and upgrades Kibana config documents
Methods:
- `#load(name)`: import an archive
- `#loadIfNeeded(name)`: import an archive, but skip the documents what belong to any existing index
- `#unload(name)`: delete the indexes stored in an archive
CLI operations:
- `./bin/es_archiver save <name> [index patterns...]`: save the mapping and documents in one or more indexes that match the wild-card patterns into an the `<name>` archive
- `./bin/es_archiver load <name>`: load the mapping and documents from the `<name>` archive
* [functional_tests/common/nagivate] check for statusPage
* [es_archiver] move bins into new scripts dir
* [functional_tests/apps/context] use esArchiver
* [esArchiver] general improvements after showing to a few folks
- remove auto-upgrading config doc logic (until we have better access to kibana version info)
- export unload command
- remove preemptive checks in favor of reacting to errors
- use type "doc" vs "hit" for doc records (consistency)
- wrote a bunch of pending tests to think though and plan
* [esArchiver] make log a stream that writes to itself
* [esArchiver] fill in stats and archive format tests
* [esArchiver] splitup action logic
* [esArchiver/cli] fix cli --help output and comment
* [esArchiver] remove type-based param coercion
* [esArchiver/log] use strings for log levels
* [esArchvier] remove unused var
* [esArchiver/indexDocRecordsStream] add tests
* [esArchive] fill in remaining tests
* [esArchiver] fix dem tests
* [eslint] remove unused vars
* [esArchiver/loadIfNeeded] fix call to load()
* [esArchiver] remove loadDumpData helpers
* Integrate angular-translate globalization framework with i18n engine
* Provide template for enabling translations in an AngularJS view by translating a view
* Verification tool for translation keys used in angular-translate
* Documentation
* Moving front-end code out of devDependencies
* removing range specifier
* overriding ua-parser-js@0.7.12 to MIT
* upgrading react-color; upgrading react; upgrading pui-tooltip;
* Initial import
* updating the editor width to match the new specs
* Adding tribe node support
* Adding tests for server libs
* removing bluebird
* removing extra cruft
* Fixing the font sizes
* Fixed the updating code
* Adding brushing
* Fixing linting issues
* Adding global filters
* Adding missing packages
* Default gauge style to half circle
* Fixing the markdown css bug
* Adding tests for the get_vis_data api
* Adding time offset
* Adding time offset to each type
* fixing bugs from time offset
* adding index pattern option to series
* Adding index pattern overrides
* Adding index pattern overrides
* Fixing tests
* Fixing brushing in the vis editor
* Changing the label
* Change the behavior of selecting a pipeline agg when only one exists.
* Refactoring series a bit
* Changing series options to just options
* Making sure we honor the toaster container height
* Adding first tests
* renaming vis_config to panel_config
* renaming vis_config to panel_config
* Adding more tests
* adding more tests
* removing api subdirectory
* refactoring get_vis_data (breaking it up and removing unused imports)
* reorganizing the visualization directory
* Re-organizing directory layouts and moving things to more logical places
* Refactoring React compontents to use ES6 syntax and adding propTypes for each. Also refactored out splats as much as possible.
* Adding serial differencing
* Refactored gauge to use 2 components instead of 4
* Finishing react refactor on visualizations. Consolidated legned funtionality
* Refactoring series config and removing a bunch of duplicate code
* fixing series config name
* Fixing numbers and strings (doesnt matter which it is); Fixing classname
* Changing the way the dark theme works
* Adding new vis into list for test
* Adding empty bucket check
* Fixing the index patterns in the aggs
* Fixing typo
* Refactoring vis_data
* Fixing std_metric
* Fixing refresh-hack
* Adding tests for get_splits, get_last_metric, map_bucket
* Fixing the error handing
* removing restrictions
* Sometimes values are strings or numbers... it doesn't matter
* Adding new color options for splits
* Fixing colors
* fixing size
* Adding support for fitlers agg
* Fixing tests
* Fixing splits for filters
* Fixing Top N to work better with fitlers
* Adding annotation editor
* initial work for annotations
* Finalizing annotations
* Fixing label
* making it expandable
* Fixing hacks fixed by #10175
* Fixing bars to use the same stacking options as lines
* Getting rid of align by colons
* removing unused depends
* removing unused depends
* Changing to readable lodash function
* Adding missing parens
* refactoring custom color picker
* Removing string refs and converting uncontrolled components
* Fixing the controlled components where value maybe null; converting error to css
* refactoring styles from components
* fixing the refresh behavoir borked by fullEditor
* Adding the executor service
* Fixing the test directories
* fixing save
* Adding filter ratios
* Fixing controlled components
* Trying to fix the weird typing
* Fixing offset bug with days
* Adding percentile rank
* Fixing yaxis updates; fixing percentile rank layout; adding steps to line chart
* removing unused depends
* Fixed a bug with the index patterns updating; fixed bug with charts rendering too much
* Fixing tests
* Commenting out React tests because the ENV must have change and they are no longer working
* Moving bucket transform
* moving calculate auto
* Moving calculate_indices
* moving extended_stats_types && get_agg_value
* moving get_buckets_path
* moving get_sibling_agg_value
* moving parse_settings
* moving series_agg
* Moving unit_to_seconds
* Fixing tests
* Fixing per PR
* Renaming vars to make it more clear what's happening
* Changing the way testible functions are exported
* fixing tests
* removing unused imports; fixing typos; fixing package name
* Name has to match the plugin path
* Fixing typos; removing unused imports
* fixing tests
* rearanging and removing unused imports
* Fixing a bug with unque names for radio buttons on the same form
* Fixing filter ratio to use a metric instead of just count
* fixing a bug with the new filter ratios
* Fixing the file path from the #8
* Fixing renderComplete trigger; Fixing embedded mode; Changing names for Timelion and Time Series Visual Builder
* Fixing name
* Fixing docs
* Fixing a typo for the field select for terms splits
* Fixing tests
* [npm] upgrade babel
The upgrade to babel 6 requires an upgrade to all of the associated modules, which meant that a few other things changed at the same time. The most notable is the way that we handle our babel-options, which is now done with an npm module and includes using the babel-loader's "presets" query string param.
This meant changes to the babel_options.js module and extending it to help setting up the "babel-register" module, which was previously copy-pasted in several places.
* [mtodules] upgrade to support babel6 module semantics
* [eslint] fix lint errors
* [babel] ignoer massive fixture files
* [cli/errors] use Object.setPrototypeOf since subclassing Error is broken
* [babel] Upgrading core babel libraries
[babel] Use WIP babel-6-fix branch of babel-preset-kibana
* Fix broken test
* [babel] Reverse unnecessary module.exports changes
* Fix notifier
* Use babel presets and plugins directly
* [babel/options] resolve preset/plugins paths for better plugin compatibility
* [babel/options] use babel-preset-env for correct node settings
* [babel] cache babel compilation in webpack like we thought we were