kayernyc / verb-practice-monorepo

Monorepo for seperible verbs project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Verb Practice Monorepo

What is this repo buiding?

This repo will contain 2 backend services and possible future frontend consumers for one of those services, and an administration panel.

The ultimate aim is provide a backend to power different consumers for creating apps that train the user against different verb sets.

future features:

  • auth
  • graphQL
  • Vite type checking, or maybe ARK

To Start:

Requirements

If you are working in VSCode, install the Deno VS Code Extension Pack. This will quiet type errors and allow you to cache dependencies.

Start

  1. Clone this repository
  2. Run pnpm install

This project uses pnpm and nx for monorepo management. To run any nx command, prefix the standard command with pnpm. For example:

pnpm nx build global-types

It is often useful to build the module and watch them while developing apps. This is an example of how to run and watch a module:

pnpm nx build global-types --watch

To build and watch multiple modules:

pnpm nx run-many -t build -p global-types german-types --watch

Contributing

  1. pull a branch off of main
  2. make changes (small changes are the best changes, except for deleting)
  3. stage your changes
  4. use pnpm cz to trigger a commitzen to commit.
  5. push to origin

To add internal, workspace packages

pnpm add <internal workspace package> --filter <target workspace> --workspace

Running tests

To run a single test in an app, use the following command:

npx jest <relative path to `test`> --config=<relative path to `jest.config.ts`>

This will trigger the tsc compiler and properly translate any path aliasing in the node applications.

To run test suites, all test commands have a type appended such as test:unit. Verify which suite you want to test and then run

pnpm nx <test type> target

for example:

pnpm nx test:unit db_management

About

Monorepo for seperible verbs project

License:GNU General Public License v3.0


Languages

Language:TypeScript 95.6%Language:JavaScript 3.0%Language:EJS 1.2%Language:Shell 0.2%