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

create-honc-app

v1.3.1

Published

An interactive CLI to create modular typesafe data APIs using TypeScript

Downloads

96

Readme

HONC is a modular collection of choice technologies for building lightweight, type-safe, edge-enabled data apis that scale seamlessly to their demand.

🪿 Hono as an api framework
🪿 Neon for a relational Postgres database
🪿 Drizzle as the ORM and migrations manager
🪿 Cloudflare Workers for deployment hosting

Quickstart

To get started run the following command:

npm create honc-app@latest

You'll be prompted a few simple questions, and then a fresh HONC project will arrive in a new directory on your machine.

Commands

Run the development server:

npm run dev

Once you've set up a Neon database (see below) and added the connection string to a DATABASE_URL=.. in dev.vars, you can generate some migrations, apply them, and seed the database:

npm run db:generate
npm run db:migrate
npm run db:seed

If you're inclined to deploy the app to the wild wild internet, you can do so as follows (requires a Cloudflare account):

npm run deploy

Setting up a Neon database

Create a Neon account and project, retrieve the connection key from the dashboard, and add it to your dev.vars file.

Alternatively, you can use the Neon CLI to create a project and set the context:

# Authenticate with neon cli
neonctl auth

# Create project if you haven't already
#
# > *skip this* if you already created a project,
# > and grab the DATABASE_URL from your dashboard
PROJECT_NAME=my-project
neonctl projects create --name $PROJECT_NAME --set-context

# Set project id because the call to `set-context` below needs it
PROJECT_ID=$(neonctl projects list --output=json | jq --arg name "$PROJECT_NAME" '.projects[] | select(.name == $name) | .id')

# Create a `dev` db branch then set context
BRANCH_NAME=dev
neonctl branches create --name=$BRANCH_NAME
neonctl set-context --project-id=$PROJECT_ID --branch=$BRANCH_NAME

# Finally, add connection string to .dev.vars
DATABASE_URL=$(neonctl connection-string)
echo -e '\nDATABASE_URL='$DATABASE_URL'\n' >> .dev.vars

This will create a .neon file, which is used by the neonctl command to know the proper context for running commands.

This file can be kept in version control. From the Neon docs:

Neon does not save any confidential information to the context file (for example, auth tokens). You can safely commit this file to your repository or share with others.

More resources

We have an awesome HONC list with further guides, use cases and examples.