Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

create babel-preset and babel-register modules #13973

Merged
merged 6 commits into from
Sep 20, 2017

Conversation

spalger
Copy link
Contributor

@spalger spalger commented Sep 12, 2017

I'm in the process of refactoring a lot of the optimize logic and this felt like some nice low-hanging fruit.

Primary motivator was to get it out of src/optimize directory. IIRC I put it there because I didn't want to make another subdirectory in src, but it is a separate thing and bundling it with optimize seems like sweeping it under the rug. Then I had a conversation with @cjcenizal that made it clear that the current state of these modules was unclear and needed better documentation/flow.

Switching to a babel-preset for our config meant that the correct way to configure webpack and babel-jest was a lot more obvious (to me anyway).

This also replaces the weird options.js and options.build.js switcharoo with babel-plugin-transform-define which allows a single file to dictate how babel-register is configured, and why it works that way.

I was trying this out as two npm packages, but @elastic/babel-register had too much KIbana specific stuff to be useful externally and I didn't want to split them up, but if you think that we should publish the preset again I'd be happy to.

@spalger spalger added Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc review v6.0.0 v6.1.0 v7.0.0 labels Sep 12, 2017
@spalger spalger changed the title @elastic/babel-register and @elastic/babel-preset create babel-preset and babel-register modules Sep 12, 2017
@spalger spalger force-pushed the implement/babel-register-module branch from 991899d to 86d94d0 Compare September 12, 2017 23:39
@spalger spalger force-pushed the implement/babel-register-module branch from 86d94d0 to b538428 Compare September 12, 2017 23:42
Copy link
Contributor

@kimjoar kimjoar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like this change. Just some minor changes requested.

