Compare commits

...

19 Commits

Author SHA1 Message Date
33c83de1fb 5.4.25 2016-09-02 17:12:38 +02:00
07a56fcaca fix @types/node 2016-09-02 17:12:35 +02:00
7bc986251f 5.4.24 2016-09-02 14:11:44 +02:00
cdde7da5f9 remove travis and appveyor 2016-09-02 14:11:27 +02:00
82c00fe444 fix typedoc integration 2016-09-02 14:10:09 +02:00
93682e9ec4 5.4.23 2016-09-01 15:50:01 +02:00
d339da7e11 compile 2016-09-01 15:49:57 +02:00
8b51992959 5.4.22 2016-09-01 15:47:10 +02:00
cb3bfaf438 updated README 2016-09-01 15:46:31 +02:00
91b7317b80 5.4.21 2016-09-01 12:12:09 +02:00
400b193210 integrate push.rocks banding 2016-09-01 12:12:03 +02:00
7f6a6434d2 5.4.20 2016-08-31 16:10:05 +02:00
a1414877a1 update docs 2016-08-31 16:10:01 +02:00
a4927f9c17 5.4.19 2016-08-31 13:57:16 +02:00
264c3d95fd update README 2016-08-31 13:55:42 +02:00
fd06aa04f4 update README 2016-08-31 13:49:00 +02:00
a576872471 update README 2016-08-31 13:48:20 +02:00
333b59c37e 5.4.18 2016-08-31 13:16:33 +02:00
054b7dca2b specify host 2016-08-31 13:16:15 +02:00
18 changed files with 193 additions and 307 deletions

View File

@ -50,7 +50,7 @@ pages:
image: hosttoday/ht-docker-node:npmpage
stage: pages
script:
- npmci command npmpage
- npmci command npmpage --host gitlab
only:
- tags
artifacts:

View File

@ -1,15 +0,0 @@
language: node_js
node_js:
- 4.3.1
- stable
deploy:
provider: npm
email: npm@lossless.digital
api_key:
secure: k075QdAcmEdmAoVaP5vclLnZmhbZB39v85VIUMWAKXbIAU+liHrYZRlIEYfAaIUrf6sha+zAo/U/vjAN7c5ArB7J/HjCLJ3lsi2fWtaSRlYQrYX9/EhU0S+YZjRE8Jrn4hGTcce6I2mANBnEzvzlXrlKaqVvSqOqTO9nJ5aDBCGa5XT3EwlHKkRlAlL3ZOLrRg38R343E8ifZBsbn9G0e+RgDt0sic3WD8NME9lpsQ/99UZKH00duHbhF9nme5Sjdh86y01hvsaBf+CLR4gfS2IntnrCSrZbETFrsOBUyMnJZDQ3qlrjcEaiTkpJ4iSIqr+ftwGMMD6S1MxCTPqkp64UIeMz2Tg41HqoaeIg7z8cF0APv6M9ZAdWhsU43GqsMe70dK900JZpQAkQxMf/6NpPpGfZug6TwqLYSIRzvjvNrhYfuyoGfXdAxrM3SJMkIq6rwE+T/y36kZaC3CrQRyNZypNz0vW1M9HLjJUi2vO0U/CDn8tvi1p6ChrDXDfV3H2UIAMHFlAF+GrT7dMWwD+p+d8mc9gpAFEF9zMqAIJamPhwboJxoHjKQrqrq5czNm75ETL77AzfnU6CfQlG5dTIFnGId8y0ZxXvtpBruDoyC1+ZF23MYZmb+ipxQZM2oLCjNLeL3aEePc/JlSm6Gn8w3sIkZTG261F0XZxdApw=
on:
tags: true
repo: pushrocks/npmts
env:
global:
secure: kPKBMnEKoC+K5dXpl11NhuK3LSp0c0fRO60Akj3QeQBjUWnVAcF0Ht30c31y0lnJaMEzXhmUIKdR7RQnlmw5be4TYGINzY7FD3Dcv7o+HO1ZQrkpMWSu46jF6ZJer9moGjZ8e0rX8wZyB9SqsXYlwWRzqvxfOVxQfTvU3BEnJKHbhq+R5JMJ8dwLBPNTJKMWKq85KNsjo3ap0BjxdBUoRLzvrn31VOPH30BkvmLGc5YiIz5QmITll/T2wmQKYTNT2qDlEJ729B8pYa3eNlCNi89AxsLDGCmEoJAVrPsyw5g+gAyBqZ1GRULy83UJbELUq7cse3MRLMSwCAm4f0INRAuqcyiKYJ4+LHd0NwKrFQ/dQ0pvyBTbbEjNemXaakkWH7S6F03UvF+u+tiQ7C97XH0CRsseGlm36zCkAClEhtWVWA4U0Q5c6zqRAAOYOI0xquXalRKPTJe7fCYewp2eqmlp8drt8MxancyKI/ynXNoR5vGFzDTSRoPjTlaYQPmbiH4+Nd5+6Qoj94PEIqghebIPDQo3C7vWts4WGccux5b2q524UgB63hjJQA6+GQOo1q4RibouS6WScn8/tW/ZOEP+sNhDfkeiZUIjye+Q3PyzonGHefgSQ8wBbsc8LOX0cKUcEFWr14nhdQ9ZeW+hrSSF04TbM4zGJPGcKhmT2UU=

