Skip to content
This repository was archived by the owner on Jan 2, 2024. It is now read-only.

Latest commit

 

History

History
63 lines (38 loc) · 2.24 KB

File metadata and controls

63 lines (38 loc) · 2.24 KB

Contribution Guide

Legal

All contributors must sign the CLA.

This is managed automatically via https://cla-assistant.io/ pull request voter.

Developer Certificate of Origin (DCO)

Due to legal reasons, contributors will be asked to accept a DCO when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses the standard DCO text of the Linux Foundation.

Development Environment

Prerequisites

  • You have a maintained version of Node.js. This package is targeted and tested on modern/supported versions of Node.js only. This means 8/10/12/13 at the time of writing this document.
  • You have commitizen installed for managing commit messages.

Initial Setup

To perform setup:

  1. Clone this repositroy.
  2. Perfom npm install.

Committing Changes

Use git cz to build conventional commit messages.

Compiling

TypeScript is the main programming language used.

Use the following npm scripts at the repo's root to compile the source code (excluding tests):

  1. npm run compile
  2. npm run compile:watch (This will watch files for changes and re-compile as needed.)

Full Build

To run the full Continuous Integration build, run npm run ci.

Release Process

Releases are done as "Github Releases".

To release on master branch:

  1. Perform git fetch and git rebase.
  2. Run npm run version:suggest to get the suggested releaseType which will be used in the next step.
  3. Run the npm version [patch|minor|major] using the releaseType value command and with the version suggested in the previous step.
  4. Perform git push.
  5. Perform git push --follow-tags
  6. Inspect the CircleCI deploy build for the latest version tag.
  7. Inspect the "Github Releases" and ensure the .vsix archive is attached to the latest version release.