kibana/packages/kbn-bazel-runner/README.mdx
Spencer 4f817ad8a0
[kbn/pm] rewrite to avoid needing a build process (#136207)
* [kbn/pm] rewrite to avoid needing a build process

* uncomment timing reporting

* throw in a few missing comments

* Update README.md

* remove extra SomeDevLog interface from ci-stats-core

* remove non-stdio logging from bazel_runner, improve output formatting

* use private fields instead of just ts private props

* promote args to a positional arg

* optionally require the ci-stats-reporter after each command

* allow opt-ing out of vscode config management

* reduce to a single import

* add bit of docs regarding weird imports and package deps of kbn/pm

* clean extraDirs from Kibana's package.json file too

* tweak logging of run-in-packages to use --quiet and not just CI=true

* remove unlazy-loader

* add readme for @kbn/yarn-lock-validator

* convert @kbn/some-dev-logs docs to mdx

* remove missing navigation id and fix id in dev-cli-runner docs

* fix title of some-dev-logs docs page

* typo
2022-07-18 08:46:13 -07:00

46 lines
No EOL
1.7 KiB
Text

---
id: kibDevDocsOpsBazelRunner
slug: /kibana-dev-docs/ops/bazel-runner
title: "@kbn/bazel-runner"
description: A package holding helpers to invoke Bazel
date: 2022-05-24
tags: ['kibana', 'dev', 'contributor', 'operations', 'bazel', 'runner']
---
This is a package with helpers for invoking bazel and iBazel commands, used everywhere we programmatically run bazel.
## API
### async runBazel(args: string[], options: BazelRunOptions)
It runs bazel on the background with the given options
### async runIBazel(args: string[], options: BazelRunOptions)
It runs a IBazel on the background with the given options
#### BazelRunOptions
```
{
// a logger to print the command output
log: SomeDevLog;
// run bazel with the no connection compatible config or not
offline?: boolean;
// environment variables to set in process running Bazel
env?: Record<string, string>;
// directory to run bazel in
cwd?: string;
// text to include at the beginning on each line of log output produced by bazel
logPrefix?: string;
// handler to implement custom error handling
onErrorExit?: (code: number) => void;
}
```
## NOTE:
This code is needed in order to properly bootstrap the repository. As such, it can't have any NPM dependencies or require being built. This code is loaded directly into the node.js process that boostraps the repository from source while also being built into a package and exposed to the rest of the package system. Please consider this when making any changes to the source.
The code is still type-checked as JS with JSDoc comments, and a single .ts file which provides interfaces to the JS validation and are publically available to package consumers.