@gotamedia/utils
Version:
Set of Utils helper for NodeJs Runtime.
121 lines (90 loc) • 3.17 kB
Markdown
Set of Utils helpers for NodeJs Runtime.
```sh
npm install @gotamedia/utils
```
```ts
import { logError } from "@gotamedia/utils/logError"
const handler = () => {
logError(new Error("Oops!"))
}
```
Available utils:
* logError
* getErrorTrace
* sourceMapSupport
A helper function to log errors with traces
| param | type | default | required | description |
|--------|-------|-----------|----------|----------------------------------------------------------------------------|
| first | Error | undefined | | Error object to parse and log with traces |
| second | any | undefined | | Any additional info that will be added to the output under `ìnfo` property |
**Example:**
```ts
import logError from "@gotamedia/utils/logError"
const handler = async () => {
const trakingId = "123-321"
try {
...
const response = await fetch(`www.example.com/id/${trakingId}`)
...
} catch (error) {
logError(
error,
{
trakingId: trakingId,
message: "Oops! Something went wrong here.",
reason: "Failed to do something because of something"
}
)
}
}
```
A helper function to extract trace from Error object
| param | type | default | required | description |
|--------|-------|-------------|----------|------------------------------------|
| first | Error | new Error() | | Error object to extract trace from |
**Example:**
```ts
import { getErrorTrace } from "@gotamedia/utils/getErrorTrace"
const handler = async () => {
try {
...
} catch (error) {
const trace = getErrorTrace(error)
console.log(trace)
}
}
```
A helper util to parse source-maps from your "un-minified" Lambda code if you bundle and minify your Lambda
> **_NOTE:_** If you want to support source-map this import needs to be the first import statement in your entry file.
**Example:**
```ts
import "@gotamedia/utils/sourceMapSupport"
const handler = async () => {
...
}
```
This project uses a [trunk based development](https://cloud.google.com/architecture/devops/devops-tech-trunk-based-development) workflow.
> **_NOTE:_** `master` is the trunk branch
This project works with [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/).
* 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.
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.
MIT