tscoverage/README.md

97 lines
3.1 KiB
Markdown
Raw Normal View History

2016-01-16 13:09:33 +00:00
# npmts
2016-01-16 13:20:14 +00:00
Write npm modules with TypeScript without hassle.
2016-01-16 13:09:33 +00:00
2016-02-09 16:19:27 +00:00
## Status
2016-02-14 02:19:54 +00:00
[![Build Status](https://travis-ci.org/pushrocks/npmts.svg?branch=master)](https://travis-ci.org/pushrocks/npmts)
[![Dependency Status](https://david-dm.org/pushrocks/npmts.svg)](https://david-dm.org/pushrocks/npmts)
[![bitHound Dependencies](https://www.bithound.io/github/pushrocks/npmts/badges/dependencies.svg)](https://www.bithound.io/github/pushrocks/npmts/master/dependencies/npm)
[![bitHound Code](https://www.bithound.io/github/pushrocks/npmts/badges/code.svg)](https://www.bithound.io/github/pushrocks/npmts)
2016-02-14 02:20:53 +00:00
[![Coverage Status](https://coveralls.io/repos/github/pushrocks/npmts/badge.svg?branch=master)](https://coveralls.io/github/pushrocks/npmts?branch=master)
2016-02-09 16:19:27 +00:00
2016-01-16 13:09:33 +00:00
## How to use npmts
### Install
First install npmts as dev dependency:
```sh
npm install npmts --save-dev
```
Then use it in package.json's script section to trigger a build:
```json
"scripts": {
"test": "npmts"
}
```
### Default behaviour
2016-02-14 02:12:02 +00:00
**Execution order of tasks**
1. Install typings
2016-02-17 00:40:01 +00:00
2. Transpile TypeScript with inline sourcemaps
2016-02-16 08:52:24 +00:00
3. Create Declaration Files
2016-02-14 02:12:02 +00:00
4. Instrumentalize created JavaScript files with istanbul
5. Run Tests
6. Create Coverage report
7. Upload Coverage reports to travis (must be activated, only triggers on travis)
2016-02-14 02:13:03 +00:00
#### Typings
2016-02-14 02:12:02 +00:00
**npmts** looks for `./ts/typings.json` by default and installs any defined typings to `.ts/typings/`.
You can then reference the ./ts/typings/main.d.ts file in your TypeScript code.
#### TypeScript
2016-02-17 04:45:42 +00:00
by default npmts looks for `./ts/*.ts` and `./test/test.ts` that will compile to
`./dist/*.js` and `./test/test.js`
Use commonjs module system for wiring up files.
2016-01-16 13:20:14 +00:00
2016-02-14 02:13:03 +00:00
#### Declaration files
2016-01-18 14:35:44 +00:00
**npmts** also creates an `index.d.ts` declaration file by default.
2016-01-18 14:20:23 +00:00
You can reference it in your package.json like this:
```json
"main": "index.js",
"typings": "./index.d.ts",
```
2016-02-14 02:13:03 +00:00
#### Instrumentalize Code
2016-02-14 02:12:02 +00:00
npmts instrumentalizes the created JavaScript code to create a coverage report.
2016-02-14 02:13:03 +00:00
#### Tests
2016-02-14 02:12:02 +00:00
When Typings have been installed, TypeScript + Declaration files have been transpiled and the resulting JS has been instrumentalized,
npmts runs `.test/test.js` with mocha.
2016-02-17 00:40:01 +00:00
Any errors will be shown with reference to their originating source in TypeScript.
2016-01-18 14:20:23 +00:00
When requiring the module from other TypeScript files,
the TypeScript Compiler will use the declaration file to resolve typings.
2016-01-18 14:35:44 +00:00
2016-01-18 14:15:15 +00:00
2016-01-16 13:42:30 +00:00
### Custom behaviour
2016-02-14 02:12:02 +00:00
Custom behaviour can be achieved through a config file at the root of your package.
The file must be named **npmts.json**
2016-02-04 19:41:34 +00:00
```json
{
"mode":"custom",
"ts":{
"./customdir/custom.ts":"./customcompiled.js"
},
"typings":[
"./customdir"
]
}
```
* **mode** can be "default" or "custom"
* **ts** You can list as many TypeScript files as you like. The key represents the source TypeScript file, the value the output file.
* **typings** is an array of all direcories that have a typings.json present. Uses the new typings tool from npm.
2016-01-16 13:42:30 +00:00
2016-02-14 02:12:02 +00:00
2016-01-16 13:42:30 +00:00
## Readme for Devs
There is a [README-dev.md](README-dev.md) in the repo.
2016-01-18 14:15:15 +00:00
This is only of interest for you when looking to contribute to, improve or build upon this package.