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

@eeacms/volto-corsproxy

v4.0.0

Published

volto-corsproxy: Volto add-on

Downloads

1,623

Readme

volto-corsproxy

Releases

Pipeline Lines of Code Coverage Bugs Duplicated Lines (%)

Pipeline Lines of Code Coverage Bugs Duplicated Lines (%)

Volto add-on

Features

This package enables fetching data from third-party servers through the Volto HTTP server, this way bypassing any CORS security restrictions imposed by the browser.

The way it does this is by providing a pass-through CORS proxy server on the path (configurable) /cors-proxy path. For example, any requests made to the URL http://localhost:3000/cors-proxy/http://example.com/ will be piped to the http://example.com website, through the Volto node server.

As you wouldn't want to provide an open proxy, all proxied destinations need to be configured either via settings.allowed_cors_destinations (which takes a list of hostnames) or an environment variable called RAZZLE_ALLOWED_CORS_DESTINATIONS (where you need to provide a comma-separated list of hostnames).

For example:

settings.allowed_cors_destinations = ['eea.europa.eu', 'plone.org']

or:

RAZZLE_ALLOWED_CORS_DESTINATIONS=eea.europa.eu,plone.org yarn start

As a convenience feature for dealing with third-party API endpoints, there's a new action available, getProxiedExternalContent, somewhat similar to Volto's getContent. Call it like: getProxiedExternalContent(thirdpartyurl) and it will make that async content available in the Redux content reducer, at store.content.subrequests[thirdpartyurl].

Getting started

Try volto-corsproxy with Docker

  git clone https://github.com/eea/volto-corsproxy.git
  cd volto-corsproxy
  make
  make start

Go to http://localhost:3000

Add volto-corsproxy to your Volto project

  1. Make sure you have a Plone backend up-and-running at http://localhost:8080/Plone

    docker compose up backend
  2. Start Volto frontend

  • If you already have a volto project, just update package.json:

    "addons": [
        "@eeacms/volto-corsproxy"
    ],
    
    "dependencies": {
        "@eeacms/volto-corsproxy": "*"
    }
  • If not, create one:

    npm install -g yo @plone/generator-volto
    yo @plone/volto my-volto-project --canary --addon @eeacms/volto-corsproxy
    cd my-volto-project
  1. Install new add-ons and restart Volto:

    yarn
    yarn start
  2. Go to http://localhost:3000

  3. Happy editing!

Release

See RELEASE.md.

How to contribute

See DEVELOP.md.

Copyright and license

The Initial Owner of the Original Code is European Environment Agency (EEA). All Rights Reserved.

See LICENSE.md for details.

Funding

European Environment Agency (EU)