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

@rezaeiarshad/backend-core

v0.1.4

Published

Reusable backend infrastructure for RezaeiArshad projects.

Readme

@rezaeiarshad/backend-core

Reusable backend infrastructure for RezaeiArshad projects.

This package is intentionally small for its first version. It contains low-risk helpers that can be shared by Valance and future projects without importing ecommerce or booking domain code.

Contents

  • OTP hash helpers.
  • Environment helpers.
  • Cron scheduler factory.
  • HTTP error handlers.
  • Client IP helpers.
  • Logger.
  • CORS, request logging, and global rate-limit middleware factories.
  • SMS service factory.
  • ZarinPal client factory.
  • Rate limiter.
  • Upload validation and S3-compatible storage helpers.
  • Slug validation helper.

ZarinPal

The ZarinPal client defaults to sandbox mode and Toman currency:

createZarinpalClient({
  merchantId: process.env.ZARINPAL_MERCHANT_ID!,
  currency: 'IRT',
  sandbox: true,
});

Use currency: 'IRT' when the consuming app stores prices in Toman. The client sends the amount as-is. Use currency: 'IRR' only when the consuming app already stores prices in Rial.

Verification treats ZarinPal codes 100 and 101 as successful. Code 101 is returned as alreadyVerified: true.

Not Included

  • App Prisma schemas or migrations.
  • Prisma-backed routes.
  • Valance ecommerce domain code.
  • Mobehmo booking domain code.
  • App-specific deployment config.

Commands

npm run build
npm run test
npm audit
npm pack

Compatibility CI

The repository has a Valance compatibility workflow:

.github/workflows/valance-compatibility.yml

It runs on pull requests, pushes to main, manual dispatch, and before the publish workflow. The workflow:

  1. Installs, builds, and tests backend-core.
  2. Packs the current backend-core commit into a local .tgz.
  3. Checks out RezaeiArshad/valance.
  4. Installs that local .tgz into valance/backend without saving changes.
  5. Runs Valance backend build, Prisma validation, and backend tests.

If Valance is private, add a backend-core repository secret named VALANCE_REPO_TOKEN with read access to RezaeiArshad/valance. If Valance is public, the default GitHub token is enough.

npmjs

The package is configured for npmjs:

{
  "publishConfig": {
    "registry": "https://registry.npmjs.org"
  }
}

The GitHub repository is:

https://github.com/RezaeiArshad/backend-core

Publish from GitHub Actions by running the Publish package workflow manually. The workflow publishes to npmjs with an NPM_TOKEN repository secret.

The publish workflow waits for the Valance compatibility workflow before publishing.

Local publishing requires npm login:

npm login
npm publish

When running the GitHub Actions workflow, choose:

  • public for a public scoped npm package.
  • restricted for a private scoped npm package.

Valance installs the public npmjs package in Liara and keeps a repo-local .tgz copy only as a sync-checked artifact.