Getting Started

Creating an App

How to create a new Joystick app.

Using the Production Release

The production release of Joystick is considered the current, stable release of Joystick. This is the version of Joystick installed when you run npm i -g @joystick.js/cli. This is the recommended version of Joystick to use for your app. To create an app with this release, from your terminal, run:

Terminal

joystick create <app-name>

Replace <app-name> in the command above with the name of your app (use only single word, hyphenated, or snake_case names). The command above will create your app and install Joystick's dependencies:

  • @joystick.js/ui: the client-side, component portion of the framework
  • @joystick.js/node: the server-side, Node.js portion of the framework
  • @joystick.js/test: the testing framework you will use for writing tests against your Joystick app

Though separate packages, all three are designed to work together and are utilized when building your app.

Using the Canary Release

The canary release of Joystick is considered the current, development release of Joystick. This is the version of Joystick installed when you run npm i -g @joystick.js/cli-canary. This release is considered unstable and should only be used for experimental purposes.

Use at your own risk

The canary release is the "nightly" version of Joystick and is subject to incomplete or buggy code. It's subject to frequent change and should be considered unstable. Only use this in development or if you know what you're doing.

To create a new app using the canary release, from your terminal, run:

Terminal

joystick-canary create <app-name> --release canary

Replace <app-name> in the command above with the name of your app (use only single word, hyphenated, or snake_case names).

The --release canary flag here is important. If you fail to do this, your app will be created with the production version of Joystick's dependencies. This is done as a fail-safe to prevent you from accidentally creating an unstable app. The command above will create your app and install the canary version of Joystick's dependencies:

  • @joystick.js/ui-canary: the canary version of the client-side, component portion of the framework
  • @joystick.js/node-canary: the canary version of the server-side, Node.js portion of the framework
  • @joystick.js/test-canary: the canary version of the testing framework you will use for writing tests against your Joystick app

Identical to the production packages, thought separate, all three are designed to work together and are utilized when building your app.