Use Starter Kit

We will use the starter kit to configure our environment. This has an install.sh script which installs various packages and copies several configuration files automatically.

Clone Starter Kit

Switch to a folder where you want to clone the starter kit to. Below we clone to a folder named src under home folder.

$ cd ~/src
$ git clone https://github.com/AWSMagic/lambda-typescript-vscode-starter-kit.git
$ cd lambda-typescript-vscode-starter-kit
$ git checkout v1.0.0

About Installer Script

Installer install.sh accepts three attributes.

-r: root folder
-p: project name
-f: function name

Sample Usage:

$ ./intsall.sh -r ~/src -p project-one -f function-one

The command above is going to create project-one folder under ~/src folder. Then it will create function-one folder under ~/src/project-one folder. Root folder has to exist in order to run the install.sh script. Other two folders are going to be created by the install.sh script.

Run Installer

$ cd lambda-typescript-vscode-starter-kit/
$ ./intsall.sh -r ~/src -p project-one -f function-one

Captured these as requirements:
root folder: /Users/oz/src/
project name: project-one
function name: function-one
workspace folder: /Users/oz/src/project-one
configuration folder (pwd): /Users/oz/src/lambda-typescript-vscode-starter-kit

Do you want to continue? (y/n) y

If this is the first time you are running this script it will download the docker image required to run lambda function locally. This may take a while to complete.

You will see the output below.

2019/08/31 01:26:48 Successfully parsed template.yaml
2019/08/31 01:26:48 Connected to Docker 1.40
2019/08/31 01:26:48 Fetching lambci/lambda:nodejs8.10 image for nodejs8.10 runtime...
nodejs8.10: Pulling from lambci/lambda
Digest: sha256:bc59e063662af0e2ad2a634e0ca23e10a31ea1db12212da80aebf2ff2d9ee323
Status: Image is up to date for lambci/lambda:nodejs8.10
2019/08/31 01:26:49 Invoking dist/index.handler (nodejs8.10)
2019/08/31 01:26:49 Mounting /Users/oz/src/project-one/function-one as /var/task:ro inside runtime container
START RequestId: 7b5f4577-2b5f-1dfd-9dad-74e5db26bcbe Version: $LATEST
2019-08-31T05:26:50.034Z    7b5f4577-2b5f-1dfd-9dad-74e5db26bcbe    value1 = value1
2019-08-31T05:26:50.035Z    7b5f4577-2b5f-1dfd-9dad-74e5db26bcbe    value2 = value2
2019-08-31T05:26:50.035Z    7b5f4577-2b5f-1dfd-9dad-74e5db26bcbe    value3 = value3
2019-08-31T05:26:50.035Z    7b5f4577-2b5f-1dfd-9dad-74e5db26bcbe    DEV
END RequestId: 7b5f4577-2b5f-1dfd-9dad-74e5db26bcbe
REPORT RequestId: 7b5f4577-2b5f-1dfd-9dad-74e5db26bcbe    Duration: 5.49 ms    Billed Duration: 100 ms    Memory Size: 128 MB    Max Memory Used: 30 MB    

"{\n  \"key1\": \"value1\",\n  \"key2\": \"value2\",\n  \"key3\": \"value3\"\n}"

As seen above install.sh ran the function-one lambda function locally to test the installation. If you don't see the "{\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n \"key3\": \"value3\"\n}" at the end of the logs, you might have a problem with the installer.

Last updated

Was this helpful?