Skip to content
This repository has been archived by the owner on Nov 3, 2021. It is now read-only.

Maintenance

wshirey edited this page Feb 22, 2018 · 4 revisions

Welcome to the dxp-questions-ui wiki, maintainer!

Here's all you need to know about maintaining this repo.

Documentation

The documentation is built using the following npm modules

  • jsdoc-to-markdown which renders the src/index.js
  • markedpp which renders the readme.md from the readme.mdpp preprocess file, adding json/html snippets, TOC, and API

The markedpp allows us to include external files in a template file (readme.mdpp) and render this to our README.md file. This allows us to use JSON snippets for both our documentation and for testing. It also allows us to use other tools like jsdoc-to-markdown that can programmatically generate markdown.

Any time you update the following files, you will need to rebuild the documentation.

  • snippets/json/*
  • snippets/html/*
  • readme.mdpp
  • src/index.js

You can rebuild the documentation with npm run docs. Make sure you commit the README.md file after running this command.

Git commit messages

You should use Conventional Commits messages when making changes to the repo. This allows us to use the standard-version npm package to automatically deduce what version the next release of the package should be.

What this means is that you should

  1. Squash and merge commits when approving PRs
  2. Patch changes (0.0.x) should have commit message format of
fix(<JIRA issue>): <message>
  1. Minor changes (0.x.0) should have commit message format of
feat(<JIRA issue>): <message>
  1. Major/breaking changes (x.0.0) should have commit message form of
feat(<JIRA issue>): message
BREAKING CHANGE: 
  1. Documentation related changes should have commit message form of
docs(<JIRA issue>): <message>

Feel free to update this page with other conventions

Releasing

To release a new package, make sure you have latest version of master branch and run the following commands in the repo folder.

git checkout master
git pull
npm run release
git push --follow-tags origin master

If you wish to prerelease a package run the following commands instead.

git checkout master
git pull
npm run prerelease
git push --follow-tags origin master

This will kick off a Travis CI build that will deploy to AWS S3, npm and Github Releases.

Build configuration

Travis CI is configured to

  • Run tests with npm run test
  • Build with npm run prod
  • Build PR commits
  • Build anytime a commit to master branch is made
  • Deploy to npm, Github Releases, and AWS S3 when the master branch is tagged
  • Credentials are stored in Travis CI as environment variables
Clone this wiki locally