ConversationLearner-Models/README.md

2.4 KiB

ConversationLearner-Models

Models for ConversationLearner

styled with prettier Travis CircleCI AppVeyor

Usage

This library is a collection of types, interfaces, and utilities shared across other ConversationLearner repositories:

git clone https://github.com/Microsoft/conversationlearner-models.git conversationlearner-models
cd conversationlearner-models
npm install
npm run build
npm test

Importing library

import * as models from '@conversationlearner/models'

NPM scripts

  • npm t: Run test suite
  • npm start: Run npm run build in watch mode
  • npm run test:watch: Run test suite in interactive watch mode
  • npm run test:prod: Run linting and generate coverage
  • npm run build: Generate bundles and typings, create docs
  • npm run lint: Lints code
  • npm run commit: Commit using conventional commit style (husky will tell you to use it if you haven't 😉)

Semantic Release

Semantic release works by analyzing all commits that have occurred since the last release, computing the next version to increment based on the most significant commit found, then tagging and publishing a new package with that version.

See: https://semantic-release.gitbooks.io/semantic-release/content/#how-does-it-work

In order to analyze the commit messages reliably they must be in a known format. To help writing these commits there is a tool at npm run commit which acts a wizard walking you through the options.

For most use cases the only change required is to type a special word in front of your normal commit messages. Instead of "add function to compute X" put "feat: add function to compute X". Based on the rules "feat" is mapped to a "minor" release.

Video Demo: https://youtu.be/qf7c-KxBBZc?t=37s