f18e7439d9
* feat: 🎸 set-up NP data plugin * refactor: 💡 move interpreter functions registry to NP * refactor: 💡 move interpreter renderer registry to NP plugin * refactor: 💡 move interpreter typesRegistry to NP * refactor: 💡 move interpreter types to NP * chore: 🤖 import typeRegistry from NP and change TS type folder * refactor: 💡 move interpreter expression types to NP * refactor: 💡 move rest of interpreter common folder to NP plugin * fix: 🐛 fix TypeScript errors * test: 💍 improve typings and test mocks * refactor: 💡 make Interpreter internal registry impl private * test: 💍 inline NP backdoor mock creation in test suites * chore: 🤖 change @kbn/interpreter import paths to try fix errors * fix: 🐛 improve core Plugin interfaces * feat: 🎸 add stop() lifecycle to NP data plugins * refactor: 💡 move interpreter into expressions service data NP * refactor: 💡 inline Registry @kbn/interpreter class * refactor: 💡 remove dependency on @kbn/interpreter in data pub * refactor: 💡 move interpreter common dir into expressions dir * fix: 🐛 use TS types in kibana_context * feat: 🎸 add types suggested in PR review * feat: 🎸 add semantic interpreter registration functions * refactor: 💡 use require for all @kbn/interpreter imports * test: 💍 add Karma test mocks, thx @spalger 🙏 * docs: ✏️ update Core docs * test: 💍 add Sinon stubs for registries * chore: 🤖 change import syntax in hopes CI will work * chore: 🤖 set App Architecture as owners of data plugin * docs: ✏️ add README * chore: 🤖 change import in hopes to fix optimizer * fix: 🐛 make stop() plugin life-cycle optional * docs: ✏️ update Core API docs * test: 💍 remove unnecessary Jest mock * chore: 🤖 don't import from deeply inside a plugin * refactor: 💡 try different interpreter import * fix: 🐛 fix Karma mocking * fix: 🐛 fix TypeScript type imports * test: 💍 fix broken test
45 lines
1.5 KiB
TypeScript
45 lines
1.5 KiB
TypeScript
/*
|
|
* Licensed to Elasticsearch B.V. under one or more contributor
|
|
* license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright
|
|
* ownership. Elasticsearch B.V. licenses this file to you under
|
|
* the Apache License, Version 2.0 (the "License"); you may
|
|
* not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing,
|
|
* software distributed under the License is distributed on an
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
* KIND, either express or implied. See the License for the
|
|
* specific language governing permissions and limitations
|
|
* under the License.
|
|
*/
|
|
|
|
import { Plugin, CoreSetup } from 'kibana/public';
|
|
import { CorePluginAPluginSetup } from '../../core_plugin_a/public/plugin';
|
|
|
|
declare global {
|
|
interface Window {
|
|
corePluginB?: string;
|
|
}
|
|
}
|
|
|
|
export interface CorePluginBDeps {
|
|
core_plugin_a: CorePluginAPluginSetup;
|
|
}
|
|
|
|
export class CorePluginBPlugin
|
|
implements Plugin<CorePluginBPluginSetup, CorePluginBPluginStart, CorePluginBDeps> {
|
|
public setup(core: CoreSetup, deps: CorePluginBDeps) {
|
|
window.corePluginB = `Plugin A said: ${deps.core_plugin_a.getGreeting()}`;
|
|
}
|
|
|
|
public start() {}
|
|
public stop() {}
|
|
}
|
|
|
|
export type CorePluginBPluginSetup = ReturnType<CorePluginBPlugin['setup']>;
|
|
export type CorePluginBPluginStart = ReturnType<CorePluginBPlugin['start']>;
|