[ES|QL] generate function validation tests (#183343)

## Summary

Close https://github.com/elastic/kibana/issues/182390


### To test

You can test all aspects of the script by first making some changes to
`packages/kbn-esql-validation-autocomplete/src/validation/validation.test.ts`
- delete several tests from an existing function describe block ("block
1"—except don't choose "date_diff" since it has a bunch of custom tests)
- delete another function describe block completely ("block 2")
- change the expected result of several of the tests in a third function
describe block ("block 3")

Then, run `yarn maketests` from within
`packages/kbn-esql-validation-autocomplete`

**Expected result**
- Block 1 should have the deleted tests restored
- Block 2 should be restored entirely (though it may be moved in the
tests file)
- Block 3 should be untouched

### Checklist

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
Drew Tate 2024-05-16 08:06:16 -06:00 committed by GitHub
parent dab0208a07
commit c4ef9bdccf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 13150 additions and 9541 deletions

View file

@ -177,6 +177,7 @@ const DEV_PATTERNS = [
'x-pack/performance/**/*',
'src/setup_node_env/index.js',
'src/cli/dev.js',
'packages/kbn-esql-validation-autocomplete/scripts/**/*',
];
/** Restricted imports with suggested alternatives */

View file

@ -1683,6 +1683,7 @@
"q": "^1.5.1",
"raw-loader": "^3.1.0",
"react-test-renderer": "^17.0.2",
"recast": "^0.23.7",
"regenerate": "^1.4.0",
"resolve": "^1.22.0",
"rxjs-marbles": "^7.0.1",

View file

@ -11,6 +11,8 @@ src
| code_actions // => the quick fixes service logic
| definitions // => static assets to define all components behaviour of a ES|QL query: commands, functions, etc...
| validation // => the validation logic
scripts // => scripts used to manage the validation engine code
```
### Basic usage
@ -45,12 +47,12 @@ import { validateQuery } from '@kbn/esql-validation-autocomplete';
// define only the getSources callback
const myCallbacks = {
getSources: async () => [{name: 'index', hidden: false}],
getSources: async () => [{ name: 'index', hidden: false }],
};
// ignore errors that might be triggered by the lack of some callbacks (i.e. "Unknown columns", etc...)
const { errors, warnings } = await validateQuery(
"from index | stats 1 + avg(myColumn)",
'from index | stats 1 + avg(myColumn)',
getAstAndSyntaxErrors,
{ ignoreOnMissingCallbacks: true },
myCallbacks
@ -161,12 +163,12 @@ For instance to show contextual information on Hover the `getAstContext` functio
import { getAstAndSyntaxErrors } from '@kbn/esql-ast';
import { getAstContext } from '@kbn/esql-validation-autocomplete';
const queryString = "from index2 | stats 1 + avg(myColumn)";
const offset = queryString.indexOf("avg");
const queryString = 'from index2 | stats 1 + avg(myColumn)';
const offset = queryString.indexOf('avg');
const astContext = getAstContext(queryString, getAstAndSyntaxErrors(queryString), offset);
if(astContext.type === "function"){
if (astContext.type === 'function') {
const fnNode = astContext.node;
const fnDefinition = getFunctionDefinition(fnNode.name);
@ -175,7 +177,6 @@ if(astContext.type === "function"){
}
```
### How does it work
The general idea of this package is to provide all ES|QL features on top of a custom compact AST definition (all data structure types defined in `@kbn/esql-ast`) which is designed to be resilient to many grammar changes.
@ -211,9 +212,9 @@ The most complex case is the `expression` as it can cover a moltitude of cases.
### Adding new commands/options/functions/erc...
To update the definitions:
1. open either approriate definition file within the `definitions` folder and add a new entry to the relative array
2. write new tests for validation and autocomplete
* if a new function is added tests are automatically generated fro both validation and autocomplete with some standard checks
* if a new function requires a new field types, make sure to add the new type to the initial part of the test file
* this will be automatically picked up by the test generator to produce new test cases
* if a new function requires a new type of test, make sure to write it manually
2. if you are adding a function, run `yarn maketests` to add a set of fundamental validation tests for the new definition. If any of the suggested tests are wrong, feel free to correct them by hand. If it seems like a general problem, open an issue with the details so that we can update the generator code.
3. write new tests for validation and autocomplete
- if a new function requires a new type of test, make sure to write it manually

View file

@ -1,7 +1,10 @@
{
"name": "@kbn/esql-validation-autocomplete",
"version": "1.0.0",
"private": true,
"license": "SSPL-1.0 OR Elastic License 2.0",
"sideEffects": false
}
"name": "@kbn/esql-validation-autocomplete",
"version": "1.0.0",
"private": true,
"license": "SSPL-1.0 OR Elastic License 2.0",
"sideEffects": false,
"scripts": {
"maketests": "ts-node --transpileOnly ./scripts/generate_function_validation_tests.ts"
}
}

View file

@ -0,0 +1,9 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export const FUNCTION_DESCRIBE_BLOCK_NAME = 'functions';

View file

@ -9,7 +9,7 @@
},
"include": [
"src/**/*",
"**/*.ts",
"**/*.ts", "scripts",
],
"kbn_references": [
"@kbn/i18n",

View file

@ -1,19 +1,9 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
],
"ignorePaths": [
"**/__fixtures__/**",
"**/fixtures/**"
],
"enabledManagers": [
"npm"
],
"baseBranches": [
"main",
"7.17"
],
"extends": ["config:base"],
"ignorePaths": ["**/__fixtures__/**", "**/fixtures/**"],
"enabledManagers": ["npm"],
"baseBranches": ["main", "7.17"],
"prConcurrentLimit": 0,
"prHourlyLimit": 0,
"separateMajorMinor": false,
@ -27,31 +17,17 @@
},
"packageRules": [
{
"matchPackagePatterns": [
".*"
],
"matchPackagePatterns": [".*"],
"enabled": false,
"prCreation": "not-pending",
"stabilityDays": 7
},
{
"groupName": "@elastic/charts",
"matchPackageNames": [
"@elastic/charts"
],
"reviewers": [
"team:visualizations",
"markov00",
"nickofthyme"
],
"matchBaseBranches": [
"main"
],
"labels": [
"release_note:skip",
"backport:skip",
"Team:Visualizations"
],
"matchPackageNames": ["@elastic/charts"],
"reviewers": ["team:visualizations", "markov00", "nickofthyme"],
"matchBaseBranches": ["main"],
"labels": ["release_note:skip", "backport:skip", "Team:Visualizations"],
"draftPR": true,
"enabled": true,
"assignAutomerge": true,
@ -59,270 +35,117 @@
},
{
"groupName": "@elastic/elasticsearch",
"matchPackageNames": [
"@elastic/elasticsearch"
],
"reviewers": [
"team:kibana-operations",
"team:kibana-core"
],
"matchBaseBranches": [
"main"
],
"labels": [
"release_note:skip",
"backport:skip",
"Team:Operations",
"Team:Core"
],
"matchPackageNames": ["@elastic/elasticsearch"],
"reviewers": ["team:kibana-operations", "team:kibana-core"],
"matchBaseBranches": ["main"],
"labels": ["release_note:skip", "backport:skip", "Team:Operations", "Team:Core"],
"enabled": true
},
{
"groupName": "@elastic/elasticsearch",
"matchPackageNames": [
"@elastic/elasticsearch"
],
"reviewers": [
"team:kibana-operations",
"team:kibana-core"
],
"matchBaseBranches": [
"7.17"
],
"labels": [
"release_note:skip",
"Team:Operations",
"Team:Core",
"backport:skip"
],
"matchPackageNames": ["@elastic/elasticsearch"],
"reviewers": ["team:kibana-operations", "team:kibana-core"],
"matchBaseBranches": ["7.17"],
"labels": ["release_note:skip", "Team:Operations", "Team:Core", "backport:skip"],
"enabled": true
},
{
"groupName": "LaunchDarkly",
"matchPackageNames": [
"launchdarkly-js-client-sdk",
"launchdarkly-node-server-sdk"
],
"reviewers": [
"team:kibana-security",
"team:kibana-core"
],
"matchBaseBranches": [
"main"
],
"labels": [
"release_note:skip",
"Team:Security",
"Team:Core",
"backport:prev-minor"
],
"matchPackageNames": ["launchdarkly-js-client-sdk", "launchdarkly-node-server-sdk"],
"reviewers": ["team:kibana-security", "team:kibana-core"],
"matchBaseBranches": ["main"],
"labels": ["release_note:skip", "Team:Security", "Team:Core", "backport:prev-minor"],
"enabled": true
},
{
"groupName": "APM",
"matchPackageNames": [
"elastic-apm-node",
"@elastic/apm-rum",
"@elastic/apm-rum-react"
],
"reviewers": [
"team:kibana-core"
],
"matchBaseBranches": [
"main"
],
"labels": [
"release_note:skip",
"Team:Core",
"backport:skip"
],
"matchPackageNames": ["elastic-apm-node", "@elastic/apm-rum", "@elastic/apm-rum-react"],
"reviewers": ["team:kibana-core"],
"matchBaseBranches": ["main"],
"labels": ["release_note:skip", "Team:Core", "backport:skip"],
"enabled": true,
"prCreation": "immediate"
},
{
"groupName": "ansi-regex",
"matchPackageNames": [
"ansi-regex"
],
"reviewers": [
"team:kibana-core"
],
"matchBaseBranches": [
"main"
],
"labels": [
"release_note:skip",
"Team:Core",
"backport:skip"
],
"matchPackageNames": ["ansi-regex"],
"reviewers": ["team:kibana-core"],
"matchBaseBranches": ["main"],
"labels": ["release_note:skip", "Team:Core", "backport:skip"],
"enabled": true
},
{
"groupName": "OpenAPI Spec",
"matchPackageNames": [
"@redocly/cli"
],
"reviewers": [
"team:kibana-core"
],
"matchBaseBranches": [
"main"
],
"labels": [
"release_note:skip",
"Team:Core",
"backport:all-open"
],
"matchPackageNames": ["@redocly/cli"],
"reviewers": ["team:kibana-core"],
"matchBaseBranches": ["main"],
"labels": ["release_note:skip", "Team:Core", "backport:all-open"],
"enabled": true
},
{
"groupName": "babel",
"matchPackageNames": [
"@types/babel__core"
],
"matchPackagePatterns": [
"^@babel",
"^babel-plugin"
],
"reviewers": [
"team:kibana-operations"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:Operations",
"release_note:skip"
],
"matchPackageNames": ["@types/babel__core"],
"matchPackagePatterns": ["^@babel", "^babel-plugin"],
"reviewers": ["team:kibana-operations"],
"matchBaseBranches": ["main"],
"labels": ["Team:Operations", "release_note:skip"],
"enabled": true
},
{
"groupName": "typescript",
"matchPackageNames": [
"typescript",
"prettier",
"@types/jsdom"
],
"reviewers": [
"team:kibana-operations"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:Operations",
"release_note:skip"
],
"matchPackageNames": ["typescript", "prettier", "@types/jsdom"],
"reviewers": ["team:kibana-operations"],
"matchBaseBranches": ["main"],
"labels": ["Team:Operations", "release_note:skip"],
"enabled": true
},
{
"groupName": "typescript-eslint",
"matchPackagePatterns": [
"^@typescript-eslint"
],
"reviewers": [
"team:kibana-operations"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:Operations",
"release_note:skip"
],
"matchPackagePatterns": ["^@typescript-eslint"],
"reviewers": ["team:kibana-operations"],
"matchBaseBranches": ["main"],
"labels": ["Team:Operations", "release_note:skip"],
"enabled": true
},
{
"groupName": "polyfills",
"matchPackageNames": [
"core-js"
],
"matchPackagePatterns": [
"polyfill"
],
"reviewers": [
"team:kibana-operations"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:Operations",
"release_note:skip"
],
"matchPackageNames": ["core-js"],
"matchPackagePatterns": ["polyfill"],
"reviewers": ["team:kibana-operations"],
"matchBaseBranches": ["main"],
"labels": ["Team:Operations", "release_note:skip"],
"enabled": true
},
{
"groupName": "CLI tooling",
"matchPackageNames": [
"listr2"
],
"reviewers": [
"team:kibana-operations"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:Operations",
"backport:all-open",
"release_note:skip"
],
"matchPackageNames": ["listr2"],
"reviewers": ["team:kibana-operations"],
"matchBaseBranches": ["main"],
"labels": ["Team:Operations", "backport:all-open", "release_note:skip"],
"enabled": true
},
{
"groupName": "vega related modules",
"matchPackageNames": [
"vega",
"vega-lite",
"vega-schema-url-parser",
"vega-tooltip"
],
"reviewers": [
"team:kibana-visualizations"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Feature:Vega",
"Team:Visualizations"
],
"matchPackageNames": ["vega", "vega-lite", "vega-schema-url-parser", "vega-tooltip"],
"reviewers": ["team:kibana-visualizations"],
"matchBaseBranches": ["main"],
"labels": ["Feature:Vega", "Team:Visualizations"],
"enabled": true
},
{
"groupName": "cypress",
"matchPackagePatterns": [
"cypress"
],
"reviewers": [
"Team:apm",
"Team: SecuritySolution"
],
"matchBaseBranches": [
"main"
],
"labels": [
"buildkite-ci",
"ci:all-cypress-suites"
],
"matchPackagePatterns": ["cypress"],
"reviewers": ["Team:apm", "Team: SecuritySolution"],
"matchBaseBranches": ["main"],
"labels": ["buildkite-ci", "ci:all-cypress-suites"],
"enabled": true
},
{
"groupName": "security solution modules",
"matchPackageNames": [
"zod",
"langchain"
],
"reviewers": [
"Team: SecuritySolution"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team: SecuritySolution"
],
"matchPackageNames": ["zod", "langchain"],
"reviewers": ["Team: SecuritySolution"],
"matchBaseBranches": ["main"],
"labels": ["Team: SecuritySolution"],
"enabled": true
},
{
@ -339,17 +162,9 @@
"@types/xml-crypto",
"@kayahr/text-encoding"
],
"reviewers": [
"team:kibana-security"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:Security",
"release_note:skip",
"backport:all-open"
],
"reviewers": ["team:kibana-security"],
"matchBaseBranches": ["main"],
"labels": ["Team:Security", "release_note:skip", "backport:all-open"],
"enabled": true
},
{
@ -362,52 +177,25 @@
"ms-chromium-edge-driver",
"selenium-webdriver"
],
"reviewers": [
"team:kibana-operations"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:Operations",
"release_note:skip"
],
"reviewers": ["team:kibana-operations"],
"matchBaseBranches": ["main"],
"labels": ["Team:Operations", "release_note:skip"],
"enabled": true
},
{
"groupName": "scss",
"packageNames": [
"sass-embedded"
],
"reviewers": [
"team:kibana-operations"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:Operations",
"release_note:skip",
"backport:all-open"
],
"packageNames": ["sass-embedded"],
"reviewers": ["team:kibana-operations"],
"matchBaseBranches": ["main"],
"labels": ["Team:Operations", "release_note:skip", "backport:all-open"],
"enabled": true
},
{
"groupName": "minify",
"packageNames": [
"gulp-terser",
"terser"
],
"reviewers": [
"team:kibana-operations"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:Operations",
"release_note:skip"
],
"packageNames": ["gulp-terser", "terser"],
"reviewers": ["team:kibana-operations"],
"matchBaseBranches": ["main"],
"labels": ["Team:Operations", "release_note:skip"],
"enabled": true
},
{
@ -420,16 +208,9 @@
"@testing-library/user-event",
"@types/testing-library__jest-dom"
],
"reviewers": [
"team:kibana-operations"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:Operations",
"release_note:skip"
],
"reviewers": ["team:kibana-operations"],
"matchBaseBranches": ["main"],
"labels": ["Team:Operations", "release_note:skip"],
"enabled": true
},
{
@ -450,67 +231,33 @@
"jest-runtime",
"jest-snapshot"
],
"reviewers": [
"team:kibana-operations"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:Operations",
"release_note:skip"
],
"reviewers": ["team:kibana-operations"],
"matchBaseBranches": ["main"],
"labels": ["Team:Operations", "release_note:skip"],
"enabled": true
},
{
"groupName": "@storybook",
"reviewers": [
"team:kibana-operations"
],
"matchBaseBranches": [
"main"
],
"matchPackagePatterns": [
"^@storybook"
],
"excludePackageNames": [
"@storybook/testing-react"
],
"labels": [
"Team:Operations",
"release_note:skip",
"ci:build-storybooks",
"backport:skip"
],
"reviewers": ["team:kibana-operations"],
"matchBaseBranches": ["main"],
"matchPackagePatterns": ["^@storybook"],
"excludePackageNames": ["@storybook/testing-react"],
"labels": ["Team:Operations", "release_note:skip", "ci:build-storybooks", "backport:skip"],
"enabled": true,
"allowedVersions": "<7.0"
},
{
"groupName": "@storybook/testing-react",
"reviewers": [
"team:kibana-operations"
],
"matchBaseBranches": [
"main"
],
"matchPackageNames": [
"@storybook/testing-react"
],
"labels": [
"Team:Operations",
"release_note:skip",
"ci:build-storybooks",
"backport:skip"
],
"reviewers": ["team:kibana-operations"],
"matchBaseBranches": ["main"],
"matchPackageNames": ["@storybook/testing-react"],
"labels": ["Team:Operations", "release_note:skip", "ci:build-storybooks", "backport:skip"],
"enabled": true,
"allowedVersions": "<2.0"
},
{
"groupName": "react-query",
"packageNames": [
"@tanstack/react-query",
"@tanstack/react-query-devtools"
],
"packageNames": ["@tanstack/react-query", "@tanstack/react-query-devtools"],
"reviewers": [
"team:response-ops",
"team:kibana-cloud-security-posture",
@ -519,41 +266,21 @@
"team:awp-platform",
"team:security-onboarding-and-lifecycle-mgt"
],
"matchBaseBranches": [
"main"
],
"labels": [
"release_note:skip",
"backport:skip",
"ci:all-cypress-suites"
],
"matchBaseBranches": ["main"],
"labels": ["release_note:skip", "backport:skip", "ci:all-cypress-suites"],
"enabled": true
},
{
"groupName": "react-hook-form",
"packageNames": [
"react-hook-form"
],
"reviewers": [
"team:security-asset-management",
"team:uptime"
],
"matchBaseBranches": [
"main"
],
"labels": [
"release_note:skip",
"backport:skip",
"ci:all-cypress-suites"
],
"packageNames": ["react-hook-form"],
"reviewers": ["team:security-asset-management", "team:uptime"],
"matchBaseBranches": ["main"],
"labels": ["release_note:skip", "backport:skip", "ci:all-cypress-suites"],
"enabled": true
},
{
"groupName": "redux",
"packageNames": [
"redux",
"react-redux"
],
"packageNames": ["redux", "react-redux"],
"reviewers": [
"team:enterprise-search-frontend",
"team:kibana-presentation",
@ -562,182 +289,93 @@
"team:kibana-gis",
"team:security-solution"
],
"matchBaseBranches": [
"main"
],
"labels": [
"release_note:skip",
"backport:skip",
"ci:all-cypress-suites"
],
"matchBaseBranches": ["main"],
"labels": ["release_note:skip", "backport:skip", "ci:all-cypress-suites"],
"enabled": true
},
{
"groupName": "Profiling",
"matchPackageNames": [
"peggy",
"@types/dagre"
],
"reviewers": [
"team:profiling-ui"
],
"matchBaseBranches": [
"main"
],
"labels": [
"release_note:skip",
"backport:skip"
],
"matchPackageNames": ["peggy", "@types/dagre"],
"reviewers": ["team:profiling-ui"],
"matchBaseBranches": ["main"],
"labels": ["release_note:skip", "backport:skip"],
"enabled": true,
"prCreation": "immediate"
},
{
"groupName": "TTY Output",
"matchPackageNames": [
"xterm",
"byte-size",
"@types/byte-size"
],
"reviewers": [
"team:sec-cloudnative-integrations"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team: AWP: Visualization",
"release_note:skip",
"backport:skip"
],
"matchPackageNames": ["xterm", "byte-size", "@types/byte-size"],
"reviewers": ["team:sec-cloudnative-integrations"],
"matchBaseBranches": ["main"],
"labels": ["Team: AWP: Visualization", "release_note:skip", "backport:skip"],
"enabled": true,
"prCreation": "immediate"
},
{
"groupName": "Cloud Defend",
"matchPackageNames": [
"monaco-yaml"
],
"reviewers": [
"team:sec-cloudnative-integrations"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team: Cloud Native Integrations",
"release_note:skip",
"backport:skip"
],
"matchPackageNames": ["monaco-yaml"],
"reviewers": ["team:sec-cloudnative-integrations"],
"matchBaseBranches": ["main"],
"labels": ["Team: Cloud Native Integrations", "release_note:skip", "backport:skip"],
"enabled": true,
"prCreation": "immediate"
},
{
"groupName": "JSON Web Token",
"matchPackageNames": [
"jsonwebtoken"
],
"reviewers": [
"team:response-ops",
"team:kibana-core"
],
"matchBaseBranches": [
"main"
],
"labels": [
"release_note:skip",
"backport:all-open"
],
"matchPackageNames": ["jsonwebtoken"],
"reviewers": ["team:response-ops", "team:kibana-core"],
"matchBaseBranches": ["main"],
"labels": ["release_note:skip", "backport:all-open"],
"enabled": true
},
{
"groupName": "XState",
"matchPackageNames": [
"xstate"
],
"matchPackagePrefixes": [
"@xstate/"
],
"reviewers": [
"team:obs-ux-logs"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:Obs UX Logs",
"release_note:skip"
],
"matchPackageNames": ["xstate"],
"matchPackagePrefixes": ["@xstate/"],
"reviewers": ["team:obs-ux-logs"],
"matchBaseBranches": ["main"],
"labels": ["Team:Obs UX Logs", "release_note:skip"],
"enabled": true,
"prCreation": "immediate"
},
{
"groupName": "OpenTelemetry modules",
"matchPackagePrefixes": [
"@opentelemetry/"
],
"reviewers": [
"team:monitoring"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:Monitoring"
],
"matchPackagePrefixes": ["@opentelemetry/"],
"reviewers": ["team:monitoring"],
"matchBaseBranches": ["main"],
"labels": ["Team:Monitoring"],
"enabled": true
},
{
"groupName": "csp",
"packageNames": [
"content-security-policy-parser"
],
"reviewers": [
"team:kibana-security",
"team:kibana-core"
],
"matchBaseBranches": [
"main"
],
"labels": [
"release_note:skip",
"backport:skip",
"ci:serverless-test-all"
],
"packageNames": ["content-security-policy-parser"],
"reviewers": ["team:kibana-security", "team:kibana-core"],
"matchBaseBranches": ["main"],
"labels": ["release_note:skip", "backport:skip", "ci:serverless-test-all"],
"enabled": true
},
{
"groupName": "AlertingEmails",
"matchPackageNames": [
"nodemailer"
],
"reviewers": [
"team:response-ops"
],
"matchBaseBranches": [
"main"
],
"labels": [
"release_note:skip",
"backport:prev-minor"
],
"matchPackageNames": ["nodemailer"],
"reviewers": ["team:response-ops"],
"matchBaseBranches": ["main"],
"labels": ["release_note:skip", "backport:prev-minor"],
"enabled": true
},
{
"groupName": "machine learning modules",
"matchPackageNames": [
"apidoc-markdown"
],
"reviewers": [
"team:ml-ui"
],
"matchBaseBranches": [
"main"
],
"labels": [
"Team:ML",
"release_note:skip",
"backport:all-open"
],
"matchPackageNames": ["apidoc-markdown"],
"reviewers": ["team:ml-ui"],
"matchBaseBranches": ["main"],
"labels": ["Team:ML", "release_note:skip", "backport:all-open"],
"enabled": true
},
{
"groupName": "Kibana ES|QL Team",
"matchPackageNames": ["recast"],
"reviewers": ["team:kibana-esql"],
"matchBaseBranches": ["main"],
"labels": ["Team:ESQL", "release_note:skip"],
"enabled": true
}
]

