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

@jhoose-commerce/core

v1.0.10

Published

Jhoose Commerce core package, providing a javasript SDK for interacting with the Jhoose Commerce API

Downloads

476

Readme

Jhoose Commerce Core JavaScript API

The @jhoose/core package is the foundational TypeScript/JavaScript SDK for the Jhoose Commerce platform. It provides a type-safe, developer-friendly abstraction layer over the Jhoose Commerce REST API, enabling seamless integration of e-commerce functionality into web applications.

Overview

This core library handles all essential commerce operations and serves as the foundation for other Jhoose packages (such as @jhoose/components and @jhoose/core-nextjs). It is framework-agnostic and can be used in any JavaScript/TypeScript environment including vanilla JS, React, Next.js, Vue, and more.

Key Features

  • Authentication Management - Anonymous and authenticated user sessions, JWT token handling, automatic token validation
  • Cart Operations - Add/remove items, update quantities, manage cart lifecycle with full type safety
  • Multi-Market Support - Automatic market detection, multi-currency support, localization handling
  • Checkout Flow - Complete checkout process including shipping addresses, shipping methods, and order placement
  • Product Services - Real-time pricing and inventory lookups
  • Customer Management - Customer profiles, address management, order history
  • Storage Utilities - Browser storage helpers with automatic serialization
  • Comprehensive TypeScript Support - Full type definitions for all API requests and responses
  • Context-Based Architecture - Clean separation of authentication and market contexts

Getting Started


    var authenticationKey = "";  // used to authenticate the request to generate an anonymous user.  This is set on the server.
    var currentPageUrl = "";
    var endpoint = "http://localhost:5000";

    
    // Token is from auth provider
    var token = "";

    // Anonymous user, this is required when not authenticated
    var anonymousResponse = await new JhooseCommerceAuthentication(endpoint).getAnonymousUser(authenticationKey);
    var token = anonymousResponse.accessToken;
    
    // once authenticated generate the customer context
    var authentication = new JhooseCommerceAuthentication(token,endpoint);
    var customerContext = await authentication.getCustomerContext();

    const authenticationContext: AuthenticationContextType = {
        endpoint: endpoint,
        token: token,
        customerContext: customerContext.customerContext,
        isAnonymous: customerContext.isAnonymous
    };


    // Get the market from the current page
    const marketClient = new JhooseCommerceMarket(authenticationContext);
    var marketResponse = await marketClient.determineMarket({requestUrl: currentPageUrl, metaData: {}});

    const marketContext: MarketContextType = {
        market: marketResponse.marketDetails.market,
        currency: marketResponse.marketDetails.currency,
        language: marketResponse.marketDetails.language,
        countries: marketResponse.marketDetails.countries
    };

    // Create the client
    var client = new JhooseCommerceClient(authenticationContext,marketContext);

    // Request to add to cart, setting the cartId to null will get the default cart
    var request: AddToCartRequest = {
        cartId: null,
        items: [
            {
                sku: "SKU-39813617",
                qty: 1
            }
        ]
    };

    // add the product to the cart
    var cartResponse = await client.cart.addToCart(request);

API Documentation

Full API Documentation