Skip to content

Packages that are used internally by the toddle framework

License

Notifications You must be signed in to change notification settings

toddledev/toddle

Repository files navigation

toddle - the open-source visual frontend framework

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

Discord | BlueSky | YouTube | LinkedIn | X

Test status Release status

Introduction

This repository holds different packages that are used internally by the toddle 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 toddle 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 toddle project. This powers the issue panel in the toddle 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 toddle framework, this project is currently in development and is not yet ready for other applications to consume.

Plan

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

We're currently working on moving more and 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

Releases

Currently, we're not using GitHub releases, but once the repository is more mature, we will start using them. We do release to npm atm though, which is also 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.