kibana/packages/kbn-yarn-lock-validator
Spencer 1b85815402
[packages] migrate all plugins to packages (#148130)
Fixes https://github.com/elastic/kibana/issues/149344

This PR migrates all plugins to packages automatically. It does this
using `node scripts/lint_packages` to automatically migrate
`kibana.json` files to `kibana.jsonc` files. By doing this automatically
we can simplify many build and testing procedures to only support
packages, and not both "packages" and "synthetic packages" (basically
pointers to plugins).

The majority of changes are in operations related code, so we'll be
having operations review this before marking it ready for review. The
vast majority of the code owners are simply pinged because we deleted
all `kibana.json` files and replaced them with `kibana.jsonc` files, so
we plan on leaving the PR ready-for-review for about 24 hours before
merging (after feature freeze), assuming we don't have any blockers
(especially from @elastic/kibana-core since there are a few core
specific changes, though the majority were handled in #149370).

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-02-08 21:06:50 -06:00
..
src [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
index.ts chore(NA): remove src folder requirement from packages (part 2) (#138476) 2022-08-30 15:57:35 +01:00
jest.config.js [kbn/pm] rewrite to avoid needing a build process (#136207) 2022-07-18 08:46:13 -07:00
kibana.jsonc Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
package.json Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
README.mdx [kbn/pm] rewrite to avoid needing a build process (#136207) 2022-07-18 08:46:13 -07:00
tsconfig.json Implement package linter (#148496) 2023-01-09 16:49:29 -07:00

---
id: kibDevDocsOpsKbnYarnLockValidator
slug: /kibana-dev-docs/ops/kbn-yarn-lock-validator
title: "@kbn/yarn-lock-validator"
description: 'A tool for validating specific conditions for our dependency chain'
date: 2022-07-14
tags: ['kibana', 'dev', 'contributor', 'operations', 'packages', 'scripts', 'yarn']
---

`@kbn/yarn-lock-validator` provides yarn.lock validation logic for the Kibana project. It is loaded up by <DocLink id="kibDevDocsOpsKbnPm" /> after bootstrap and validates that we haven't accidentally re-introduced specific dependencies or version-combination scenarios detailed below:

## validation scenarios

 - Only a single version of lodash@4 is installed
 - No lodash@3 versions installed
 - None of the bazel packages in `"dependencies"`, and none of the transient dependencies of those packages, are marked as `"devOnly": true`