We have tried out directline speech sample in SharePoint page using Modern script editor webpart. It is working in SharePoint but it will be only specific to that page.
We want to avail bot on each page. For that purpose we are using SPFX Application Customizer Extension. SPFX currently supports only node version 10.
When we tried out with higher version of botframework-webchat in spfx solution, we found out it have compatibility issues with node version 10. As you can find in screenshot:

Botframework-directlinespeech-sdk are not compatible with node version 10, which is only node version supported by SPFX 1.11.

Can you please provide botframework-directlinespeech-sdk which is compatible with node 10. Or let us know any alternative.
@compulim could you please weigh in on this question and triage?
@jayarau Are you trying to run botframework-directlinespeech-sdk in a server, or, in a browser?
@jayarau Are you trying to run botframework-directlinespeech-sdk in a server, or, in a browser?
Hi @msomanathan , We are not trying to botframework-directlinespeech on server. We just need botframework-directlinespeech package to integrate bot in SharePoint Site. For integrating bot we are using SPFX(SharePoint Framework) Extension.
I am not an expert of SharePoint. But if you are not running DLSpeech SDK on a server, Node.js version should not matter because you shouldn't be running DLSpeech SDK on Node.js.
As I can see, the latest version of SPFx is 1.11.0 of 2020 July. This installation page said it support Node.js 10 LTS only, which is 10.24.0.
But according to Node.js releases page, Node.js 10 LTS will be discontinued on 2021-04-30, which is a month away. The current active LTS is Node.js 14.
I have looked at our dependency tree. While it's okay to de-bump our Node.js requirement to 10.14.2, the work will be scheduled to our R14 release, which will be released in about 1-3 months of time. And when we release, Node.js 10 support has already ended.
@jayarau can you check with SharePoint team to see if SPFx 1.12.0 with support of Node.js 12 LTS or 14 LTS is around the corner or not?
FYI, following is a walk of our deps tree, showing Node.js deps that do not satisfy 10.0.0. It will satisfy almost all of them on Node.js 10.14.2, and just failing watchpack-chokidar2, which requires Node.js <8.10.0.
[email protected] is required by [email protected] and [email protected]. [email protected] has the engines.node requirement removed. A deps bump will get [email protected] and [email protected], without the need to bump webpack since it depends on watchpack@^1.7.4.
node_modules/@eslint/eslintrc @eslint/eslintrc { node: '^10.12.0 || >=12.0.0' }
node_modules/@jest/console @jest/console { node: '>= 10.14.2' }
node_modules/@jest/core @jest/core { node: '>= 10.14.2' }
node_modules/@jest/environment @jest/environment { node: '>= 10.14.2' }
node_modules/@jest/fake-timers @jest/fake-timers { node: '>= 10.14.2' }
node_modules/@jest/globals @jest/globals { node: '>= 10.14.2' }
node_modules/@jest/reporters @jest/reporters { node: '>= 10.14.2' }
node_modules/@jest/source-map @jest/source-map { node: '>= 10.14.2' }
node_modules/@jest/test-result @jest/test-result { node: '>= 10.14.2' }
node_modules/@jest/test-sequencer @jest/test-sequencer { node: '>= 10.14.2' }
node_modules/@jest/transform @jest/transform { node: '>= 10.14.2' }
node_modules/@jest/types @jest/types { node: '>= 10.14.2' }
node_modules/@typescript-eslint/eslint-plugin @typescript-eslint/eslint-plugin { node: '^10.12.0 || >=12.0.0' }
node_modules/@typescript-eslint/experimental-utils @typescript-eslint/experimental-utils { node: '^10.12.0 || >=12.0.0' }
node_modules/@typescript-eslint/parser @typescript-eslint/parser { node: '^10.12.0 || >=12.0.0' }
node_modules/@typescript-eslint/scope-manager @typescript-eslint/scope-manager { node: '^8.10.0 || ^10.13.0 || >=11.10.1' }
node_modules/@typescript-eslint/types @typescript-eslint/types { node: '^8.10.0 || ^10.13.0 || >=11.10.1' }
node_modules/@typescript-eslint/typescript-estree @typescript-eslint/typescript-estree { node: '^10.12.0 || >=12.0.0' }
node_modules/@typescript-eslint/visitor-keys @typescript-eslint/visitor-keys { node: '^8.10.0 || ^10.13.0 || >=11.10.1' }
node_modules/babel-jest babel-jest { node: '>= 10.14.2' }
node_modules/babel-plugin-jest-hoist babel-plugin-jest-hoist { node: '>= 10.14.2' }
node_modules/babel-preset-jest babel-preset-jest { node: '>= 10.14.2' }
node_modules/cross-env cross-env { node: '>=10.14', npm: '>=6', yarn: '>=1' }
node_modules/diff-sequences diff-sequences { node: '>= 10.14.2' }
node_modules/eslint eslint { node: '^10.12.0 || >=12.0.0' }
node_modules/espree espree { node: '^10.12.0 || >=12.0.0' }
node_modules/expect expect { node: '>= 10.14.2' }
node_modules/jest jest { node: '>= 10.14.2' }
node_modules/jest-changed-files jest-changed-files { node: '>= 10.14.2' }
node_modules/jest-config jest-config { node: '>= 10.14.2' }
node_modules/jest-diff jest-diff { node: '>= 10.14.2' }
node_modules/jest-docblock jest-docblock { node: '>= 10.14.2' }
node_modules/jest-each jest-each { node: '>= 10.14.2' }
node_modules/jest-environment-jsdom jest-environment-jsdom { node: '>= 10.14.2' }
node_modules/jest-environment-node jest-environment-node { node: '>= 10.14.2' }
node_modules/jest-get-type jest-get-type { node: '>= 10.14.2' }
node_modules/jest-haste-map jest-haste-map { node: '>= 10.14.2' }
node_modules/jest-jasmine2 jest-jasmine2 { node: '>= 10.14.2' }
node_modules/jest-leak-detector jest-leak-detector { node: '>= 10.14.2' }
node_modules/jest-matcher-utils jest-matcher-utils { node: '>= 10.14.2' }
node_modules/jest-message-util jest-message-util { node: '>= 10.14.2' }
node_modules/jest-mock jest-mock { node: '>= 10.14.2' }
node_modules/jest-regex-util jest-regex-util { node: '>= 10.14.2' }
node_modules/jest-resolve jest-resolve { node: '>= 10.14.2' }
node_modules/jest-resolve-dependencies jest-resolve-dependencies { node: '>= 10.14.2' }
node_modules/jest-runner jest-runner { node: '>= 10.14.2' }
node_modules/jest-runtime jest-runtime { node: '>= 10.14.2' }
node_modules/jest-serializer jest-serializer { node: '>= 10.14.2' }
node_modules/jest-snapshot jest-snapshot { node: '>= 10.14.2' }
node_modules/jest-util jest-util { node: '>= 10.14.2' }
node_modules/jest-validate jest-validate { node: '>= 10.14.2' }
node_modules/jest-watcher jest-watcher { node: '>= 10.14.2' }
node_modules/jest-worker jest-worker { node: '>= 10.13.0' }
node_modules/prettier prettier { node: '>=10.13.0' }
node_modules/source-map-loader source-map-loader { node: '>= 10.13.0' }
node_modules/v8-to-istanbul v8-to-istanbul { node: '>=10.10.0' }
node_modules/watchpack-chokidar2 watchpack-chokidar2 { node: '<8.10.0' }
node_modules/webidl-conversions webidl-conversions { node: '>=10.4' }
node_modules/webpack-cli webpack-cli { node: '>=10.13.0' }
SPFx has a community meetup bi-weekly on Thursday. You can join their meetups and ask them if about their plan to bump to Node.js 12/14 LTS. Because at the end of this month, Node.js 10 LTS will no longer be supported.
SPFX 1.12 was released on March 15, 2021. But Version 1.12 release is currently considered as deprecated and has been unpublished due the unexpected regressions.
From the release node of SPFx 1.12.1, I think the SharePoint team recognize the importance of Node.js 12/14 in SPFx 1.12.0. But they accidentally tripped the deadline due to unexpected regressions.
We will de-bump our engine requirement to 10.14.2. But due to our shipping cycle, I can't guarantee if it will be released sooner than SPFx 1.12.1 or later (21Q2). We should have a release around end of May, but it's not a guarantee.
@jayarau Does it work for you?
Also, I would love to learn how to integrate Web Chat (or other React components) with SPFx. Could you send me your favorite tutorials on this topic?
Personally, I would love to see if we can setup a new test that consistently test hosting Web Chat inside (dev bench) of SPFx. And/or, having a new sample teaching end-dev how to host Web Chat in SPFx the right way. Can't guarantee anything here, but I would see it as an opportunity for us to reduce our workload on supporting SPFx through automation. And at the same time, empowering our customers. :smile:
Hi @compulim ,
Yes, It will work for us.
For integrating webchat with spfx we have referred below link. You can take look into that.
https://www.withum.com/resources/build-a-custom-chat-bot-with-sharepoint-framework/
Most helpful comment
From the release node of SPFx 1.12.1, I think the SharePoint team recognize the importance of Node.js 12/14 in SPFx 1.12.0. But they accidentally tripped the deadline due to unexpected regressions.
We will de-bump our engine requirement to 10.14.2. But due to our shipping cycle, I can't guarantee if it will be released sooner than SPFx 1.12.1 or later (21Q2). We should have a release around end of May, but it's not a guarantee.
@jayarau Does it work for you?
Also, I would love to learn how to integrate Web Chat (or other React components) with SPFx. Could you send me your favorite tutorials on this topic?
Personally, I would love to see if we can setup a new test that consistently test hosting Web Chat inside (dev bench) of SPFx. And/or, having a new sample teaching end-dev how to host Web Chat in SPFx the right way. Can't guarantee anything here, but I would see it as an opportunity for us to reduce our workload on supporting SPFx through automation. And at the same time, empowering our customers. :smile: