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

@relate/web

v1.0.15

Published

Web

Downloads

21

Readme

@relate/web

The Neo4j WEB package.

Table of Content

Installing

Run these commands to install and start the Relate web server.

$ npm install -g @relate/web
$ relate-web start

Note: You need to create and activate an environment before starting the server. Check the install section in the CLI package to learn how to do that.

By default the server will use port 3000, you can change that port with the PORT environment variable. Example:

$ PORT=5000 relate-web start

Documentation

With the server running you can visit the URLs below to access docs for the schema.

  • GraphQL playground: http://localhost:3000/graphql
  • REST Swagger docs: http://localhost:3000/api-docs

Configuration

By default the server configuration is picked up from the active environment.

A different environment can be specified when running the web module in a Nestjs application by using the defaultEnvironmentNameOrId option.

API Tokens

Enabling API tokens

When creating a new environment, by default the web server will not be secured with API tokens. This is useful for development or for learning, but in production environments or when dealing with sensitive data, we strongly recommend you enable API authentication.

To enable authentication through API tokens on a new environment, use the --apiToken flag when creating the environment through the CLI. Example:

$ relate env:init secure-environment --apiToken

To enable authentication on an existing environment, you can open the environment configuration and set the serverConfig.requiresAPIToken field to true. Example:

$ relate env:open secure-environment
{
  "name": "<environmentName>",
  "type": "LOCAL",
  "serverConfig": {
    "publicGraphQLMethods": [...],
    "requiresAPIToken": true
  },
  "id": "<environmentId>",
}

Generating API Tokens

Generated tokens are valid only for a specific client ID and hostname. The client ID is a name identifying your application, while the hostname is the address where your application is running (if it's hosted) or the address to the @relate/web server.

To generate an API token you can either use the CLI or common package:

# @relate/cli
$ relate env:api-token clientId --hostName http://127.0.0.1:3000

# @relate/common
environment.generateAPIToken('http://127.0.0.1:3000', clientId);

Sending Requests

When sending the request, you'll then need to include the following HTTP headers:

X-API-Token: <API Token>
X-Client-Id: <client ID>