nx-plugins icon indicating copy to clipboard operation
nx-plugins copied to clipboard

Can't not find handler module when subscribe SNS

Open doonpy opened this issue 2 years ago • 3 comments

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)

doonpy avatar Mar 10 '23 04:03 doonpy

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,
        };
    };

doonpy avatar Mar 10 '23 05:03 doonpy

Is it ok to close then? It looks like an issue on serverless-offline-sns side.

Bielik20 avatar Mar 22 '23 09:03 Bielik20

Ya... Now I workaround it with this custom image

This can be better when we can workaround it in integrations

doonpy avatar Mar 22 '23 16:03 doonpy

@Bielik20 close?

nponeccop avatar Sep 05 '24 12:09 nponeccop