examples icon indicating copy to clipboard operation
examples copied to clipboard

serverless-single-page-app-plugin TypeError: Cannot read property 'toString' of null

Open StErMi opened this issue 5 years ago • 2 comments

Hi all,

when I try to pass a custom profile I get this error:

> serverless publishSite

 
  Type Error ---------------------------------------------
 
  TypeError: Cannot read property 'toString' of null
      at ServerlessPlugin.runAwsCommand (C:\Users\MY_WORKSPACE_PATH\serverless-single-page-app-plugin\index.js:47:34)
      at ServerlessPlugin.syncDirectory (C:\Users\MY_WORKSPACE_PATH\serverless-single-page-app-plugin\index.js:66:28)
      at ServerlessPlugin.publishSite (C:\Users\MY_WORKSPACE_PATH\serverless-single-page-app-plugin\index.js:151:10)
      at C:\Users\MY_USER\AppData\Roaming\npm\node_modules\serverless\lib\classes\PluginManager.js:490:55
      at tryCatcher (C:\Users\MY_USER\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\util.js:16:23)
      at Object.gotValue (C:\Users\MY_USER\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\reduce.js:168:18)
      at Object.gotAccum (C:\Users\MY_USER\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\reduce.js:155:25)
      at Object.tryCatcher (C:\Users\MY_USER\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\util.js:16:23)
      at Promise._settlePromiseFromHandler (C:\Users\MY_USER\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\promise.js:547:31)
      at Promise._settlePromise (C:\Users\MY_USER\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\promise.js:604:18)
      at Promise._settlePromiseCtx (C:\Users\MY_USER\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\promise.js:641:10)
      at _drainQueueStep (C:\Users\MY_USER\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\async.js:97:12)
      at _drainQueue (C:\Users\MY_USER\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\async.js:86:9)
      at Async._drainQueues (C:\Users\MY_USER\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\async.js:102:5)
      at Immediate.Async.drainQueues (C:\Users\MY_USER\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\async.js:15:14)
      at processImmediate (internal/timers.js:439:21)
      at process.topLevelDomainCallback (domain.js:126:23)
 
     For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.
 
  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com

  Your Environment Information ---------------------------
     Operating System:          win32
     Node Version:              12.0.0
     Framework Version:         1.71.1
     Plugin Version:            3.6.12
     SDK Version:               2.3.0
     Components Version:        2.30.10

The error is on the const stdout = result.stdout.toString(); of the runAwsCommand function

StErMi avatar May 18 '20 08:05 StErMi

I'm also experiencing this issue.

scottmetoyer avatar Jun 02 '20 15:06 scottmetoyer

in serverless-single-page-app-plugin/index.js add shell:true option when spawnSync.

from

 const result = spawnSync(command, args);

to

 const result = spawnSync(command, args, {
      shell: true
    });

bdhwan avatar Jun 19 '20 13:06 bdhwan