npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

lambduh-gulp

v0.1.8

Published

Adds zip and upload gulp tasks for a streamlined AWS Lambda workflow

Downloads

19

Readme

lambduh-gulp

A handful of gulp commands typical to building AWS Lambda functions

Much of this was inspired/borrowed from Adam Neary's post here.

Usage

npm i --save-dev lambduh-gulp

Pass your instance of gulp into lambduh-gulp somewhere in your gulpfile.js.

//gulpfile.js
var gulp = require('gulp');
var lambduhGulp = require('lambduh-gulp');

lambduhGulp(gulp);

Optionally, you don't need to require your own gulp... but if you want to add any of your own tasks, you'll want your own instance.

Gulp tasks

gulp zipload

The task you'll use the most – runs gulp lambda-zip, then gulp upload. See the next two funcs for details.

gulp lambda-zip

  • Runs a clean to remove any dist/* or dist.zip
  • Pipes your index.js, bin/*, and package.json into a dist folder
  • Installs your production node-modules in dist/
  • Zips it up into a dist.zip

gulp upload

  • Creates and uploads a new Lambda function. If one exists, this will update the function's configuration, then re-upload the latest code.

This function assumes you have a local ./lambda-config.js file with details on your lambda function. The parameters match those used by the (current) JS aws-sdk:

//lambda-config.js
module.exports = {
  FunctionName: 'funcName',
  Description: 'descrip',
  Handler: 'index.handler',
  Role: 'arn:aws:iam:etcetc',
  Region: 'us-east-1',
  Runtime: 'nodejs',
  MemorySize: 320,
  Timeout: 60,
  Environment: 'production'
}

Uploading also assumes your have permissions to update lambda functions from your machine. This takes time to configure via the AWS CLI, but the resulting workflow is worth it. And besides, AWS's interface is much easier to use from the commandline relative to the non-sense they present in the console.

Other gulp tasks

Note that if you're not careful, you may overwrite some of the gulp tasks this module uses. If any of these are silly (i.e. this module shouldn't own the namespace), let me know and I can prefix all of them:

  • clean
  • js
  • bin
  • node-mods
  • zip
  • lambda-zip
  • upload
  • zipload

Reach out!

I'd love some feedback/PRs/whatever - open an issue and let's talk.