nx-plugins
nx-plugins copied to clipboard
Can't not find handler module when subscribe SNS
Error
Error: Cannot find module '/Users/poonnguyen/infina/infina-stock-api-v2/apps/firm-banking/serverless/Users/poonnguyen/infina/infina-stock-api-v2/dist/apps/firm-banking/serverless/src/main'
Require stack:
- /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/serverless-offline-sns/dist/index.js
- /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/serverless/lib/utils/require-with-import-fallback.js
- /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/serverless/lib/classes/plugin-manager.js
- /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/serverless/lib/serverless.js
- /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/serverless/scripts/serverless.js
- /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/serverless/bin/serverless.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:956:15)
at Function.Module._load (node:internal/modules/cjs/loader:804:27)
at Module.require (node:internal/modules/cjs/loader:1028:19)
at require (node:internal/modules/cjs/helpers:102:18)
at /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/serverless-offline-sns/dist/index.js:573:27
at /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/serverless-offline-sns/dist/sns-adapter.js:208:48
at Layer.handle [as handle_request] (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/route.js:144:13)
at Route.dispatch (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/route.js:114:3)
at Layer.handle [as handle_request] (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/layer.js:95:5)
at /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:284:15
at Function.process_params (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:346:12)
at next (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:280:10)
at /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/serverless-offline-sns/dist/sns-server.js:29:13
at Layer.handle [as handle_request] (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:328:13)
at /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:346:12)
at next (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:280:10)
at urlencodedParser (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/body-parser/lib/types/urlencoded.js:82:7)
at Layer.handle [as handle_request] (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:328:13)
at /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:346:12)
at next (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:280:10)
at jsonParser (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/body-parser/lib/types/json.js:101:7)
at Layer.handle [as handle_request] (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:328:13)
at /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:346:12)
at next (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/express/lib/router/index.js:280:10)
at /Users/poonnguyen/infina/infina-stock-api-v2/node_modules/body-parser/lib/read.js:137:5
at AsyncResource.runInAsyncScope (node:async_hooks:203:9)
at invokeCallback (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/raw-body/index.js:231:16)
at done (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/raw-body/index.js:220:7)
at IncomingMessage.onEnd (/Users/poonnguyen/infina/infina-stock-api-v2/node_modules/raw-body/index.js:280:7)
at IncomingMessage.emit (node:events:525:35)
at IncomingMessage.emit (node:domain:489:12)
at endReadableNT (node:internal/streams/readable:1358:12)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
I found the root cause from serverless-offline-sns plugin. It makes location is wrong when init
ServerlessOfflineSns.prototype.init = function () {
process.env = _.extend({}, this.serverless.service.provider.environment, process.env);
this.config =
this.serverless.service.custom["serverless-offline-sns"] || {};
this.localPort = this.config.port || this.config.localPort || 4002;
this.remotePort = this.config.port || this.config.remotePort || 4002;
this.accountId = this.config.accountId || "123456789012";
var offlineConfig = this.serverless.service.custom["serverless-offline"] || {};
this.servicesDirectory = this.config.servicesDirectory || "";
this.location = process.cwd();
var locationRelativeToCwd = this.options.location || this.config.location || offlineConfig.location;
if (locationRelativeToCwd) {
this.location = process.cwd() + "/" + locationRelativeToCwd;
}
else if (this.serverless.config.servicePath) {
this.location = this.serverless.config.servicePath;
}
if (this.serverless.service.provider.region) {
this.region = this.serverless.service.provider.region;
}
else {
this.region = "us-east-1";
}
// Congure SNS client to be able to find us.
AWS.config.sns = {
endpoint: "http://127.0.0.1:" + this.localPort,
region: this.region,
};
};
Is it ok to close then? It looks like an issue on serverless-offline-sns side.
Ya...
Now I workaround it with this custom

This can be better when we can workaround it in integrations
@Bielik20 close?