Skip to content

Commit bf5f9b5

Browse files
Merge branch '7.x' into backport/7.x/pr-57402
2 parents e9a28d8 + 7c371a2 commit bf5f9b5

63 files changed

Lines changed: 1038 additions & 554 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/kbn-optimizer/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
* under the License.
1818
*/
1919

20+
// cache buster - https://github.com/elastic/kibana/issues/58077 - 1
2021
export { OptimizerConfig } from './optimizer';
2122
export * from './run_optimizer';
2223
export * from './log_optimizer_state';

packages/kbn-ui-shared-deps/entry.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ export const ReactDom = require('react-dom');
4040
export const ReactIntl = require('react-intl');
4141
export const ReactRouter = require('react-router'); // eslint-disable-line
4242
export const ReactRouterDom = require('react-router-dom');
43+
export const Monaco = require('./monaco.ts');
44+
export const MonacoBare = require('monaco-editor/esm/vs/editor/editor.api');
4345

4446
// load timezone data into moment-timezone
4547
Moment.tz.load(require('moment-timezone/data/packed/latest.json'));

packages/kbn-ui-shared-deps/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,7 @@ exports.externals = {
4141
'react-intl': '__kbnSharedDeps__.ReactIntl',
4242
'react-router': '__kbnSharedDeps__.ReactRouter',
4343
'react-router-dom': '__kbnSharedDeps__.ReactRouterDom',
44+
'@kbn/ui-shared-deps/monaco': '__kbnSharedDeps__.Monaco',
45+
// this is how plugins/consumers from npm load monaco
46+
'monaco-editor/esm/vs/editor/editor.api': '__kbnSharedDeps__.MonacoBare',
4447
};
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
* Licensed to Elasticsearch B.V. under one or more contributor
3+
* license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright
5+
* ownership. Elasticsearch B.V. licenses this file to you under
6+
* the Apache License, Version 2.0 (the "License"); you may
7+
* not use this file except in compliance with the License.
8+
* You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
20+
import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
21+
22+
import 'monaco-editor/esm/vs/base/common/worker/simpleWorker';
23+
import 'monaco-editor/esm/vs/base/worker/defaultWorkerFactory';
24+
25+
import 'monaco-editor/esm/vs/editor/browser/controller/coreCommands.js';
26+
import 'monaco-editor/esm/vs/editor/browser/widget/codeEditorWidget.js';
27+
28+
import 'monaco-editor/esm/vs/editor/contrib/suggest/suggestController.js'; // Needed for suggestions
29+
import 'monaco-editor/esm/vs/editor/contrib/hover/hover.js'; // Needed for hover
30+
import 'monaco-editor/esm/vs/editor/contrib/parameterHints/parameterHints.js'; // Needed for signature
31+
32+
export { monaco };

packages/kbn-ui-shared-deps/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
"devDependencies": {
1212
"abortcontroller-polyfill": "^1.4.0",
1313
"@elastic/eui": "19.0.0",
14+
"@kbn/babel-preset": "1.0.0",
1415
"@elastic/charts": "^16.1.0",
1516
"@kbn/dev-utils": "1.0.0",
1617
"@kbn/i18n": "1.0.0",
1718
"@yarnpkg/lockfile": "^1.1.0",
18-
"abortcontroller-polyfill": "^1.3.0",
1919
"angular": "^1.7.9",
2020
"core-js": "^3.2.1",
2121
"css-loader": "^3.4.2",
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"extends": "../../tsconfig.json",
33
"include": [
4-
"index.d.ts"
4+
"index.d.ts",
5+
"monaco.ts"
56
]
67
}

packages/kbn-ui-shared-deps/webpack.config.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,17 @@ exports.getWebpackConfig = ({ dev = false } = {}) => ({
5959
test: /\.css$/,
6060
use: [MiniCssExtractPlugin.loader, 'css-loader'],
6161
},
62+
{
63+
include: [require.resolve('./monaco.ts')],
64+
use: [
65+
{
66+
loader: 'babel-loader',
67+
options: {
68+
presets: [require.resolve('@kbn/babel-preset/webpack_preset')],
69+
},
70+
},
71+
],
72+
},
6273
],
6374
},
6475

