Add Support for ES6/ES7 JavaScript

From @jayair on Mon Apr 02 2018 18:24:23 GMT+0000 (UTC)

@Malouda Where is the ./src coming from?

From @lepirlouit on Tue Apr 10 2018 13:25:49 GMT+0000 (UTC)

aws announced support for node 8.10 : https://aws.amazon.com/about-aws/whats-new/2018/04/aws-lambda-supports-nodejs/?nc1=h_ls

is it as simple to replace 6 by 8 in .babelrc and in serverless.yml files

From @jayair on Tue Apr 10 2018 18:22:20 GMT+0000 (UTC)

@lepirlouit Yes it is. We’ll update the tutorial soon.

In the serverless.yml configuration, where do we specify the AWS account to use? I see the name of table and dynamoDB being mentioned but how does it connect to correct AWS account?

I followed the tutorial and ran the mock test and verified the mock note in dynamoDB and it works. Just want to know where it got info about my AWS account.

It uses the default credentials that’s in your local machine: $ cat ~/.aws/credentials.

You can setup multiple profiles here and specific them in your serverless.yml.

Node 12 support for AWS Lambda available. https://aws.amazon.com/about-aws/whats-new/2019/11/aws-lambda-supports-node-js-12/

We use Node 12 now but the serverless-bundle plugin is still needed to have our JS match the one on the frontend.

Has the team considered moving the webpack, sourcemap, and other boilerplate code from each deployed lambda to a common layer? Would this be in the serverless-bundle plugin or need to be handled in the framework proper?

A layer isn’t the best use case for this. Since this will change for each function. We aren’t really deploying Webpack, we are just using it to generate an optimized bundle for each function.

I have just started going though this tutorial and ran into an issue when running the step “serverless invoke local --function hello”

I am using the latest version of git-bash along with node v14.16.1 npm 6.14.12 and python 3.8.1

Any help would be appreciated.

The following comes up in the logs and it just hangs:

Serverless: DOTENV: Could not find .env file.
Serverless: Deprecation warning: CLI options definitions were upgraded with "type" property (which could be one of "string", "boolean", "multiple"). Below listed plugins do not predefine type for introduced options:
             - ServerlessPlugin for "out"
             - ServerlessOffline for "apiKey", "binPath", "cacheInvalidationRegex", "corsAllowHeaders", "corsAllowOrigin", "corsDisallowCredentials", "corsExposedHeaders", "disableCookieValidation", "enforceSecureCookies", "exec", "hideStackTraces", "host", "httpsProtocol", "location", "noAuth", "noEnvironment", "port", "prefix", "preserveTrailingSlash", "printOutput", "providedRuntime", "region", "resourceRoutes", "showDuration", "skipCacheInvalidation", "stage", "useSeparateProcesses", "websocketPort"
            Please report this issue in plugin issue tracker.
            Starting with next major release, this will be communicated with a thrown error.
            More Info: https://www.serverless.com/framework/docs/deprecations/#CLI_OPTIONS_SCHEMA
Serverless: Deprecation warning: Resolution of lambda version hashes was improved with better algorithm, which will be used in next major release.
            Switch to it now by setting "provider.lambdaHashingVersion" to "20201221"
            More Info: https://www.serverless.com/framework/docs/deprecations/#LAMBDA_HASHING_VERSION_V2

Installing the serverless bundle, we get:

pm ERR! code 1
npm ERR! path /Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-sass
npm ERR! command failed
npm ERR! command sh -c node scripts/build.js
npm ERR! Building: /usr/local/bin/node /Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli   '/usr/local/bin/node',
npm ERR! gyp verb cli   '/Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-gyp/bin/node-gyp.js',
npm ERR! gyp verb cli   'rebuild',
npm ERR! gyp verb cli   '--verbose',
npm ERR! gyp verb cli   '--libsass_ext=',
npm ERR! gyp verb cli   '--libsass_cflags=',
npm ERR! gyp verb cli   '--libsass_ldflags=',
npm ERR! gyp verb cli   '--libsass_library='
npm ERR! gyp verb cli ]
npm ERR! gyp info using node-gyp@3.8.0
npm ERR! gyp info using node@16.0.0 | darwin | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` succeeded python2 /usr/bin/python2
npm ERR! gyp verb check python version `/usr/bin/python2 -c "import sys; print "2.7.16
npm ERR! gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
npm ERR! gyp verb get node dir no --target version specified, falling back to host node version: 16.0.0
npm ERR! gyp verb command install [ '16.0.0' ]
npm ERR! gyp verb install input version string "16.0.0"
npm ERR! gyp verb install installing version: 16.0.0
npm ERR! gyp verb install --ensure was passed, so won't reinstall if already installed
npm ERR! gyp verb install version is already installed, need to check "installVersion"
npm ERR! gyp verb got "installVersion" 9
npm ERR! gyp verb needs "installVersion" 9
npm ERR! gyp verb install version is good
npm ERR! gyp verb get node dir target node version installed: 16.0.0
npm ERR! gyp verb build dir attempting to create "build" dir: /Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-sass/build
npm ERR! gyp verb build dir "build" dir needed to be created? /Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-sass/build
npm ERR! gyp verb build/config.gypi creating config file
npm ERR! gyp verb build/config.gypi writing out config file: /Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-sass/build/config.gypi
npm ERR! (node:43890) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
npm ERR! (Use `node --trace-deprecation ...` to show where the warning was created)
npm ERR! gyp verb config.gypi checking for gypi file: /Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-sass/config.gypi
npm ERR! gyp verb common.gypi checking for gypi file: /Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-sass/common.gypi
npm ERR! gyp verb gyp gyp format was not specified; forcing "make"
npm ERR! gyp info spawn /usr/bin/python2
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   '/Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'make',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-sass/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/trevor/.node-gyp/16.0.0/include/node/common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/Users/trevor/.node-gyp/16.0.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/Users/trevor/.node-gyp/16.0.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-sass',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
npm ERR! 
npm ERR! No receipt for 'com.apple.pkg.DeveloperToolsCLILeo' found at '/'.
npm ERR! 
npm ERR! No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.
npm ERR! 
npm ERR! gyp: No Xcode or CLT version detected!
npm ERR! gyp ERR! configure error 
npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
npm ERR! gyp ERR! stack     at ChildProcess.onCpExit (/Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-gyp/lib/configure.js:345:16)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:365:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Darwin 20.4.0
npm ERR! gyp ERR! command "/usr/local/bin/node" "/Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd /Users/trevor/Documents/Websites/serverless/notes-api/node_modules/node-sass
npm ERR! gyp ERR! node -v v16.0.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok 
npm ERR! Build failed with error code: 1

Cant get any further

Update to the latest version and give it a try. Talked about it here:

We updated the starter project to fix this.

Can you try using the SLS_DEBUG=* flag for the command and it should give some extra info.