Skip to content

Latest commit

 

History

History
74 lines (52 loc) · 2.26 KB

DEVELOPMENT.md

File metadata and controls

74 lines (52 loc) · 2.26 KB

Developers Guide

This guide is for all codebases in this mono-repo.

Setup after cloning

You need to have these tools installed:

  • Node.js version 10 or later
  • Yarn
  • Gnu Make - the make command should exist on your machine
  • to see code statistics: scc

To get the codebase into a runnable state after cloning:

  • make setup to install dependencies
  • optionally add ./bin and ./node_modules/.bin to the PATH environment variable

Running tools

All codebases in this mono-repo provide a standardized set of commands for executing common development tasks. You must run these commands in the directory of the respective codebase.

  • run all tests: make test
  • run unit tests: make unit
  • run end-to-end tests: make cuke
  • run documentation tests: make doc
  • run linters: make lint
  • run auto-fixers: make fix

To enable debugging statements and verbose output while debugging an end-to-end test, add the @debug Gherkin tag in the first line of the .feature file.

Debugging

To debug Text-Runner in VSCode:

  • switch VSCode to the debug view
  • start the run text-runner profile

To debug a unit test:

  • set a breakpoint in the unit test
  • switch VSCode to the debug view
  • start the unit profile

To debug a Cucumber step implementation in VSCode:

  • open .vscode/launch.json
  • edit the cuke current file section:
    • args
    • cwd
  • set a breakpoint inside Cucumber code
  • switch VSCode to the debug view
  • start the cuke current file profile

Updating dependencies

make update

Always update the dependencies for all codebases so that they use the exact same versions.

Deployment

  • bump the versions by running lerna version <patch|minor|major> --no-private
  • make a global search-and-replace for "6.0.0" and "0.2.0" replace it with the new version
  • get this change into the main branch
  • run make publish