Skip to content

A task management tool designed for my personal style of working

Notifications You must be signed in to change notification settings

Cipscis/orange-twist

Repository files navigation

orange-twist

Build and deploy status badge

Orange Twist

Development

You will need to install Node.js before working on this project.

  1. Clone the repository using git clone https://github.com/cipscis/orange-twist.git.
  2. Run npm install to install development dependencies.
  3. Create a .env file.
  4. Run npm start to run the local server and watch CSS and JS files for changes.

Usually, you will just want to run npm start, but this project also provides the following npm scripts:

  • npm run server runs a Node.js server on the port specified in the .env file, using Express.

  • npm run build compiles CSS files using sass, then typechecks TypeScript using the TypeScript compiler and bundles TypeScript and any JavaScript using esbuild.

  • npm run watch compiles both CSS and TypeScript+JavaScript files just like npm run build, but in watch mode so any further changes will result in recompilation. Also runs any configured tests suites in watch mode.

  • npm run lint lints all JavaScript and TypeScript files using eslint and all SCSS files using stylelint.

  • npm start runs both the server and watch tasks simultaneously.

  • npm test runs any configured test suites using Jest.

  • npm run test:coverage runs any configured test suites using Jest, and reports coverage information.

  • npm run watch:test runs any configured test suites using Jest in watch mode.

.env

The .env file contains the following environment variables:

  • MODE: 'development' | 'production'

Used to determine what optimisations to use when running the build process.

  • PORT: number

Used by Express to determine which port to use when running a local Node.js server.

  • SHOW_FPS?: boolean

If true, an FPS counter will display in the top left corner in development mode.

An example .env file you can use for development is:

MODE = "development"
PORT = "8080"

This file is intended to differ from environment to environment, so it is ignored by Git.

Dependencies

  • Preact: Rendering framework, alternative to React.

  • preact-render-to-string: Preact's server-side rendering framework.

  • zod: A library for writing type schemas, designed for working with TypeScript.

  • marked: A Markdown compiler.

  • marked-highlight: A plugin for marked that allows syntax highlighting to be applied.

  • highlight.js: A library for providing syntax highlighting to code.

Dev Dependencies

Development

These dependencies are used when working on the project locally.

Deploy

These dependencies are used for deploying the project to GitHub Pages.

  • checkout: Used to check out the repository to a workspace so it can be built.

  • setup-node: Use to set up a Node.JS environment for the build and test scripts to run on during the deployment process.

  • upload-artifact: Used to upload a build artifact to be reused across multiple CI/CD jobs.

  • download-artifact: Used to download a build artifact.

  • upload-pages-artifact: Used to upload an artifact to use for deploying to GitHub Pages.

  • deploy-pages: Used to deploy the artifact to GitHub Pages.

About

A task management tool designed for my personal style of working

Resources

Stars

Watchers

Forks

Packages

No packages published