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

data-normalization-service

v1.5.0

Published

Normalizes extracted data

Downloads

2

Readme

Digicust Data Normalization Service

Normalizes extracted data

Architecture

Business logic in src/service

Controllers (src/api/controller) are triggered by either service bus (src/api/service-bus) or express routers (src/api/routes)

Development & Deployment

Install Dependencies

npm i

Start Service

npm start

Testing Framework

We use Mocha and Chai with Chai-Http. This combination allows us to first start the server (load key vault values, start Express, ...) and then programmatically simulate requests.

Tests are coded in ./tests and allow for TypeScript.

npm test

Tests will automatically be processed with every Docker build (see Dockerfile)

Testing an Individual Case

You can test individual cases by pasting the case JSON (find it via https://support-tool.digicust.com/caseFetch) to /tests/test-data/dynamic.json

In tests/test.ts set it.skip("Dynamic Case", async function () to it.only

Then run

npm test

You will find the output in /tests/test-data/dynamic-output.json

In tests/test.ts set it.only("Dynamic Case", async function () back to it.skip

Environmental Variables

NODE_ENV=development
PORT=3005

AZURE_KEYVAULT_URI=https://backend-key-vault.vault.azure.net/
AZURE_CLIENT_ID=8deae3b1-24e3-4320-bda6-fa39fcbbcf1f
AZURE_CLIENT_SECRET=
AZURE_TENANT_ID=bf2e212e-cf03-4606-beaf-7715d6f28009

Docker Deployment

sudo docker build . -t digicust/<service-name>
sudo docker run --env-file ./.env -d digicust/<service-name>

Azure Deployment

This app can be deployed as an Azure App Service. Configure deployment via private repository, add dockerhub credentials and copy CI webhook to Dockerhub. Make sure to add the 6 basic environmental variables. Create Backend Pool in the Application Gateway. Check whether health probe is positive.