src/core/MIGRATION.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1200,9 +1200,9 @@ In server code, `core` can be accessed from either `server.newPlatform` or `kbnS
12001200
| `server.plugins.elasticsearch.getCluster('data')` | [`context.core.elasticsearch.dataClient`](/docs/development/core/server/kibana-plugin-server.iscopedclusterclient.md) | |
12011201
| `server.plugins.elasticsearch.getCluster('admin')` | [`context.core.elasticsearch.adminClient`](/docs/development/core/server/kibana-plugin-server.iscopedclusterclient.md) | |
12021202
| `server.plugins.elasticsearch.createCluster(...)` | [`core.elasticsearch.createClient`](/docs/development/core/server/kibana-plugin-server.elasticsearchservicesetup.createclient.md) | |
1203-
| `server.savedObjects.setScopedSavedObjectsClientFactory` | [`core.savedObjects.setClientFactory`](/docs/development/core/server/kibana-plugin-server.savedobjectsservicesetup.setclientfactory.md) | |
1203+
| `server.savedObjects.setScopedSavedObjectsClientFactory` | [`core.savedObjects.setClientFactoryProvider`](/docs/development/core/server/kibana-plugin-server.savedobjectsservicesetup.setclientfactoryprovider.md) | |
12041204
| `server.savedObjects.addScopedSavedObjectsClientWrapperFactory` | [`core.savedObjects.addClientWrapper`](/docs/development/core/server/kibana-plugin-server.savedobjectsservicesetup.addclientwrapper.md) | |
1205-
| `server.savedObjects.getSavedObjectsRepository` | [`core.savedObjects.createInternalRepository`](/docs/development/core/server/kibana-plugin-server.savedobjectsservicesetup.createinternalrepository.md) [`core.savedObjects.createScopedRepository`](/docs/development/core/server/kibana-plugin-server.savedobjectsservicesetup.createscopedrepository.md) | |
1205+
| `server.savedObjects.getSavedObjectsRepository` | [`core.savedObjects.createInternalRepository`](/docs/development/core/server/kibana-plugin-server.savedobjectsservicestart.createinternalrepository.md) [`core.savedObjects.createScopedRepository`](/docs/development/core/server/kibana-plugin-server.savedobjectsservicestart.createscopedrepository.md) | |
12061206
| `server.savedObjects.getScopedSavedObjectsClient` | [`core.savedObjects.getScopedClient`](/docs/development/core/server/kibana-plugin-server.savedobjectsservicestart.getscopedclient.md) | |
12071207
| `request.getSavedObjectsClient` | [`context.core.savedObjects.client`](/docs/development/core/server/kibana-plugin-server.requesthandlercontext.core.md) | |
12081208
| `request.getUiSettingsService` | [`context.uiSettings.client`](/docs/development/core/server/kibana-plugin-server.iuisettingsclient.md) | |

src/legacy/core_plugins/vis_type_timelion/public/components/timelion_expression_input.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import React, { useEffect, useCallback, useRef, useMemo } from 'react';
2121
import { EuiFormLabel } from '@elastic/eui';
2222
import { FormattedMessage } from '@kbn/i18n/react';
23-
import * as monacoEditor from 'monaco-editor/esm/vs/editor/editor.api';
23+
import { monaco } from '@kbn/ui-shared-deps/monaco';
2424

2525
import { CodeEditor, useKibana } from '../../../../../plugins/kibana_react/public';
2626
import { suggest, getSuggestion } from './timelion_expression_input_helpers';
@@ -31,7 +31,7 @@ import {
3131
} from '../../../../../plugins/timelion/common/types';
3232

3333
const LANGUAGE_ID = 'timelion_expression';
34-
monacoEditor.languages.register({ id: LANGUAGE_ID });
34+
monaco.languages.register({ id: LANGUAGE_ID });
3535

3636
interface TimelionExpressionInputProps {
3737
value: string;
@@ -44,10 +44,10 @@ function TimelionExpressionInput({ value, setValue }: TimelionExpressionInputPro
4444
const argValueSuggestions = useMemo(getArgValueSuggestions, []);
4545

4646
const provideCompletionItems = useCallback(
47-
async (model: monacoEditor.editor.ITextModel, position: monacoEditor.Position) => {
47+
async (model: monaco.editor.ITextModel, position: monaco.Position) => {
4848
const text = model.getValue();
4949
const wordUntil = model.getWordUntilPosition(position);
50-
const wordRange = new monacoEditor.Range(
50+
const wordRange = new monaco.Range(
5151
position.lineNumber,
5252
wordUntil.startColumn,
5353
position.lineNumber,
@@ -75,7 +75,7 @@ function TimelionExpressionInput({ value, setValue }: TimelionExpressionInputPro
7575
);
7676

7777
const provideHover = useCallback(
78-
async (model: monacoEditor.editor.ITextModel, position: monacoEditor.Position) => {
78+
async (model: monaco.editor.ITextModel, position: monaco.Position) => {
7979
const suggestions = await suggest(
8080
model.getValue(),
8181
functionList.current,

src/legacy/core_plugins/vis_type_timelion/public/components/timelion_expression_input_helpers.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
import { get, startsWith } from 'lodash';
2121
import { i18n } from '@kbn/i18n';
22-
import * as monacoEditor from 'monaco-editor/esm/vs/editor/editor.api';
22+
import { monaco } from '@kbn/ui-shared-deps/monaco';
2323

2424
import { Parser } from 'pegjs';
2525

@@ -215,22 +215,21 @@ export async function suggest(
215215
export function getSuggestion(
216216
suggestion: ITimelionFunction | TimelionFunctionArgs,
217217
type: SUGGESTION_TYPE,
218-
range: monacoEditor.Range
219-
): monacoEditor.languages.CompletionItem {
220-
let kind: monacoEditor.languages.CompletionItemKind =
221-
monacoEditor.languages.CompletionItemKind.Method;
218+
range: monaco.Range
219+
): monaco.languages.CompletionItem {
220+
let kind: monaco.languages.CompletionItemKind = monaco.languages.CompletionItemKind.Method;
222221
let insertText: string = suggestion.name;
223-
let insertTextRules: monacoEditor.languages.CompletionItem['insertTextRules'];
222+
let insertTextRules: monaco.languages.CompletionItem['insertTextRules'];
224223
let detail: string = '';
225-
let command: monacoEditor.languages.CompletionItem['command'];
224+
let command: monaco.languages.CompletionItem['command'];
226225

227226
switch (type) {
228227
case SUGGESTION_TYPE.ARGUMENTS:
229228
command = {
230229
title: 'Trigger Suggestion Dialog',
231230
id: 'editor.action.triggerSuggest',
232231
};
233-
kind = monacoEditor.languages.CompletionItemKind.Property;
232+
kind = monaco.languages.CompletionItemKind.Property;
234233
insertText = `${insertText}=`;
235234
detail = `${i18n.translate(
236235
'timelion.expressionSuggestions.argument.description.acceptsText',
@@ -245,9 +244,9 @@ export function getSuggestion(
245244
title: 'Trigger Suggestion Dialog',
246245
id: 'editor.action.triggerSuggest',
247246
};
248-
kind = monacoEditor.languages.CompletionItemKind.Function;
247+
kind = monaco.languages.CompletionItemKind.Function;
249248
insertText = `${insertText}($0)`;
250-
insertTextRules = monacoEditor.languages.CompletionItemInsertTextRule.InsertAsSnippet;
249+
insertTextRules = monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet;
251250
detail = `(${
252251
(suggestion as ITimelionFunction).chainable
253252
? i18n.translate('timelion.expressionSuggestions.func.description.chainableHelpText', {
@@ -270,7 +269,7 @@ export function getSuggestion(
270269
title: 'Trigger Suggestion Dialog',
271270
id: 'editor.action.triggerSuggest',
272271
};
273-
kind = monacoEditor.languages.CompletionItemKind.Property;
272+
kind = monaco.languages.CompletionItemKind.Property;
274273
detail = suggestion.help || '';
275274

276275
break;

0 commit comments

Comments
 (0)