Skip to content

Latest commit

 

History

History
68 lines (50 loc) · 2.78 KB

development-workflow.md

File metadata and controls

68 lines (50 loc) · 2.78 KB

Development workflow

If you would like to contribute an improvement or a fix please pay attention to these items:

Requirements

To start development and improvement of the source code you should have the following things:

Installation

Firstly, you should clone a copy of the repository by using one of the following commands:

  • HTTPS: git clone https://github.com/Microsoft/powerbi-visuals-utils-dataviewutils.git
  • SSH: git clone git@github.com:Microsoft/powerbi-visuals-utils-dataviewutils.git

After that, you should change the current working directory to powerbi-visuals-utils-dataviewutils by using the following command:

cd powerbi-visuals-utils-dataviewutils

The final step is installation of dependencies by using the following command:

npm install

The repository is ready for development now.

How to build

We use TypeScript as a language and a compiler for the repository. To build source code you should run the following command:

npm run build

This command compiles TypeScript code to JavaScript and provides declaration file for the Intellisense. The result of the compilation is available in the lib directory.

How to lint the source code

We use TSLint as a linter for TypeScript code. To check source code you should run the following command:

npm run lint

This command checks style of TypeScript code and provides a list of problems. Please address all of problems reported by TSLint before sending a pull request to the repository.

How to run unit tests locally

We use Jasmine and Karma to run unit tests. Please note, Karma requires Google Chrome to run unit tests. To run unit tests locally on your machine you should execute the following command:

npm run test

How to debug unit tests locally

To debug unit tests in Google Chrome browser you should run the following command:

npm run test -- --single-run=false

This command runs unit tests in the browser and watches tests files, in other words, you have an ability to run unit tests automatically after any changing.