Debugging "serverless-webpack": GraphQL error: Lambda-publishService services throw an error during a call

Using "serverless-webpack", attempted deployment. I give out SLS_DEBUG=* sls deploy --verbose, and everything will be fine so far:

Serverless: Couldn't publish this deploy information to the Serverless Platform.

  Error --------------------------------------------------

  GraphQL error: Lambda services-publishService threw an Error during invocation

     For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.

  Stack Trace --------------------------------------------

Error: GraphQL error: Lambda services-publishService threw an Error during invocation
    at new ApolloError (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/apollo-client/apollo.umd.js:1975:28)
    at /Users/jamesfishwick/Documents/get-mobile-screen/node_modules/apollo-client/apollo.umd.js:2889:33
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
From previous event:
    at fetchEndpoint.then.endpoint (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/plugins/platform/platform.js:168:16)
From previous event:
    at provider.getAccountId.then.accountId (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/plugins/platform/platform.js:119:51)
From previous event:
    at Platform.publishService (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/plugins/platform/platform.js:118:41)
    at BbPromise.reduce (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/classes/PluginManager.js:261:55)
From previous event:
    at PluginManager.invoke (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/classes/PluginManager.js:261:22)
    at PluginManager.run (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/classes/PluginManager.js:292:17)
    at variables.populateService.then (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/Serverless.js:99:33)
    at runCallback (timers.js:781:20)
    at tryOnImmediate (timers.js:743:5)
    at processImmediate [as _immediateCallback] (timers.js:714:5)
From previous event:
    at Serverless.run (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/Serverless.js:86:74)
    at serverless.init.then (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/bin/serverless:39:50)
    at <anonymous>

Not quite sure where to start.

My.babelrc (using babel-preset-env):

    {
  "plugins": ["transform-runtime", "ramda"],
  "presets": [
    [
      "env",
      {
        "targets": {
          "node": "6.10"
        },
        "modules": false,
        "loose": true,
        "debug": true
      }
    ]
  ]
}

My "webpack.config.js":

var nodeExternals = require('webpack-node-externals');

module.exports = {
  entry: './handler.js',
  externals: [nodeExternals()], // in order to ignore all modules in node_modules folder
  target: 'node',
  module: {
    loaders: [
      {
        test: /\.js$/,
        exclude: /node_modules/, // in order to ignore built-in modules like path, fs, etc.
        loaders: ['babel-loader'],
        include: __dirname,
      },
    ],
  },
};

(relevant) "serverless.yml":

service: get-mobile-screen

provider:
  name: aws
  runtime: nodejs6.10

custom:
  webpackIncludeModules:
    packagePath: './package.json'

functions:
  index:
    handler: handler.getMobileScreen
    events:
      - http: GET getMobileScreen

plugins:
  - serverless-webpack
  - serverless-offline  
+4
source share
1 answer

I think the problem is that the apollo-client library uses rollup to create UMD ... and webpack has problems with UMD. Great, what are you doing?

Webpack . ... , apollo?

+2

Source: https://habr.com/ru/post/1685183/


All Articles