require.resolve('babel-preset-env'),
{
targets: {
node: 'current',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a comment above this line about what current means? (I had to check because I didn't know if it was "latest" or something like that). Maybe:

// Transforms for the Node.js version that's used to run Babel

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any thoughts on pulling this from package.json instead? I mention that only as a single-source-of-truth thing, as I honestly can't think of a situation where current would be a problem.

Copy link
Contributor Author

@spalger spalger Sep 18, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I request that we keep "current" because I take advantage of the fact that I can run Kibana server in node v8 and babel-preset-env doesn't transpile async/await and makes debugging so much easier

if (typeof BUILT_WITH_BABEL !== 'undefined') {
// in "production" builds we define `typeof BUILT_WITH_BABEL` as `true`
// which indicates that all of the code in the `src` directory is already
// built and can be ignored by `babel-register`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, not sure I follow the logic and struggled with the build, so I'll ask here instead: Why do we still run babel-register in prod? Can't it just run normal require (e.g. if we moved the require('babel-register') into an if instead of having it always run)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We pre-transpile the server code but plugins are still transpiled in prod.

/[\\\/](node_modules|bower_components)[\\\/]/,
];

if (typeof BUILT_WITH_BABEL !== 'undefined') {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick: Could this be process.env.BUILT_WITH_BABEL instead? It just feels "unnatural" to have typeof something return true.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haha, yeah, fair 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, now that I think about it, I kind of like that it looks unnatural, since it totally is. But I'll switch over to process.env.BUILT_WITH_BABEL and leave a comment that the environment variable should never be set... idk...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe I can just replace typeof BUILT_WITH_BABEL with the string "boolean" or something? I just don't want people to get the idea that they need to set some environment variable, and I really don't want to read an environment variable here just because... or maybe if (global.__BUILT_WITH_BABEL__)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea with the global, definitely a better choice than my process.env idea 👍

require.resolve('babel-plugin-transform-async-generator-functions'),
require.resolve('babel-plugin-transform-object-rest-spread'),
// stage 2
require.resolve('babel-plugin-transform-class-properties'),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this is copy-pasted, just thought I'd make sure we add a comment here: the class properties proposal was merged with the private fields proposal into the "class fields" proposal, which is currently stage 3. I don't see a specific Babel transform for that proposal yet, though, but there is babel/proposals#12 which tracks this proposal. Maybe add a link to that Babel proposal?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that's a good point. I imagine once there is a solid class fields proposal it will go into babel-preset-env and collide with this transform, but I shall leave a comment nonetheless

@epixa
Copy link
Contributor

epixa commented Sep 18, 2017

Did you consider putting this under a single src/babel directory? It seems like that would be easier for folks that aren't overly familiar with babel but who still need to be able to reason about or making changes to our build system.

To give a real world, albeit still hypothetical example: Let's say I'm trying to debug an issue where a file I wouldn't expect to be transpiled is being transpiled. I don't know where to deal with this within the babel code, but I know other files are being ignored, so I grep for ignore. It's not obvious to me whether this would happen via presets or register though, so I grep within the first directory (preset) and then when I don't find what I want, I move on to register.

This isn't a huge deal, but I figured I'd mention it.

@spalger
Copy link
Contributor Author

spalger commented Sep 18, 2017

Did you consider putting this under a single src/babel directory?

Yeah, I considered it. I went this route because I generally prefer flatter hierarchies, and babel-register is the name of the module that it emulates, so I like how it kind of calls out to that part of my memory when I see it.

Also, your example person should have just used grep ignore -r src/babel-* 😉

If you want me to merge them then I will, but if it is up to me I'd leave them like they are

Copy link
Contributor

@kimjoar kimjoar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❤️

@epixa
Copy link
Contributor

epixa commented Sep 19, 2017

@spalger Makes sense to me. Preserving patterns/naming conventions from the upstream dependencies is also pretty important, so I think that's a great reason to keep the directories the way you have them.

Copy link
Contributor

@epixa epixa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Do we need a follow up PR in x-pack?

@spalger
Copy link
Contributor Author

spalger commented Sep 19, 2017

Most likely, though I think the majority of the changes will be in the plugin helpers

spalger added a commit to elastic/kibana-plugin-helpers that referenced this pull request Sep 19, 2017
@spalger spalger merged commit 48d35f8 into elastic:master Sep 20, 2017
spalger added a commit that referenced this pull request Sep 20, 2017
* [babel] create babel-preset and babel-register modules

* [babel-preset] add comments to babel-preset-env.target choices

* [babel-preset] use more normal BUILT_WITH_BABEL signal

* [babel-register] extended comment about filtering ./src in dist

* [babel-preset] stage of class properties has changed, sorta

(cherry picked from commit 48d35f8)
spalger added a commit that referenced this pull request Sep 20, 2017
* [babel] create babel-preset and babel-register modules

* [babel-preset] add comments to babel-preset-env.target choices

* [babel-preset] use more normal BUILT_WITH_BABEL signal

* [babel-register] extended comment about filtering ./src in dist

* [babel-preset] stage of class properties has changed, sorta

(cherry picked from commit 48d35f8)
@spalger
Copy link
Contributor Author

spalger commented Sep 20, 2017

6.0: 4ff3620
6.x/6.1: 9636686

@spalger spalger deleted the implement/babel-register-module branch September 20, 2017 00:45
spalger added a commit to spalger/kibana that referenced this pull request Feb 8, 2018
spalger added a commit that referenced this pull request Feb 8, 2018
* initial commit

Original commit: elastic/kibana-plugin-helpers@06c603d

* simplify bin scripts and get them working

Original commit: elastic/kibana-plugin-helpers@1455f09

* [npm] finish package.json

Original commit: elastic/kibana-plugin-helpers@c7b0e9d

* [readme] inception

Original commit: elastic/kibana-plugin-helpers@5caa197

* [npm] rename

Original commit: elastic/kibana-plugin-helpers@9fb16dd

* [package.json] fix typo

Original commit: elastic/kibana-plugin-helpers@f135485

* [npm] do not commit npm logs

Original commit: elastic/kibana-plugin-helpers@a1bf750

* version 5.0.0-beta1

Original commit: elastic/kibana-plugin-helpers@5abf8ee

* Fix start cmd on Windows

Original commit: elastic/kibana-plugin-helpers@7718cef

* 5.0.0-beta2

Original commit: elastic/kibana-plugin-helpers@4e70c3e

* added license files for better visiblity

Original commit: elastic/kibana-plugin-helpers@a3297e2

* group task related files

Original commit: elastic/kibana-plugin-helpers@4a8ccce

* [build] place the plugin contents under the kibana directory

Original commit: elastic/kibana-plugin-helpers@0a0f5fe

* [start] send extra args to the kibana process

Original commit: elastic/kibana-plugin-helpers@ce943ca

* 5.0.0

Original commit: elastic/kibana-plugin-helpers@42163ce

* Correctly bundle dependencies if there is only one

Fixes elastic/kibana-plugin-helpers#8

Original commit: elastic/kibana-plugin-helpers@c46b2ca

* [test:server] include Kibana node_modules/.bin in path when running server tests

Original commit: elastic/kibana-plugin-helpers@bbda801

* 5.0.1-pre

Original commit: elastic/kibana-plugin-helpers@2d26645

* Pass pluginId and plugin-path values through correctly (elastic/kibana-plugin-helpers#11)

Fixes elastic/kibana-plugin-helpers#10

Original commit: elastic/kibana-plugin-helpers@74defe4

* 5.0.1-pre2

Original commit: elastic/kibana-plugin-helpers@0fd7d07

* [build] ask for kibana version when set to "kibana"

Original commit: elastic/kibana-plugin-helpers@5fe34c4

* 5.0.1-pre3

Original commit: elastic/kibana-plugin-helpers@2e0e101

* Running main, corrected build, checking for no dependencies (elastic/kibana-plugin-helpers#15)

* Updated if check if there are no dependencies

* Now running main()

* Build now uses the correct parameter.

Original commit: elastic/kibana-plugin-helpers@7cf31d2

* fix lint error

Original commit: elastic/kibana-plugin-helpers@06af5c3

* support defining an alternate plugin root

Original commit: elastic/kibana-plugin-helpers@0e4d4fa

* add an optional callback to the build action

Original commit: elastic/kibana-plugin-helpers@6a1012f

* run vinyl.src in the plugin.root directory

Original commit: elastic/kibana-plugin-helpers@8f3081b

* add basic test for the build action

Original commit: elastic/kibana-plugin-helpers@52230f6

* include nvmrc file for development

Original commit: elastic/kibana-plugin-helpers@f51115d

* add circle-ci config file

Original commit: elastic/kibana-plugin-helpers@80505e1

* 5.0.1

Original commit: elastic/kibana-plugin-helpers@e42d134

* use a promise instead of a callback to track task completion

Original commit: elastic/kibana-plugin-helpers@c6dacf3

* 5.0.1-patch1

Original commit: elastic/kibana-plugin-helpers@d49bb6e

* do not pass stdin to sub tasks, fixes elastic/kibana-plugin-helpers#19

Original commit: elastic/kibana-plugin-helpers@f872954

* 5.0.1-patch2

Original commit: elastic/kibana-plugin-helpers@a754ef5

* 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@4cfbe28

* allow browser tests to be runOnce

Original commit: elastic/kibana-plugin-helpers@ede52ec

* add a test/all task

Original commit: elastic/kibana-plugin-helpers@9b7c15c

* add test command to execute test/all

Original commit: elastic/kibana-plugin-helpers@e096ac5

* remove use of spread and default assignment

Original commit: elastic/kibana-plugin-helpers@17532f0

* pass run method into tasks

don't reach into lib for it

Original commit: elastic/kibana-plugin-helpers@d92d2e9

* use --dev flag for browser dev mode

Original commit: elastic/kibana-plugin-helpers@a790fdd

* fix default command, no more use of call

Original commit: elastic/kibana-plugin-helpers@fe13b98

* Move require calls outside of task functions (elastic/kibana-plugin-helpers#23)

* move require calls outside of task functions

* fix default command value

Original commit: elastic/kibana-plugin-helpers@846855e

* add --include options to test:server

Original commit: elastic/kibana-plugin-helpers@d3b5e24

* split and concat and included server test paths

Original commit: elastic/kibana-plugin-helpers@e7dffb6

* add plugins option to browser tests

used to pass your own testsBundle.pluginIds to the test runner

Original commit: elastic/kibana-plugin-helpers@d370d74

* if plugins are specified, use the option value instead of the default

Original commit: elastic/kibana-plugin-helpers@d610c9c

* assign args in argument passing code

minor syntax change

Original commit: elastic/kibana-plugin-helpers@ce77d07

* make server test files an argument

Original commit: elastic/kibana-plugin-helpers@b043b42

* add not about custom tests executiong to the readme/help

Original commit: elastic/kibana-plugin-helpers@139221e

* 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@82af4df

* 5.1.0

Original commit: elastic/kibana-plugin-helpers@6dd1407

* update the readme

Original commit: elastic/kibana-plugin-helpers@c650c45

* append build info to package.json

Original commit: elastic/kibana-plugin-helpers@504fd07

* format the package.json file

Original commit: elastic/kibana-plugin-helpers@c474820

* node4 support: const -> var

Original commit: elastic/kibana-plugin-helpers@19b607d

* fix cli parsing of --dev flag

Original commit: elastic/kibana-plugin-helpers@3aa37c2

* 5.1.1

Original commit: elastic/kibana-plugin-helpers@ad9a8e8

* 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@743e4a3

* return the result of running the action

Original commit: elastic/kibana-plugin-helpers@9b819ee

* Allow custom build target via --build-destination flag (elastic/kibana-plugin-helpers#30)

* pass buildTarget into createBuild

allow override from options

* add cli option to override build destination

--build-destination

* fix tests

* resolve build destination from plugin.root

this allows both relative and absolute paths to be used

* add short option

* update the help

Original commit: elastic/kibana-plugin-helpers@6c9fb34

* 5.2.0

Original commit: elastic/kibana-plugin-helpers@8c2a547

* 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@ef6b9c6

* 6.0.0

Original commit: elastic/kibana-plugin-helpers@9ee7b62

* Update URLs in package.json (elastic/kibana-plugin-helpers#31)

The package.json URLs are still referencing @spalger's version, whilst development and collaboration happens on @elastic's version

Original commit: elastic/kibana-plugin-helpers@1f322c1

* 6.0.1

Original commit: elastic/kibana-plugin-helpers@8eae537

* [tasks/test/browser] fix --kbnServer.tests_bundle flag

Original commit: elastic/kibana-plugin-helpers@12e7552

* 6.0.2

Original commit: elastic/kibana-plugin-helpers@ff9d402

* change let to var (elastic/kibana-plugin-helpers#35)

allow helpers to run on pre-6.0 node

Original commit: elastic/kibana-plugin-helpers@91de9a8

* 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@35f80a0

* 6.0.3

Original commit: elastic/kibana-plugin-helpers@b4da11f

* fix `build` task when yarn is not installed

Original commit: elastic/kibana-plugin-helpers@d48808f

* 6.0.4

Original commit: elastic/kibana-plugin-helpers@0c0ee17

* 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@54a38cd

* bump to version 7 snapshot

Original commit: elastic/kibana-plugin-helpers@0c1b2c1

* [utils] use actual plugin config (with defaults)

Original commit: elastic/kibana-plugin-helpers@f3bfdb2

* require node 6 (elastic/kibana-plugin-helpers#42)

* switch to .node-version file

* require and validate node version 6+

Original commit: elastic/kibana-plugin-helpers@85655f2

* 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@6fac14b

* 7.0.0

Original commit: elastic/kibana-plugin-helpers@2ff10e0

* commit yarn.lock file

Original commit: elastic/kibana-plugin-helpers@22bc67e

* [utils/babelRegister] add support for changes in #13973

Original commit: elastic/kibana-plugin-helpers@13f30fb

* 7.0.1

Original commit: elastic/kibana-plugin-helpers@abb9989

* 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@9871a4b

* chore: add yarn.lock file to repo

Original commit: elastic/kibana-plugin-helpers@4108fe6

* v7.0.2

Original commit: elastic/kibana-plugin-helpers@dba9da1

* 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@fd07d61

* Fix: readme include docs (elastic/kibana-plugin-helpers#50)

* chore: add a simple version compat chart

* chore: document the settings and how to use them

* chore: use icon for license info

* chore: use matching badge for circleci status

Original commit: elastic/kibana-plugin-helpers@1f39e48

* v7.1.0

Original commit: elastic/kibana-plugin-helpers@11238b2

* 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@f78e891

* v7.1.1

Original commit: elastic/kibana-plugin-helpers@b489c76

* 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@51058fb

* v7.1.2

Original commit: elastic/kibana-plugin-helpers@e314c21

* 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@fc72de5

* v8.0.0

Original commit: elastic/kibana-plugin-helpers@d538b32

* chore: add kibanaRoot setting to readme

Original commit: elastic/kibana-plugin-helpers@3769efd

* [createToolingLog] update require path for toolingLog (elastic/kibana-plugin-helpers#54)

Original commit: elastic/kibana-plugin-helpers@d968819

* v8.0.1

Original commit: elastic/kibana-plugin-helpers@2663bef

* 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@3fc4ec0

* Update yarn.lock

Original commit: elastic/kibana-plugin-helpers@b3d62e5

* v8.1.0

Original commit: elastic/kibana-plugin-helpers@fb979ff

* Deprecate specifying kibana root location (elastic/kibana-plugin-helpers#59)

Original commit: elastic/kibana-plugin-helpers@385fded

* 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@3511054

* v9.0.0

Original commit: elastic/kibana-plugin-helpers@8d5af74

* [npm] upgrade gulp-zip (elastic/kibana-plugin-helpers#61)

Original commit: elastic/kibana-plugin-helpers@94e7530

* chore: ignore yarn.lock file

Original commit: elastic/kibana-plugin-helpers@9cad57c

* [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@1add265

* v9.0.1

Original commit: elastic/kibana-plugin-helpers@140024a

* [config] throw if config file has a syntax error (elastic/kibana-plugin-helpers#65)

Original commit: elastic/kibana-plugin-helpers@487dd70

* v9.0.2

Original commit: elastic/kibana-plugin-helpers@3bd57fb

* [kbn-plugin-helpers] remove redundant configs

* [kbn-plugin-helpers/yarn] add yarn.lock file

* run kbn-plugin-helpers tests on ci

* [plugin-helpers] remove keywords from package.json

* [plugin-helpers] rely on kibana eslint

* [plugin-helpers/eslint] remove unused vars

* [eslint] allow kebab-case in any bin directory

* [plugin-helpers] replace last few uses of old package name
spalger added a commit to spalger/kibana that referenced this pull request Feb 8, 2018
* initial commit

Original commit: elastic/kibana-plugin-helpers@06c603d

* simplify bin scripts and get them working

Original commit: elastic/kibana-plugin-helpers@1455f09

* [npm] finish package.json

Original commit: elastic/kibana-plugin-helpers@c7b0e9d

* [readme] inception

Original commit: elastic/kibana-plugin-helpers@5caa197

* [npm] rename

Original commit: elastic/kibana-plugin-helpers@9fb16dd

* [package.json] fix typo

Original commit: elastic/kibana-plugin-helpers@f135485

* [npm] do not commit npm logs

Original commit: elastic/kibana-plugin-helpers@a1bf750

* version 5.0.0-beta1

Original commit: elastic/kibana-plugin-helpers@5abf8ee

* Fix start cmd on Windows

Original commit: elastic/kibana-plugin-helpers@7718cef

* 5.0.0-beta2

Original commit: elastic/kibana-plugin-helpers@4e70c3e

* added license files for better visiblity

Original commit: elastic/kibana-plugin-helpers@a3297e2

* group task related files

Original commit: elastic/kibana-plugin-helpers@4a8ccce

* [build] place the plugin contents under the kibana directory

Original commit: elastic/kibana-plugin-helpers@0a0f5fe

* [start] send extra args to the kibana process

Original commit: elastic/kibana-plugin-helpers@ce943ca

* 5.0.0

Original commit: elastic/kibana-plugin-helpers@42163ce

* Correctly bundle dependencies if there is only one

Fixes elastic/kibana-plugin-helpers#8

Original commit: elastic/kibana-plugin-helpers@c46b2ca

* [test:server] include Kibana node_modules/.bin in path when running server tests

Original commit: elastic/kibana-plugin-helpers@bbda801

* 5.0.1-pre

Original commit: elastic/kibana-plugin-helpers@2d26645

* Pass pluginId and plugin-path values through correctly (elastic/kibana-plugin-helpers#11)

Fixes elastic/kibana-plugin-helpers#10

Original commit: elastic/kibana-plugin-helpers@74defe4

* 5.0.1-pre2

Original commit: elastic/kibana-plugin-helpers@0fd7d07

* [build] ask for kibana version when set to "kibana"

Original commit: elastic/kibana-plugin-helpers@5fe34c4

* 5.0.1-pre3

Original commit: elastic/kibana-plugin-helpers@2e0e101

* Running main, corrected build, checking for no dependencies (elastic/kibana-plugin-helpers#15)

* Updated if check if there are no dependencies

* Now running main()

* Build now uses the correct parameter.

Original commit: elastic/kibana-plugin-helpers@7cf31d2

* fix lint error

Original commit: elastic/kibana-plugin-helpers@06af5c3

* support defining an alternate plugin root

Original commit: elastic/kibana-plugin-helpers@0e4d4fa

* add an optional callback to the build action

Original commit: elastic/kibana-plugin-helpers@6a1012f

* run vinyl.src in the plugin.root directory

Original commit: elastic/kibana-plugin-helpers@8f3081b

* add basic test for the build action

Original commit: elastic/kibana-plugin-helpers@52230f6

* include nvmrc file for development

Original commit: elastic/kibana-plugin-helpers@f51115d

* add circle-ci config file

Original commit: elastic/kibana-plugin-helpers@80505e1

* 5.0.1

Original commit: elastic/kibana-plugin-helpers@e42d134

* use a promise instead of a callback to track task completion

Original commit: elastic/kibana-plugin-helpers@c6dacf3

* 5.0.1-patch1

Original commit: elastic/kibana-plugin-helpers@d49bb6e

* do not pass stdin to sub tasks, fixes elastic/kibana-plugin-helpers#19

Original commit: elastic/kibana-plugin-helpers@f872954

* 5.0.1-patch2

Original commit: elastic/kibana-plugin-helpers@a754ef5

* 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@4cfbe28

* allow browser tests to be runOnce

Original commit: elastic/kibana-plugin-helpers@ede52ec

* add a test/all task

Original commit: elastic/kibana-plugin-helpers@9b7c15c

* add test command to execute test/all

Original commit: elastic/kibana-plugin-helpers@e096ac5

* remove use of spread and default assignment

Original commit: elastic/kibana-plugin-helpers@17532f0

* pass run method into tasks

don't reach into lib for it

Original commit: elastic/kibana-plugin-helpers@d92d2e9

* use --dev flag for browser dev mode

Original commit: elastic/kibana-plugin-helpers@a790fdd

* fix default command, no more use of call

Original commit: elastic/kibana-plugin-helpers@fe13b98

* Move require calls outside of task functions (elastic/kibana-plugin-helpers#23)

* move require calls outside of task functions

* fix default command value

Original commit: elastic/kibana-plugin-helpers@846855e

* add --include options to test:server

Original commit: elastic/kibana-plugin-helpers@d3b5e24

* split and concat and included server test paths

Original commit: elastic/kibana-plugin-helpers@e7dffb6

* add plugins option to browser tests

used to pass your own testsBundle.pluginIds to the test runner

Original commit: elastic/kibana-plugin-helpers@d370d74

* if plugins are specified, use the option value instead of the default

Original commit: elastic/kibana-plugin-helpers@d610c9c

* assign args in argument passing code

minor syntax change

Original commit: elastic/kibana-plugin-helpers@ce77d07

* make server test files an argument

Original commit: elastic/kibana-plugin-helpers@b043b42

* add not about custom tests executiong to the readme/help

Original commit: elastic/kibana-plugin-helpers@139221e

* 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@82af4df

* 5.1.0

Original commit: elastic/kibana-plugin-helpers@6dd1407

* update the readme

Original commit: elastic/kibana-plugin-helpers@c650c45

* append build info to package.json

Original commit: elastic/kibana-plugin-helpers@504fd07

* format the package.json file

Original commit: elastic/kibana-plugin-helpers@c474820

* node4 support: const -> var

Original commit: elastic/kibana-plugin-helpers@19b607d

* fix cli parsing of --dev flag

Original commit: elastic/kibana-plugin-helpers@3aa37c2

* 5.1.1

Original commit: elastic/kibana-plugin-helpers@ad9a8e8

* 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@743e4a3

* return the result of running the action

Original commit: elastic/kibana-plugin-helpers@9b819ee

* Allow custom build target via --build-destination flag (elastic/kibana-plugin-helpers#30)

* pass buildTarget into createBuild

allow override from options

* add cli option to override build destination

--build-destination

* fix tests

* resolve build destination from plugin.root

this allows both relative and absolute paths to be used

* add short option

* update the help

Original commit: elastic/kibana-plugin-helpers@6c9fb34

* 5.2.0

Original commit: elastic/kibana-plugin-helpers@8c2a547

* 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@ef6b9c6

* 6.0.0

Original commit: elastic/kibana-plugin-helpers@9ee7b62

* Update URLs in package.json (elastic/kibana-plugin-helpers#31)

The package.json URLs are still referencing @spalger's version, whilst development and collaboration happens on @elastic's version

Original commit: elastic/kibana-plugin-helpers@1f322c1

* 6.0.1

Original commit: elastic/kibana-plugin-helpers@8eae537

* [tasks/test/browser] fix --kbnServer.tests_bundle flag

Original commit: elastic/kibana-plugin-helpers@12e7552

* 6.0.2

Original commit: elastic/kibana-plugin-helpers@ff9d402

* change let to var (elastic/kibana-plugin-helpers#35)

allow helpers to run on pre-6.0 node

Original commit: elastic/kibana-plugin-helpers@91de9a8

* 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@35f80a0

* 6.0.3

Original commit: elastic/kibana-plugin-helpers@b4da11f

* fix `build` task when yarn is not installed

Original commit: elastic/kibana-plugin-helpers@d48808f

* 6.0.4

Original commit: elastic/kibana-plugin-helpers@0c0ee17

* 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@54a38cd

* bump to version 7 snapshot

Original commit: elastic/kibana-plugin-helpers@0c1b2c1

* [utils] use actual plugin config (with defaults)

Original commit: elastic/kibana-plugin-helpers@f3bfdb2

* require node 6 (elastic/kibana-plugin-helpers#42)

* switch to .node-version file

* require and validate node version 6+

Original commit: elastic/kibana-plugin-helpers@85655f2

* 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@6fac14b

* 7.0.0

Original commit: elastic/kibana-plugin-helpers@2ff10e0

* commit yarn.lock file

Original commit: elastic/kibana-plugin-helpers@22bc67e

* [utils/babelRegister] add support for changes in elastic#13973

Original commit: elastic/kibana-plugin-helpers@13f30fb

* 7.0.1

Original commit: elastic/kibana-plugin-helpers@abb9989

* 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@9871a4b

* chore: add yarn.lock file to repo

Original commit: elastic/kibana-plugin-helpers@4108fe6

* v7.0.2

Original commit: elastic/kibana-plugin-helpers@dba9da1

* 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@fd07d61

* Fix: readme include docs (elastic/kibana-plugin-helpers#50)

* chore: add a simple version compat chart

* chore: document the settings and how to use them

* chore: use icon for license info

* chore: use matching badge for circleci status

Original commit: elastic/kibana-plugin-helpers@1f39e48

* v7.1.0

Original commit: elastic/kibana-plugin-helpers@11238b2

* 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@f78e891

* v7.1.1

Original commit: elastic/kibana-plugin-helpers@b489c76

* 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@51058fb

* v7.1.2

Original commit: elastic/kibana-plugin-helpers@e314c21

* 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@fc72de5

* v8.0.0

Original commit: elastic/kibana-plugin-helpers@d538b32

* chore: add kibanaRoot setting to readme

Original commit: elastic/kibana-plugin-helpers@3769efd

* [createToolingLog] update require path for toolingLog (elastic/kibana-plugin-helpers#54)

Original commit: elastic/kibana-plugin-helpers@d968819

* v8.0.1

Original commit: elastic/kibana-plugin-helpers@2663bef

* 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@3fc4ec0

* Update yarn.lock

Original commit: elastic/kibana-plugin-helpers@b3d62e5

* v8.1.0

Original commit: elastic/kibana-plugin-helpers@fb979ff

* Deprecate specifying kibana root location (elastic/kibana-plugin-helpers#59)

Original commit: elastic/kibana-plugin-helpers@385fded

* 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@3511054

* v9.0.0

Original commit: elastic/kibana-plugin-helpers@8d5af74

* [npm] upgrade gulp-zip (elastic/kibana-plugin-helpers#61)

Original commit: elastic/kibana-plugin-helpers@94e7530

* chore: ignore yarn.lock file

Original commit: elastic/kibana-plugin-helpers@9cad57c

* [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@1add265

* v9.0.1

Original commit: elastic/kibana-plugin-helpers@140024a

* [config] throw if config file has a syntax error (elastic/kibana-plugin-helpers#65)

Original commit: elastic/kibana-plugin-helpers@487dd70

* v9.0.2

Original commit: elastic/kibana-plugin-helpers@3bd57fb

* [kbn-plugin-helpers] remove redundant configs

* [kbn-plugin-helpers/yarn] add yarn.lock file

* run kbn-plugin-helpers tests on ci

* [plugin-helpers] remove keywords from package.json

* [plugin-helpers] rely on kibana eslint

* [plugin-helpers/eslint] remove unused vars

* [eslint] allow kebab-case in any bin directory

* [plugin-helpers] replace last few uses of old package name
spalger added a commit that referenced this pull request Feb 8, 2018
…6617)

* initial commit

Original commit: elastic/kibana-plugin-helpers@06c603d

* simplify bin scripts and get them working

Original commit: elastic/kibana-plugin-helpers@1455f09

* [npm] finish package.json

Original commit: elastic/kibana-plugin-helpers@c7b0e9d

* [readme] inception

Original commit: elastic/kibana-plugin-helpers@5caa197

* [npm] rename

Original commit: elastic/kibana-plugin-helpers@9fb16dd

* [package.json] fix typo

Original commit: elastic/kibana-plugin-helpers@f135485

* [npm] do not commit npm logs

Original commit: elastic/kibana-plugin-helpers@a1bf750

* version 5.0.0-beta1

Original commit: elastic/kibana-plugin-helpers@5abf8ee

* Fix start cmd on Windows

Original commit: elastic/kibana-plugin-helpers@7718cef

* 5.0.0-beta2

Original commit: elastic/kibana-plugin-helpers@4e70c3e

* added license files for better visiblity

Original commit: elastic/kibana-plugin-helpers@a3297e2

* group task related files

Original commit: elastic/kibana-plugin-helpers@4a8ccce

* [build] place the plugin contents under the kibana directory

Original commit: elastic/kibana-plugin-helpers@0a0f5fe

* [start] send extra args to the kibana process

Original commit: elastic/kibana-plugin-helpers@ce943ca

* 5.0.0

Original commit: elastic/kibana-plugin-helpers@42163ce

* Correctly bundle dependencies if there is only one

Fixes elastic/kibana-plugin-helpers#8

Original commit: elastic/kibana-plugin-helpers@c46b2ca

* [test:server] include Kibana node_modules/.bin in path when running server tests

Original commit: elastic/kibana-plugin-helpers@bbda801

* 5.0.1-pre

Original commit: elastic/kibana-plugin-helpers@2d26645

* Pass pluginId and plugin-path values through correctly (elastic/kibana-plugin-helpers#11)

Fixes elastic/kibana-plugin-helpers#10

Original commit: elastic/kibana-plugin-helpers@74defe4

* 5.0.1-pre2

Original commit: elastic/kibana-plugin-helpers@0fd7d07

* [build] ask for kibana version when set to "kibana"

Original commit: elastic/kibana-plugin-helpers@5fe34c4

* 5.0.1-pre3

Original commit: elastic/kibana-plugin-helpers@2e0e101

* Running main, corrected build, checking for no dependencies (elastic/kibana-plugin-helpers#15)

* Updated if check if there are no dependencies

* Now running main()

* Build now uses the correct parameter.

Original commit: elastic/kibana-plugin-helpers@7cf31d2

* fix lint error

Original commit: elastic/kibana-plugin-helpers@06af5c3

* support defining an alternate plugin root

Original commit: elastic/kibana-plugin-helpers@0e4d4fa

* add an optional callback to the build action

Original commit: elastic/kibana-plugin-helpers@6a1012f

* run vinyl.src in the plugin.root directory

Original commit: elastic/kibana-plugin-helpers@8f3081b

* add basic test for the build action

Original commit: elastic/kibana-plugin-helpers@52230f6

* include nvmrc file for development

Original commit: elastic/kibana-plugin-helpers@f51115d

* add circle-ci config file

Original commit: elastic/kibana-plugin-helpers@80505e1

* 5.0.1

Original commit: elastic/kibana-plugin-helpers@e42d134

* use a promise instead of a callback to track task completion

Original commit: elastic/kibana-plugin-helpers@c6dacf3

* 5.0.1-patch1

Original commit: elastic/kibana-plugin-helpers@d49bb6e

* do not pass stdin to sub tasks, fixes elastic/kibana-plugin-helpers#19

Original commit: elastic/kibana-plugin-helpers@f872954

* 5.0.1-patch2

Original commit: elastic/kibana-plugin-helpers@a754ef5

* 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@4cfbe28

* allow browser tests to be runOnce

Original commit: elastic/kibana-plugin-helpers@ede52ec

* add a test/all task

Original commit: elastic/kibana-plugin-helpers@9b7c15c

* add test command to execute test/all

Original commit: elastic/kibana-plugin-helpers@e096ac5

* remove use of spread and default assignment

Original commit: elastic/kibana-plugin-helpers@17532f0

* pass run method into tasks

don't reach into lib for it

Original commit: elastic/kibana-plugin-helpers@d92d2e9

* use --dev flag for browser dev mode

Original commit: elastic/kibana-plugin-helpers@a790fdd

* fix default command, no more use of call

Original commit: elastic/kibana-plugin-helpers@fe13b98

* Move require calls outside of task functions (elastic/kibana-plugin-helpers#23)

* move require calls outside of task functions

* fix default command value

Original commit: elastic/kibana-plugin-helpers@846855e

* add --include options to test:server

Original commit: elastic/kibana-plugin-helpers@d3b5e24

* split and concat and included server test paths

Original commit: elastic/kibana-plugin-helpers@e7dffb6

* add plugins option to browser tests

used to pass your own testsBundle.pluginIds to the test runner

Original commit: elastic/kibana-plugin-helpers@d370d74

* if plugins are specified, use the option value instead of the default

Original commit: elastic/kibana-plugin-helpers@d610c9c

* assign args in argument passing code

minor syntax change

Original commit: elastic/kibana-plugin-helpers@ce77d07

* make server test files an argument

Original commit: elastic/kibana-plugin-helpers@b043b42

* add not about custom tests executiong to the readme/help

Original commit: elastic/kibana-plugin-helpers@139221e

* 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@82af4df

* 5.1.0

Original commit: elastic/kibana-plugin-helpers@6dd1407

* update the readme

Original commit: elastic/kibana-plugin-helpers@c650c45

* append build info to package.json

Original commit: elastic/kibana-plugin-helpers@504fd07

* format the package.json file

Original commit: elastic/kibana-plugin-helpers@c474820

* node4 support: const -> var

Original commit: elastic/kibana-plugin-helpers@19b607d

* fix cli parsing of --dev flag

Original commit: elastic/kibana-plugin-helpers@3aa37c2

* 5.1.1

Original commit: elastic/kibana-plugin-helpers@ad9a8e8

* 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@743e4a3

* return the result of running the action

Original commit: elastic/kibana-plugin-helpers@9b819ee

* Allow custom build target via --build-destination flag (elastic/kibana-plugin-helpers#30)

* pass buildTarget into createBuild

allow override from options

* add cli option to override build destination

--build-destination

* fix tests

* resolve build destination from plugin.root

this allows both relative and absolute paths to be used

* add short option

* update the help

Original commit: elastic/kibana-plugin-helpers@6c9fb34

* 5.2.0

Original commit: elastic/kibana-plugin-helpers@8c2a547

* 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@ef6b9c6

* 6.0.0

Original commit: elastic/kibana-plugin-helpers@9ee7b62

* Update URLs in package.json (elastic/kibana-plugin-helpers#31)

The package.json URLs are still referencing @spalger's version, whilst development and collaboration happens on @elastic's version

Original commit: elastic/kibana-plugin-helpers@1f322c1

* 6.0.1

Original commit: elastic/kibana-plugin-helpers@8eae537

* [tasks/test/browser] fix --kbnServer.tests_bundle flag

Original commit: elastic/kibana-plugin-helpers@12e7552

* 6.0.2

Original commit: elastic/kibana-plugin-helpers@ff9d402

* change let to var (elastic/kibana-plugin-helpers#35)

allow helpers to run on pre-6.0 node

Original commit: elastic/kibana-plugin-helpers@91de9a8

* 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@35f80a0

* 6.0.3

Original commit: elastic/kibana-plugin-helpers@b4da11f

* fix `build` task when yarn is not installed

Original commit: elastic/kibana-plugin-helpers@d48808f

* 6.0.4

Original commit: elastic/kibana-plugin-helpers@0c0ee17

* 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@54a38cd

* bump to version 7 snapshot

Original commit: elastic/kibana-plugin-helpers@0c1b2c1

* [utils] use actual plugin config (with defaults)

Original commit: elastic/kibana-plugin-helpers@f3bfdb2

* require node 6 (elastic/kibana-plugin-helpers#42)

* switch to .node-version file

* require and validate node version 6+

Original commit: elastic/kibana-plugin-helpers@85655f2

* 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@6fac14b

* 7.0.0

Original commit: elastic/kibana-plugin-helpers@2ff10e0

* commit yarn.lock file

Original commit: elastic/kibana-plugin-helpers@22bc67e

* [utils/babelRegister] add support for changes in #13973

Original commit: elastic/kibana-plugin-helpers@13f30fb

* 7.0.1

Original commit: elastic/kibana-plugin-helpers@abb9989

* 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@9871a4b

* chore: add yarn.lock file to repo

Original commit: elastic/kibana-plugin-helpers@4108fe6

* v7.0.2

Original commit: elastic/kibana-plugin-helpers@dba9da1

* 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@fd07d61

* Fix: readme include docs (elastic/kibana-plugin-helpers#50)

* chore: add a simple version compat chart

* chore: document the settings and how to use them

* chore: use icon for license info

* chore: use matching badge for circleci status

Original commit: elastic/kibana-plugin-helpers@1f39e48

* v7.1.0

Original commit: elastic/kibana-plugin-helpers@11238b2

* 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@f78e891

* v7.1.1

Original commit: elastic/kibana-plugin-helpers@b489c76

* 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@51058fb

* v7.1.2

Original commit: elastic/kibana-plugin-helpers@e314c21

* 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@fc72de5

* v8.0.0

Original commit: elastic/kibana-plugin-helpers@d538b32

* chore: add kibanaRoot setting to readme

Original commit: elastic/kibana-plugin-helpers@3769efd

* [createToolingLog] update require path for toolingLog (elastic/kibana-plugin-helpers#54)

Original commit: elastic/kibana-plugin-helpers@d968819

* v8.0.1

Original commit: elastic/kibana-plugin-helpers@2663bef

* 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@3fc4ec0

* Update yarn.lock

Original commit: elastic/kibana-plugin-helpers@b3d62e5

* v8.1.0

Original commit: elastic/kibana-plugin-helpers@fb979ff

* Deprecate specifying kibana root location (elastic/kibana-plugin-helpers#59)

Original commit: elastic/kibana-plugin-helpers@385fded

* 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@3511054

* v9.0.0

Original commit: elastic/kibana-plugin-helpers@8d5af74

* [npm] upgrade gulp-zip (elastic/kibana-plugin-helpers#61)

Original commit: elastic/kibana-plugin-helpers@94e7530

* chore: ignore yarn.lock file

Original commit: elastic/kibana-plugin-helpers@9cad57c

* [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@1add265

* v9.0.1

Original commit: elastic/kibana-plugin-helpers@140024a

* [config] throw if config file has a syntax error (elastic/kibana-plugin-helpers#65)

Original commit: elastic/kibana-plugin-helpers@487dd70

* v9.0.2

Original commit: elastic/kibana-plugin-helpers@3bd57fb

* [kbn-plugin-helpers] remove redundant configs

* [kbn-plugin-helpers/yarn] add yarn.lock file

* run kbn-plugin-helpers tests on ci

* [plugin-helpers] remove keywords from package.json

* [plugin-helpers] rely on kibana eslint

* [plugin-helpers/eslint] remove unused vars

* [eslint] allow kebab-case in any bin directory

* [plugin-helpers] replace last few uses of old package name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc v6.0.0-rc1 v6.0.0 v6.1.0 v7.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants