serverless-stack-demo-api icon indicating copy to clipboard operation
serverless-stack-demo-api copied to clipboard

Running webpack for local testing

Open goldytech opened this issue 8 years ago • 3 comments
trafficstars

Hi, I have created a local js file with its dependency getting import in the handler.js as below

import JsonValidator from './src/jsonvalidator'

Now when i run this on local for testing purpose using mock event json. I'm getting error import undrfined error

This is because i assume the code is not getting transpiled in local and only when it gets deployed.

So how do i transpile my code for local debugging and testing ?

goldytech avatar Oct 12 '17 13:10 goldytech

@goldytech It does transpile on local. We cover this in the tutorial. In this chapter for example - https://serverless-stack.com/chapters/add-a-get-note-api.html. When we run the serverless invoke local --function get --path mocks/get-event.json, it transpiles the given function handler.

jayair avatar Oct 12 '17 18:10 jayair

I've pushed my code on Github https://github.com/goldytech/aws-serverless When i run the command serverless invoke local --function hello --path mocks/data-event.json

I get this error

/home/dave/lf-bi-api/handler.js:2
import JsonValidator from './src/jsonvalidator'
^^^^^^
SyntaxError: Unexpected token import
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:542:28)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at AwsInvokeLocal.invokeLocalNodeJs (/home/dave/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/lib/plugins/aws/invokeLocal/index.js:251:33)
    at AwsInvokeLocal.invokeLocal (/home/dave/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/lib/plugins/aws/invokeLocal/index.js:125:19)
    at AwsInvokeLocal.tryCatcher (/home/dave/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/home/dave/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/home/dave/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/home/dave/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/home/dave/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:693:18)
    at Async._drainQueue (/home/dave/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:133:16)
    at Async._drainQueues (/home/dave/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:143:10)
    at Immediate.Async.drainQueues (/home/dave/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:17:14)
    at runCallback (timers.js:672:20)
    at tryOnImmediate (timers.js:645:5)
    at processImmediate [as _immediateCallback] (timers.js:617:5)

goldytech avatar Oct 13 '17 09:10 goldytech

@goldytech I tried your repo. YAML is really strict, this line https://github.com/goldytech/aws-serverless/blob/master/serverless.yml#L21 should be - serverless-webpack.

jayair avatar Oct 13 '17 17:10 jayair