Commit graph

38 commits

Author SHA1 Message Date
Tiago Costa
4213441df7
[7.x] Migration to Babel7 and @babel/preset-typescript (#33093) (#33889)
* chore(NA): merge and solve conflicts with 7.x branch

* docs(NA): fix docs build with page headers.
2019-03-27 00:40:12 +00:00
Larry Gregory
22ba11eb52
Prevents dynamic import/require statements (#27515)
## Summary

This PR enables the `import/no-dynamic-require` eslint rule, which requires that all require/import statements be statically defined.

This mitigates certain attack vectors, such as those which enabled [`ESA-2018-18`](https://www.elastic.co/community/security)/[`CVE-2018-17246`](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17246)
2018-12-21 11:15:20 -05: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
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
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
Jenkins CI
fe4609647d Migrate x-pack-kibana source to kibana 2018-04-24 13:48:10 -07:00
Kim Joar Bekkelund
ef900fd42d
Enable Prettier for more packages (#17763) 2018-04-20 17:13:34 +02: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
archana
0f49d67db3
Replace tooling-log instances with @kbn/dev-utils (#17324) 2018-03-23 10:54:38 -05: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
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
spalger
489e64ef7e [plugin-helpers] replace last few uses of old package name 2018-02-08 11:57:08 -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
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
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
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
Joe Fleming
b73576b4d5 Feat: add includePlugins setting (elastic/kibana-plugin-helpers#49)
* 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
2017-09-26 14:45:54 -07:00
Joe Fleming
d12e9902a7 Feat: add translations to default build source paths (elastic/kibana-plugin-helpers#48)
* 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
2017-09-20 11:01:47 -07:00
spalger
15ee7c7a01 [utils/babelRegister] add support for changes in elastic/kibana#13973
Original commit: elastic/kibana-plugin-helpers@13f30fb4d5
2017-09-19 16:38:19 -07:00
Joe Fleming
9f37553324 Bump eslint rules, update code to match rules (elastic/kibana-plugin-helpers#43)
* 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
2017-05-02 14:37:06 -07:00
spalger
42bc99108f [utils] use actual plugin config (with defaults)
Original commit: elastic/kibana-plugin-helpers@f3bfdb2689
2017-04-28 08:15:04 -07:00
Spencer
7331033072 Added helpers, KIBANA_ROOT environment override (elastic/kibana-plugin-helpers#41)
* 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
2017-04-28 07:49:19 -07:00
Joe Fleming
a773536c06 Fix running tasks on Windows (elastic/kibana-plugin-helpers#37)
* 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
2017-03-28 00:01:58 -07:00
Joe Fleming
142d2dff2d change let to var (elastic/kibana-plugin-helpers#35)
allow helpers to run on pre-6.0 node

Original commit: elastic/kibana-plugin-helpers@91de9a84d3
2017-03-27 11:30:19 -07:00
Joe Fleming
85234f979b Use npm/yarn to install build dependencies (elastic/kibana-plugin-helpers#28)
* 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
2017-01-11 14:41:05 -07:00
Joe Fleming
efa7302364 return the result of running the action
Original commit: elastic/kibana-plugin-helpers@9b819eeeb3
2016-12-22 15:58:56 -07:00
Joe Fleming
ceb52252be Enable custom builds (elastic/kibana-plugin-helpers#27)
* 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
2016-12-21 22:37:57 -06:00
Joe Fleming
0d621e778a Separate the task runner and the command line parser (elastic/kibana-plugin-helpers#25)
* 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
2016-12-16 01:06:02 -07:00
Joe Fleming
01a8fcee35 assign args in argument passing code
minor syntax change

Original commit: elastic/kibana-plugin-helpers@ce77d071d1
2016-12-15 14:24:44 -07:00
Joe Fleming
f222c6e889 pass run method into tasks
don't reach into lib for it

Original commit: elastic/kibana-plugin-helpers@d92d2e979a
2016-12-14 17:06:13 -07:00
Joe Fleming
43c6f9c660 Use json files to override default config values (elastic/kibana-plugin-helpers#21)
* read json overrides, mix into defaults

* rename plugin config helper

* use the plugin config in start

Original commit: elastic/kibana-plugin-helpers@4cfbe28128
2016-12-14 17:03:15 -07:00
spalger
20d44277a1 support defining an alternate plugin root
Original commit: elastic/kibana-plugin-helpers@0e4d4fa501
2016-11-17 03:16:24 -07:00
spalger
6790982d08 [start] send extra args to the kibana process
Original commit: elastic/kibana-plugin-helpers@ce943ca67c
2016-10-21 15:04:27 -07:00
spalger
ec965190d6 group task related files
Original commit: elastic/kibana-plugin-helpers@4a8ccce1ec
2016-10-21 14:44:19 -07:00
spalger
e9b7e0566a simplify bin scripts and get them working
Original commit: elastic/kibana-plugin-helpers@1455f09194
2016-02-14 02:13:30 -07:00