Various scripts are provided in the package file, but many are helpers for other scripts; here are the ones you'll commonly use:
dev: starts the frontend and backend in dev mode, with file watching (note that the backend runs on port 3100, and the frontend is proxied to it).
dev:test: checks that the
devcommand can start up correctly, then shuts it down.
e2e: builds and starts the app in production mode and runs the Cypress tests against it.
e2e:dev: builds and starts the app in dev mode and runs the Cypress tests against it.
e2e:local: opens Cypress on the desktop, instead of running it in the background. Doesn't start the app.
serve: builds and starts the app in production mode locally.
e2e; ideal before a
test: runs the Jest unit and integration tests.
test:mutate: runs mutation testing using Stryker. Note this is experimental, it's not part of the CI build.
test:watch: runs the unit and integration tests in watch mode.
While running the dev mode using
npm run dev, you can attach the Node debugger to the server process via port 9229.
If you're using VS Code, a debugging configuration is provided for this.
There is also a VS Code debugging configuration for the Chrome debugger, which requires the recommended Chrome extension, for debugging the client application.
See the guidance in the wiki.
Partly I wrote this to explore what things like Create React App (CRA) are doing under the hood with Babel and
Webpack. Partly it was to simplify a previous starter kit, so there aren't multiple package entry points complicating
the automation and it's not using
copy (which caused cross-platform issues on Windows).
test:watchand see the tests related to changes anywhere in the codebase
package.jsonis getting a bit unwieldy; there are 20+ scripts and it's unclear what part of the app each dev dependency is for