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

@certik/encrypt-decrypt-ssr

v1.0.13

Published

Package for server side props encryption in Next.js

Downloads

682

Readme

Encryption/Decryption for SSR NEXT_DATA

Description

In NEXT_DATA, important data is stored in order to hydrate the page during server side rendering. We cannot remove NEXT_DATA as it is required, but it leaves us vulnerable to data crawlers and scrapers who can publically access the data. This library can be used to encrypt NEXT_DATA pageProps during getStaticProps and getServerSideProps data fetching and to decrypt it in default page components.

Install

Run the following command to install:

yarn add @certik/encrypt-decrypt-ssr

Usage

For default page component:

import { withSSRDecrypt } from "@certik/encrypt-decrypt-ssr";

// Wrap the default page component alongside the secret encrypt key to decrypt and use the encrypted NEXT_DATA page props
function PageComponent({ ... }) {
    ...
}

export default withSSRDecrypt(PageComponent);

For server side:

import { withEncryptSSR } from "@certik/encrypt-decrypt-ssr";

// Wrap getStaticProps or getServerSideProps data fetching functions
export const getStaticProps: GetStaticProps = withEncryptSSR(async () => { ... });

or

export const getServerSideProps: GetServerSideProps = withEncryptSSR(async () => { ... });

Development

Edit source code in /src directory. Support Javascript, Typescript, JSX, and TSX.

Linting and Formatting

yarn lint
yarn format

Publish

Compile source code by running:

yarn build

Then publish package:

yarn publish --access public