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
```
* 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.
* [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
* [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
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
* observe includePlugins setting
* fix: move resolve up to config parser
this ensures that the path is resolved relative to the plugin root
Original commit: elastic/kibana-plugin-helpers@fd07d617a4
* feat: add translations path to build
included by default, to better match what's in the elastic products and even the plugin template
also add a translations path to the mock plugin for tests
* chore: add script to run tests with linting
Original commit: elastic/kibana-plugin-helpers@9871a4b11d
* bump @elastic/eslint-config-kibana and deps
* eslint --fix
* fix unused vars
some exceptions for tests
* move eslint-config-kibana to dev
* rename create_package function
* make .node-version looser, match internal checks
Original commit: elastic/kibana-plugin-helpers@6fac14bd51
* run is now a named export, added helpers for interacting with the kibana repo
* [config] override the kibana root config with KIBANA_ROOT envvar
Original commit: elastic/kibana-plugin-helpers@54a38cd9a2
* create windows cmd wrapper
* use windows cmd wrapper on browser tests
* be explicit about the mocha command location
* use windows cmd wrapper on server tests
* use windows cmd wrapper on build
default to using npm as well
Original commit: elastic/kibana-plugin-helpers@35f80a08ce
* remove scripts and devDependencies from package
these are only useful in development, and serve no purpose in the build
* refactor the package rewriter
* clean up the buildTarget before building
* run npm install after build creation
* break apart the create_build module
* add create_package modules
call it from within the build_action
* add flag to skip package zip creation
* rename skip-package flag to skip-archive
* rename rewritePackage to rewritePackageJson
* include lock and shrinkwrap files if they exist
* add test for skipping zip creation
* add some tests to build creation
Original commit: elastic/kibana-plugin-helpers@ef6b9c6332
* only modify root package.json file
previously this was modifying every package.json from node_modules as well
* refactor the build task
export the build, define helpers outside of the task
* allow custom kibana and build versions
both can be passed via flags
* allow custom build globs to be specified
* move build into its own module
* add simple option parsing tests
* update readme
* move dependency file appending into the action
* put source and target into variables
* move config file loading into a module
* refactor test_server_action slightly
be more explicit about the files option overwriting the plugin settings
* move default build patterns to plugin config
allows the setting to be overridden via the config file
* fix dirname on relative includes
trim any leading '../' off the path when moving it into the build target
* move node_module dirs into plugin_config module, use existing promises
* rename file_config => config_file
Original commit: elastic/kibana-plugin-helpers@743e4a37c2
* remove conditionl require in runner
add tasks module to load all tasks, throw if task does not exist
* change task signatures and action handlers
- tasks get plugin, run, and an options object
- action handler controls what goes into each task
- taskRunner wrapper moves the command object to the first argument
* change test command signature
allow files to be passed in, and pass all options to test:server and test:browser
* simplify the task runner
* fix typo in unknownOptions
* expose the task runner as the module's main
this way tasks can be run programatically without going through a cli parser
* add tests for task runner
* remove file passing for testAll
* add serverTestPaths to the plugin config
useful for overriding the value via a config file
* [config] plugin.serverTestPaths -> plugin.serverTestPatterns
Original commit: elastic/kibana-plugin-helpers@82af4df64e
* read json overrides, mix into defaults
* rename plugin config helper
* use the plugin config in start
Original commit: elastic/kibana-plugin-helpers@4cfbe28128