Error importing "fyers-api-v3" in next.js, which states Critical dependency: the request of a dependency is an expression

I am getting a module not found error while trying to use this line of code

const FyersAPI = require("fyers-api-v3").fyersModel;

the detailed error is :

⚠ ./node_modules/fyers-api-v3/HSM/datasocket.min.js

Critical dependency: the request of a dependency is an expression

Import trace for requested module:

./node_modules/fyers-api-v3/HSM/datasocket.min.js

./node_modules/fyers-api-v3/index.js

./src/app/api/connect-broker/route.ts

./node_modules/fyers-api-v3/HSM/datasocket.min.js

Critical dependency: the request of a dependency is an expression

Import trace for requested module:

./node_modules/fyers-api-v3/HSM/datasocket.min.js

./node_modules/fyers-api-v3/index.js

./src/app/api/connect-broker/route.ts

⨯ Error: Cannot find module '../HSM_Package/hslib.js'

at webpackEmptyContext (D:\development\trading-app\.next\server\app\api\connect-broker\route.js:73:10)

at eval (webpack-internal:///(rsc)/./node_modules/fyers-api-v3/HSM/datasocket.min.js:2:1401)

at (rsc)/./node_modules/fyers-api-v3/HSM/datasocket.min.js (D:\development\trading-app\.next\server\vendor-chunks\fyers-api-v3.js:19:1)

at __webpack_require__ (D:\development\trading-app\.next\server\webpack-runtime.js:33:43)

at eval (webpack-internal:///(rsc)/./node_modules/fyers-api-v3/index.js:4:22)

at (rsc)/./node_modules/fyers-api-v3/index.js (D:\development\trading-app\.next\server\vendor-chunks\fyers-api-v3.js:71:1)

at __webpack_require__ (D:\development\trading-app\.next\server\webpack-runtime.js:33:43)

at eval (webpack-internal:///(rsc)/./src/app/api/connect-broker/route.ts:12:19)

at (rsc)/./src/app/api/connect-broker/route.ts (D:\development\trading-app\.next\server\app\api\connect-broker\route.js:331:1)

at __webpack_require__ (D:\development\trading-app\.next\server\webpack-runtime.js:33:43)

at eval (webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapi%2Fconnect-broker%2Froute&page=%2Fapi%2Fconnect-broker%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Fconnect-broker%2Froute.ts&appDir=D%3A%5Cdevelopment%5Ctrading-app%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=D%3A%5Cdevelopment%5Ctrading-app&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!:15:119)

at (rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapi%2Fconnect-broker%2Froute&page=%2Fapi%2Fconnect-broker%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Fconnect-broker%2Froute.ts&appDir=D%3A%5Cdevelopment%5Ctrading-app%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=D%3A%5Cdevelopment%5Ctrading-app&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! (D:\development\trading-app\.next\server\app\api\connect-broker\route.js:320:1)

at __webpack_require__ (D:\development\trading-app\.next\server\webpack-runtime.js:33:43)

at __webpack_exec__ (D:\development\trading-app\.next\server\app\api\connect-broker\route.js:363:39)

at D:\development\trading-app\.next\server\app\api\connect-broker\route.js:364:504

at __webpack_require__.X (D:\development\trading-app\.next\server\webpack-runtime.js:128:21)

at D:\development\trading-app\.next\server\app\api\connect-broker\route.js:364:47

at Object.<anonymous> (D:\development\trading-app\.next\server\app\api\connect-broker\route.js:367:3)

at Module._compile (node:internal/modules/cjs/loader:1469:14)

at Module._extensions..js (node:internal/modules/cjs/loader:1548:10)

at Module.load (node:internal/modules/cjs/loader:1288:32)

at Module._load (node:internal/modules/cjs/loader:1104:12)

at Module.require (node:internal/modules/cjs/loader:1311:19)

at mod.require (D:\development\trading-app\node_modules\next\dist\server\require-hook.js:65:28)

at require (node:internal/modules/helpers:179:18)

at requirePage (D:\development\trading-app\node_modules\next\dist\server\require.js:109:84)

at D:\development\trading-app\node_modules\next\dist\server\load-components.js:98:84

at async loadComponentsImpl (D:\development\trading-app\node_modules\next\dist\server\load-components.js:98:26)

at async DevServer.findPageComponentsImpl (D:\development\trading-app\node_modules\next\dist\server\next-server.js:709:36)

at async DevServer.findPageComponents (D:\development\trading-app\node_modules\next\dist\server\dev\next-dev-server.js:577:20)

at async DevServer.renderPageComponent (D:\development\trading-app\node_modules\next\dist\server\base-server.js:1887:24)

at async DevServer.renderToResponseImpl (D:\development\trading-app\node_modules\next\dist\server\base-server.js:1939:32)

at async DevServer.pipeImpl (D:\development\trading-app\node_modules\next\dist\server\base-server.js:914:25)

at async NextNodeServer.handleCatchallRenderRequest (D:\development\trading-app\node_modules\next\dist\server\next-server.js:272:17)

at async DevServer.handleRequestImpl (D:\development\trading-app\node_modules\next\dist\server\base-server.js:810:17)

at async D:\development\trading-app\node_modules\next\dist\server\dev\next-dev-server.js:339:20

at async Span.traceAsyncFn (D:\development\trading-app\node_modules\next\dist\trace\trace.js:154:20)

at async DevServer.handleRequest (D:\development\trading-app\node_modules\next\dist\server\dev\next-dev-server.js:336:24)

at async invokeRender (D:\development\trading-app\node_modules\next\dist\server\lib\router-server.js:173:21)

at async handleRequest (D:\development\trading-app\node_modules\next\dist\server\lib\router-server.js:350:24)

at async requestHandlerImpl (D:\development\trading-app\node_modules\next\dist\server\lib\router-server.js:374:13)

at async Server.requestListener (D:\development\trading-app\node_modules\next\dist\server\lib\start-server.js:141:13) {

code: 'MODULE_NOT_FOUND',

page: '/api/connect-broker'

}

Best reply by Abhishek

Hey Sujeet Yadav

Could you please use web SDK instead of the Node SDK and check

View original
4 replies