diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 749b2db0e..98c60bcea 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -20,19 +20,20 @@ development. Locally, we would need to run both the React client and the node.js server in development mode From the project root, run the following commands - - __Install the project dependencies__ by running `pnpm i` -- __Run dev mode__ by running `turbo dev` +- __Run dev mode__ by running `pnpm turbo dev` + ### Debugging backend -To debug backend code in Node.js: +The previous command will start the development servers for both the client, server and electron applications. +Typically in dev mode we prefer to start these in separate terminals to help with error tracking and debugging. -- Open two separate terminals and navigate to the `apps/client` and `apps/server` directories. -- In each terminal, run the command `pnpm dev` to start the development servers for both the client and server - applications. -- If you need to set breakpoints and inspect the code execution, enable Node.js inspect mode by - running `pnpm dev:inspect`. +We do that by creating two terminals an running +- __Run the React UI__ by running `pnpm turbo dev --filter=ontime-ui` +- __Run the nodejs server__ by running `pnpm turbo dev --filter=ontime-server` + +- If you need to set breakpoints and inspect the code execution, enable Node.js inspect mode by running `pnpm turbo dev:inspect --filter=ontime-server`. ## TESTING @@ -45,7 +46,7 @@ Generally we have 2 types of tests. Unit tests are contained in mostly all the apps and packages (client, server and utils) -You can run unit tests by running `turbo run test:pipeline` from the project root. +You can run unit tests by running `pnpm turbo test:pipeline` from the project root. This will run all tests and close test runner. Alternatively you can navigate to an app or project and run `pnpm test` to run those tests in watch mode @@ -76,13 +77,13 @@ You can generate a distribution for your OS by running the following steps. From the project root, run the following commands - __Install the project dependencies__ by running `pnpm i` -- __Build the UI and server__ by running `turbo run build:electron` -- __Create the package__ by running `turbo run dist-win`, `turbo run dist-mac` or `turbo run dist-linux` +- __Build the UI and server__ by running `pnpm turbo run build:electron` +- __Create the package__ by running `pnpm turbo run dist-win`, `pnpm turbo run dist-mac` or `pnpm turbo run dist-linux` The build distribution assets will be at `.apps/electron/dist` Note: The MacOS build will only work in CI, locally it will fail due to notarisation issues. -Use the `turbo run dist-mac:local` command to build a MacOS distribution locally. +Use the `pnpm turbo run dist-mac:local` command to build a MacOS distribution locally and skip the notary process. ## DOCKER @@ -98,10 +99,3 @@ Other useful commands - __List running processes__ by running `docker ps` - __Kill running process__ by running `docker kill ` - -## General Info - -# APP Building - -We build the app from app.js for almost all applications. The output file will still be named index.cjs. This is because of Electron. -Building the app from index.ts only applies for applications that don't use electron. index.ts will take over the initialization of the server and UI when electron isn't present. diff --git a/package.json b/package.json index e29da7774..db29ae20d 100644 --- a/package.json +++ b/package.json @@ -22,8 +22,6 @@ "type": "module", "scripts": { "dev": "turbo run dev", - "dev:electron": "turbo run dev --filter=ontime", - "dev:server": "turbo run dev --filter=ontime-server", "lint": "turbo run lint", "build": "turbo run build", "build:local": "turbo run build:local", diff --git a/turbo.json b/turbo.json index 70c70ff10..e62cf01e6 100644 --- a/turbo.json +++ b/turbo.json @@ -10,6 +10,10 @@ "cache": false, "persistent": true }, + "dev:inspect": { + "cache": false, + "persistent": true + }, "dev:test": { "cache": false },