src/platform/kbn-ui/side-navigation/packaging/BUILD.md
.nvmrc)yarn kbn bootstrap)The publish pipeline invokes packaging/scripts/build.sh directly. To build
locally:
src/platform/kbn-ui/side-navigation/packaging/scripts/build.sh
Artifacts in src/platform/kbn-ui/side-navigation/target/:
| File | Description |
|---|---|
index.js (+ index.js.map) | Bundled CommonJS + source map |
index.d.ts | TypeScript declarations |
package.json | Package manifest |
metadata.json | Build metadata (name, version, gitSha, buildTimestamp, peerDependencies) |
kbn-ui-side-navigation-<version>.tgz | Installable npm tarball |
tsc --noEmit checks that the standalone types in
packaging/react/types.ts stay compatible with the source types.@kbn/i18n, @kbn/i18n-react, @kbn/core-chrome-layout-constants, and
@kbn/core-chrome-layout-utils with local stubs via resolver aliases.index.d.ts as a regular ES module
(not an ambient declare module wrapper) so consumers can import types
directly from @kbn/ui-side-navigation.package.json into the output directory.metadata.json with name, version, git SHA, build
timestamp, and peer dependencies. Override the SHA with BUILD_GIT_SHA.npm pack --force produces kbn-ui-side-navigation-<version>.tgz.
The --force flag is required because the manifest is marked private
(the artifact is distributed out-of-band, not via the public registry).cd /tmp && mkdir side-nav-check && cd side-nav-check
npm init -y
npm i <path-to>/kbn-ui-side-navigation-<version>.tgz \
@elastic/eui react react-dom @emotion/react @emotion/css
node -e "console.log(require('@kbn/ui-side-navigation'))"