tscoverage/README.md

89 lines
2.4 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
[![Coverage Status](https://coveralls.io/repos/github/pushrocks/npmts/badge.svg?branch=master)](https://coveralls.io/github/pushrocks/npmts?branch=master)
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
2. Compile TypeScript
3. Create Declartion Files
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)
##### Typings
**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-01-18 14:15:15 +00:00
by default npmts looks for `./ts/index.ts` and `./ts/test.ts` that will compile to
2016-01-16 13:20:14 +00:00
`./index.js` and `./test.js`
2016-02-14 02:12:02 +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:12:02 +00:00
##### Instrumentalize Code
npmts instrumentalizes the created JavaScript code to create a coverage report.
##### Tests
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-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.