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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@gotamedia/aws

v0.2.2

Published

Set of AWS helpers for NodeJs Runtime.

Downloads

14

Readme

Gota Media AWS

A light-weight wrapper around some of AWS JS-SDK v3 AWS.

Usage

npm install @gotamedia/aws
import { invoke } from "@gotamedia/aws/services/Lambda"

const handler = () => {
    invoke(...)
}

Services

Available services:

  • Lambda
  • S3
  • SNS
  • SQS
  • SSM
  • Xray

Utils

Available utils:

  • silenceXrayContextErrors

NOTE: All services exports thier own client: import { client as LambdaClient } from "@gotamedia/aws/services/Lambda"

Lambda

A light-weight wrapper arround @aws-sdk/clients-lambda wrapped with Xray traces

Available methods:

invoke()

| param | type | default | required | description | |--------|------------------------------|-----------|----------|--------------------------------------| | first | InvokeCommandInput | undefined | x | AWS Lambda InvokeCommandInput params |

Example:

import { invoke } from "@gotamedia/aws/services/Lambda"
import type { InvokeCommandInput } from "@aws-sdk/client-lambda"

const handler = async () => {
    const invokeCommandInput: InvokeCommandInput = {
        FunctionName: "my-awesome-function",
        InvocationType: "Event"
    }

    const response = await invoke(invokeCommandInput)
}

S3

A light-weight wrapper arround @aws-sdk/clients-s3 wrapped with Xray traces

Available methods:

getObject()

| param | type | default | required | description | |--------|---------------------------------|-----------|----------|-------------------------------------| | first | GetObjectCommandInput | undefined | x | AWS S3 GetObjectCommandInput params |

Example:

import { getObject } from "@gotamedia/aws/services/S3"
import type { GetObjectCommandInput } from "@aws-sdk/client-s3"

const handler = async () => {
    const getObjectCommandInput: GetObjectCommandInput = {
        Bucket: "my-awesome-bucket",
        Key: "my-awesome-key"
    }

    const response = await getObject(getObjectCommandInput)
}

S3

A light-weight wrapper arround @aws-sdk/clients-s3 wrapped with Xray traces

Available methods:

putObject()

| param | type | default | required | description | |--------|---------------------------------|-----------|----------|-------------------------------------| | first | PutObjectCommandInput | undefined | x | AWS S3 PutObjectCommandInput params |

Example:

import { putObject } from "@gotamedia/aws/services/S3"
import type { PutObjectCommandInput } from "@aws-sdk/client-s3"

const handler = async () => {
    const putObjectCommandInput: PutObjectCommandInput = {
        Bucket: "my-awesome-bucket",
        Key: "my-awesome-key",
        Body: JSON.stringify({
            id: "123-321",
            awesome: true,
            ContentType: "application/json"
        })
    }

    const response = await putObject(putObjectCommandInput)
}

S3

A light-weight wrapper arround @aws-sdk/clients-s3 wrapped with Xray traces

Available methods:

deleteObject()

| param | type | default | required | description | |--------|------------------------------------|-----------|----------|----------------------------------------| | first | DeleteObjectCommandInput | undefined | x | AWS S3 DeleteObjectCommandInput params |

Example:

import { deleteObject } from "@gotamedia/aws/services/S3"
import type { DeleteObjectCommandInput } from "@aws-sdk/client-s3"

const handler = async () => {
    const deleteObjectCommandInput: DeleteObjectCommandInput = {
        Bucket: "my-awesome-bucket",
        Key: "my-awesome-key"
    }

    const response = await deleteObject(deleteObjectCommandInput)
}

SNS

A light-weight wrapper arround @aws-sdk/clients-sns wrapped with Xray traces

Available methods:

publishMessage()

| param | type | default | required | description | |--------|---------------------|-----------|----------|------------------------------------| | first | PublishCommandInput | undefined | x | AWS SNS PublishCommandInput params |

Example:

import { publishMessage } from "@gotamedia/aws/services/SNS"
import type { PublishCommandInput } from "@aws-sdk/client-sns"

const handler = async () => {
    const publishMessageCommandInput: PublishCommandInput = {
        TopicArn: "my-awesome-topic",
        Message: "Hello from @gotamedia/aws package!"
    }

    await publishMessage(publishMessageCommandInput)
}

SQS

