This is an internal documentation. There is a good chance you’re looking for something else. See Disclaimer.

Frontend Repository Guidelines

Philosophy

Changes to the current version will be developed in separate feature branches. As soon as a feature is ready, a merge request is opened to rebase the feature branch into the master branch. Only self-contained features should be rebased to master to keep master stable and packages always ready to be published.

How to fix bugs in older versions see Maintaining older versions

Commit Message

Similar to Karma commit messages follow this convention:

<type>(<scope>): <subject>

<body>

Changelog: <feature>
Refs: <Jira Task Number>
Cherry-pick: Up

Message subject (first line)

First line must not be longer than 70 characters followed by a blank line.

<type> values

feat

New feature

fix

Bug fix

docs

Changes to documentation or changelogs

style

Formatting etc.; no code change

refactor

Refactoring production code

test

Adding missing tests, refactoring tests; no production code change

chore

Updating webpack etc; no production code change

<scope> values

  • If the changes affect a single package the scope is set to package name (e.g. login).

  • If the change is a global or difficult to assign to a single package the parentheses are omitted.

  • If changes affect the mono-repo itself, the scope is set to ‘tocco-client’. In such a case each package is released if the changelog is not empty.

Message body

  • Should have a list structure

  • Includes motivation for the change and contrasts with previous behavior

  • Uses the imperative, present tense: “change” not “changed” nor “changes”

Changelog

If a release relevant feature is added with the commit, a changelog line can be added.

Changelog: add feature XY

A commit can have several changelog entries but an entry needs to be on one single line. The changelog entries are used to generate the changelog of the corresponding <scope> package.

Refs

At the moment there is no interface between Jira and the new client code. But with Refs a commit can be linked to a task which might be helpful to comprehend a change.

Cherry-pick

Should only be set in commits for older versions. See Maintaining older versions