Skip to content

nordcraftengine/nordcraft

Repository files navigation

Nordcraft - the Web Development Engine

Create highly performant web apps with SSR, branching, version control, components, and much more! Visit nordcraft.com to learn more.

Discord | BlueSky | YouTube | LinkedIn | X

Test status Release status

Introduction

This repository holds different packages that are used internally by the Nordcraft framework. The packages that are currently available are:

  • core 👈 holds core (shared) logic used by the other packages
  • runtime 👈 includes logic for hydrating/running/updating a Nordcraft application on the front-end
  • ssr 👈 holds part of the server-side rendering logic
  • lib 👈 holds all builtin formulas and actions used by the runtime and during ssr
  • search 👈 holds all issue rules and search functionality for traversing a Nordcraft project. This powers the issue panel in the Nordcraft editor in a web worker atm

Requirements

Install using bun by running bun install

Commands

  • Install: bun install
  • Lint: bun lint
  • Check types: bun typecheck
  • Build: bun run build <-- builds all packages

Status

While we consume all packages internally in the Nordcraft framework, this project is currently in development and is not yet ready for other applications to consume.

Plan

As announced in July '24, Nordcraft is in the process of going fully open source. The goal is to move more and more code into this repository and make it possible to self host a Nordcraft application.

We're currently working on moving more of the server-side rendering logic into this repository. This means that most updates are going to be in the ssr package for the time being.

Dependencies

The dependencies between the packages are as follows:

  • core is a dependency for all other packages
  • ssr is a dependency for search
  • std-lib is a dependency for runtime and ssr

Releases

We use GitHub releases and release to npm atm, which is where we consume packages from internally.

To release a new version to npm:

  1. Update the version in the root package.json file
  2. Create a PR
  3. Once the PR is merged, it will automatically release all packages to npm

Contributing

If you find a bug or have an idea for a new feature, please open an issue. We also welcome pull requests. We are actively monitoring this repository.

If you have any questions, feel free to ask them in our Discord or reach out by e-mail

Local development

To consume all packages locally, it's useful to run bun run link in the root of the repository. This will use bun link on all packages in the repository.

Other than that, the best way to test atm is to use the hono example.

Documentation

The Nordcraft docs are open source.

If you'd like to contribute to the documentation, view all open issues on GitHub, or open an issue if you find something wrong or missing.

View the Nordcraft official documentation.

About

Packages that are used internally by the Nordcraft engine

Resources

License

Stars

Watchers

Forks

Contributors 8