GitHub Readme.md
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 dev
command 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.lint
: runs ESLint against all the JavaScript in the project.serve
: builds and starts the app in production mode locally.ship
: runs lint
, then test
, then e2e
; ideal before a git push
.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).
Pros
test:watch
and see the tests related to changes
anywhere in the codebaseCons
package.json
is getting a bit unwieldy; there are 20+ scripts and it's unclear what part of the app
each dev dependency is forTo consider