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

@keystone-next-brick/keystone

v15.0.0

Published

Part of Keystone's [new interfaces project](https://www.keystonejs.com/blog/roadmap-update). This is a preview release, and not yet documented.

Downloads

15

Readme

@keystone-next/keystone

Part of Keystone's new interfaces project. This is a preview release, and not yet documented.

You can find example projects and usage on GitHub

For updates, follow @keystonejs on Twitter and check out our Blog

CLI

The @keystone-next/keystone package provides a CLI command keystone-next which is used to run and manage your Keystone project.

The CLI supports commands in three categories, Run, Build and Migrate.

Run

Note: The prototype CLI option is still under development and should be considered as a preview feature.

The run commands are used to prepare and then start your Keystone server. Keystone can be run in three different modes, prototyping, dev and production. These different modes support different phases of your project life-cycle. The different modes differ in how they interact with your database and with your Admin UI application.

keystone-next prototype (prototyping): In prototyping mode, Keystone will try its hardest to put your database into a state which is consistent with your schema. This might require Keystone to delete data in your database. This mode of operation should only be used when you are first getting started with Keystone and are not yet working with real data. In prototyping mode you can quickly change your schema and immediately see the changes reflected in your database and Admin UI when you restart.

Artefacts:

  • .keystone/schema.graphql (commit me)

  • .keystone/schema-types.ts (commit me)

  • .keystone/admin/ (.gitignore)

  • .keystone/prisma/schema.prisma (commit me)

  • .keystone/prisma/generated-client/ (.gitignore)

    Database changes:

  • Database force synced with .keystone/prisma/schema.prisma

keystone-next dev (dev): In dev mode Keystone will use Prisma's migration framework to generate and locally apply migrations when you start your system.

Artefacts:

  • .keystone/schema.graphql (commit me)

  • .keystone/schema-types.ts (commit me)

  • .keystone/admin/ (.gitignore)

  • .keystone/prisma/schema.prisma (commit me)

  • .keystone/prisma/generated-client/ (.gitignore)

  • .keystone/prisma/migrations/ (commit me)

    Database changes:

  • All migrations in .keystone/prisma/migrations/ are applied.

keystone-next start (production): In production mode Keystone will not apply or generate any database migrations. It will use the pre-built version of the Admin UI, and a pre-built Prisma client. If database migrations have not been applied, the Prisma client is outdated or missing, or the Admin UI has not been built, then the server will not start.

Artefacts:

  • None

    Database changes:

  • None

Build

keystone-next build: The build command is used to generate a built version of Admin UI and the Prisma client which can be used when running the system in production mode (keystone-next start).

Artefacts:

  • .keystone/schema.graphql (commit me)

  • .keystone/schema-types.ts (commit me)

  • .keystone/admin/ (.gitignore)

  • .keystone/admin/.next (.gitignore)

  • .keystone/prisma/schema.prisma (commit me)

  • .keystone/prisma/generated-client/ (.gitignore)

    Database changes:

  • None

Migrate (Preview)

Note: The migration CLI API is still under development and may change.

keystone-next reset: This command invokes prisma migrate reset to reset your local database to a state consistent with the migrations directory. Use this command before running keystone-next generate to ensure that a valid migration is created.

Artefacts:

  • None

    Database changes:

  • Database is dropped, then recreated to be consistent with .keystone/prisma/migrations/.

keystone-next generate. This command will generate a migration schema based on the current state of your database and your Keystone schema. This command should be run after running keystone-next reset and the generated migration artefact should be added to your repository so that it can be shared with other developers and deployed in production.

Artefacts:

  • .keystone/schema.graphql (commit me)

  • .keystone/schema-types.ts (commit me)

  • .keystone/prisma/schema.prisma (commit me)

  • .keystone/prisma/generated-client/ (.gitignore)

  • .keystone/prisma/migrations/ (commit me)

    Database changes:

  • None

keystone-next deploy. This command will apply any migrations in the migrations directory. It should be used in production to apply migrations before starting the server.

Artefacts:

  • None

Database changes:

  • All migrations in .keystone/prisma/migrations/ are applied.