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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@evdy-consumer/cloudcms-internal-api

v4.25.5

Published

Webhook handling for Migraine Again

Downloads

282

Readme

cloudcms-internal-api

Lambda for our internal apis available to use with CloudCMS

Setup

  • Install lerna globally if you haven't already: npm install -g lerna

  • Copy env-template to .env

  • Add .env-local to /env/(do|li|ma|recipes)/ folders

  • Install dependencies: lerna bootstrap

Running

Starting the service

To compile the source and start the service:

  • Run yarn run dev:do, yarn run dev:li, or yarn run dev:ma to get the respective projects running
    • Optionally you can run yarn run dev as long as you have PROJECT and local set as variables in the terminal in which you are starting the app
      • Example: If you want to start the project in nodemon dev mode dailyom but point to staging env variables you would run export PROJECT=do && export ENV=staging && yarn run dev
        • alternatively you can update the yarn run dev:do command to point to staging instead of local

Docker locally

  • Compile lib with yarn build:docker
  • In the root of the project run docker build -t internal-api --build-arg NPM_TOKEN=$NPM_TOKEN .
  • Copy AWS export Credentials from the web (sso doesnt work inside the container)
  • Run the image with docker run -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN internal-api

AWS Docker locally

  • Compile lib with yarn build:docker
  • In the docker folder run docker build --build-arg NPM_TOKEN=$NPM_TOKEN -t internal-api-aws --progress=plain --no-cache -f Dockerfile-aws ../ --debug
  • Copy AWS export Credentials from the web (sso doesnt work inside the container)
  • docker run -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN -p 3000:3000 internal-api-aws

ENV management

Env variables are dynamically pulled from S3 and secrets as well as process.env on application startup. When you need to add, update, or remove an env there are a few things that you might want to do.

  1. add, update, or remove the value in the env file under env/(do|ma|li|recipes)/.env-(local|dev|staging|preprod|preview|prod)
  2. once added you will want to push to your bucket file.
    1. if not using a unique bucket please let the dev team know that default will be updated (this will effect applications so best practice is to update to a ticket number and remove the file later from s3)
    2. upload command and jobs flows can be found here https://drive.google.com/file/d/1lecEqNvWFGmsUjdf0BB3H285jMlJdWdv/view?usp=sharing
  3. once s3 has been pushed you will want to hit the /internal-local/v1/cache/purge url if the application is running or simply restart your app.

Start and watch for changes

  • To transpile the source, start the service and watch for any changes: yarn watch

NOTE: At the time of writing this there is an occasional issue with the watch script. If you run into that, you can run the build and run scripts. Alternatively, and preferably, you can fix the watch issue :trollface:

Watch additional packages within the lerna repo and restart

  • To trigger a restart of cloudcms-api-proxy when changes are made within other packages within this lerna repo, add it's lib/ or dist/ directory to the "watch" array within nodemon.json. Then run lerna run watch

Debugging

To run in debug mode, you can start the application with serverless offline like this

node --inspect-brk ../../node_modules/serverless/bin/serverless.js offline

Then follow these instructions for opening chrome dev tools for debugging the application

Supported endpoints

To see all supported endpoints, please reference the functions section in serverless.yml

To view the source for one of those functions/endpoints, you can check the handler value, and then look for that file within the src directory instead of lib directory