A light-weight wrapper arround @aws-sdk/clients-sqs wrapped with Xray traces

Available methods:

sendMessage()

| param | type | default | required | description | |--------|-------------------------|-----------|----------|----------------------------------------| | first | SendMessageCommandInput | undefined | x | AWS SQS SendMessageCommandInput params |

Example:

import { sendMessage } from "@gotamedia/aws/services/SQS"
import type { SendMessageCommandInput } from "@aws-sdk/client-sqs"

const handler = async () => {
    const sendMessageCommandInput: SendMessageCommandInput = {
        QueueUrl: "my-awesome-queue",
        MessageBody: "Hello from @gotamedia/aws package!"
    }

    await sendMessage(sendMessageCommandInput)
}
sendMessageBatch()

| param | type | default | required | description | |--------|------------------------------|-----------|----------|---------------------------------------------| | first | SendMessageBatchCommandInput | undefined | x | AWS SQS SendMessageBatchCommandInput params |

Example:

import { sendMessageBatch } from "@gotamedia/aws/services/SQS"
import type { SendMessageBatchCommandInput } from "@aws-sdk/client-sqs"

const handler = async () => {
    const sendMessageBatchCommandInput: SendMessageBatchCommandInput = {
        QueueUrl: "my-awesome-queue",
        Entries: [
            {
                Id: "123-321",
                MessageBody: "1: Hello from @gotamedia/aws package!"
            },
            {
                Id: "321-123",
                MessageBody: "2: Hello from @gotamedia/aws package!"
            }
        ]
    }

    await sendMessageBatch(sendMessageBatchCommandInput)
}

SSM

A light-weight wrapper arround @aws-sdk/clients-ssm wrapped with Xray traces

Available methods:

getParameter()

| param | type | default | required | description | |-------|--------------------------|-----------|----------|-----------------------------------------| | first | GetParameterCommandInput | undefined | x | AWS SSM GetParameterCommandInput params |

Example:

import { getParameter } from "@gotamedia/aws/services/SSM"
import type { GetParameterCommandInput } from "@aws-sdk/client-ssm"

const handler = async () => {
    const getParameterCommandInput: GetParameterCommandInput = {
        Name: "my-awesome-parameter"
    }

    const parameterValue = await getParameter(getParameterCommandInput)
}
putParameter()

| param | type | default | required | description | |--------|---------------------|-----------|----------|-----------------------------------------| | first | PutParameterCommand | undefined | x | AWS SSM PutParameterCommand params |

Example:

import { putParameter } from "@gotamedia/aws/services/SSM"
import type { PutParameterCommand } from "@aws-sdk/client-ssm"

const handler = async () => {
    const putParameterCommandInput: PutParameterCommand = {
        Name: "my-awesome-parameter",
        Value: "my-awesome-value",
        Type: "String"
    }

    await putParameter(putParameterCommandInput)
}

Xray

A helper service to help you wrapping AWS-SDK V3 Clients with Xray

Available methods:

wrapClient()

| param | type | default | required | description | |-------|------------|-----------|----------|-------------------| | first | AWS Client | undefined | x | AWS SDK V3 Client |

Example:

import { DynamodbClient } from "@aws-sdk/clients-dynamodb"
import { wrapClient } from "@gotamedia/aws/services/Xray"

const Dynamodb = wrapClient(new DynamodbClient({ region: "eu-north-1" }))

const handler = async () => {
    // Use DynamoDB sdk commands...
}

Available utils:

silenceXrayContextErrors

A helper util to silence Xray "Missing AWS Lambda trace data for Xray @Object.contextMissingLogError"

Example:

import "@gotamedia/aws/utils/silenceXrayContextErrors"

const handler = async () => {
    ...
}

Contributing

Trunk based development

This project uses a trunk based development workflow.

NOTE: master is the trunk branch

Conventional commits

This project works with conventional commits.

Contribute

  • Pull latest from develop.
  • Branch out a new branch.
  • Commit and push your awesome code.
  • Open a pull request so we can approve your awesome code.

Publish

Any time you push to origin master branch, a pipeline will be automatically triggered and it will build the package for you. The pipeline will bump the version for you automatically and tag the package.

NOTE: NO MANUAL TAGGING

Then it will generate and update the CHANGELOG depends on your pushed commits.

License

MIT