Socket
Book a DemoInstallSign in
Socket

@noths/storefront

Package Overview
Dependencies
Maintainers
27
Versions
45
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@noths/storefront

storefront for noths partners

latest
Source
npmnpm
Version
2.1.1
Version published
Maintainers
27
Created
Source

Storefront

Storefront is a library to help rendering storefronts.

It is full SSR (server side rendering) "compliant" as it does work without having client side interfaces like window or document, either in the source code or in the build process, because we don't rely on any bundler like webpack for distributing the server-side code of the library. We only use it for development purposes and distributing the client side bundle.

This library was extracted from noths-storefront service. We maintained all the logic with new and updated dependencies. You can read more about it here.

How to start development with hot reload

Execute the commands below to start a development server.

npm i
npm run start

Now visit http://localhost:8080

It uses the files under the build-dev folder to serve a development version of it with mocked data.

How to prepare the library for server side usage and client side hydration

npm run build

The following will be available in the ./dist folder:

  • entire source code transpiled with babel so it can safely be used as a common-js module in a node js environment

  • entire source code worked and packed with webpack in the app.js

  • the assets like png's

  • the stylesheets from the app and styles-toolkit

How to publish the library

You'll need to register on npm by running npm adduser. If you're already registered on npm, use npm login instead.

In order to publish:

  • the version bump should be part of the pull request

  • after a successful merged pull request you will have to:

npm publish

How to use the library while doing server side rendering

npm i @noths/storefront
import { prepare } from '@noths/storefront'
// data as in the content that was fetched from the s3 bucket populated by https://github.com/notonthehighstreet/partner-content
const dataContainer = prepare(data)
// you can also use other functions from ReactDOMServer
// the resulting container should embeded in an html document
// for more info look at the example in https://notonthehighstreet.atlassian.net/wiki/spaces/T8B/pages/758349860/Storefront-frontend
ReactDOMServer.renderToString(dataContainer)

We can also see a working example in the index.js under ./build-dev folder.

How to use the library while doing client side rendering

  • declare the dependencies like app.js and stylesheets in the html file

Unit tests

npm run test

Tests with coverage

npm run test:coverage

FAQs

Package last updated on 17 Jul 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts