Skip to content

Latest commit

 

History

History
81 lines (58 loc) · 2.01 KB

CONTRIBUTING.md

File metadata and controls

81 lines (58 loc) · 2.01 KB

Contributing

Implementation

  1. ./src/walkable.js - Patroon allows one to define deeply nested patterns. To implement these features succinctly we use an abstraction which allows the traversing of a tree. This is an area of computer science named tree traversal.
  2. ./src/index.js - We now take the walkable utility and implement patroon's functionality.
  3. ./src/helpers.js - You might have noticed that both the patroon and walkable modules have common helper functions.

Formatting

Standard is good enough.

npx standard

Documentation

We generate the contributors list using node and store it in memplate.

require('./package.json').contributors.reduce((acc, {name, url, email}) =>
  `${acc}- **${name}** *${url}*\n`, '')

We also generate the table of contents and store it in memplate.

npx markdown-toc --no-firsth1 --maxdepth 4 README.mz

For the tests in the README.mz to work we also need to install patroon.

npm link
npm link patroon

up to date, audited 3 packages in 939ms

found 0 vulnerabilities

added 1 package, and audited 95 packages in 936ms

65 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

We then use memplate to template the README. Then we run markatzea to run the examples and show the output of those.

memplate < README.mz | markatzea > README.md
echo 'Documentation generated successfully.' 1>&2

Changelog

The changelog is generated using the useful auto-changelog project.

npx auto-changelog -p