examples
examples copied to clipboard
serverless-single-page-app-plugin TypeError: Cannot read property 'toString' of null
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
I'm also experiencing this issue.
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
});