View file

@ -12111,6 +12111,13 @@ ast-types@^0.14.2:
dependencies:
tslib "^2.0.1"
ast-types@^0.16.1:
version "0.16.1"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.16.1.tgz#7a9da1617c9081bc121faafe91711b4c8bb81da2"
integrity sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==
dependencies:
tslib "^2.0.1"
ast-types@^0.7.0:
version "0.7.8"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.7.8.tgz#902d2e0d60d071bdcd46dc115e1809ed11c138a9"
@ -16798,7 +16805,7 @@ espree@^9.6.0, espree@^9.6.1:
acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.4.1"
esprima@^4.0.0, esprima@^4.0.1:
esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
@ -26468,6 +26475,17 @@ real-require@^0.2.0:
resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.2.0.tgz#209632dea1810be2ae063a6ac084fee7e33fba78"
integrity sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==
recast@^0.23.7:
version "0.23.7"
resolved "https://registry.yarnpkg.com/recast/-/recast-0.23.7.tgz#1e08f164e10402b075c904a2b01022b3da039c72"
integrity sha512-MpQlLZVpqbbxYcqEjwpRWo88sGvjOYoXptySz710RuddNMHx+wPkoNX6YyLZJlXAh5VZr1qmPrTwcTuFMh0Lag==
dependencies:
ast-types "^0.16.1"
esprima "~4.0.0"
source-map "~0.6.1"
tiny-invariant "^1.3.3"
tslib "^2.0.1"
rechoir@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
@ -28727,7 +28745,7 @@ string-replace-loader@^2.2.0:
loader-utils "^1.2.3"
schema-utils "^1.0.0"
"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3:
"string-width-cjs@npm:string-width@^4.2.0":
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@ -28745,6 +28763,15 @@ string-width@^1.0.1:
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
dependencies:
emoji-regex "^8.0.0"
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
string-width@^5.0.1, string-width@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
@ -28854,7 +28881,7 @@ stringify-object@^3.2.1:
is-obj "^1.0.1"
is-regexp "^1.0.0"
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@ -28868,6 +28895,13 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1:
dependencies:
ansi-regex "^2.0.0"
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
dependencies:
ansi-regex "^5.0.1"
strip-ansi@^7.0.1, strip-ansi@^7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
@ -29574,7 +29608,7 @@ tiny-inflate@^1.0.0, tiny-inflate@^1.0.2:
resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4"
integrity sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==
tiny-invariant@^1.0.2, tiny-invariant@^1.0.6:
tiny-invariant@^1.0.2, tiny-invariant@^1.0.6, tiny-invariant@^1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127"
integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==
@ -31741,7 +31775,7 @@ workerpool@6.2.1:
resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343"
integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@ -31767,6 +31801,15 @@ wrap-ansi@^6.2.0:
string-width "^4.1.0"
strip-ansi "^6.0.0"
wrap-ansi@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
dependencies:
ansi-styles "^4.0.0"
string-width "^4.1.0"
strip-ansi "^6.0.0"
wrap-ansi@^8.1.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"