Nefariously Pushing Master

    TypeScript icon, indicating that this package has built-in type declarations

    0.5.0 • Public • Published

    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
    What is a Google Cloud Functions? Cloud Functions is a serverless execution environment for building and connecting cloud services. With Cloud Functions you write simple, single-purpose functions that are attached to events emitted from your cloud infrastructure and services. Your function is triggered when an event being watched is fired.
    What is NX? Nx is a set of extensible dev tools for monorepo, which helps you develop like Google, Facebook, and Microsoft. It has first-class support for many frontend and backend technologies, so its documentation comes in multiple flavours.


    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

    HTTP Function Structure

    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

    Add Microservice (Google Cloud Functions) to NX


    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 -




    npm i @imaware/gcp-function

    DownloadsWeekly Downloads






    Unpacked Size

    126 kB

    Total Files


    Last publish


    • imaware-irutner
    • cmanzi-imaware