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

@imaware/gcp-function

v0.5.0

Published

Generate a Google Cloud Function within a Nx workspace with dev tools:

Downloads

4

Readme

Google Cloud Functions Generator

Generate a Google Cloud Function within a Nx workspace with dev tools:

  • Create : nx generate @imaware/gcp-function:http functionName
  • Serve : nx serve functionName
  • Test : nx test functionName
  • Deploy : nx deploy functionName

Setup

Before you begin

  1. Install Node.js version 10 or greater

  2. Obtain authentication credentials. Create local credentials by running the following command and following the oauth2 flow (read more about the command here):

    gcloud auth application-default login

    Read more about Google Cloud Platform Authentication.

  3. Create a Nx workspace.

    npx create-nx-workspace@latest workspaceName
    cd workspaceName
    yarn add tslib
    yarn add -D @imaware/gcp-function @google-cloud/functions-framework supertest @nrwl/lint @nrwl/jest @types/express

    Read more about Nx Workspace

Create a function

Trigger: HTTP

nx generate @imaware/gcp-function:http functionName

Trigger: Pub/Sub

nx generate @imaware/gcp-function:pubsub functionName

Test the function

nx serve functionName
nx test functionName

Deploy the function

nx build functionName
nx deploy functionName

The 'build' option bundle all your internal dependencies in main.js & create a new package.json with your external dependencies (version number from root/package.json.)

App Composition

Others

Reporting Errors to Stackdriver Error Reporting

// These WILL be reported to Stackdriver Error Reporting
console.error(new Error('I failed you'));
console.error('I failed you', new Error('I failed you too'));
throw new Error('I failed you'); // Will cause a cold start if not caught

Nx Commands

nx lint functionName
nx format:write functionName
nx format:write  functionName
nx format:check  functionName
nx affected --target=build
nx build functionName --with-deps

Google Cloud Commands

gcloud functions deploy myFunction --set-env-vars foo=bar, zoo=lop
gcloud functions myFunction --update-env-vars foo=bar, zoo=lop
gcloud functions deploy myFunction --service-account emailOfServiceAccount
gcloud functions deploy myFunction --max-instances maxInstancesCount
gcloud functions deploy myFunction --clear-max-instances
gcloud functions logs read functionName

Hire Me

Joel Turcotte Gaucher - linkedin - [email protected]