From 3b77dc489985bbbd3e4eb6d2d0867ea18d5bbdef Mon Sep 17 00:00:00 2001 From: zhixzhan Date: Tue, 24 Mar 2020 16:45:52 +0800 Subject: [PATCH 01/12] upgrade lg package --- Composer/packages/client/package.json | 6 +-- Composer/packages/lib/indexers/package.json | 4 +- .../language-generation/package.json | 2 +- Composer/yarn.lock | 47 ++++++++++--------- 4 files changed, 30 insertions(+), 29 deletions(-) diff --git a/Composer/packages/client/package.json b/Composer/packages/client/package.json index 170962928f..fcbbbbcb56 100644 --- a/Composer/packages/client/package.json +++ b/Composer/packages/client/package.json @@ -23,9 +23,9 @@ "@emotion/core": "^10.0.7", "@microsoft/bf-lu": "4.8.0-preview.111952", "@reach/router": "^1.2.1", - "axios": "^0.18.0", - "botbuilder-lg": "^4.8.0-preview-109324", "adaptive-expressions": "^4.8.0-preview-110700", + "axios": "^0.18.0", + "botbuilder-lg": "^4.9.0-preview-115026", "format-message": "^6.2.3", "immer": "^5.2.0", "jwt-decode": "^2.2.0", @@ -101,4 +101,4 @@ "webpack-manifest-plugin": "2.1.0", "workbox-webpack-plugin": "4.3.1" } -} \ No newline at end of file +} diff --git a/Composer/packages/lib/indexers/package.json b/Composer/packages/lib/indexers/package.json index 4430f26e94..7322d229c2 100644 --- a/Composer/packages/lib/indexers/package.json +++ b/Composer/packages/lib/indexers/package.json @@ -30,8 +30,8 @@ "dependencies": { "@bfc/shared": "*", "@microsoft/bf-lu": "4.8.0-preview.111952", - "botbuilder-lg": "^4.8.0-preview-109324", "adaptive-expressions": "^4.8.0-preview-110700", + "botbuilder-lg": "^4.9.0-preview-115026", "lodash": "^4.17.15" } -} \ No newline at end of file +} diff --git a/Composer/packages/tools/language-servers/language-generation/package.json b/Composer/packages/tools/language-servers/language-generation/package.json index 65e7b1b2c7..c5016bbef1 100644 --- a/Composer/packages/tools/language-servers/language-generation/package.json +++ b/Composer/packages/tools/language-servers/language-generation/package.json @@ -16,8 +16,8 @@ }, "dependencies": { "@bfc/indexers": "*", - "botbuilder-lg": "^4.8.0-preview-109324", "adaptive-expressions": "^4.8.0-preview-110700", + "botbuilder-lg": "^4.9.0-preview-115026", "request-light": "^0.2.2", "vscode-languageserver": "^5.3.0-next" }, diff --git a/Composer/yarn.lock b/Composer/yarn.lock index 9ede8e4838..c70fd42606 100644 --- a/Composer/yarn.lock +++ b/Composer/yarn.lock @@ -3957,10 +3957,10 @@ acorn@^7.1.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== -adaptive-expressions@4.8.0-preview-109324: - version "4.8.0-preview-109324" - resolved "https://registry.yarnpkg.com/adaptive-expressions/-/adaptive-expressions-4.8.0-preview-109324.tgz#daf8abac37a25f519f73019343bc3a1f797e3048" - integrity sha512-TNEZUISxfJ8jj7K0mLmkAKgiakhLhyUglFIZhb4m+oSPCN7BtkE7cUkhTSYXyvlO5n3zYW9vimlC1C4BfnpJug== +adaptive-expressions@4.9.0-preview-115026: + version "4.9.0-preview-115026" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/adaptive-expressions/-/adaptive-expressions-4.9.0-preview-115026.tgz#3ddbe933193be9d41d1f3776e8b9ad2c7f1b4f5d" + integrity sha1-PdvpMxk76dQdHzd26LmtLH8bT10= dependencies: "@microsoft/recognizers-text-data-types-timex-expression" "^1.1.4" "@types/lru-cache" "^5.1.0" @@ -4919,30 +4919,30 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= -botbuilder-core@4.8.0-preview-109324: - version "4.8.0-preview-109324" - resolved "https://registry.yarnpkg.com/botbuilder-core/-/botbuilder-core-4.8.0-preview-109324.tgz#b4c6080bfc85520f923bafb8ce2ca42563402464" - integrity sha512-P5VpfDWnb1dAnapOfNm4tSO94ApE3EE/F7dARBEjrMpPfhaqY8uDhDOh+BUy9wYYXqNSBOpIdnVo5TAAmfi9Sg== +botbuilder-core@4.9.0-preview-115026: + version "4.9.0-preview-115026" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botbuilder-core/-/botbuilder-core-4.9.0-preview-115026.tgz#48107f1c77073d5a1704cda4a1071f785c16de76" + integrity sha1-SBB/HHcHPVoXBM2koQcfeFwW3nY= dependencies: assert "^1.4.1" - botframework-schema "4.8.0-preview-109324" + botframework-schema "4.9.0-preview-115026" -botbuilder-lg@^4.8.0-preview-109324: - version "4.8.0-preview-109324" - resolved "https://registry.yarnpkg.com/botbuilder-lg/-/botbuilder-lg-4.8.0-preview-109324.tgz#7ee7e0e97e7c272a81266b1dbda6dfe0858b5f17" - integrity sha512-Ej4ywr7wkUhj5FT0Yx5vOY3TXJrQqVCo+W/xWxEGsrp2NJeWmAiz2kc4LI7QC6XN5fPypVV10iaerGDgEU1Wxg== +botbuilder-lg@^4.9.0-preview-115026: + version "4.9.0-preview-115026" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botbuilder-lg/-/botbuilder-lg-4.9.0-preview-115026.tgz#cab251e3384df82d0a9f70e2a689cc9d1cdb4b0e" + integrity sha1-yrJR4zhN+C0Kn3DiponMnRzbSw4= dependencies: - adaptive-expressions "4.8.0-preview-109324" + adaptive-expressions "4.9.0-preview-115026" antlr4ts "0.5.0-alpha.1" - botbuilder-core "4.8.0-preview-109324" + botbuilder-core "4.9.0-preview-115026" lodash "^4.17.11" path "^0.12.7" uuid "^3.3.3" -botframework-schema@4.8.0-preview-109324: - version "4.8.0-preview-109324" - resolved "https://registry.yarnpkg.com/botframework-schema/-/botframework-schema-4.8.0-preview-109324.tgz#e65ce6219b050e7f2e992a5cfbebf45f17d7dd04" - integrity sha512-ee4SejGhDWZSWP0SM6WnPA2o9tR3H8pvk0m2E4sWqy3nqmxfFsu7+5UDv364UIaPZxvcI99bA4cm288EE9+DRA== +botframework-schema@4.9.0-preview-115026: + version "4.9.0-preview-115026" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botframework-schema/-/botframework-schema-4.9.0-preview-115026.tgz#b882e36fa021449495e89a5e144c51fc625312e5" + integrity sha1-uILjb6AhRJSV6JpeFExR/GJTEuU= boxen@^1.2.1: version "1.3.0" @@ -13275,10 +13275,6 @@ path-type@^3.0.0: dependencies: pify "^3.0.0" -pause@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" - integrity sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10= path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" @@ -13292,6 +13288,11 @@ path@^0.12.7: process "^0.11.1" util "^0.10.3" +pause@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" + integrity sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10= + pbkdf2@^3.0.3: version "3.0.17" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" From 2b7ed494837be9c9d3befef7299fcae6b1af1530 Mon Sep 17 00:00:00 2001 From: zhixzhan Date: Thu, 26 Mar 2020 13:45:48 +0800 Subject: [PATCH 02/12] update api methods --- Composer/packages/client/src/store/index.tsx | 4 +-- .../src/hooks/useLgTemplate.ts | 6 ++-- .../src/store/NodeRendererContext.ts | 4 +-- .../src/utils/normalizeLgTemplate.ts | 4 +-- .../lib/indexers/__tests__/lgUtil.test.ts | 8 +++--- .../packages/lib/indexers/src/lgIndexer.ts | 8 +++--- .../packages/lib/indexers/src/utils/lgUtil.ts | 28 +++++++++---------- .../packages/lib/shared/src/types/shell.ts | 2 +- .../language-generation/src/LGServer.ts | 6 ++-- .../language-generation/src/utils.ts | 8 +++--- 10 files changed, 39 insertions(+), 39 deletions(-) diff --git a/Composer/packages/client/src/store/index.tsx b/Composer/packages/client/src/store/index.tsx index b68af10d1c..4735ac071f 100644 --- a/Composer/packages/client/src/store/index.tsx +++ b/Composer/packages/client/src/store/index.tsx @@ -3,7 +3,7 @@ import React, { useReducer, useRef } from 'react'; import once from 'lodash/once'; -import { ImportResolverDelegate, LGParser } from 'botbuilder-lg'; +import { ImportResolverDelegate, TemplatesParser } from 'botbuilder-lg'; import { LgFile, LuFile } from '@bfc/indexers'; import { prepareAxios } from '../utils/auth'; @@ -17,7 +17,7 @@ import { State, ActionHandlers, BoundActionHandlers, MiddlewareApi, MiddlewareFu import { undoActionsMiddleware } from './middlewares/undo'; import { ActionType } from './action/types'; -const { defaultFileResolver } = LGParser; +const { defaultFileResolver } = TemplatesParser; const initialState: State = { dialogs: [], diff --git a/Composer/packages/extensions/visual-designer/src/hooks/useLgTemplate.ts b/Composer/packages/extensions/visual-designer/src/hooks/useLgTemplate.ts index 6d8cd30dd6..c2a906a6ac 100644 --- a/Composer/packages/extensions/visual-designer/src/hooks/useLgTemplate.ts +++ b/Composer/packages/extensions/visual-designer/src/hooks/useLgTemplate.ts @@ -2,17 +2,17 @@ // Licensed under the MIT License. import { useContext } from 'react'; -import { LGTemplate } from 'botbuilder-lg'; +import { Template } from 'botbuilder-lg'; import { LgTemplateRef } from '@bfc/shared'; import get from 'lodash/get'; import { NodeRendererContext } from '../store/NodeRendererContext'; import { normalizeLgTemplate } from '../utils/normalizeLgTemplate'; -export const queryLgTemplateFromFiles = (lgTemplateName: string, lgFiles: any): LGTemplate | undefined => { +export const queryLgTemplateFromFiles = (lgTemplateName: string, lgFiles: any): Template | undefined => { if (!Array.isArray(lgFiles)) return; - const allTemplates: LGTemplate[] = []; + const allTemplates: Template[] = []; for (const file of lgFiles) { const templates = get(file, 'templates'); if (Array.isArray(templates)) { diff --git a/Composer/packages/extensions/visual-designer/src/store/NodeRendererContext.ts b/Composer/packages/extensions/visual-designer/src/store/NodeRendererContext.ts index 14d752cbca..774ff4806a 100644 --- a/Composer/packages/extensions/visual-designer/src/store/NodeRendererContext.ts +++ b/Composer/packages/extensions/visual-designer/src/store/NodeRendererContext.ts @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { LGTemplate } from 'botbuilder-lg'; +import { Template } from 'botbuilder-lg'; import { ShellApi } from '@bfc/shared'; type ShellApiFuncs = @@ -18,7 +18,7 @@ export interface NodeRendererContextValue extends Pick focusedEvent?: string; focusedTab?: string; clipboardActions: any[]; - getLgTemplateSync: (lgTemplateName: string) => LGTemplate | undefined; + getLgTemplateSync: (lgTemplateName: string) => Template | undefined; } export const NodeRendererContext = React.createContext({ diff --git a/Composer/packages/extensions/visual-designer/src/utils/normalizeLgTemplate.ts b/Composer/packages/extensions/visual-designer/src/utils/normalizeLgTemplate.ts index 06ff15a07b..38600710c2 100644 --- a/Composer/packages/extensions/visual-designer/src/utils/normalizeLgTemplate.ts +++ b/Composer/packages/extensions/visual-designer/src/utils/normalizeLgTemplate.ts @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { LGTemplate } from 'botbuilder-lg'; +import { Template } from 'botbuilder-lg'; -export function normalizeLgTemplate(template: LGTemplate): string { +export function normalizeLgTemplate(template: Template): string { const templateTexts = template.body.split('\n').map(line => (line.startsWith('-') ? line.substring(1) : line)); let showText = ''; diff --git a/Composer/packages/lib/indexers/__tests__/lgUtil.test.ts b/Composer/packages/lib/indexers/__tests__/lgUtil.test.ts index 980a4ec95f..aa2cb5b60f 100644 --- a/Composer/packages/lib/indexers/__tests__/lgUtil.test.ts +++ b/Composer/packages/lib/indexers/__tests__/lgUtil.test.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { LGParser } from 'botbuilder-lg'; +import { Templates } from 'botbuilder-lg'; import { updateTemplate, addTemplate, removeTemplate } from '../src/utils/lgUtil'; @@ -15,7 +15,7 @@ describe('update lg template', () => { const template = { name: 'Exit', parameters: [], body: '-Bye' }; const newContent = updateTemplate(content, 'Exit', template); - const { templates }: any = LGParser.parseText(newContent); + const { templates }: any = Templates.parseText(newContent); expect(templates.length).toEqual(2); expect(templates[0].name).toEqual('Exit'); expect(templates[0].body).toEqual('-Bye'); @@ -31,7 +31,7 @@ describe('add lg template', () => { -What's up bro`; const template = { name: 'Hi', parameters: [], body: '-hello' }; const newContent = addTemplate(content, template); - const { templates }: any = LGParser.parseText(newContent); + const { templates }: any = Templates.parseText(newContent); expect(templates.length).toEqual(3); expect(templates[0].name).toEqual('Exit'); expect(templates[1].name).toEqual('Greeting'); @@ -47,7 +47,7 @@ describe('add lg template', () => { # Greeting -What's up bro`; const newContent = removeTemplate(content, 'Greeting'); - const { templates }: any = LGParser.parseText(newContent); + const { templates }: any = Templates.parseText(newContent); expect(templates.length).toEqual(1); expect(templates[0].name).toEqual('Exit'); }); diff --git a/Composer/packages/lib/indexers/src/lgIndexer.ts b/Composer/packages/lib/indexers/src/lgIndexer.ts index 58f53f8c65..8e6a06b74c 100644 --- a/Composer/packages/lib/indexers/src/lgIndexer.ts +++ b/Composer/packages/lib/indexers/src/lgIndexer.ts @@ -1,14 +1,14 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { LGParser, Diagnostic as LGDiagnostic, ImportResolverDelegate } from 'botbuilder-lg'; +import { Templates, TemplatesParser, Diagnostic as LGDiagnostic, ImportResolverDelegate } from 'botbuilder-lg'; import get from 'lodash/get'; import { getBaseName } from './utils/help'; import { LgTemplate, LgFile, FileInfo } from './type'; import { Diagnostic, Position, Range } from './diagnostic'; -const { defaultFileResolver } = LGParser; +const { defaultFileResolver } = TemplatesParser; // NOTE: LGDiagnostic is defined in PascalCase which should be corrected function convertLGDiagnostic(d: LGDiagnostic, source: string): Diagnostic { @@ -26,8 +26,8 @@ function parse( id = '', importResolver: ImportResolverDelegate = defaultFileResolver ): { templates: LgTemplate[]; diagnostics: Diagnostic[] } { - const lgFile = LGParser.parseText(content, id, importResolver); - const templates = lgFile.templates.map(t => { + const lgFile = Templates.parseText(content, id, importResolver); + const templates = lgFile.toArray().map(t => { return { name: t.name, body: t.body, diff --git a/Composer/packages/lib/indexers/src/utils/lgUtil.ts b/Composer/packages/lib/indexers/src/utils/lgUtil.ts index 5845a9c61d..2519b544cc 100644 --- a/Composer/packages/lib/indexers/src/utils/lgUtil.ts +++ b/Composer/packages/lib/indexers/src/utils/lgUtil.ts @@ -7,7 +7,7 @@ * */ -import { LGParser } from 'botbuilder-lg'; +import { Templates } from 'botbuilder-lg'; import { LgTemplate } from '../type'; @@ -35,9 +35,9 @@ export function updateTemplate( templateName: string, { name, parameters = [], body }: LgTemplate ): string { - const resource = LGParser.parseText(content); + const resource = Templates.parseText(content); // add if not exist - if (resource.templates.findIndex(t => t.name === templateName) === -1) { + if (resource.toArray().findIndex(t => t.name === templateName) === -1) { return resource.addTemplate(name, parameters, body).toString(); } else { return resource.updateTemplate(templateName, name, parameters, body).toString(); @@ -46,7 +46,7 @@ export function updateTemplate( // if name exist, throw error. export function addTemplate(content: string, { name, parameters = [], body }: LgTemplate): string { - const resource = LGParser.parseText(content); + const resource = Templates.parseText(content); return resource.addTemplate(name, parameters, body).toString(); } @@ -55,16 +55,16 @@ export function addTemplateAnyway( content: string, { name = 'TemplateName', parameters = [], body = '-TemplateBody' }: LgTemplate ): string { - const resource = LGParser.parseText(content); - const newName = increaseNameUtilNotExist(resource.templates, name); + const resource = Templates.parseText(content); + const newName = increaseNameUtilNotExist(resource.toArray(), name); return resource.addTemplate(newName, parameters, body).toString(); } // if toTemplateName exist, throw error. export function copyTemplate(content: string, fromTemplateName: string, toTemplateName: string): string { - const resource = LGParser.parseText(content); - const fromTemplate = resource.templates.find(t => t.name === fromTemplateName); + const resource = Templates.parseText(content); + const fromTemplate = resource.toArray().find(t => t.name === fromTemplateName); if (!fromTemplate) { throw new Error('fromTemplateName no exist'); } @@ -74,8 +74,8 @@ export function copyTemplate(content: string, fromTemplateName: string, toTempla // if toTemplateName exist, add it anyway, with name like `${toTemplateName}1` `${toTemplateName}2` export function copyTemplateAnyway(content: string, fromTemplateName: string, toTemplateName?: string): string { - const resource = LGParser.parseText(content); - const fromTemplate = resource.templates.find(t => t.name === fromTemplateName); + const resource = Templates.parseText(content); + const fromTemplate = resource.toArray().find(t => t.name === fromTemplateName); if (!fromTemplate) { return resource.toString(); } @@ -83,19 +83,19 @@ export function copyTemplateAnyway(content: string, fromTemplateName: string, to let newName = toTemplateName; if (!newName) { const copyName = `${fromTemplate.name}_Copy`; - newName = increaseNameUtilNotExist(resource.templates, copyName); + newName = increaseNameUtilNotExist(resource.toArray(), copyName); } const { parameters, body } = fromTemplate; return resource.addTemplate(newName, parameters, body).toString(); } export function removeTemplate(content: string, templateName: string): string { - const resource = LGParser.parseText(content); + const resource = Templates.parseText(content); return resource.deleteTemplate(templateName).toString(); } export function removeTemplates(content: string, templateNames: string[]): string { - let resource = LGParser.parseText(content); + let resource = Templates.parseText(content); templateNames.forEach(templateName => { resource = resource.deleteTemplate(templateName); }); @@ -128,7 +128,7 @@ export function textFromTemplates(templates: LgTemplate[]): string { export function checkSingleLgTemplate(template: LgTemplate) { const content = textFromTemplates([template]); - if (LGParser.parseText(content).templates.length !== 1) { + if (Templates.parseText(content).toArray().length !== 1) { throw new Error('Not a single template'); } } diff --git a/Composer/packages/lib/shared/src/types/shell.ts b/Composer/packages/lib/shared/src/types/shell.ts index 07d71b01b2..f94649010b 100644 --- a/Composer/packages/lib/shared/src/types/shell.ts +++ b/Composer/packages/lib/shared/src/types/shell.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { LGTemplate as LgTemplate } from 'botbuilder-lg'; +import { Template as LgTemplate } from 'botbuilder-lg'; export interface LuIntentSection { Name: string; diff --git a/Composer/packages/tools/language-servers/language-generation/src/LGServer.ts b/Composer/packages/tools/language-servers/language-generation/src/LGServer.ts index 3fb74d639e..9b9cc3a32f 100644 --- a/Composer/packages/tools/language-servers/language-generation/src/LGServer.ts +++ b/Composer/packages/tools/language-servers/language-generation/src/LGServer.ts @@ -19,7 +19,7 @@ import { import { TextDocumentPositionParams } from 'vscode-languageserver-protocol'; import get from 'lodash/get'; import { filterTemplateDiagnostics, isValid, MemoryResolver } from '@bfc/indexers'; -import { ImportResolverDelegate, LGParser } from 'botbuilder-lg'; +import { ImportResolverDelegate, Templates } from 'botbuilder-lg'; import { buildInfunctionsMap } from './builtinFunctionsMap'; import { @@ -219,7 +219,7 @@ export class LGServer { } const id = fileId || uri; - const { allTemplates, diagnostics } = LGParser.parseText(content, id, importResolver); + const { allTemplates, diagnostics } = Templates.parseText(content, id, importResolver); return { templates: allTemplates, diagnostics }; }; @@ -549,7 +549,7 @@ export class LGServer { this.sendDiagnostics(document, lspDiagnostics); return; } - const lgDiagnostics = LGParser.parseText(text, fileId || uri, this.getImportResolver(document)).diagnostics; + const lgDiagnostics = Templates.parseText(text, fileId || uri, this.getImportResolver(document)).diagnostics; const lspDiagnostics = convertDiagnostics(lgDiagnostics, document); this.sendDiagnostics(document, lspDiagnostics); } diff --git a/Composer/packages/tools/language-servers/language-generation/src/utils.ts b/Composer/packages/tools/language-servers/language-generation/src/utils.ts index 0280db5d88..78cb7a6c1b 100644 --- a/Composer/packages/tools/language-servers/language-generation/src/utils.ts +++ b/Composer/packages/tools/language-servers/language-generation/src/utils.ts @@ -2,7 +2,7 @@ // Licensed under the MIT License. import { TextDocument, Range, Position, DiagnosticSeverity, Diagnostic } from 'vscode-languageserver-types'; -import { DiagnosticSeverity as LGDiagnosticSeverity, Diagnostic as LGDiagnostic, LGParser } from 'botbuilder-lg'; +import { DiagnosticSeverity as LGDiagnosticSeverity, Diagnostic as LGDiagnostic, Templates } from 'botbuilder-lg'; import { LgTemplate, Diagnostic as BFDiagnostic, offsetRange, LgFile, LgParsed } from '@bfc/indexers'; // state should map to tokenizer state @@ -117,15 +117,15 @@ export function textFromTemplate(template: Template): string { export function checkTemplate(template: Template): LGDiagnostic[] { const text = textFromTemplate(template); - return LGParser.parseText(text, '').diagnostics.filter(diagnostic => { + return Templates.parseText(text, '').diagnostics.filter(diagnostic => { // ignore non-exist references in template body. return diagnostic.message.includes('does not have an evaluator') === false; }); } export function updateTemplate(content: string, name: string, body: string): string { - const lgFile = LGParser.parseText(content); - const template = lgFile.templates.find(t => t.name === name); + const lgFile = Templates.parseText(content); + const template = lgFile.toArray().find(t => t.name === name); // add if not exist if (!template) { return lgFile.addTemplate(name, [], body).toString(); From a33af42530666e299983290249cfc5290fdad7d1 Mon Sep 17 00:00:00 2001 From: zhixzhan Date: Thu, 26 Mar 2020 14:17:16 +0800 Subject: [PATCH 03/12] update api --- Composer/packages/lib/indexers/__tests__/lgUtil.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Composer/packages/lib/indexers/__tests__/lgUtil.test.ts b/Composer/packages/lib/indexers/__tests__/lgUtil.test.ts index aa2cb5b60f..6fd93892e4 100644 --- a/Composer/packages/lib/indexers/__tests__/lgUtil.test.ts +++ b/Composer/packages/lib/indexers/__tests__/lgUtil.test.ts @@ -15,7 +15,7 @@ describe('update lg template', () => { const template = { name: 'Exit', parameters: [], body: '-Bye' }; const newContent = updateTemplate(content, 'Exit', template); - const { templates }: any = Templates.parseText(newContent); + const templates = Templates.parseText(newContent).toArray(); expect(templates.length).toEqual(2); expect(templates[0].name).toEqual('Exit'); expect(templates[0].body).toEqual('-Bye'); @@ -31,7 +31,7 @@ describe('add lg template', () => { -What's up bro`; const template = { name: 'Hi', parameters: [], body: '-hello' }; const newContent = addTemplate(content, template); - const { templates }: any = Templates.parseText(newContent); + const templates = Templates.parseText(newContent).toArray(); expect(templates.length).toEqual(3); expect(templates[0].name).toEqual('Exit'); expect(templates[1].name).toEqual('Greeting'); @@ -47,7 +47,7 @@ describe('add lg template', () => { # Greeting -What's up bro`; const newContent = removeTemplate(content, 'Greeting'); - const { templates }: any = Templates.parseText(newContent); + const templates = Templates.parseText(newContent).toArray(); expect(templates.length).toEqual(1); expect(templates[0].name).toEqual('Exit'); }); From 81548dee960e50b02b6c1101c78b351405f4e9f3 Mon Sep 17 00:00:00 2001 From: zhixzhan Date: Fri, 27 Mar 2020 11:59:27 +0800 Subject: [PATCH 04/12] upgrade package --- Composer/packages/client/package.json | 2 +- Composer/packages/lib/indexers/package.json | 2 +- .../language-generation/package.json | 2 +- Composer/yarn.lock | 38 +++++++++---------- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Composer/packages/client/package.json b/Composer/packages/client/package.json index fcbbbbcb56..ae80a48bc4 100644 --- a/Composer/packages/client/package.json +++ b/Composer/packages/client/package.json @@ -25,7 +25,7 @@ "@reach/router": "^1.2.1", "adaptive-expressions": "^4.8.0-preview-110700", "axios": "^0.18.0", - "botbuilder-lg": "^4.9.0-preview-115026", + "botbuilder-lg": "^4.9.0-preview-115821", "format-message": "^6.2.3", "immer": "^5.2.0", "jwt-decode": "^2.2.0", diff --git a/Composer/packages/lib/indexers/package.json b/Composer/packages/lib/indexers/package.json index 7322d229c2..55405d2ec0 100644 --- a/Composer/packages/lib/indexers/package.json +++ b/Composer/packages/lib/indexers/package.json @@ -31,7 +31,7 @@ "@bfc/shared": "*", "@microsoft/bf-lu": "4.8.0-preview.111952", "adaptive-expressions": "^4.8.0-preview-110700", - "botbuilder-lg": "^4.9.0-preview-115026", + "botbuilder-lg": "^4.9.0-preview-115821", "lodash": "^4.17.15" } } diff --git a/Composer/packages/tools/language-servers/language-generation/package.json b/Composer/packages/tools/language-servers/language-generation/package.json index c5016bbef1..e08b5beffe 100644 --- a/Composer/packages/tools/language-servers/language-generation/package.json +++ b/Composer/packages/tools/language-servers/language-generation/package.json @@ -17,7 +17,7 @@ "dependencies": { "@bfc/indexers": "*", "adaptive-expressions": "^4.8.0-preview-110700", - "botbuilder-lg": "^4.9.0-preview-115026", + "botbuilder-lg": "^4.9.0-preview-115821", "request-light": "^0.2.2", "vscode-languageserver": "^5.3.0-next" }, diff --git a/Composer/yarn.lock b/Composer/yarn.lock index c70fd42606..d174afdc77 100644 --- a/Composer/yarn.lock +++ b/Composer/yarn.lock @@ -3957,10 +3957,10 @@ acorn@^7.1.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== -adaptive-expressions@4.9.0-preview-115026: - version "4.9.0-preview-115026" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/adaptive-expressions/-/adaptive-expressions-4.9.0-preview-115026.tgz#3ddbe933193be9d41d1f3776e8b9ad2c7f1b4f5d" - integrity sha1-PdvpMxk76dQdHzd26LmtLH8bT10= +adaptive-expressions@4.9.0-preview-115821: + version "4.9.0-preview-115821" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/adaptive-expressions/-/adaptive-expressions-4.9.0-preview-115821.tgz#8a8c3be7b8351ab489bce17d35c1ba72e6a57cf8" + integrity sha1-iow757g1GrSJvOF9NcG6cualfPg= dependencies: "@microsoft/recognizers-text-data-types-timex-expression" "^1.1.4" "@types/lru-cache" "^5.1.0" @@ -4919,30 +4919,30 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= -botbuilder-core@4.9.0-preview-115026: - version "4.9.0-preview-115026" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botbuilder-core/-/botbuilder-core-4.9.0-preview-115026.tgz#48107f1c77073d5a1704cda4a1071f785c16de76" - integrity sha1-SBB/HHcHPVoXBM2koQcfeFwW3nY= +botbuilder-core@4.9.0-preview-115821: + version "4.9.0-preview-115821" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botbuilder-core/-/botbuilder-core-4.9.0-preview-115821.tgz#32236c9ea7d3cb5a31d5ed20c59229ba7948410e" + integrity sha1-MiNsnqfTy1ox1e0gxZIpunlIQQ4= dependencies: assert "^1.4.1" - botframework-schema "4.9.0-preview-115026" + botframework-schema "4.9.0-preview-115821" -botbuilder-lg@^4.9.0-preview-115026: - version "4.9.0-preview-115026" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botbuilder-lg/-/botbuilder-lg-4.9.0-preview-115026.tgz#cab251e3384df82d0a9f70e2a689cc9d1cdb4b0e" - integrity sha1-yrJR4zhN+C0Kn3DiponMnRzbSw4= +botbuilder-lg@^4.9.0-preview-115821: + version "4.9.0-preview-115821" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botbuilder-lg/-/botbuilder-lg-4.9.0-preview-115821.tgz#6f7a46e1706e5caf414f3a709ebe815ae8113798" + integrity sha1-b3pG4XBuXK9BTzpwnr6BWugRN5g= dependencies: - adaptive-expressions "4.9.0-preview-115026" + adaptive-expressions "4.9.0-preview-115821" antlr4ts "0.5.0-alpha.1" - botbuilder-core "4.9.0-preview-115026" + botbuilder-core "4.9.0-preview-115821" lodash "^4.17.11" path "^0.12.7" uuid "^3.3.3" -botframework-schema@4.9.0-preview-115026: - version "4.9.0-preview-115026" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botframework-schema/-/botframework-schema-4.9.0-preview-115026.tgz#b882e36fa021449495e89a5e144c51fc625312e5" - integrity sha1-uILjb6AhRJSV6JpeFExR/GJTEuU= +botframework-schema@4.9.0-preview-115821: + version "4.9.0-preview-115821" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botframework-schema/-/botframework-schema-4.9.0-preview-115821.tgz#9f077b13d5f3b28f544e857c3f2df0d11e64788f" + integrity sha1-nwd7E9Xzso9UToV8Py3w0R5keI8= boxen@^1.2.1: version "1.3.0" From b1c84ae780a20dd6ee3f73f8bdc3a6abcff527dd Mon Sep 17 00:00:00 2001 From: zhixzhan Date: Tue, 7 Apr 2020 11:15:59 +0800 Subject: [PATCH 05/12] upgrade package --- Composer/packages/client/package.json | 2 +- Composer/packages/lib/indexers/package.json | 2 +- .../language-generation/package.json | 2 +- Composer/yarn.lock | 40 +++++-------------- 4 files changed, 12 insertions(+), 34 deletions(-) diff --git a/Composer/packages/client/package.json b/Composer/packages/client/package.json index ae80a48bc4..832af8952a 100644 --- a/Composer/packages/client/package.json +++ b/Composer/packages/client/package.json @@ -25,7 +25,7 @@ "@reach/router": "^1.2.1", "adaptive-expressions": "^4.8.0-preview-110700", "axios": "^0.18.0", - "botbuilder-lg": "^4.9.0-preview-115821", + "botbuilder-lg": "^4.9.0-preview-117748", "format-message": "^6.2.3", "immer": "^5.2.0", "jwt-decode": "^2.2.0", diff --git a/Composer/packages/lib/indexers/package.json b/Composer/packages/lib/indexers/package.json index 55405d2ec0..8322498886 100644 --- a/Composer/packages/lib/indexers/package.json +++ b/Composer/packages/lib/indexers/package.json @@ -31,7 +31,7 @@ "@bfc/shared": "*", "@microsoft/bf-lu": "4.8.0-preview.111952", "adaptive-expressions": "^4.8.0-preview-110700", - "botbuilder-lg": "^4.9.0-preview-115821", + "botbuilder-lg": "^4.9.0-preview-117748", "lodash": "^4.17.15" } } diff --git a/Composer/packages/tools/language-servers/language-generation/package.json b/Composer/packages/tools/language-servers/language-generation/package.json index e08b5beffe..86cabba5a6 100644 --- a/Composer/packages/tools/language-servers/language-generation/package.json +++ b/Composer/packages/tools/language-servers/language-generation/package.json @@ -17,7 +17,7 @@ "dependencies": { "@bfc/indexers": "*", "adaptive-expressions": "^4.8.0-preview-110700", - "botbuilder-lg": "^4.9.0-preview-115821", + "botbuilder-lg": "^4.9.0-preview-117748", "request-light": "^0.2.2", "vscode-languageserver": "^5.3.0-next" }, diff --git a/Composer/yarn.lock b/Composer/yarn.lock index d174afdc77..fd3888b804 100644 --- a/Composer/yarn.lock +++ b/Composer/yarn.lock @@ -3957,10 +3957,10 @@ acorn@^7.1.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== -adaptive-expressions@4.9.0-preview-115821: - version "4.9.0-preview-115821" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/adaptive-expressions/-/adaptive-expressions-4.9.0-preview-115821.tgz#8a8c3be7b8351ab489bce17d35c1ba72e6a57cf8" - integrity sha1-iow757g1GrSJvOF9NcG6cualfPg= +adaptive-expressions@4.9.0-preview-117748: + version "4.9.0-preview-117748" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/adaptive-expressions/-/adaptive-expressions-4.9.0-preview-117748.tgz#19373501962f88e23dbbaa5c8affa901a0a91b3a" + integrity sha1-GTc1AZYviOI9u6pciv+pAaCpGzo= dependencies: "@microsoft/recognizers-text-data-types-timex-expression" "^1.1.4" "@types/lru-cache" "^5.1.0" @@ -4350,14 +4350,6 @@ assert@^1.1.1: dependencies: util "0.10.3" -assert@^1.4.1: - version "1.5.0" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs= - dependencies: - object-assign "^4.1.1" - util "0.10.3" - assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" @@ -4919,31 +4911,17 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= -botbuilder-core@4.9.0-preview-115821: - version "4.9.0-preview-115821" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botbuilder-core/-/botbuilder-core-4.9.0-preview-115821.tgz#32236c9ea7d3cb5a31d5ed20c59229ba7948410e" - integrity sha1-MiNsnqfTy1ox1e0gxZIpunlIQQ4= - dependencies: - assert "^1.4.1" - botframework-schema "4.9.0-preview-115821" - -botbuilder-lg@^4.9.0-preview-115821: - version "4.9.0-preview-115821" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botbuilder-lg/-/botbuilder-lg-4.9.0-preview-115821.tgz#6f7a46e1706e5caf414f3a709ebe815ae8113798" - integrity sha1-b3pG4XBuXK9BTzpwnr6BWugRN5g= +botbuilder-lg@^4.9.0-preview-117748: + version "4.9.0-preview-117748" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botbuilder-lg/-/botbuilder-lg-4.9.0-preview-117748.tgz#818ebe001584d09c9d1021b57c48348f2d4c41f8" + integrity sha1-gY6+ABWE0JydECG1fEg0jy1MQfg= dependencies: - adaptive-expressions "4.9.0-preview-115821" + adaptive-expressions "4.9.0-preview-117748" antlr4ts "0.5.0-alpha.1" - botbuilder-core "4.9.0-preview-115821" lodash "^4.17.11" path "^0.12.7" uuid "^3.3.3" -botframework-schema@4.9.0-preview-115821: - version "4.9.0-preview-115821" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botframework-schema/-/botframework-schema-4.9.0-preview-115821.tgz#9f077b13d5f3b28f544e857c3f2df0d11e64788f" - integrity sha1-nwd7E9Xzso9UToV8Py3w0R5keI8= - boxen@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" From a901dbf305d73d6852e69d481f9eb7b969d9776f Mon Sep 17 00:00:00 2001 From: zhixzhan Date: Tue, 7 Apr 2020 18:11:35 +0800 Subject: [PATCH 06/12] update test --- .../language-servers/language-generation/__tests__/app.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Composer/packages/tools/language-servers/language-generation/__tests__/app.test.ts b/Composer/packages/tools/language-servers/language-generation/__tests__/app.test.ts index 70310ac633..96a7b89b59 100644 --- a/Composer/packages/tools/language-servers/language-generation/__tests__/app.test.ts +++ b/Composer/packages/tools/language-servers/language-generation/__tests__/app.test.ts @@ -112,7 +112,7 @@ describe('lg lsp server', () => { [ response => { expect(response.id).toEqual(2); - expect(response.result.contents[0]).toEqual('-Good evening'); + expect(response.result.contents[0]).toContain('-Good evening'); }, ] ); From 0369bef54012040acd9071ad70226ec053df1c46 Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Tue, 7 Apr 2020 09:51:32 -0700 Subject: [PATCH 07/12] Update Composer/packages/client/package.json Co-Authored-By: Andy Brown --- Composer/packages/client/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Composer/packages/client/package.json b/Composer/packages/client/package.json index 8bffb79c38..45732a845e 100644 --- a/Composer/packages/client/package.json +++ b/Composer/packages/client/package.json @@ -37,7 +37,7 @@ "@uifabric/styling": "^7.10.4", "adaptive-expressions": "^4.8.0-preview-110700", "axios": "^0.18.0", - "botbuilder-lg": "^4.9.0-preview-117748", + "botbuilder-lg": "4.9.0-preview-117748", "format-message": "^6.2.3", "immer": "^5.2.0", "jwt-decode": "^2.2.0", From b2f220efd32294ce419e1de2953843e031f30a1b Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Tue, 7 Apr 2020 09:51:41 -0700 Subject: [PATCH 08/12] Update Composer/packages/lib/indexers/package.json Co-Authored-By: Andy Brown --- Composer/packages/lib/indexers/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Composer/packages/lib/indexers/package.json b/Composer/packages/lib/indexers/package.json index 80ed5c08cd..3bd3a3a0da 100644 --- a/Composer/packages/lib/indexers/package.json +++ b/Composer/packages/lib/indexers/package.json @@ -31,7 +31,7 @@ "@bfc/shared": "*", "@microsoft/bf-lu": "^4.9.0-preview.115707", "adaptive-expressions": "^4.8.0-preview-110700", - "botbuilder-lg": "^4.9.0-preview-117748", + "botbuilder-lg": "4.9.0-preview-117748", "lodash": "^4.17.15" } } From 4d731efda3a0b672d9014e3ec0562ea642676b15 Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Tue, 7 Apr 2020 09:51:48 -0700 Subject: [PATCH 09/12] Update Composer/packages/tools/language-servers/language-generation/package.json Co-Authored-By: Andy Brown --- .../tools/language-servers/language-generation/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Composer/packages/tools/language-servers/language-generation/package.json b/Composer/packages/tools/language-servers/language-generation/package.json index 86cabba5a6..eb4a27ef1c 100644 --- a/Composer/packages/tools/language-servers/language-generation/package.json +++ b/Composer/packages/tools/language-servers/language-generation/package.json @@ -17,7 +17,7 @@ "dependencies": { "@bfc/indexers": "*", "adaptive-expressions": "^4.8.0-preview-110700", - "botbuilder-lg": "^4.9.0-preview-117748", + "botbuilder-lg": "4.9.0-preview-117748", "request-light": "^0.2.2", "vscode-languageserver": "^5.3.0-next" }, From 725d0fa0bf76f7ddcb36b701ca11809f56f22ead Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Tue, 7 Apr 2020 10:53:22 -0700 Subject: [PATCH 10/12] Update package.json --- Composer/packages/client/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Composer/packages/client/package.json b/Composer/packages/client/package.json index 45732a845e..8bffb79c38 100644 --- a/Composer/packages/client/package.json +++ b/Composer/packages/client/package.json @@ -37,7 +37,7 @@ "@uifabric/styling": "^7.10.4", "adaptive-expressions": "^4.8.0-preview-110700", "axios": "^0.18.0", - "botbuilder-lg": "4.9.0-preview-117748", + "botbuilder-lg": "^4.9.0-preview-117748", "format-message": "^6.2.3", "immer": "^5.2.0", "jwt-decode": "^2.2.0", From 1917ef43714057cb4e089a2f8dd75faf69935a2e Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Tue, 7 Apr 2020 10:53:44 -0700 Subject: [PATCH 11/12] Update package.json --- Composer/packages/lib/indexers/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Composer/packages/lib/indexers/package.json b/Composer/packages/lib/indexers/package.json index 3bd3a3a0da..80ed5c08cd 100644 --- a/Composer/packages/lib/indexers/package.json +++ b/Composer/packages/lib/indexers/package.json @@ -31,7 +31,7 @@ "@bfc/shared": "*", "@microsoft/bf-lu": "^4.9.0-preview.115707", "adaptive-expressions": "^4.8.0-preview-110700", - "botbuilder-lg": "4.9.0-preview-117748", + "botbuilder-lg": "^4.9.0-preview-117748", "lodash": "^4.17.15" } } From 3964a357d9148ac247e3b0ca59fdc80e4c103a70 Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Tue, 7 Apr 2020 10:54:06 -0700 Subject: [PATCH 12/12] Update package.json --- .../tools/language-servers/language-generation/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Composer/packages/tools/language-servers/language-generation/package.json b/Composer/packages/tools/language-servers/language-generation/package.json index eb4a27ef1c..86cabba5a6 100644 --- a/Composer/packages/tools/language-servers/language-generation/package.json +++ b/Composer/packages/tools/language-servers/language-generation/package.json @@ -17,7 +17,7 @@ "dependencies": { "@bfc/indexers": "*", "adaptive-expressions": "^4.8.0-preview-110700", - "botbuilder-lg": "4.9.0-preview-117748", + "botbuilder-lg": "^4.9.0-preview-117748", "request-light": "^0.2.2", "vscode-languageserver": "^5.3.0-next" },