From 1b458f7285ee99fc38a7ec6593ccb81f2ba065bd Mon Sep 17 00:00:00 2001 From: Andy Brown Date: Wed, 9 Sep 2020 12:44:16 -0700 Subject: [PATCH 01/10] rename plugins to extensions where it makes sense --- Composer/package.json | 4 +- Composer/packages/client/src/App.tsx | 4 +- .../client/src/pages/setting/SettingsPage.tsx | 4 +- .../Plugins.tsx => extensions/Extensions.tsx} | 72 +++++++-------- .../client/src/pages/setting/router.tsx | 4 +- .../client/src/recoilModel/atoms/appState.ts | 4 +- .../src/recoilModel/dispatchers/extensions.ts | 92 +++++++++++++++++++ .../src/recoilModel/dispatchers/index.ts | 4 +- .../src/recoilModel/dispatchers/plugins.ts | 92 ------------------- .../packages/client/src/recoilModel/types.ts | 5 +- Composer/packages/client/src/utils/hooks.ts | 8 +- Composer/packages/electron-server/src/main.ts | 2 +- .../.gitignore | 0 .../package.json | 4 +- .../src/auth/index.ts | 0 .../src/auth/types.ts | 0 .../src/common/constants.ts | 0 .../src/common/index.ts | 4 +- .../src/index.ts | 0 .../src/logger.ts | 2 +- .../src/page/index.ts | 0 .../src/publish/index.ts | 0 .../src/publish/types.ts | 0 .../tsconfig.json | 0 Composer/packages/server/package.json | 2 +- .../controllers/{plugins.ts => extensions.ts} | 36 ++++---- Composer/packages/server/src/router/api.ts | 20 ++-- Composer/packages/server/src/server.ts | 2 +- Composer/plugins/azurePublish/package.json | 2 +- .../plugins/mockRemotePublish/package.json | 2 +- .../plugins/sample-ui-plugin/package.json | 2 +- .../src/client/page/index.tsx | 2 +- .../src/client/publish/index.tsx | 2 +- .../src/client/publish/main.tsx | 2 +- Composer/plugins/sample-ui-plugin/yarn.lock | 2 +- 35 files changed, 189 insertions(+), 190 deletions(-) rename Composer/packages/client/src/pages/setting/{plugins/Plugins.tsx => extensions/Extensions.tsx} (72%) create mode 100644 Composer/packages/client/src/recoilModel/dispatchers/extensions.ts delete mode 100644 Composer/packages/client/src/recoilModel/dispatchers/plugins.ts rename Composer/packages/extensions/{client-plugin-lib => extension-client}/.gitignore (100%) rename Composer/packages/extensions/{client-plugin-lib => extension-client}/package.json (71%) rename Composer/packages/extensions/{client-plugin-lib => extension-client}/src/auth/index.ts (100%) rename Composer/packages/extensions/{client-plugin-lib => extension-client}/src/auth/types.ts (100%) rename Composer/packages/extensions/{client-plugin-lib => extension-client}/src/common/constants.ts (100%) rename Composer/packages/extensions/{client-plugin-lib => extension-client}/src/common/index.ts (74%) rename Composer/packages/extensions/{client-plugin-lib => extension-client}/src/index.ts (100%) rename Composer/packages/extensions/{client-plugin-lib => extension-client}/src/logger.ts (66%) rename Composer/packages/extensions/{client-plugin-lib => extension-client}/src/page/index.ts (100%) rename Composer/packages/extensions/{client-plugin-lib => extension-client}/src/publish/index.ts (100%) rename Composer/packages/extensions/{client-plugin-lib => extension-client}/src/publish/types.ts (100%) rename Composer/packages/extensions/{client-plugin-lib => extension-client}/tsconfig.json (100%) rename Composer/packages/server/src/controllers/{plugins.ts => extensions.ts} (67%) diff --git a/Composer/package.json b/Composer/package.json index d130ea2e8d..0b4a958c50 100644 --- a/Composer/package.json +++ b/Composer/package.json @@ -37,7 +37,7 @@ "build:test": "yarn workspace @bfc/test-utils build", "build:lib": "yarn workspace @bfc/libs build:all", "build:electron": "yarn workspace @bfc/electron-server build", - "build:extensions": "wsrun -lt -p @bfc/plugin-loader @bfc/intellisense @bfc/extension @bfc/adaptive-form @bfc/adaptive-flow @bfc/ui-plugin-* @bfc/client-plugin-lib -c build", + "build:extensions": "wsrun -lt -p @bfc/plugin-loader @bfc/intellisense @bfc/extension @bfc/adaptive-form @bfc/adaptive-flow @bfc/ui-plugin-* @bfc/extension-client -c build", "build:server": "yarn workspace @bfc/server build", "build:client": "yarn workspace @bfc/client build", "build:tools": "yarn workspace @bfc/tools build:all", @@ -121,4 +121,4 @@ "wsrun": "^5.2.0" }, "dependencies": {} -} \ No newline at end of file +} diff --git a/Composer/packages/client/src/App.tsx b/Composer/packages/client/src/App.tsx index 59661e7adf..907901ffb6 100644 --- a/Composer/packages/client/src/App.tsx +++ b/Composer/packages/client/src/App.tsx @@ -13,9 +13,9 @@ import { dispatcherState } from './recoilModel/DispatcherWrapper'; initializeIcons(undefined, { disableWarnings: true }); export const App: React.FC = () => { - const { fetchPlugins } = useRecoilValue(dispatcherState); + const { fetchExtensions } = useRecoilValue(dispatcherState); useEffect(() => { - fetchPlugins(); + fetchExtensions(); }); return ( diff --git a/Composer/packages/client/src/pages/setting/SettingsPage.tsx b/Composer/packages/client/src/pages/setting/SettingsPage.tsx index febb998495..1a99fd822c 100644 --- a/Composer/packages/client/src/pages/setting/SettingsPage.tsx +++ b/Composer/packages/client/src/pages/setting/SettingsPage.tsx @@ -73,7 +73,7 @@ const SettingPage: React.FC> = () => { botSettings: formatMessage('Bot Settings'), appSettings: formatMessage('Application Settings'), runtime: formatMessage('Runtime Config'), - plugins: formatMessage('Plugins'), + extensions: formatMessage('Extensions'), about: formatMessage('About'), }; @@ -86,7 +86,7 @@ const SettingPage: React.FC> = () => { }, { id: 'application', name: settingLabels.appSettings, url: getProjectLink('application') }, { id: 'runtime', name: settingLabels.runtime, url: getProjectLink('runtime', projectId), disabled: !projectId }, - // { id: 'plugins', name: settingLabels.plugins, url: getProjectLink('plugins') }, + // { id: 'extensions', name: settingLabels.extensions, url: getProjectLink('extensions') }, { id: 'about', name: settingLabels.about, url: getProjectLink('about') }, ]; diff --git a/Composer/packages/client/src/pages/setting/plugins/Plugins.tsx b/Composer/packages/client/src/pages/setting/extensions/Extensions.tsx similarity index 72% rename from Composer/packages/client/src/pages/setting/plugins/Plugins.tsx rename to Composer/packages/client/src/pages/setting/extensions/Extensions.tsx index 71ffc26bf1..3af2af1b22 100644 --- a/Composer/packages/client/src/pages/setting/plugins/Plugins.tsx +++ b/Composer/packages/client/src/pages/setting/extensions/Extensions.tsx @@ -19,33 +19,33 @@ import { TextField } from 'office-ui-fabric-react/lib/TextField'; import axios from 'axios'; import { useRecoilValue } from 'recoil'; -import { PluginConfig } from '../../../recoilModel/types'; +import { ExtensionConfig } from '../../../recoilModel/types'; import { Toolbar, IToolbarItem } from '../../../components/Toolbar'; import httpClient from '../../../utils/httpUtil'; -import { dispatcherState, pluginsState } from '../../../recoilModel'; +import { dispatcherState, extensionsState } from '../../../recoilModel'; -const Plugins: React.FC = () => { - const { fetchPlugins, togglePlugin, addPlugin, removePlugin } = useRecoilValue(dispatcherState); - const plugins = useRecoilValue(pluginsState); +const Extensions: React.FC = () => { + const { fetchExtensions, toggleExtension, addExtension, removeExtension } = useRecoilValue(dispatcherState); + const extensions = useRecoilValue(extensionsState); const [showNewModal, setShowNewModal] = useState(false); - const [pluginName, setPluginName] = useState(null); - const [pluginVersion, setPluginVersion] = useState(null); - const [matchingPlugins, setMatchingPlugins] = useState([]); - const [selectedPlugin, setSelectedPlugin] = useState(); + const [extensionName, setExtensionName] = useState(null); + const [extensionVersion, setExtensionVersion] = useState(null); + const [matchingExtensions, setMatchingExtensions] = useState([]); + const [selectedExtension, setSelectedExtension] = useState(); useEffect(() => { - fetchPlugins(); + fetchExtensions(); }, []); useEffect(() => { - if (pluginName !== null) { + if (extensionName !== null) { const source = axios.CancelToken.source(); const timer = setTimeout(() => { httpClient - .get(`/plugins/search?q=${pluginName}`, { cancelToken: source.token }) + .get(`/extensions/search?q=${extensionName}`, { cancelToken: source.token }) .then((res) => { - setMatchingPlugins(res.data); + setMatchingExtensions(res.data); }) .catch((err) => { if (!axios.isCancel(err)) { @@ -59,7 +59,7 @@ const Plugins: React.FC = () => { clearTimeout(timer); }; } - }, [pluginName]); + }, [extensionName]); const installedColumns: IColumn[] = [ { @@ -67,7 +67,7 @@ const Plugins: React.FC = () => { name: formatMessage('Name'), minWidth: 100, maxWidth: 150, - onRender: (item: PluginConfig) => { + onRender: (item: ExtensionConfig) => { return {item.id}; }, }, @@ -76,7 +76,7 @@ const Plugins: React.FC = () => { name: formatMessage('Version'), minWidth: 30, maxWidth: 100, - onRender: (item: PluginConfig) => { + onRender: (item: ExtensionConfig) => { return {item.version}; }, }, @@ -85,10 +85,10 @@ const Plugins: React.FC = () => { name: formatMessage('Enabled'), minWidth: 30, maxWidth: 150, - onRender: (item: PluginConfig) => { + onRender: (item: ExtensionConfig) => { const text = item.enabled ? formatMessage('Disable') : formatMessage('Enable'); return ( - togglePlugin(item.id, !item.enabled)}> + toggleExtension(item.id, !item.enabled)}> {text} ); @@ -99,9 +99,9 @@ const Plugins: React.FC = () => { name: formatMessage('Remove'), minWidth: 30, maxWidth: 150, - onRender: (item: PluginConfig) => { + onRender: (item: ExtensionConfig) => { return ( - removePlugin(item.id)}> + removeExtension(item.id)}> {formatMessage('Remove')} ); @@ -154,7 +154,7 @@ const Plugins: React.FC = () => { ]; const toolbarItems: IToolbarItem[] = [ - // TODO (toanzian / abrown): re-enable once remote plugins are supported + // TODO (toanzian / abrown): re-enable once remote extensions are supported /*{ type: 'action', text: formatMessage('Add'), @@ -171,14 +171,14 @@ const Plugins: React.FC = () => { ]; const submit = useCallback(() => { - if (selectedPlugin && pluginVersion) { - addPlugin(selectedPlugin.id, pluginVersion); + if (selectedExtension && extensionVersion) { + addExtension(selectedExtension.id, extensionVersion); setShowNewModal(false); - setPluginName(null); - setPluginVersion(null); - setSelectedPlugin(null); + setExtensionName(null); + setExtensionVersion(null); + setSelectedExtension(null); } - }, [selectedPlugin, pluginVersion]); + }, [selectedExtension, extensionVersion]); return (
@@ -186,15 +186,15 @@ const Plugins: React.FC = () => {
- + - + diff --git a/Composer/packages/client/src/pages/design/PropertyEditor.tsx b/Composer/packages/client/src/pages/design/PropertyEditor.tsx index ef478ed063..2c203b8c30 100644 --- a/Composer/packages/client/src/pages/design/PropertyEditor.tsx +++ b/Composer/packages/client/src/pages/design/PropertyEditor.tsx @@ -5,7 +5,7 @@ import { jsx } from '@emotion/core'; import React, { useEffect, useMemo, useRef, useState } from 'react'; import AdaptiveForm, { resolveRef, getUIOptions } from '@bfc/adaptive-form'; -import { FormErrors, JSONSchema7, useFormConfig } from '@bfc/editor-extension'; +import { FormErrors, JSONSchema7, useFormConfig } from '@bfc/extension-client'; import formatMessage from 'format-message'; import isEqual from 'lodash/isEqual'; import debounce from 'lodash/debounce'; diff --git a/Composer/packages/client/src/pages/design/exportSkillModal/constants.tsx b/Composer/packages/client/src/pages/design/exportSkillModal/constants.tsx index 004e1eb96f..6ee8b11aae 100644 --- a/Composer/packages/client/src/pages/design/exportSkillModal/constants.tsx +++ b/Composer/packages/client/src/pages/design/exportSkillModal/constants.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import formatMessage from 'format-message'; -import { JSONSchema7 } from '@bfc/editor-extension'; +import { JSONSchema7 } from '@bfc/extension-client'; import { resolveRef } from '@bfc/adaptive-form'; import { SkillManifest } from '@bfc/shared'; import startCase from 'lodash/startCase'; diff --git a/Composer/packages/client/src/pages/design/exportSkillModal/content/Description.tsx b/Composer/packages/client/src/pages/design/exportSkillModal/content/Description.tsx index bb54dcf39e..4ffc85ea1f 100644 --- a/Composer/packages/client/src/pages/design/exportSkillModal/content/Description.tsx +++ b/Composer/packages/client/src/pages/design/exportSkillModal/content/Description.tsx @@ -5,7 +5,7 @@ import { css, jsx } from '@emotion/core'; import React, { useMemo, useEffect } from 'react'; import AdaptiveForm, { FieldLabel } from '@bfc/adaptive-form'; -import { FieldProps, JSONSchema7, UIOptions } from '@bfc/editor-extension'; +import { FieldProps, JSONSchema7, UIOptions } from '@bfc/extension-client'; import { TextField } from 'office-ui-fabric-react/lib/TextField'; import { useRecoilValue } from 'recoil'; import { v4 as uuid } from 'uuid'; diff --git a/Composer/packages/client/src/pages/design/exportSkillModal/content/Endpoints.tsx b/Composer/packages/client/src/pages/design/exportSkillModal/content/Endpoints.tsx index 4dd7caa25e..eb7cd1d58d 100644 --- a/Composer/packages/client/src/pages/design/exportSkillModal/content/Endpoints.tsx +++ b/Composer/packages/client/src/pages/design/exportSkillModal/content/Endpoints.tsx @@ -5,7 +5,7 @@ import { css, jsx } from '@emotion/core'; import React, { useMemo } from 'react'; import AdaptiveForm from '@bfc/adaptive-form'; -import { JSONSchema7, UIOptions } from '@bfc/editor-extension'; +import { JSONSchema7, UIOptions } from '@bfc/extension-client'; import { ContentProps } from '../constants'; diff --git a/Composer/packages/client/src/pages/design/exportSkillModal/generateSkillManifest.ts b/Composer/packages/client/src/pages/design/exportSkillModal/generateSkillManifest.ts index 60c1413cf5..7880a97f62 100644 --- a/Composer/packages/client/src/pages/design/exportSkillModal/generateSkillManifest.ts +++ b/Composer/packages/client/src/pages/design/exportSkillModal/generateSkillManifest.ts @@ -3,7 +3,7 @@ import get from 'lodash/get'; import { DialogInfo, DialogSchemaFile, ITrigger, SDKKinds, SkillManifest, LuFile } from '@bfc/shared'; -import { JSONSchema7 } from '@bfc/editor-extension'; +import { JSONSchema7 } from '@bfc/extension-client'; import { Activities, Activity, activityHandlerMap, ActivityTypes, DispatchModels } from './constants'; diff --git a/Composer/packages/client/src/pages/design/exportSkillModal/index.tsx b/Composer/packages/client/src/pages/design/exportSkillModal/index.tsx index ab6dae860b..72770b5497 100644 --- a/Composer/packages/client/src/pages/design/exportSkillModal/index.tsx +++ b/Composer/packages/client/src/pages/design/exportSkillModal/index.tsx @@ -7,7 +7,7 @@ import React, { useState } from 'react'; import formatMessage from 'format-message'; import { Dialog, DialogFooter, DialogType } from 'office-ui-fabric-react/lib/Dialog'; import { DefaultButton, PrimaryButton } from 'office-ui-fabric-react/lib/Button'; -import { JSONSchema7 } from '@bfc/editor-extension'; +import { JSONSchema7 } from '@bfc/extension-client'; import { Link } from 'office-ui-fabric-react/lib/components/Link'; import { useRecoilValue } from 'recoil'; import { SkillManifest } from '@bfc/shared'; diff --git a/Composer/packages/client/src/plugins.ts b/Composer/packages/client/src/plugins.ts index 5d9891d279..9a67db6574 100644 --- a/Composer/packages/client/src/plugins.ts +++ b/Composer/packages/client/src/plugins.ts @@ -5,7 +5,7 @@ import isArray from 'lodash/isArray'; // this is just a type import // eslint-disable-next-line lodash/import-scope import type { MergeWithCustomizer } from 'lodash'; -import type { PluginConfig } from '@bfc/editor-extension'; +import type { PluginConfig } from '@bfc/extension-client'; import composer from '@bfc/ui-plugin-composer'; import prompts from '@bfc/ui-plugin-prompts'; import schemaEditor from '@bfc/ui-plugin-dialog-schema-editor'; diff --git a/Composer/packages/client/src/recoilModel/types.ts b/Composer/packages/client/src/recoilModel/types.ts index c16bfddedf..d792e1f783 100644 --- a/Composer/packages/client/src/recoilModel/types.ts +++ b/Composer/packages/client/src/recoilModel/types.ts @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { JSONSchema7 } from '@bfc/editor-extension'; +import { JSONSchema7 } from '@bfc/extension-client'; import { AppUpdaterSettings, CodeEditorSettings, PromptTab } from '@bfc/shared'; import { AppUpdaterStatus } from '../constants'; diff --git a/Composer/packages/editor-extension/.gitignore b/Composer/packages/editor-extension/.gitignore deleted file mode 100644 index a65b41774a..0000000000 --- a/Composer/packages/editor-extension/.gitignore +++ /dev/null @@ -1 +0,0 @@ -lib diff --git a/Composer/packages/editor-extension/package.json b/Composer/packages/editor-extension/package.json deleted file mode 100644 index e31fe5baac..0000000000 --- a/Composer/packages/editor-extension/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "@bfc/editor-extension", - "version": "0.0.0", - "private": true, - "description": "Botframework Composer extension api.", - "main": "lib/index.js", - "files": [ - "lib" - ], - "scripts": { - "start": "tsc --watch --preserveWatchOutput", - "build": "tsc --build ./tsconfig.build.json", - "lint": "eslint --quiet src", - "prepare": "yarn build" - }, - "license": "MIT", - "peerDependencies": { - "react": "16.13.0", - "react-dom": "16.13.0" - }, - "devDependencies": { - "@bfc/test-utils": "*", - "@types/react": "16.9.23", - "react": "16.13.0", - "react-dom": "16.13.0" - }, - "dependencies": { - "@bfc/shared": "*", - "lodash": "^4.17.19" - } -} diff --git a/Composer/packages/editor-extension/src/index.ts b/Composer/packages/editor-extension/src/index.ts deleted file mode 100644 index b8e4662ac8..0000000000 --- a/Composer/packages/editor-extension/src/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -import { Extension } from './components'; -import extensionContext from './extensionContext'; - -export * from './components'; -export * from './hooks'; -export * from './types'; -export * from './utils'; - -export default Extension; - -export const ExtensionContext = extensionContext; diff --git a/Composer/packages/editor-extension/tsconfig.json b/Composer/packages/editor-extension/tsconfig.json deleted file mode 100644 index 9a58047b72..0000000000 --- a/Composer/packages/editor-extension/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "./lib/", - }, - "include": ["src"] -} diff --git a/Composer/packages/editor-extension/.eslintrc.js b/Composer/packages/extension-client/.eslintrc.js similarity index 100% rename from Composer/packages/editor-extension/.eslintrc.js rename to Composer/packages/extension-client/.eslintrc.js diff --git a/Composer/packages/editor-extension/jest.config.js b/Composer/packages/extension-client/jest.config.js similarity index 100% rename from Composer/packages/editor-extension/jest.config.js rename to Composer/packages/extension-client/jest.config.js diff --git a/Composer/packages/extension-client/package.json b/Composer/packages/extension-client/package.json index 1a3fe3c413..f5e3f627db 100644 --- a/Composer/packages/extension-client/package.json +++ b/Composer/packages/extension-client/package.json @@ -7,15 +7,24 @@ "private": true, "scripts": { "build": "yarn clean && yarn build:ts", - "build:ts": "tsc", + "build:ts": "tsc --build tsconfig.build.json", "clean": "rimraf lib" }, + "peerDependencies": { + "react": "16.13.0", + "react-dom": "16.13.0" + }, "devDependencies": { + "@bfc/test-utils": "*", "@types/react": "16.9.23", + "react": "16.13.0", + "react-dom": "16.13.0", "rimraf": "^3.0.2", - "typescript": "^3.8.3" + "typescript": "3.9.2" }, "dependencies": { - "debug": "^4.1.1" + "@bfc/shared": "*", + "debug": "^4.1.1", + "lodash": "^4.17.19" } } diff --git a/Composer/packages/editor-extension/src/extensionContext.ts b/Composer/packages/extension-client/src/EditorExtensionContext.ts similarity index 67% rename from Composer/packages/editor-extension/src/extensionContext.ts rename to Composer/packages/extension-client/src/EditorExtensionContext.ts index 52d29e6149..64b2052719 100644 --- a/Composer/packages/editor-extension/src/extensionContext.ts +++ b/Composer/packages/extension-client/src/EditorExtensionContext.ts @@ -5,16 +5,14 @@ import { ShellApi, ShellData } from '@bfc/shared'; import { PluginConfig } from './types'; -interface ExtensionContext { +interface EditorExtensionContext { shellApi: ShellApi; shellData: ShellData; plugins: PluginConfig; } -const ExtensionContext = React.createContext({ +export const EditorExtensionContext = React.createContext({ shellApi: {}, shellData: {}, plugins: {}, -} as ExtensionContext); - -export default ExtensionContext; +} as EditorExtensionContext); diff --git a/Composer/packages/editor-extension/src/components/Extension.tsx b/Composer/packages/extension-client/src/components/EditorExtension.tsx similarity index 55% rename from Composer/packages/editor-extension/src/components/Extension.tsx rename to Composer/packages/extension-client/src/components/EditorExtension.tsx index e0fec77035..de1056c764 100644 --- a/Composer/packages/editor-extension/src/components/Extension.tsx +++ b/Composer/packages/extension-client/src/components/EditorExtension.tsx @@ -1,22 +1,21 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. + import React, { useMemo } from 'react'; import { Shell } from '@bfc/shared'; -import ExtensionContext from '../extensionContext'; +import { EditorExtensionContext } from '../EditorExtensionContext'; import { PluginConfig } from '../types'; -interface ExtensionProps { +interface EditorExtensionProps { shell: Shell; plugins: PluginConfig; } -export const Extension: React.FC = ({ shell, plugins, children }) => { +export const EditorExtension: React.FC = ({ shell, plugins, children }) => { const context = useMemo(() => { return { shellApi: shell.api, shellData: shell.data, plugins }; }, [shell.api, shell.data, plugins]); - return {children}; + return {children}; }; - -export default Extension; diff --git a/Composer/packages/editor-extension/src/components/index.ts b/Composer/packages/extension-client/src/components/index.ts similarity index 67% rename from Composer/packages/editor-extension/src/components/index.ts rename to Composer/packages/extension-client/src/components/index.ts index 708ee39e10..1473d12111 100644 --- a/Composer/packages/editor-extension/src/components/index.ts +++ b/Composer/packages/extension-client/src/components/index.ts @@ -1,3 +1,4 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -export * from './Extension'; + +export * from './EditorExtension'; diff --git a/Composer/packages/editor-extension/src/hooks/__tests__/useFlowConfig.test.tsx b/Composer/packages/extension-client/src/hooks/__tests__/useFlowConfig.test.tsx similarity index 81% rename from Composer/packages/editor-extension/src/hooks/__tests__/useFlowConfig.test.tsx rename to Composer/packages/extension-client/src/hooks/__tests__/useFlowConfig.test.tsx index e54268f846..354b558a2a 100644 --- a/Composer/packages/editor-extension/src/hooks/__tests__/useFlowConfig.test.tsx +++ b/Composer/packages/extension-client/src/hooks/__tests__/useFlowConfig.test.tsx @@ -5,7 +5,7 @@ import React from 'react'; import { renderHook } from '@bfc/test-utils/lib/hooks'; import { useFlowConfig } from '../useFlowConfig'; -import ExtensionContext from '../../extensionContext'; +import EditorExtensionContext from '../../EditorExtensionContext'; const plugins = { uiSchema: { @@ -22,7 +22,7 @@ const plugins = { const wrapper: React.FC = ({ children }) => ( // @ts-expect-error - {children} + {children} ); describe('useFlowConfig', () => { diff --git a/Composer/packages/editor-extension/src/hooks/__tests__/useFormConfig.test.tsx b/Composer/packages/extension-client/src/hooks/__tests__/useFormConfig.test.tsx similarity index 81% rename from Composer/packages/editor-extension/src/hooks/__tests__/useFormConfig.test.tsx rename to Composer/packages/extension-client/src/hooks/__tests__/useFormConfig.test.tsx index ecc5990e15..b944578114 100644 --- a/Composer/packages/editor-extension/src/hooks/__tests__/useFormConfig.test.tsx +++ b/Composer/packages/extension-client/src/hooks/__tests__/useFormConfig.test.tsx @@ -5,7 +5,7 @@ import React from 'react'; import { renderHook } from '@bfc/test-utils/lib/hooks'; import { useFormConfig } from '../useFormConfig'; -import ExtensionContext from '../../extensionContext'; +import EditorExtensionContext from '../../EditorExtensionContext'; const plugins = { uiSchema: { @@ -22,7 +22,7 @@ const plugins = { const wrapper: React.FC = ({ children }) => ( // @ts-expect-error - {children} + {children} ); describe('useFormConfig', () => { diff --git a/Composer/packages/editor-extension/src/hooks/__tests__/useMenuConfig.test.tsx b/Composer/packages/extension-client/src/hooks/__tests__/useMenuConfig.test.tsx similarity index 81% rename from Composer/packages/editor-extension/src/hooks/__tests__/useMenuConfig.test.tsx rename to Composer/packages/extension-client/src/hooks/__tests__/useMenuConfig.test.tsx index 01c0e2a916..2f6df9869b 100644 --- a/Composer/packages/editor-extension/src/hooks/__tests__/useMenuConfig.test.tsx +++ b/Composer/packages/extension-client/src/hooks/__tests__/useMenuConfig.test.tsx @@ -5,7 +5,7 @@ import React from 'react'; import { renderHook } from '@bfc/test-utils/lib/hooks'; import { useMenuConfig } from '../useMenuConfig'; -import ExtensionContext from '../../extensionContext'; +import EditorExtensionContext from '../../EditorExtensionContext'; const plugins = { uiSchema: { @@ -22,7 +22,7 @@ const plugins = { const wrapper: React.FC = ({ children }) => ( // @ts-expect-error - {children} + {children} ); describe('useMenuConfig', () => { diff --git a/Composer/packages/editor-extension/src/hooks/__tests__/useRecognizerConfig.test.tsx b/Composer/packages/extension-client/src/hooks/__tests__/useRecognizerConfig.test.tsx similarity index 81% rename from Composer/packages/editor-extension/src/hooks/__tests__/useRecognizerConfig.test.tsx rename to Composer/packages/extension-client/src/hooks/__tests__/useRecognizerConfig.test.tsx index d5552d0ba6..8b50364a61 100644 --- a/Composer/packages/editor-extension/src/hooks/__tests__/useRecognizerConfig.test.tsx +++ b/Composer/packages/extension-client/src/hooks/__tests__/useRecognizerConfig.test.tsx @@ -5,7 +5,7 @@ import React from 'react'; import { renderHook } from '@bfc/test-utils/lib/hooks'; import { useRecognizerConfig } from '../useRecognizerConfig'; -import ExtensionContext from '../../extensionContext'; +import EditorExtensionContext from '../../EditorExtensionContext'; const plugins = { uiSchema: { @@ -23,7 +23,7 @@ const plugins = { const wrapper: React.FC = ({ children }) => ( // @ts-expect-error - {children} + {children} ); describe('useRecognizerConfig', () => { diff --git a/Composer/packages/editor-extension/src/hooks/index.ts b/Composer/packages/extension-client/src/hooks/index.ts similarity index 100% rename from Composer/packages/editor-extension/src/hooks/index.ts rename to Composer/packages/extension-client/src/hooks/index.ts diff --git a/Composer/packages/editor-extension/src/hooks/useActionApi.ts b/Composer/packages/extension-client/src/hooks/useActionApi.ts similarity index 100% rename from Composer/packages/editor-extension/src/hooks/useActionApi.ts rename to Composer/packages/extension-client/src/hooks/useActionApi.ts diff --git a/Composer/packages/editor-extension/src/hooks/useDebounce.ts b/Composer/packages/extension-client/src/hooks/useDebounce.ts similarity index 100% rename from Composer/packages/editor-extension/src/hooks/useDebounce.ts rename to Composer/packages/extension-client/src/hooks/useDebounce.ts diff --git a/Composer/packages/editor-extension/src/hooks/useDialogApi.ts b/Composer/packages/extension-client/src/hooks/useDialogApi.ts similarity index 100% rename from Composer/packages/editor-extension/src/hooks/useDialogApi.ts rename to Composer/packages/extension-client/src/hooks/useDialogApi.ts diff --git a/Composer/packages/editor-extension/src/hooks/useDialogEditApi.ts b/Composer/packages/extension-client/src/hooks/useDialogEditApi.ts similarity index 100% rename from Composer/packages/editor-extension/src/hooks/useDialogEditApi.ts rename to Composer/packages/extension-client/src/hooks/useDialogEditApi.ts diff --git a/Composer/packages/editor-extension/src/hooks/useFlowConfig.ts b/Composer/packages/extension-client/src/hooks/useFlowConfig.ts similarity index 74% rename from Composer/packages/editor-extension/src/hooks/useFlowConfig.ts rename to Composer/packages/extension-client/src/hooks/useFlowConfig.ts index 64cd8103ad..fc01013e7f 100644 --- a/Composer/packages/editor-extension/src/hooks/useFlowConfig.ts +++ b/Composer/packages/extension-client/src/hooks/useFlowConfig.ts @@ -4,11 +4,11 @@ import { useContext, useMemo } from 'react'; import mapValues from 'lodash/mapValues'; -import ExtensionContext from '../extensionContext'; +import { EditorExtensionContext } from '../EditorExtensionContext'; import { FlowUISchema } from '../types'; export function useFlowConfig() { - const { plugins } = useContext(ExtensionContext); + const { plugins } = useContext(EditorExtensionContext); const config: FlowUISchema = useMemo(() => mapValues(plugins.uiSchema, 'flow'), [plugins.uiSchema]); return config; diff --git a/Composer/packages/editor-extension/src/hooks/useFormConfig.ts b/Composer/packages/extension-client/src/hooks/useFormConfig.ts similarity index 74% rename from Composer/packages/editor-extension/src/hooks/useFormConfig.ts rename to Composer/packages/extension-client/src/hooks/useFormConfig.ts index ce5c75a692..f104dd9529 100644 --- a/Composer/packages/editor-extension/src/hooks/useFormConfig.ts +++ b/Composer/packages/extension-client/src/hooks/useFormConfig.ts @@ -4,11 +4,11 @@ import { useContext, useMemo } from 'react'; import mapValues from 'lodash/mapValues'; -import ExtensionContext from '../extensionContext'; +import { EditorExtensionContext } from '../EditorExtensionContext'; import { FormUISchema } from '../types'; export function useFormConfig() { - const { plugins } = useContext(ExtensionContext); + const { plugins } = useContext(EditorExtensionContext); const formConfig: FormUISchema = useMemo(() => mapValues(plugins.uiSchema, 'form'), [plugins.uiSchema]); return formConfig; diff --git a/Composer/packages/editor-extension/src/hooks/useLgApi.ts b/Composer/packages/extension-client/src/hooks/useLgApi.ts similarity index 100% rename from Composer/packages/editor-extension/src/hooks/useLgApi.ts rename to Composer/packages/extension-client/src/hooks/useLgApi.ts diff --git a/Composer/packages/editor-extension/src/hooks/useLuApi.ts b/Composer/packages/extension-client/src/hooks/useLuApi.ts similarity index 100% rename from Composer/packages/editor-extension/src/hooks/useLuApi.ts rename to Composer/packages/extension-client/src/hooks/useLuApi.ts diff --git a/Composer/packages/editor-extension/src/hooks/useMenuConfig.ts b/Composer/packages/extension-client/src/hooks/useMenuConfig.ts similarity index 72% rename from Composer/packages/editor-extension/src/hooks/useMenuConfig.ts rename to Composer/packages/extension-client/src/hooks/useMenuConfig.ts index 24e752aaf5..0d41ffbb26 100644 --- a/Composer/packages/editor-extension/src/hooks/useMenuConfig.ts +++ b/Composer/packages/extension-client/src/hooks/useMenuConfig.ts @@ -4,11 +4,11 @@ import { useContext, useMemo } from 'react'; import mapValues from 'lodash/mapValues'; -import ExtensionContext from '../extensionContext'; +import { EditorExtensionContext } from '../EditorExtensionContext'; import { MenuUISchema } from '../types'; export function useMenuConfig(): MenuUISchema { - const { plugins } = useContext(ExtensionContext); + const { plugins } = useContext(EditorExtensionContext); return useMemo(() => mapValues(plugins.uiSchema, 'menu'), [plugins.uiSchema]); } diff --git a/Composer/packages/editor-extension/src/hooks/useRecognizerConfig.ts b/Composer/packages/extension-client/src/hooks/useRecognizerConfig.ts similarity index 60% rename from Composer/packages/editor-extension/src/hooks/useRecognizerConfig.ts rename to Composer/packages/extension-client/src/hooks/useRecognizerConfig.ts index 77257bb351..1d28715cff 100644 --- a/Composer/packages/editor-extension/src/hooks/useRecognizerConfig.ts +++ b/Composer/packages/extension-client/src/hooks/useRecognizerConfig.ts @@ -3,10 +3,10 @@ import { useContext } from 'react'; -import ExtensionContext from '../extensionContext'; +import { EditorExtensionContext } from '../EditorExtensionContext'; export function useRecognizerConfig() { - const { plugins } = useContext(ExtensionContext); + const { plugins } = useContext(EditorExtensionContext); return plugins.recognizers ?? []; } diff --git a/Composer/packages/editor-extension/src/hooks/useShellApi.ts b/Composer/packages/extension-client/src/hooks/useShellApi.ts similarity index 83% rename from Composer/packages/editor-extension/src/hooks/useShellApi.ts rename to Composer/packages/extension-client/src/hooks/useShellApi.ts index d06f8e735c..a2887200a1 100644 --- a/Composer/packages/editor-extension/src/hooks/useShellApi.ts +++ b/Composer/packages/extension-client/src/hooks/useShellApi.ts @@ -3,7 +3,7 @@ import { useContext } from 'react'; import { ShellApi, ShellData } from '@bfc/shared'; -import ExtensionContext from '../extensionContext'; +import { EditorExtensionContext } from '../EditorExtensionContext'; import { PluginConfig } from '../types'; interface ShellContext extends ShellData { @@ -12,7 +12,7 @@ interface ShellContext extends ShellData { } export function useShellApi(): ShellContext { - const { shellApi, shellData, plugins } = useContext(ExtensionContext); + const { shellApi, shellData, plugins } = useContext(EditorExtensionContext); if (!shellApi) { // eslint-disable-next-line no-console diff --git a/Composer/packages/editor-extension/src/hooks/useTriggerApi.ts b/Composer/packages/extension-client/src/hooks/useTriggerApi.ts similarity index 100% rename from Composer/packages/editor-extension/src/hooks/useTriggerApi.ts rename to Composer/packages/extension-client/src/hooks/useTriggerApi.ts diff --git a/Composer/packages/extension-client/src/index.ts b/Composer/packages/extension-client/src/index.ts index 7cccef9d08..e0a8bf146b 100644 --- a/Composer/packages/extension-client/src/index.ts +++ b/Composer/packages/extension-client/src/index.ts @@ -3,4 +3,9 @@ export * from './auth'; export * from './common'; +export * from './components'; +export * from './EditorExtensionContext'; +export * from './hooks'; export * from './publish'; +export * from './types'; +export * from './utils'; diff --git a/Composer/packages/editor-extension/src/types/extension.ts b/Composer/packages/extension-client/src/types/extension.ts similarity index 100% rename from Composer/packages/editor-extension/src/types/extension.ts rename to Composer/packages/extension-client/src/types/extension.ts diff --git a/Composer/packages/editor-extension/src/types/flowSchema.ts b/Composer/packages/extension-client/src/types/flowSchema.ts similarity index 100% rename from Composer/packages/editor-extension/src/types/flowSchema.ts rename to Composer/packages/extension-client/src/types/flowSchema.ts diff --git a/Composer/packages/editor-extension/src/types/form.ts b/Composer/packages/extension-client/src/types/form.ts similarity index 100% rename from Composer/packages/editor-extension/src/types/form.ts rename to Composer/packages/extension-client/src/types/form.ts diff --git a/Composer/packages/editor-extension/src/types/formSchema.ts b/Composer/packages/extension-client/src/types/formSchema.ts similarity index 100% rename from Composer/packages/editor-extension/src/types/formSchema.ts rename to Composer/packages/extension-client/src/types/formSchema.ts diff --git a/Composer/packages/editor-extension/src/types/index.ts b/Composer/packages/extension-client/src/types/index.ts similarity index 100% rename from Composer/packages/editor-extension/src/types/index.ts rename to Composer/packages/extension-client/src/types/index.ts diff --git a/Composer/packages/editor-extension/src/types/menuSchema.ts b/Composer/packages/extension-client/src/types/menuSchema.ts similarity index 100% rename from Composer/packages/editor-extension/src/types/menuSchema.ts rename to Composer/packages/extension-client/src/types/menuSchema.ts diff --git a/Composer/packages/editor-extension/src/utils/__tests__/mergePluginConfigs.test.ts b/Composer/packages/extension-client/src/utils/__tests__/mergePluginConfigs.test.ts similarity index 100% rename from Composer/packages/editor-extension/src/utils/__tests__/mergePluginConfigs.test.ts rename to Composer/packages/extension-client/src/utils/__tests__/mergePluginConfigs.test.ts diff --git a/Composer/packages/editor-extension/src/utils/index.ts b/Composer/packages/extension-client/src/utils/index.ts similarity index 100% rename from Composer/packages/editor-extension/src/utils/index.ts rename to Composer/packages/extension-client/src/utils/index.ts diff --git a/Composer/packages/editor-extension/src/utils/mergePluginConfigs.ts b/Composer/packages/extension-client/src/utils/mergePluginConfigs.ts similarity index 100% rename from Composer/packages/editor-extension/src/utils/mergePluginConfigs.ts rename to Composer/packages/extension-client/src/utils/mergePluginConfigs.ts diff --git a/Composer/packages/editor-extension/tsconfig.build.json b/Composer/packages/extension-client/tsconfig.build.json similarity index 100% rename from Composer/packages/editor-extension/tsconfig.build.json rename to Composer/packages/extension-client/tsconfig.build.json diff --git a/Composer/packages/lib/ui-shared/package.json b/Composer/packages/lib/ui-shared/package.json index 1d30800f45..5ef946a1a3 100644 --- a/Composer/packages/lib/ui-shared/package.json +++ b/Composer/packages/lib/ui-shared/package.json @@ -23,13 +23,13 @@ "@bfc/adaptive-form": "*", "@emotion/core": "^10.0.27", "@emotion/styled": "^10.0.27", - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "react": "16.13.0", "react-dom": "16.13.0" }, "devDependencies": { "@bfc/adaptive-form": "*", - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/test-utils": "*", "@types/react": "16.9.23", "@types/react-dom": "16.9.5", diff --git a/Composer/packages/ui-plugins/composer/package.json b/Composer/packages/ui-plugins/composer/package.json index 89437f4717..b5314e4e90 100644 --- a/Composer/packages/ui-plugins/composer/package.json +++ b/Composer/packages/ui-plugins/composer/package.json @@ -18,7 +18,7 @@ "license": "MIT", "peerDependencies": { "@bfc/adaptive-form": "*", - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/intellisense": "*", "@emotion/core": "^10.0.27", "@uifabric/fluent-theme": "^7.1.4", @@ -30,7 +30,7 @@ }, "devDependencies": { "@bfc/adaptive-form": "*", - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/intellisense": "*", "@bfc/test-utils": "*", "@emotion/core": "^10.0.27", diff --git a/Composer/packages/ui-plugins/composer/src/defaultMenuSchema.ts b/Composer/packages/ui-plugins/composer/src/defaultMenuSchema.ts index e9b72ee8a0..e076e92b9c 100644 --- a/Composer/packages/ui-plugins/composer/src/defaultMenuSchema.ts +++ b/Composer/packages/ui-plugins/composer/src/defaultMenuSchema.ts @@ -2,7 +2,7 @@ // Licensed under the MIT License. import formatMessage from 'format-message'; -import { MenuUISchema } from '@bfc/editor-extension'; +import { MenuUISchema } from '@bfc/extension-client'; import { SDKKinds } from '@bfc/shared'; const SubmenuNames = { diff --git a/Composer/packages/ui-plugins/composer/src/index.ts b/Composer/packages/ui-plugins/composer/src/index.ts index e55f6c9545..813fb72d63 100644 --- a/Composer/packages/ui-plugins/composer/src/index.ts +++ b/Composer/packages/ui-plugins/composer/src/index.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { PluginConfig, FormUISchema, RecognizerSchema, UISchema, MenuUISchema } from '@bfc/editor-extension'; +import { PluginConfig, FormUISchema, RecognizerSchema, UISchema, MenuUISchema } from '@bfc/extension-client'; import { SDKKinds } from '@bfc/shared'; import formatMessage from 'format-message'; import mapValues from 'lodash/mapValues'; diff --git a/Composer/packages/ui-plugins/cross-trained/package.json b/Composer/packages/ui-plugins/cross-trained/package.json index 4a0c8fcc6f..382601c127 100644 --- a/Composer/packages/ui-plugins/cross-trained/package.json +++ b/Composer/packages/ui-plugins/cross-trained/package.json @@ -21,13 +21,13 @@ "license": "MIT", "peerDependencies": { "@bfc/adaptive-form": "*", - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "react": "16.13.0", "react-dom": "16.13.0" }, "devDependencies": { "@bfc/adaptive-form": "*", - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@types/react": "16.9.23", "@types/react-dom": "16.9.5", "react": "16.13.0", diff --git a/Composer/packages/ui-plugins/cross-trained/src/index.ts b/Composer/packages/ui-plugins/cross-trained/src/index.ts index 24d7b3f115..d04096f87d 100644 --- a/Composer/packages/ui-plugins/cross-trained/src/index.ts +++ b/Composer/packages/ui-plugins/cross-trained/src/index.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { PluginConfig } from '@bfc/editor-extension'; +import { PluginConfig } from '@bfc/extension-client'; import { SDKKinds } from '@bfc/shared'; const config: PluginConfig = { diff --git a/Composer/packages/ui-plugins/example/package.json b/Composer/packages/ui-plugins/example/package.json index 4325113e02..2cf4bf54e3 100644 --- a/Composer/packages/ui-plugins/example/package.json +++ b/Composer/packages/ui-plugins/example/package.json @@ -17,7 +17,7 @@ "license": "MIT", "peerDependencies": { "@bfc/adaptive-form": "*", - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@emotion/core": "^10.0.27", "@uifabric/fluent-theme": "^7.1.4", "@uifabric/icons": "^7.3.0", @@ -28,7 +28,7 @@ }, "devDependencies": { "@bfc/adaptive-form": "*", - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/test-utils": "*", "@emotion/core": "^10.0.27", "@types/react": "16.9.23", diff --git a/Composer/packages/ui-plugins/example/src/index.ts b/Composer/packages/ui-plugins/example/src/index.ts index 15e84d4ae9..da8aeb2ac4 100644 --- a/Composer/packages/ui-plugins/example/src/index.ts +++ b/Composer/packages/ui-plugins/example/src/index.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { PluginConfig } from '@bfc/editor-extension'; +import { PluginConfig } from '@bfc/extension-client'; const config: PluginConfig = {}; diff --git a/Composer/packages/ui-plugins/lg/package.json b/Composer/packages/ui-plugins/lg/package.json index 7ff437b1fe..e5586a41ef 100644 --- a/Composer/packages/ui-plugins/lg/package.json +++ b/Composer/packages/ui-plugins/lg/package.json @@ -22,13 +22,13 @@ "license": "MIT", "peerDependencies": { "@bfc/adaptive-form": "*", - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "react": "16.13.0", "react-dom": "16.13.0" }, "devDependencies": { "@bfc/adaptive-form": "*", - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/test-utils": "*", "@types/react": "16.9.23", "@types/react-dom": "16.9.5", diff --git a/Composer/packages/ui-plugins/lg/src/LgField.tsx b/Composer/packages/ui-plugins/lg/src/LgField.tsx index 565805882f..eb11ff737a 100644 --- a/Composer/packages/ui-plugins/lg/src/LgField.tsx +++ b/Composer/packages/ui-plugins/lg/src/LgField.tsx @@ -5,7 +5,7 @@ import { jsx } from '@emotion/core'; import React, { useCallback } from 'react'; import { LgEditor } from '@bfc/code-editor'; -import { FieldProps, useShellApi } from '@bfc/editor-extension'; +import { FieldProps, useShellApi } from '@bfc/extension-client'; import { FieldLabel } from '@bfc/adaptive-form'; import { LgMetaData, LgTemplateRef, LgType, CodeEditorSettings } from '@bfc/shared'; import { filterTemplateDiagnostics } from '@bfc/indexers'; diff --git a/Composer/packages/ui-plugins/lg/src/LgWidget/LgWidget.tsx b/Composer/packages/ui-plugins/lg/src/LgWidget/LgWidget.tsx index 6641e1fd8a..293f0b926d 100644 --- a/Composer/packages/ui-plugins/lg/src/LgWidget/LgWidget.tsx +++ b/Composer/packages/ui-plugins/lg/src/LgWidget/LgWidget.tsx @@ -3,7 +3,7 @@ import React from 'react'; import get from 'lodash/get'; -import { WidgetContainerProps } from '@bfc/editor-extension'; +import { WidgetContainerProps } from '@bfc/extension-client'; import { MultilineTextWithEllipsis } from '@bfc/ui-shared'; import { useLgTemplate } from './useLgTemplate'; diff --git a/Composer/packages/ui-plugins/lg/src/LgWidget/useLgTemplate.ts b/Composer/packages/ui-plugins/lg/src/LgWidget/useLgTemplate.ts index efbca40f65..14bd531ade 100644 --- a/Composer/packages/ui-plugins/lg/src/LgWidget/useLgTemplate.ts +++ b/Composer/packages/ui-plugins/lg/src/LgWidget/useLgTemplate.ts @@ -2,7 +2,7 @@ // Licensed under the MIT License. import { LgTemplateRef, LgFile, LgTemplate } from '@bfc/shared'; -import { useShellApi } from '@bfc/editor-extension'; +import { useShellApi } from '@bfc/extension-client'; export const queryLgTemplate = (templateId: string, lgFileId: string, lgFiles: LgFile[]): LgTemplate | undefined => { return lgFiles.find(({ id }) => id === lgFileId)?.templates?.find(({ name }) => name === templateId); diff --git a/Composer/packages/ui-plugins/lg/src/index.ts b/Composer/packages/ui-plugins/lg/src/index.ts index 527415caa2..b47e9f8075 100644 --- a/Composer/packages/ui-plugins/lg/src/index.ts +++ b/Composer/packages/ui-plugins/lg/src/index.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { PluginConfig } from '@bfc/editor-extension'; +import { PluginConfig } from '@bfc/extension-client'; import { SDKKinds } from '@bfc/shared'; import { VisualEditorColors as Colors } from '@bfc/ui-shared'; diff --git a/Composer/packages/ui-plugins/luis/package.json b/Composer/packages/ui-plugins/luis/package.json index b44e0fdde9..e979418ea7 100644 --- a/Composer/packages/ui-plugins/luis/package.json +++ b/Composer/packages/ui-plugins/luis/package.json @@ -22,14 +22,14 @@ "license": "MIT", "peerDependencies": { "@bfc/adaptive-form": "*", - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/shared": "*", "react": "16.13.0", "react-dom": "16.13.0" }, "devDependencies": { "@bfc/adaptive-form": "*", - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/test-utils": "*", "@types/react": "16.9.23", "@types/react-dom": "16.9.5", diff --git a/Composer/packages/ui-plugins/luis/src/LuisIntentEditor.tsx b/Composer/packages/ui-plugins/luis/src/LuisIntentEditor.tsx index e475d73f82..d1ea6ab169 100644 --- a/Composer/packages/ui-plugins/luis/src/LuisIntentEditor.tsx +++ b/Composer/packages/ui-plugins/luis/src/LuisIntentEditor.tsx @@ -5,7 +5,7 @@ import { jsx } from '@emotion/core'; import React, { useMemo } from 'react'; import { LuEditor, inlineModePlaceholder } from '@bfc/code-editor'; -import { FieldProps, useShellApi } from '@bfc/editor-extension'; +import { FieldProps, useShellApi } from '@bfc/extension-client'; import { filterSectionDiagnostics } from '@bfc/indexers'; import { LuIntentSection, CodeEditorSettings, LuMetaData, LuType } from '@bfc/shared'; diff --git a/Composer/packages/ui-plugins/luis/src/index.ts b/Composer/packages/ui-plugins/luis/src/index.ts index 1501ddea13..d82ca88b36 100644 --- a/Composer/packages/ui-plugins/luis/src/index.ts +++ b/Composer/packages/ui-plugins/luis/src/index.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { PluginConfig } from '@bfc/editor-extension'; +import { PluginConfig } from '@bfc/extension-client'; import { SDKKinds } from '@bfc/shared'; import { LuisIntentEditor } from './LuisIntentEditor'; diff --git a/Composer/packages/ui-plugins/prompts/package.json b/Composer/packages/ui-plugins/prompts/package.json index 6b923524ce..803e95ff08 100644 --- a/Composer/packages/ui-plugins/prompts/package.json +++ b/Composer/packages/ui-plugins/prompts/package.json @@ -21,7 +21,7 @@ "author": "andy.brown@microsoft.com", "license": "MIT", "peerDependencies": { - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/adaptive-form": "*", "@uifabric/fluent-theme": "^7.1.4", "@uifabric/icons": "^7.3.0", @@ -32,7 +32,7 @@ "react-dom": "16.13.0" }, "devDependencies": { - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/adaptive-form": "*", "@bfc/test-utils": "*", "@types/react": "16.9.23", diff --git a/Composer/packages/ui-plugins/prompts/src/PromptField/UserInput.tsx b/Composer/packages/ui-plugins/prompts/src/PromptField/UserInput.tsx index d260cab2cd..e6b481d525 100644 --- a/Composer/packages/ui-plugins/prompts/src/PromptField/UserInput.tsx +++ b/Composer/packages/ui-plugins/prompts/src/PromptField/UserInput.tsx @@ -6,7 +6,7 @@ import { jsx } from '@emotion/core'; import React, { Fragment } from 'react'; import { SDKKinds, MicrosoftInputDialog, ChoiceInput, ConfirmInput, LuMetaData, LuType } from '@bfc/shared'; import { FieldLabel, SchemaField } from '@bfc/adaptive-form'; -import { JSONSchema7, useShellApi, useRecognizerConfig } from '@bfc/editor-extension'; +import { JSONSchema7, useShellApi, useRecognizerConfig } from '@bfc/extension-client'; import formatMessage from 'format-message'; import { PromptFieldProps } from './types'; diff --git a/Composer/packages/ui-plugins/prompts/src/PromptField/index.tsx b/Composer/packages/ui-plugins/prompts/src/PromptField/index.tsx index ea72c92a52..3b176174ac 100644 --- a/Composer/packages/ui-plugins/prompts/src/PromptField/index.tsx +++ b/Composer/packages/ui-plugins/prompts/src/PromptField/index.tsx @@ -4,7 +4,7 @@ import React from 'react'; import { Pivot, PivotLinkSize, PivotItem } from 'office-ui-fabric-react/lib/Pivot'; import get from 'lodash/get'; -import { FieldProps, useShellApi } from '@bfc/editor-extension'; +import { FieldProps, useShellApi } from '@bfc/extension-client'; import { SchemaField } from '@bfc/adaptive-form'; import { PromptTab, PropmtTabTitles } from '@bfc/shared'; diff --git a/Composer/packages/ui-plugins/prompts/src/PromptField/types.ts b/Composer/packages/ui-plugins/prompts/src/PromptField/types.ts index 8051fdbaf1..c1d17a7dd9 100644 --- a/Composer/packages/ui-plugins/prompts/src/PromptField/types.ts +++ b/Composer/packages/ui-plugins/prompts/src/PromptField/types.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { FieldProps, JSONSchema7 } from '@bfc/editor-extension'; +import { FieldProps, JSONSchema7 } from '@bfc/extension-client'; import { MicrosoftInputDialog, ChoiceInput, ConfirmInput } from '@bfc/shared'; export type InputDialogKeys = keyof MicrosoftInputDialog | keyof ChoiceInput | keyof ConfirmInput; diff --git a/Composer/packages/ui-plugins/prompts/src/index.tsx b/Composer/packages/ui-plugins/prompts/src/index.tsx index 4c52c76e08..bccdbcae66 100644 --- a/Composer/packages/ui-plugins/prompts/src/index.tsx +++ b/Composer/packages/ui-plugins/prompts/src/index.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { FlowWidget, PluginConfig, UIOptions } from '@bfc/editor-extension'; +import { FlowWidget, PluginConfig, UIOptions } from '@bfc/extension-client'; import { SDKKinds, getInputType, PromptTab, PropmtTabTitles } from '@bfc/shared'; import { VisualEditorColors as Colors, ListOverview, BorderedDiv, FixedInfo } from '@bfc/ui-shared'; import formatMessage from 'format-message'; diff --git a/Composer/packages/ui-plugins/schema-editor/package.json b/Composer/packages/ui-plugins/schema-editor/package.json index 7ff77e559d..ce440bd681 100644 --- a/Composer/packages/ui-plugins/schema-editor/package.json +++ b/Composer/packages/ui-plugins/schema-editor/package.json @@ -20,7 +20,7 @@ "author": "tj.durnford@microsoft.com", "license": "MIT", "peerDependencies": { - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/adaptive-form": "*", "@bfc/code-editor": "*", "format-message": "^6.2.3", @@ -28,7 +28,7 @@ "react-dom": "16.13.0" }, "devDependencies": { - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/adaptive-form": "*", "@bfc/test-utils": "*", "@types/react": "16.9.23", diff --git a/Composer/packages/ui-plugins/schema-editor/src/Fields/AdaptiveDialogField.tsx b/Composer/packages/ui-plugins/schema-editor/src/Fields/AdaptiveDialogField.tsx index 452a503fa7..d2a234c39c 100644 --- a/Composer/packages/ui-plugins/schema-editor/src/Fields/AdaptiveDialogField.tsx +++ b/Composer/packages/ui-plugins/schema-editor/src/Fields/AdaptiveDialogField.tsx @@ -3,7 +3,7 @@ import React from 'react'; import { SchemaField } from '@bfc/adaptive-form'; -import { FieldProps } from '@bfc/editor-extension'; +import { FieldProps } from '@bfc/extension-client'; import { SchemaEditorField } from './SchemaEditorField'; diff --git a/Composer/packages/ui-plugins/schema-editor/src/Fields/CollapsedField.tsx b/Composer/packages/ui-plugins/schema-editor/src/Fields/CollapsedField.tsx index 3174dc73de..38d71a97b4 100644 --- a/Composer/packages/ui-plugins/schema-editor/src/Fields/CollapsedField.tsx +++ b/Composer/packages/ui-plugins/schema-editor/src/Fields/CollapsedField.tsx @@ -5,7 +5,7 @@ import { css, jsx } from '@emotion/core'; import React from 'react'; import { CollapseField as Collapse, SchemaField } from '@bfc/adaptive-form'; -import { FieldProps } from '@bfc/editor-extension'; +import { FieldProps } from '@bfc/extension-client'; import formatMessage from 'format-message'; const style = { diff --git a/Composer/packages/ui-plugins/schema-editor/src/Fields/SchemaEditorField.tsx b/Composer/packages/ui-plugins/schema-editor/src/Fields/SchemaEditorField.tsx index 3754153e9f..6730f1b4dc 100644 --- a/Composer/packages/ui-plugins/schema-editor/src/Fields/SchemaEditorField.tsx +++ b/Composer/packages/ui-plugins/schema-editor/src/Fields/SchemaEditorField.tsx @@ -3,7 +3,7 @@ import React, { useMemo } from 'react'; import AdaptiveForm from '@bfc/adaptive-form'; -import { useShellApi, JSONSchema7 } from '@bfc/editor-extension'; +import { useShellApi, JSONSchema7 } from '@bfc/extension-client'; import { getDefaultDialogSchema } from '../utils/getDefaultDialogSchema'; import { getDefinitions } from '../utils/getDefinitions'; diff --git a/Composer/packages/ui-plugins/schema-editor/src/Fields/ValueRefField.tsx b/Composer/packages/ui-plugins/schema-editor/src/Fields/ValueRefField.tsx index 0a1654e526..be2a103187 100644 --- a/Composer/packages/ui-plugins/schema-editor/src/Fields/ValueRefField.tsx +++ b/Composer/packages/ui-plugins/schema-editor/src/Fields/ValueRefField.tsx @@ -4,7 +4,7 @@ import React, { useMemo } from 'react'; import { Dropdown, IDropdownOption, ResponsiveMode } from 'office-ui-fabric-react/lib/Dropdown'; import { FieldLabel } from '@bfc/adaptive-form'; -import { FieldProps } from '@bfc/editor-extension'; +import { FieldProps } from '@bfc/extension-client'; import startCase from 'lodash/startCase'; import { valueTypeDefinitions } from '../schema'; diff --git a/Composer/packages/ui-plugins/schema-editor/src/__tests__/SchemaEditorField.test.tsx b/Composer/packages/ui-plugins/schema-editor/src/__tests__/SchemaEditorField.test.tsx index 85daeefefe..0886da3045 100644 --- a/Composer/packages/ui-plugins/schema-editor/src/__tests__/SchemaEditorField.test.tsx +++ b/Composer/packages/ui-plugins/schema-editor/src/__tests__/SchemaEditorField.test.tsx @@ -3,7 +3,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import React from 'react'; -import Extension from '@bfc/editor-extension'; +import { EditorExtension } from '@bfc/extension-client'; import { render, fireEvent, findAllByRole } from '@bfc/test-utils'; import { SchemaEditorField } from '../Fields/SchemaEditorField'; @@ -25,9 +25,9 @@ const renderSchemaEditor = ({ updateDialogSchema = jest.fn() } = {}) => { }; return render( - + - + ); }; diff --git a/Composer/packages/ui-plugins/schema-editor/src/formSchema.ts b/Composer/packages/ui-plugins/schema-editor/src/formSchema.ts index d3f6cc4977..17aecf7aa0 100644 --- a/Composer/packages/ui-plugins/schema-editor/src/formSchema.ts +++ b/Composer/packages/ui-plugins/schema-editor/src/formSchema.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { UISchema } from '@bfc/editor-extension'; +import { UISchema } from '@bfc/extension-client'; import { SDKKinds } from '@bfc/shared'; import { AdaptiveDialogField } from './Fields/AdaptiveDialogField'; diff --git a/Composer/packages/ui-plugins/schema-editor/src/index.ts b/Composer/packages/ui-plugins/schema-editor/src/index.ts index 12cca1a8b5..2376dd3deb 100644 --- a/Composer/packages/ui-plugins/schema-editor/src/index.ts +++ b/Composer/packages/ui-plugins/schema-editor/src/index.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { PluginConfig } from '@bfc/editor-extension'; +import { PluginConfig } from '@bfc/extension-client'; import uiSchema from './formSchema'; diff --git a/Composer/packages/ui-plugins/schema-editor/src/schema.ts b/Composer/packages/ui-plugins/schema-editor/src/schema.ts index 1903ceeddc..1c3bc5ee2f 100644 --- a/Composer/packages/ui-plugins/schema-editor/src/schema.ts +++ b/Composer/packages/ui-plugins/schema-editor/src/schema.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { JSONSchema7 } from '@bfc/editor-extension'; +import { JSONSchema7 } from '@bfc/extension-client'; import formatMessage from 'format-message'; export const schema = (): JSONSchema7 => ({ diff --git a/Composer/packages/ui-plugins/schema-editor/src/uiOptions.ts b/Composer/packages/ui-plugins/schema-editor/src/uiOptions.ts index 74fbcedc69..ef8b2febf8 100644 --- a/Composer/packages/ui-plugins/schema-editor/src/uiOptions.ts +++ b/Composer/packages/ui-plugins/schema-editor/src/uiOptions.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { UIOptions } from '@bfc/editor-extension'; +import { UIOptions } from '@bfc/extension-client'; import startCase from 'lodash/startCase'; import { CollapsedField } from './Fields/CollapsedField'; diff --git a/Composer/packages/ui-plugins/schema-editor/src/utils/getDefinitions.ts b/Composer/packages/ui-plugins/schema-editor/src/utils/getDefinitions.ts index 1622c4137c..1014b0cfb1 100644 --- a/Composer/packages/ui-plugins/schema-editor/src/utils/getDefinitions.ts +++ b/Composer/packages/ui-plugins/schema-editor/src/utils/getDefinitions.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { JSONSchema7, JSONSchema7Definition } from '@bfc/editor-extension'; +import { JSONSchema7, JSONSchema7Definition } from '@bfc/extension-client'; export const getDefinitions = (expressions: JSONSchema7[] = [], definitions: { [key: string]: JSONSchema7 }) => expressions.reduce((acc: { [key: string]: JSONSchema7Definition }, schema: any) => { diff --git a/Composer/packages/ui-plugins/select-dialog/package.json b/Composer/packages/ui-plugins/select-dialog/package.json index 58c9e67e29..fded97e09a 100644 --- a/Composer/packages/ui-plugins/select-dialog/package.json +++ b/Composer/packages/ui-plugins/select-dialog/package.json @@ -21,7 +21,7 @@ "author": "v-thdurn@microsoft.com", "license": "MIT", "peerDependencies": { - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/adaptive-form": "*", "@uifabric/fluent-theme": "^7.1.4", "@uifabric/icons": "^7.3.0", @@ -32,7 +32,7 @@ "react-dom": "16.13.0" }, "devDependencies": { - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/adaptive-form": "*", "@bfc/test-utils": "*", "@types/react": "16.9.23", diff --git a/Composer/packages/ui-plugins/select-dialog/src/ComboBoxField.tsx b/Composer/packages/ui-plugins/select-dialog/src/ComboBoxField.tsx index d41b72b719..845cd622d1 100644 --- a/Composer/packages/ui-plugins/select-dialog/src/ComboBoxField.tsx +++ b/Composer/packages/ui-plugins/select-dialog/src/ComboBoxField.tsx @@ -4,7 +4,7 @@ import React from 'react'; import { ComboBox, IComboBoxOption } from 'office-ui-fabric-react/lib/ComboBox'; import { FieldLabel } from '@bfc/adaptive-form'; -import { FieldProps } from '@bfc/editor-extension'; +import { FieldProps } from '@bfc/extension-client'; import { Icon } from 'office-ui-fabric-react/lib/Icon'; import { ISelectableOption } from 'office-ui-fabric-react/lib/utilities/selectableOption'; import { IRenderFunction } from 'office-ui-fabric-react/lib/Utilities'; diff --git a/Composer/packages/ui-plugins/select-dialog/src/SelectDialog.tsx b/Composer/packages/ui-plugins/select-dialog/src/SelectDialog.tsx index 126db0186b..9b599d2591 100644 --- a/Composer/packages/ui-plugins/select-dialog/src/SelectDialog.tsx +++ b/Composer/packages/ui-plugins/select-dialog/src/SelectDialog.tsx @@ -3,7 +3,7 @@ import React, { useState } from 'react'; import { IComboBoxOption, SelectableOptionMenuItemType } from 'office-ui-fabric-react/lib/ComboBox'; -import { FieldProps, useShellApi } from '@bfc/editor-extension'; +import { FieldProps, useShellApi } from '@bfc/extension-client'; import formatMessage from 'format-message'; import ComboBoxField, { ADD_DIALOG } from './ComboBoxField'; diff --git a/Composer/packages/ui-plugins/select-dialog/src/__tests__/selectDialog.test.tsx b/Composer/packages/ui-plugins/select-dialog/src/__tests__/selectDialog.test.tsx index fd76a2d3e9..5924da6434 100644 --- a/Composer/packages/ui-plugins/select-dialog/src/__tests__/selectDialog.test.tsx +++ b/Composer/packages/ui-plugins/select-dialog/src/__tests__/selectDialog.test.tsx @@ -5,7 +5,7 @@ import React from 'react'; import { fireEvent, getAllByRole, render } from '@bfc/test-utils'; -import { Extension } from '@bfc/editor-extension'; +import { EditorExtension } from '@bfc/extension-client'; import { SelectDialog } from '../SelectDialog'; @@ -33,9 +33,9 @@ const renderSelectDialog = ({ createDialog, navTo, onChange } = {}) => { ], }; return render( - + - + ); }; diff --git a/Composer/packages/ui-plugins/select-dialog/src/index.ts b/Composer/packages/ui-plugins/select-dialog/src/index.ts index da75a5665d..ad19ba9ed8 100644 --- a/Composer/packages/ui-plugins/select-dialog/src/index.ts +++ b/Composer/packages/ui-plugins/select-dialog/src/index.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { PluginConfig } from '@bfc/editor-extension'; +import { PluginConfig } from '@bfc/extension-client'; import { SDKKinds } from '@bfc/shared'; import { SelectDialog } from './SelectDialog'; diff --git a/Composer/packages/ui-plugins/select-skill-dialog/package.json b/Composer/packages/ui-plugins/select-skill-dialog/package.json index 71169d8cb7..3128f70498 100644 --- a/Composer/packages/ui-plugins/select-skill-dialog/package.json +++ b/Composer/packages/ui-plugins/select-skill-dialog/package.json @@ -21,7 +21,7 @@ "author": "v-thdurn@microsoft.com", "license": "MIT", "peerDependencies": { - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/adaptive-form": "*", "@uifabric/fluent-theme": "^7.1.4", "@uifabric/icons": "^7.3.0", @@ -33,7 +33,7 @@ }, "devDependencies": { "@bfc/adaptive-form": "*", - "@bfc/editor-extension": "*", + "@bfc/extension-client": "*", "@bfc/test-utils": "*", "@types/react": "16.9.23", "@types/react-dom": "16.9.5", diff --git a/Composer/packages/ui-plugins/select-skill-dialog/src/BeginSkillDialogField.tsx b/Composer/packages/ui-plugins/select-skill-dialog/src/BeginSkillDialogField.tsx index 9cf4249d29..b1952569fa 100644 --- a/Composer/packages/ui-plugins/select-skill-dialog/src/BeginSkillDialogField.tsx +++ b/Composer/packages/ui-plugins/select-skill-dialog/src/BeginSkillDialogField.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React, { useMemo } from 'react'; -import { FieldProps, JSONSchema7, useShellApi } from '@bfc/editor-extension'; +import { FieldProps, JSONSchema7, useShellApi } from '@bfc/extension-client'; import { Link } from 'office-ui-fabric-react/lib/Link'; import { ObjectField, SchemaField } from '@bfc/adaptive-form'; import formatMessage from 'format-message'; diff --git a/Composer/packages/ui-plugins/select-skill-dialog/src/ComboBoxField.tsx b/Composer/packages/ui-plugins/select-skill-dialog/src/ComboBoxField.tsx index 6173efd8d8..54c480bf81 100644 --- a/Composer/packages/ui-plugins/select-skill-dialog/src/ComboBoxField.tsx +++ b/Composer/packages/ui-plugins/select-skill-dialog/src/ComboBoxField.tsx @@ -4,7 +4,7 @@ import React from 'react'; import { ComboBox, IComboBoxOption } from 'office-ui-fabric-react/lib/ComboBox'; import { FieldLabel } from '@bfc/adaptive-form'; -import { FieldProps } from '@bfc/editor-extension'; +import { FieldProps } from '@bfc/extension-client'; import { Icon } from 'office-ui-fabric-react/lib/Icon'; import { ISelectableOption } from 'office-ui-fabric-react/lib/utilities/selectableOption'; import { IRenderFunction } from 'office-ui-fabric-react/lib/Utilities'; diff --git a/Composer/packages/ui-plugins/select-skill-dialog/src/SelectSkillDialogField.tsx b/Composer/packages/ui-plugins/select-skill-dialog/src/SelectSkillDialogField.tsx index 603614f3fc..035f1020a5 100644 --- a/Composer/packages/ui-plugins/select-skill-dialog/src/SelectSkillDialogField.tsx +++ b/Composer/packages/ui-plugins/select-skill-dialog/src/SelectSkillDialogField.tsx @@ -3,7 +3,7 @@ import React, { useState } from 'react'; import { IComboBoxOption, SelectableOptionMenuItemType } from 'office-ui-fabric-react/lib/ComboBox'; -import { FieldProps, useShellApi } from '@bfc/editor-extension'; +import { FieldProps, useShellApi } from '@bfc/extension-client'; import formatMessage from 'format-message'; import { ComboBoxField } from './ComboBoxField'; diff --git a/Composer/packages/ui-plugins/select-skill-dialog/src/SkillEndpointField.tsx b/Composer/packages/ui-plugins/select-skill-dialog/src/SkillEndpointField.tsx index 6f7a8dc2b7..3bb6ba0cf6 100644 --- a/Composer/packages/ui-plugins/select-skill-dialog/src/SkillEndpointField.tsx +++ b/Composer/packages/ui-plugins/select-skill-dialog/src/SkillEndpointField.tsx @@ -4,7 +4,7 @@ /** @jsx jsx */ import { jsx } from '@emotion/core'; import React from 'react'; -import { FieldProps, useFormConfig } from '@bfc/editor-extension'; +import { FieldProps, useFormConfig } from '@bfc/extension-client'; import { getUiLabel, getUIOptions, diff --git a/Composer/packages/ui-plugins/select-skill-dialog/src/__tests__/BeginSkillDialogField.test.tsx b/Composer/packages/ui-plugins/select-skill-dialog/src/__tests__/BeginSkillDialogField.test.tsx index 98f102ea95..e5876528da 100644 --- a/Composer/packages/ui-plugins/select-skill-dialog/src/__tests__/BeginSkillDialogField.test.tsx +++ b/Composer/packages/ui-plugins/select-skill-dialog/src/__tests__/BeginSkillDialogField.test.tsx @@ -4,7 +4,7 @@ import React from 'react'; import { fireEvent, getAllByRole, render } from '@bfc/test-utils'; -import { Extension, JSONSchema7 } from '@bfc/editor-extension'; +import { EditorExtension, JSONSchema7 } from '@bfc/extension-client'; import { SDKKinds } from '@bfc/shared'; import { BeginSkillDialogField } from '../BeginSkillDialogField'; @@ -35,9 +35,9 @@ const renderBeginSkillDialog = ({ value = {}, onChange = jest.fn() } = {}) => { }; return render( - + - + ); }; diff --git a/Composer/packages/ui-plugins/select-skill-dialog/src/__tests__/SelectSkillDialog.test.tsx b/Composer/packages/ui-plugins/select-skill-dialog/src/__tests__/SelectSkillDialog.test.tsx index 6e33193840..87fa0b6714 100644 --- a/Composer/packages/ui-plugins/select-skill-dialog/src/__tests__/SelectSkillDialog.test.tsx +++ b/Composer/packages/ui-plugins/select-skill-dialog/src/__tests__/SelectSkillDialog.test.tsx @@ -5,7 +5,7 @@ import React from 'react'; import { fireEvent, getAllByRole, render, act } from '@bfc/test-utils'; -import { Extension } from '@bfc/editor-extension'; +import { EditorExtension } from '@bfc/extension-client'; import { SelectSkillDialog } from '../SelectSkillDialogField'; @@ -55,9 +55,9 @@ const renderSelectSkillDialog = ({ addSkillDialog, onChange } = {}) => { }; return render( - + - + ); }; diff --git a/Composer/packages/ui-plugins/select-skill-dialog/src/index.ts b/Composer/packages/ui-plugins/select-skill-dialog/src/index.ts index a2f6912657..5f9c6293e4 100644 --- a/Composer/packages/ui-plugins/select-skill-dialog/src/index.ts +++ b/Composer/packages/ui-plugins/select-skill-dialog/src/index.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { PluginConfig } from '@bfc/editor-extension'; +import { PluginConfig } from '@bfc/extension-client'; import formatMessage from 'format-message'; import { SDKKinds } from '@bfc/shared'; diff --git a/releases/1.1.1.md b/releases/1.1.1.md index 53e0ca1f6e..26c4c56108 100644 --- a/releases/1.1.1.md +++ b/releases/1.1.1.md @@ -109,7 +109,7 @@ To learn more about Composer and get started today visit the Composer official d - chore: remove dulplicate startCommand in setting.runtime ([#3876](https://github.com/microsoft/BotFramework-Composer/pull/3876)) ([@VanyLaw](https://github.com/VanyLaw)) - chore: bump lodash from 4.17.15 to 4.17.19 in /Composer ([#3648](https://github.com/microsoft/BotFramework-Composer/pull/3648)) dependabot[bot] - chore: 1.1 cleanup ([#3927](https://github.com/microsoft/BotFramework-Composer/pull/3927)) ([@cwhitten](https://github.com/cwhitten)) -- chore: separates Form / Flow's ExtensionContext ([#3784](https://github.com/microsoft/BotFramework-Composer/pull/3784)) ([@yeze322](https://github.com/yeze322)) +- chore: separates Form / Flow's EditorExtensionContext ([#3784](https://github.com/microsoft/BotFramework-Composer/pull/3784)) ([@yeze322](https://github.com/yeze322)) - chore: diff 'action'/ 'trigger' / 'recognizer' from custom schema ([#3773](https://github.com/microsoft/BotFramework-Composer/pull/3773)) ([@yeze322](https://github.com/yeze322)) - chore: add schema to circular ref list ([#3856](https://github.com/microsoft/BotFramework-Composer/pull/3856)) ([@a-b-r-o-w-n](https://github.com/a-b-r-o-w-n)) - chore: Fixed backup extension filename ([#3828](https://github.com/microsoft/BotFramework-Composer/pull/3828)) ([@GeoffCoxMSFT](https://github.com/GeoffCoxMSFT)) From d9f9a95fbdb71d396b9c749cc2657f28d68b1046 Mon Sep 17 00:00:00 2001 From: Andy Brown Date: Wed, 9 Sep 2020 15:04:03 -0700 Subject: [PATCH 05/10] fix type name --- Composer/packages/client/src/recoilModel/atoms/appState.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Composer/packages/client/src/recoilModel/atoms/appState.ts b/Composer/packages/client/src/recoilModel/atoms/appState.ts index 002d994d82..fa09f6a144 100644 --- a/Composer/packages/client/src/recoilModel/atoms/appState.ts +++ b/Composer/packages/client/src/recoilModel/atoms/appState.ts @@ -10,7 +10,7 @@ import { RuntimeTemplate, AppUpdateState, BoilerplateVersion, - PluginConfig, + ExtensionConfig, } from '../../recoilModel/types'; import { getUserSettings } from '../utils'; import onboardingStorage from '../../utils/onboardingStorage'; @@ -152,7 +152,7 @@ export const boilerplateVersionState = atom({ }, }); -export const extensionsState = atom({ +export const extensionsState = atom({ key: getFullyQualifiedKey('extensions'), default: [], }); From 63e5cacc11c92263c7ae797233678d9eceaaa840 Mon Sep 17 00:00:00 2001 From: Andy Brown Date: Wed, 9 Sep 2020 15:10:01 -0700 Subject: [PATCH 06/10] fix up remaining references to extensions directory --- .github/CODEOWNERS | 2 +- Composer/.dockerignore | 1 - Composer/Dockerfile | 6 +- Composer/README.md | 163 ------------------ Composer/TESTING.md | 2 +- Composer/jest.config.js | 8 +- .../plugins/mockRemotePublish/package.json | 2 +- Composer/plugins/mockRemotePublish/yarn.lock | 2 +- .../plugins/sample-ui-plugin/package.json | 2 +- Composer/plugins/sample-ui-plugin/yarn.lock | 2 +- 10 files changed, 15 insertions(+), 175 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 8a15b50af0..2e279f8ebe 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -6,6 +6,6 @@ /Composer/ @cwhitten @boydc2014 @a-b-r-o-w-n @corinagum @beyackle @srinaath @tonyanziano -/Composer/packages/extensions/visual-designer @yeze322 @cwhitten @boydc2014 @a-b-r-o-w-n +/Composer/packages/adaptive-flow @yeze322 @cwhitten @boydc2014 @a-b-r-o-w-n /docs/ @cwhitten @boydc2014 @benbrown diff --git a/Composer/.dockerignore b/Composer/.dockerignore index 19245eab5f..d942adbebd 100644 --- a/Composer/.dockerignore +++ b/Composer/.dockerignore @@ -7,7 +7,6 @@ **/server/tmp.zip # not ignore all lib folder because packages/lib, so probably we should rename that to libs packages/lib/*/lib -packages/extensions/*/lib Dockerfile .dockerignore diff --git a/Composer/Dockerfile b/Composer/Dockerfile index 4f6067ba23..973c91683a 100644 --- a/Composer/Dockerfile +++ b/Composer/Dockerfile @@ -25,7 +25,11 @@ WORKDIR /app/Composer COPY --from=build /src/Composer/yarn.lock . COPY --from=build /src/Composer/package.json . COPY --from=build /src/Composer/packages/client ./packages/client -COPY --from=build /src/Composer/packages/extensions ./packages/extensions +COPY --from=build /src/Composer/packages/adaptive-flow ./packages/adaptive-flow +COPY --from=build /src/Composer/packages/adaptive-form ./packages/adaptive-form +COPY --from=build /src/Composer/packages/extension-client ./packages/extension-client +COPY --from=build /src/Composer/packages/intellisense ./packages/intellisense +COPY --from=build /src/Composer/packages/plugin-loader ./packages/plugin-loader COPY --from=build /src/Composer/packages/server ./packages/server COPY --from=build /src/Composer/packages/lib ./packages/lib COPY --from=build /src/Composer/packages/tools ./packages/tools diff --git a/Composer/README.md b/Composer/README.md index c7142f2575..f2b9bc0bc4 100644 --- a/Composer/README.md +++ b/Composer/README.md @@ -30,166 +30,3 @@ If you run into the issue of `There appears to be trouble with your network conn ## Documentation The documentation for Composer [can be found here](/toc.md). - -## Extension Framework -Composer is built on top of an extension framework, which allows anyone to provide an extension as the editor of certain type of bot assets. - -All editors, 1st party or 3rd party, are loaded in the same way by the extension framework. - -Non-editor extensions are not supported at this time, though the mechanisms for providing extensions will scale outside the dialog editor's. - -### What's an extension? what's in it -Each extension is a standalone React component package ([why React component](#why-react-component)) under Composer's `/packages/extensions` folder, which implements the extension `interface`. - -Composer is managed via yarn workspaces, producing such a folder layout. -``` -|- Composer - |- package.json // define the workspaces - |- packages - |- client // composer main app - |- server // composer api server - |- extensions - |- package.json // put all extension as one package - |- adaptive-form // dialog property editor - |- lib - |- shared // shared code -``` - -All extensions under `/extensions` folder will be eventually packed into one `extensions` package, then the `client` package will depends on this `extensions` package. - -### Extension Interface -The extension interface defines the way how an extension comminutes to the host. - -In React world, interface means the props passed into a component. An extension will be passed ino 3 props: -- data:any. which is the data to be edited by this editor. -- onChange: (newData) => void. which is the callback enables an editor to save the edited data. -- [shellApi](#shell-api). which is a set of apis providing other capabilities than data in\out. - -The rendering code of an extension will be sth like this: -``` - import SomeEditor from 'someplace' - - -``` - -#### data in\out story - -With this interface, it's pretty clear how data is in\out extension. Data is passed in through `data` prop, and been saved with `onChange` prop. - -#### shell api - -Shell api is a set of apis that provides other important functionalities that empower an extension to provide a more powerful and smooth editing experience. including - -* OpenSubEditor - ``` - openSubEditor(location:string, data:any, onChange:(newData:any) => void) - ``` - This is the most important api that support a [multiple editors](#multiple-editors) scenario, which allows an editor to delegate some editing task to another editor, and listen the changes. - - Note that, this api doesn't allow you to specify the type or the name of the sub editor. You only get to specify a data, the shell will use a centralized way to manage how editors are registered and picked up. See registration section in the below for more details. - - We may suppport other forms of openSubEditor later, but we expect this is the mosted used one. - -* ObjectGraph - - TBD, this will be an api that enable each extension have the knowledge of a global object graph. -* Alert -* ReadFile -* Prompt - -### Why React component - -There are many options to choose when picking an abstraction for an extension. Different level abstractions have different impacts on many aspects, like developing, testing, debuging and running the extension. - -A low-level abstraction like HTML page will give us perfect isolation, great flexibilty (use whatever language you want to build that), but usually result in a relatively high amount of effort to develop a robust api between host and extension because it's using the low-level messaging primitives, and also not good for performance because of the extreme isolation. - -A high-level abstraction like React component, will cost a little bit on isolation, but gain the best support from a mature and powerful framework, in every cycle of the development of extensions. It will help most of boosting the productivity, simplifying the architecure, and gain the best performance. - -Based on our scenario, we will use React as a start point, and host the extension in an `