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

@openfield/arena-server

v0.1.28

Published

Arena node/express/Postgres service implementation

Downloads

4

Readme

arena-server

Arena node/express/Postgres service implementation

Installation

1. Authentication

You must use a personal access token with the appropriate scopes to install the package from GitHub Packages.

You can authenticate to GitHub Packages with npm by either editing your per-user ~/.npmrc file to include your personal access token or by logging in to npm on the command line using your username and personal access token.

To authenticate by adding your personal access token to your ~/.npmrc file, edit the ~/.npmrc file for your project to include the following line, replacing TOKEN with your personal access token. Create a new ~/.npmrc file if one doesn't exist.

//npm.pkg.github.com/:_authToken=TOKEN

To authenticate by logging in to npm, use the npm login command, replacing USERNAME with your GitHub username, TOKEN with your personal access token, and PUBLIC-EMAIL-ADDRESS with your email address.

If GitHub Packages is not your default package registry for using npm and you want to use the npm audit command, we recommend you use the --scope flag with the owner of the package when you authenticate to GitHub Packages.

$ npm login --scope=@OWNER --registry=https://npm.pkg.github.com

> Username: USERNAME
> Password: TOKEN
> Email: PUBLIC-EMAIL-ADDRESS

For more information see Authenticating to GitHub Packages

2. .npmrc

Create a new .npmrc file if one doesn't exist and add:

@openforis:registry=https://npm.pkg.github.com
always-auth = true

3. .yarnrc

Create a new .yarnrc file if one doesn't exist and add:

"@openforis:registry" "https://npm.pkg.github.com"

4. Add the package

yarn add @openfield/arena-server

or

npm install @openfield/arena-server

Development

Database

To install local database:

sudo docker run -d --name arena-db -p 5444:5432 -e POSTGRES_DB=arena -e POSTGRES_PASSWORD=arena -e POSTGRES_USER=arena postgis/postgis:12-3.0

To restart local database:

docker container restart arena-db

.env file

The .env file is needed for development and locally running the stack.

It must be added to the root directory of the project and must match the template .env.template.

Database migrations

Migrations are run automatically on server startup.

Adding a new database migration

When you need execute DDL or other update update logic (e.g. to add a new table to the database, dbtable), create a migration template with:

yarn dbmigrate:create --name=add-table-dbtable

Now you'll see new sql files in src/db/dbMigrator/migration/<schema>/migrations/sql/<timestamp>-add-table-dbtable-<up/down>.sql

You should edit the <timestamp>-add-table-dbtable-up.sql to contain your DDL statements.

You could also add the corresponding drop table to <timestamp>-add-table-dbtable-down.sql if you ever want to undo migrations.

By default, migrations are applied to the public schema; if you need to update the survey schema, pass --schema=survey as parameter. E.g.

yarn dbmigrate:create --name=add-table-to-survey-schema-db-table --schema=survey