Tools used for this project, in hopes of making life easier on developers.
Look here for references to documentation and key configuration files.
Identifies words that may be misspelled.
- Documentation: https://github.com/streetsidesoftware/vscode-spell-checker
- Files:
cspell.json
: configuration file and dictionary
- VS Code extension: https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker
Runs BDD tests with Gherkin syntax.
- Files:
features/cucumber.cjs
: configuration file for where to find tests and support codefeatures/tsconfig.json
: TypeScript configuration
- Node packages:
@cucumber/*
provides cucumber and formatters, which make the output on the command line look nice.ts-node
adds TypeScript support tocucumber-js
.tsconfig-paths
allows TypeScript sources infeatures/
to use path aliases to production code sources.
- VS Code Extension: https://marketplace.visualstudio.com/items?itemName=CucumberOpen.cucumber-official
Integrates environment management with your shell (e.g. bash
or zsh
).
- Files:
.envrc
: configuration script
- Installation:
- Homebrew:
brew install direnv
- Note: Follow instructions about updating
.bashrc
or.zshrc
- Homebrew:
Defines basic parameters for formatting source files.
- Files:
.editorconfig
: configuration file
Performs static analysis and style checks.
- Files:
.eslintrc.cjs
: configuration file
- Node packages:
eslint
: main package@typescript-eslint/eslint-plugin
and@typescript-eslint/parser
add support for TypeScript.
Performs Continuous Integration / Continuous Deployment (CI/CD).
- Files:
.github/workflows
: Workflow definitions
Adds a Git pre-commit hook that runs checks on staged files, before committing to the repository.
- Files:
.husky/pre-commit
: The actual pre-commit scriptpackage.json
also has aprepare
script that installs the Git hook.
- Node packages:
husky
: main package
Runs the actual checks on source files staged for the next Git commit.
- Files:
.lintstagedrc.cjs
: configuration file
- Node packages:
lint-staged
: main package
Checks Markdown files for style or formatting errors.
- Documentation:
- Files:
.markdownlint.json
: configuration file
- VS Code extension: https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint
Node.js is the runtime platform.
- Files:
package.json
: package properties, dependencies, and task automation (e.g. scripts)
Installs a known version of Node.js and configures your shell to use it.
- Files
.nvmrc
: configuration file
Formats source files.
- Documentation:
- Files:
.prettierignore
: which files should be skipped, while formatting.prettierrc.cjs
: configuration file
- Node packages:
prettier
: main package
Adds static typing to JavaScript.
- Documentation:
- Configuration (
tsconfig.json
): https://www.typescriptlang.org/tsconfig
- Configuration (
- Files:
tsconfig.json
- configuration file for sources insrc/
features/tsconfig.json
- configuration file for sources infeatures/
- Node packages:
typescript
: main package@tsconfig/node18
: base configuration for the version of node.js we're using here@types/*
: type definitions for all the other packages we're usingtsconfig-paths
: allows TypeScript sources to use path aliases at runtime, usingts-node -r
.