138
README.md
View File

@ -1,7 +1,13 @@
# npmts
Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.
## Status
## Availabililty
[![npm](https://push.rocks/assets/repo-button-npm.svg)](https://www.npmjs.com/package/npmts)
[![git](https://push.rocks/assets/repo-button-git.svg)](https://gitlab.com/pushrocks/npmts)
[![git](https://push.rocks/assets/repo-button-mirror.svg)](https://github.com/pushrocks/npmts)
[![docs](https://push.rocks/assets/repo-button-docs.svg)](https://pushrocks.gitlab.io/npmts/docs)
## Status for master
[![build status](https://gitlab.com/pushrocks/npmts/badges/master/build.svg)](https://gitlab.com/pushrocks/npmts/commits/master)
[![coverage report](https://gitlab.com/pushrocks/npmts/badges/master/coverage.svg)](https://gitlab.com/pushrocks/npmts/commits/master)
[![Dependency Status](https://david-dm.org/pushrocks/npmts.svg)](https://david-dm.org/pushrocks/npmts)
@ -10,137 +16,13 @@ Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.
[![TypeScript](https://img.shields.io/badge/TypeScript-2.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/)
[![node](https://img.shields.io/badge/node->=%206.x.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/)
## What is NPMTS?
## Introduction
NPMTS is your friend when it comes to write, test, publish and document NPM modules written in TypeScript.
By default NPMTS will **bundle declaration files**. As a result npm module **code completion in editors like Visual Studio Code** works.
There is a docker image available that includes npmts to make CI a breeze:
[hosttoday/ht-docker-node:npmts on Dockerhub](https://hub.docker.com/r/hosttoday/ht-docker-node/)
### Install
First install npmts globally, then install the npmts-g locally.
For further information read the docs.
> **npmts-g* checks if the global version of npmts suffices the modules requirements.
If not it installs npmts locally in the right version during npm install.
```sh
npm install npmts -g # installs npmts globally
npm install npmts-g --save-dev # installs npmts-g checking tool as devDependency
```
Then add it to your package.json's script section to trigger a build:
```json
"scripts": {
"test": "(npmts)"
}
```
### Default task execution order
1. **Config:** Check config in ./npmextra.json (Check out [npmextra](https://www.npmjs.com/package/npmextra))
1. **Clean:** Clean up from any previous builds (old js files)
1. **Check:** Check project for typings declaration in package.json, unused dependencies and missing dependencies
1. **Transpile:** Transpile TypeScript with **inline sourcemaps** and **declaration files** to ES target
1. **Documentation:** Create TypeDoc Documentation from TypeScript files
1. **Test:** Babelify ES6 to ES5 on the fly, instrumentalize ES5 JavaScript with istanbul and run tests with Mocha.
### npmextra.json
the npmts section in npmextra.json can be used to configure npmts.
**Default**
>Note: When you are using `"mode":"default"` it'll cause npmts to override any other settings you may have made except for tsOptions (ES target etc.)
with default behaviour.
```json
{
"npmts":{
"mode":"default"
}
}
```
**Custom settings**
```json
{
"mode":"custom",
"docs":false,
"test":true,
"npmts":{
"ts":{
"./customdir/*.ts":"./"
},
"tsOptions":{
"declaration":false,
"target":"ES6"
},
"cli":true
}
}
```
| key | default value | description |
| --- | --- | --- |
| `"mode"` | `"default"` | "default" will do default stuff and override , "custom" only does what you specify |
| `"docs"` | `true` | create docs for your module |
| `"test"` | `true` | test your module |
| `"ts"` | `{"./ts/*.ts":"./","./test/test.ts":"./test/"}` | allows you to define multiple ts portions |
| `"tsOptions"` | `{"target":"ES5", "declaration":"true"}` | specify options for tsc |
| `"cli"` | "false" | some modules are designed to be used from cli. If set to true NPMTS will create a cli.js that wires you dist files up for cli use. |
### TypeScript
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.
### Declaration files
**npmts** also creates declaration files like `./dist/index.d.ts` by default.
You can reference it in your package.json like this.
```json
"main": "dist/index.js",
"typings": ".dist/index.d.ts",
```
This is in line with the latest TypeScript best practices.
You can then import plugins via the TypeScript `import` Syntax
and tsc will pick up the declaration file automatically.
### TypeDoc
By default TypeDoc will create docs for your module in `./pages/api/` directory.
> Note: Use [npmpage](https://www.npmjs.com/package/npmpage) to build a website for the module.
It also allows you to integrate api docs with a gitbook located in `./docs/`
## Some notes:
#### Typings for third party modules that do not bundle declaration files
NPMTS no longer supports typings.json. Instead use the new TypeScript 2.x approach to typings using the @types/ npm scope.
#### Instrumentalize Code
npmts instrumentalizes (using istanbul) the created JavaScript code to create a coverage report.
#### Tests
Any errors will be shown with reference to their originating source in TypeScript
thanks to autogenerated source maps.
## Example Usage in modules:
* [gulp-browser](https://www.npmjs.com/package/gulp-browser)
> We will add more options over time.
## Tips and tricks:
* Use [npmts-g](https://www.npmjs.com/package/npmts-g) to use globally installed npmts and install npmts locally if no global npmts is available.
* Use [npmpage](https://www.npmjs.com/package/npmpage) to create a webpage from coverage reports and TypeDoc for the module
* Use [hosttoday/ht-docker-node:npmts](https://hub.docker.com/r/hosttoday/ht-docker-node/) for speedy CI builds
* Use [npmdocker](https://www.npmjs.com/package/npmdocker) for running tests consistently with docker.
## Future Scope:
* automatically manage badges in README
* manage tslint to enforce code best practices
* tear down any differences between local and CI environments by using brand new npmdocker
## About the authors:
[![Project Phase](https://mediaserve.lossless.digital/lossless.com/img/createdby_github.svg)](https://lossless.com/)
[![PayPal](https://img.shields.io/badge/Support%20us-PayPal-blue.svg)](https://paypal.me/lossless)
[![npm](https://push.rocks/assets/repo-header.svg)](https://push.rocks)

View File

@ -1,10 +0,0 @@
environment:
nodejs_version: "4"
install:
- ps: Install-Product node $env:nodejs_version
- npm install
test_script:
- node --version
- npm --version
- npm test
build: off

View File

@ -1,3 +1,5 @@
/// <reference types="q" />
import * as plugins from "./npmts.plugins";
import { ProjectinfoNpm } from "projectinfo";
export declare let projectInfo: ProjectinfoNpm;
export declare let run: (configArg: any) => plugins.Q.Promise<{}>;

4
dist/npmts.check.js vendored
View File

@ -2,10 +2,10 @@
var plugins = require("./npmts.plugins");
var paths = require("./npmts.paths");
var npmts_promisechain_1 = require("./npmts.promisechain");
exports.projectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.cwd);
var checkProjectTypings = function (configArg) {
var done = plugins.Q.defer();
var cwdProjectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.cwd);
if (typeof cwdProjectInfo.packageJson.typings == "undefined") {
if (typeof exports.projectInfo.packageJson.typings == "undefined") {
plugins.beautylog.error("please add typings field to package.json");
process.exit(1);
}

View File

@ -3,6 +3,7 @@ require("typings-global");
var plugins = require("./npmts.plugins");
var paths = require("./npmts.paths");
var npmts_promisechain_1 = require("./npmts.promisechain");
var npmts_check_1 = require("./npmts.check");
var genTypeDoc = function (configArg) {
var done = plugins.Q.defer();
npmts_promisechain_1.npmtsOra.text("now generating " + "TypeDoc documentation".yellow);
@ -17,8 +18,9 @@ var genTypeDoc = function (configArg) {
out: paths.pagesApiDir,
json: plugins.path.join(paths.pagesApiDir, "file.json"),
// TypeDoc options (see typedoc docs)
name: "my-project",
//theme: "default",
name: npmts_check_1.projectInfo.name,
readme: plugins.path.join(paths.cwd, "README.md"),
// theme: "default",
ignoreCompilerErrors: true,
version: true,
}))

View File

@ -3,17 +3,13 @@
"readme": "index.md"
},
"plugins": [
"disqus",
"tonic",
"edit-link"
],
"pluginsConfig": {
"edit-link": {
"base": "https://gitlab.com/pushrocks/npmts/edit/master/",
"base": "https://gitlab.com/pushrocks/npmts/edit/master/docs/",
"label": "Edit on GitLab"
},
"disqus": {
"shortName": "mojoio-docs"
}
}
}

80
docs/config.md Normal file
View File

@ -0,0 +1,80 @@
# Configuration of NPMTS
npmts can be configured to your needs:
### npmextra.json
the npmts section in npmextra.json can be used to configure npmts.
**Default**
>Note: When you are using `"mode":"default"` it'll cause npmts to override any other settings you may have made except for tsOptions (ES target etc.)
with default behaviour.
```json
{
"npmts":{
"mode":"default"
}
}
```
**Custom settings**
```json
{
"mode":"custom",
"docs":false,
"test":true,
"npmts":{
"ts":{
"./customdir/*.ts":"./"
},
"tsOptions":{
"declaration":false,
"target":"ES6"
},
"cli":true
}
}
```
| key | default value | description |
| --- | --- | --- |
| `"mode"` | `"default"` | "default" will do default stuff and override , "custom" only does what you specify |
| `"docs"` | `true` | create docs for your module |
| `"test"` | `true` | test your module |
| `"ts"` | `{"./ts/*.ts":"./","./test/test.ts":"./test/"}` | allows you to define multiple ts portions |
| `"tsOptions"` | `{"target":"ES5", "declaration":"true"}` | specify options for tsc |
| `"cli"` | "false" | some modules are designed to be used from cli. If set to true NPMTS will create a cli.js that wires you dist files up for cli use. |
### TypeScript
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.
### Declaration files
**npmts** also creates declaration files like `./dist/index.d.ts` by default.
You can reference it in your package.json like this.
```json
"main": "dist/index.js",
"typings": ".dist/index.d.ts",
```
This is in line with the latest TypeScript best practices.
You can then import plugins via the TypeScript `import` Syntax
and tsc will pick up the declaration file automatically.
### TypeDoc
By default TypeDoc will create docs for your module in `./pages/api/` directory.
> Note: Use [npmpage](https://www.npmjs.com/package/npmpage) to build a website for the module.
It also allows you to integrate api docs with a gitbook located in `./docs/`
## Some notes:
#### Typings for third party modules that do not bundle declaration files
NPMTS no longer supports typings.json. Instead use the new TypeScript 2.x approach to typings using the @types/ npm scope.
#### Instrumentalize Code
npmts instrumentalizes (using istanbul) the created JavaScript code to create a coverage report.
#### Tests
Any errors will be shown with reference to their originating source in TypeScript
thanks to autogenerated source maps.

8
docs/default.md Normal file
View File

@ -0,0 +1,8 @@
# Default task execution order
1. **Config:** Check config in ./npmextra.json (Check out [npmextra](https://www.npmjs.com/package/npmextra))
1. **Clean:** Clean up from any previous builds (old js files)
1. **Check:** Check project for typings declaration in package.json, unused dependencies and missing dependencies
1. **Transpile:** Transpile TypeScript with **inline sourcemaps** and **declaration files** to ES target
1. **Documentation:** Create TypeDoc Documentation from TypeScript files
1. **Test:** Babelify ES6 to ES5 on the fly, instrumentalize ES5 JavaScript with istanbul and run tests with Mocha.

13
docs/examples.md Normal file
View File

@ -0,0 +1,13 @@
# Examples for NPMTS
## Example Usage in modules:
* [gulp-browser](https://www.npmjs.com/package/gulp-browser)
> We will add more options over time.
## Tips and tricks:
* Use [npmts-g](https://www.npmjs.com/package/npmts-g) to use globally installed npmts and install npmts locally if no global npmts is available.
* Use [npmpage](https://www.npmjs.com/package/npmpage) to create a webpage from coverage reports and TypeDoc for the module
* Use [hosttoday/ht-docker-node:npmts](https://hub.docker.com/r/hosttoday/ht-docker-node/) for speedy CI builds
* Use [npmdocker](https://www.npmjs.com/package/npmdocker) for running tests consistently with docker.

View File

@ -1,7 +1,13 @@
# npmts
Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.
## Status
## Availabililty
[![npm](https://push.rocks/assets/repo-button-npm.svg)](https://www.npmjs.com/package/npmts)
[![git](https://push.rocks/assets/repo-button-git.svg)](https://gitlab.com/pushrocks/npmts)
[![git](https://push.rocks/assets/repo-button-mirror.svg)](https://github.com/pushrocks/npmts)
[![docs](https://push.rocks/assets/repo-button-docs.svg)](https://pushrocks.gitlab.io/npmts/docs)
## Status for master
[![build status](https://gitlab.com/pushrocks/npmts/badges/master/build.svg)](https://gitlab.com/pushrocks/npmts/commits/master)
[![coverage report](https://gitlab.com/pushrocks/npmts/badges/master/coverage.svg)](https://gitlab.com/pushrocks/npmts/commits/master)
[![Dependency Status](https://david-dm.org/pushrocks/npmts.svg)](https://david-dm.org/pushrocks/npmts)
@ -10,137 +16,13 @@ Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.
[![TypeScript](https://img.shields.io/badge/TypeScript-2.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/)
[![node](https://img.shields.io/badge/node->=%206.x.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/)
## What is NPMTS?
## Introduction
NPMTS is your friend when it comes to write, test, publish and document NPM modules written in TypeScript.
By default NPMTS will **bundle declaration files**. As a result npm module **code completion in editors like Visual Studio Code** works.
There is a docker image available that includes npmts to make CI a breeze:
[hosttoday/ht-docker-node:npmts on Dockerhub](https://hub.docker.com/r/hosttoday/ht-docker-node/)
### Install
First install npmts globally, then install the npmts-g locally.
For further information read the docs.
> **npmts-g* checks if the global version of npmts suffices the modules requirements.
If not it installs npmts locally in the right version during npm install.
```sh
npm install npmts -g # installs npmts globally
npm install npmts-g --save-dev # installs npmts-g checking tool as devDependency
```
Then add it to your package.json's script section to trigger a build:
```json
"scripts": {
"test": "(npmts)"
}
```
### Default task execution order
1. **Config:** Check config in ./npmextra.json (Check out [npmextra](https://www.npmjs.com/package/npmextra))
1. **Clean:** Clean up from any previous builds (old js files)
1. **Check:** Check project for typings declaration in package.json, unused dependencies and missing dependencies
1. **Transpile:** Transpile TypeScript with **inline sourcemaps** and **declaration files** to ES target
1. **Documentation:** Create TypeDoc Documentation from TypeScript files
1. **Test:** Babelify ES6 to ES5 on the fly, instrumentalize ES5 JavaScript with istanbul and run tests with Mocha.
### npmextra.json
the npmts section in npmextra.json can be used to configure npmts.
**Default**
>Note: When you are using `"mode":"default"` it'll cause npmts to override any other settings you may have made except for tsOptions (ES target etc.)
with default behaviour.
```json
{
"npmts":{
"mode":"default"
}
}
```
**Custom settings**
```json
{
"mode":"custom",
"docs":false,
"test":true,
"npmts":{
"ts":{
"./customdir/*.ts":"./"
},
"tsOptions":{
"declaration":false,
"target":"ES6"
},
"cli":true
}
}
```
| key | default value | description |
| --- | --- | --- |
| `"mode"` | `"default"` | "default" will do default stuff and override , "custom" only does what you specify |
| `"docs"` | `true` | create docs for your module |
| `"test"` | `true` | test your module |
| `"ts"` | `{"./ts/*.ts":"./","./test/test.ts":"./test/"}` | allows you to define multiple ts portions |
| `"tsOptions"` | `{"target":"ES5", "declaration":"true"}` | specify options for tsc |
| `"cli"` | "false" | some modules are designed to be used from cli. If set to true NPMTS will create a cli.js that wires you dist files up for cli use. |
### TypeScript
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.
### Declaration files
**npmts** also creates declaration files like `./dist/index.d.ts` by default.
You can reference it in your package.json like this.
```json
"main": "dist/index.js",
"typings": ".dist/index.d.ts",
```
This is in line with the latest TypeScript best practices.
You can then import plugins via the TypeScript `import` Syntax
and tsc will pick up the declaration file automatically.
### TypeDoc
By default TypeDoc will create docs for your module in `./pages/api/` directory.
> Note: Use [npmpage](https://www.npmjs.com/package/npmpage) to build a website for the module.
It also allows you to integrate api docs with a gitbook located in `./docs/`
## Some notes:
#### Typings for third party modules that do not bundle declaration files
NPMTS no longer supports typings.json. Instead use the new TypeScript 2.x approach to typings using the @types/ npm scope.
#### Instrumentalize Code
npmts instrumentalizes (using istanbul) the created JavaScript code to create a coverage report.
#### Tests
Any errors will be shown with reference to their originating source in TypeScript
thanks to autogenerated source maps.
## Example Usage in modules:
* [gulp-browser](https://www.npmjs.com/package/gulp-browser)
> We will add more options over time.
## Tips and tricks:
* Use [npmts-g](https://www.npmjs.com/package/npmts-g) to use globally installed npmts and install npmts locally if no global npmts is available.
* Use [npmpage](https://www.npmjs.com/package/npmpage) to create a webpage from coverage reports and TypeDoc for the module
* Use [hosttoday/ht-docker-node:npmts](https://hub.docker.com/r/hosttoday/ht-docker-node/) for speedy CI builds
* Use [npmdocker](https://www.npmjs.com/package/npmdocker) for running tests consistently with docker.
## Future Scope:
* automatically manage badges in README
* manage tslint to enforce code best practices
* tear down any differences between local and CI environments by using brand new npmdocker
## About the authors:
[![Project Phase](https://mediaserve.lossless.digital/lossless.com/img/createdby_github.svg)](https://lossless.com/)
[![PayPal](https://img.shields.io/badge/Support%20us-PayPal-blue.svg)](https://paypal.me/lossless)
[![npm](https://push.rocks/assets/repo-header.svg)](https://push.rocks)

14
docs/info.md Normal file
View File

@ -0,0 +1,14 @@
# Info
## Future Scope:
* automatically manage badges in README
* manage tslint to enforce code best practices
* tear down any differences between local and CI environments by using brand new npmdocker
## About the authors:
[![Project Phase](https://mediaserve.lossless.digital/lossless.com/img/createdby_github.svg)](https://lossless.com/)
[![PayPal](https://img.shields.io/badge/Support%20us-PayPal-blue.svg)](https://paypal.me/lossless)
## Legal Info
https://lossless.gmbh

18
docs/install.md Normal file
View File

@ -0,0 +1,18 @@
# Install NPMTS
First install npmts globally, then install the npmts-g locally.
> **npmts-g* checks if the global version of npmts suffices the modules requirements.
If not it installs npmts locally in the right version during npm install.
```sh
npm install npmts -g # installs npmts globally
npm install npmts-g --save-dev # installs npmts-g checking tool as devDependency
```
Then add it to your package.json's script section to trigger a build:
```json
"scripts": {
"test": "(npmts)"
}
```

8
docs/summary.md Normal file
View File

@ -0,0 +1,8 @@
# Summary
* [1. Intro](index.md)
* [2. Install](install.md)
* [3. Default Behaviour](default.md)
* [4. Configuration](config.md)
* [5. Examples](examples.md)
* [6. Info](info.md)

View File

@ -1,6 +1,6 @@
{
"name": "npmts",
"version": "5.4.17",
"version": "5.4.25",
"description": "Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.",
"main": "dist/index.js",
"bin": {
@ -32,19 +32,19 @@
},
"homepage": "https://gitlab.com/pushrocks/npmts#readme",
"dependencies": {
"@types/gulp": "^3.8.30",
"@types/gulp": "^3.8.31",
"@types/minimatch": "^2.0.28",
"@types/q": "^0.x.x",
"@types/shelljs": "^0.3.29",
"babel-preset-es2015": "^6.13.2",
"beautylog": "5.0.20",
"@types/shelljs": "^0.3.30",
"babel-preset-es2015": "^6.14.0",
"beautylog": "5.0.22",
"depcheck": "^0.6.4",
"early": "^2.0.25",
"early": "^2.0.26",
"gulp": "3.9.1",
"gulp-babel": "^6.1.2",
"gulp-function": "^1.3.6",
"gulp-inject-modules": "^1.0.0",
"gulp-istanbul": "^1.1.0",
"gulp-istanbul": "^1.1.1",
"gulp-mocha": "^3.0.1",
"gulp-sourcemaps": "^1.6.0",
"gulp-typedoc": "^2.0.0",
@ -52,18 +52,18 @@
"npmextra": "^1.0.9",
"projectinfo": "1.0.3",
"q": "^1.4.1",
"shelljs": "^0.7.3",
"smartcli": "1.0.4",
"shelljs": "^0.7.4",
"smartcli": "1.0.5",
"smartcov": "1.0.0",
"smartenv": "1.2.5",
"smartfile": "4.0.13",
"smartfile": "4.0.15",
"smartpath": "3.2.2",
"smartstring": "^2.0.17",
"source-map-support": "^0.4.2",
"tsn": "^1.0.12",
"typedoc": "^0.4.5",
"typescript": "next",
"typings-global": "*"
"typings-global": "^1.0.14"
},
"devDependencies": {}
}

View File

@ -2,10 +2,14 @@ import * as plugins from "./npmts.plugins";
import * as paths from "./npmts.paths";
import { npmtsOra } from "./npmts.promisechain";
import {ProjectinfoNpm} from "projectinfo";
export let projectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.cwd);
let checkProjectTypings = (configArg) => {
let done = plugins.Q.defer();
let cwdProjectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.cwd);
if(typeof cwdProjectInfo.packageJson.typings == "undefined"){
if(typeof projectInfo.packageJson.typings == "undefined"){
plugins.beautylog.error(`please add typings field to package.json`);
process.exit(1);
};

View File

@ -3,6 +3,8 @@ import plugins = require("./npmts.plugins");
import paths = require("./npmts.paths");
import { npmtsOra } from "./npmts.promisechain";
import {projectInfo} from "./npmts.check";
let genTypeDoc = function (configArg) {
let done = plugins.Q.defer();
npmtsOra.text("now generating " + "TypeDoc documentation".yellow);
@ -19,9 +21,9 @@ let genTypeDoc = function (configArg) {
json: plugins.path.join(paths.pagesApiDir, "file.json"),
// TypeDoc options (see typedoc docs)
name: "my-project",
//theme: "default",
name: projectInfo.name,
readme: plugins.path.join(paths.cwd,"README.md"),
// theme: "default",
ignoreCompilerErrors: true,
version: true,
}))