Compare commits

...

4 Commits

Author SHA1 Message Date
b6e63664bb 5.1.2 2016-04-30 12:34:37 +02:00
88b39213a6 improve Readme 2016-04-30 12:34:32 +02:00
6dad1c3d85 5.1.1 2016-04-30 12:25:52 +02:00
7d9b9b2d1d now makes TypeScript modules fully typed by default 2016-04-30 12:25:35 +02:00
4 changed files with 29 additions and 6 deletions

View File

@ -54,13 +54,17 @@ the npmts.json is the main config file. You can use it to customize the behaviou
"ts":{ "ts":{
"./customdir/*.ts":"./" "./customdir/*.ts":"./"
}, },
"tsconfig":true, "tsOptions":{
"declaration":false,
"target":"ES6"
},
"typings":[ "typings":[
"./ts/typings.json", "./ts/typings.json",
"./subts1/typings.json", "./subts1/typings.json",
"./subts2/typings.json", "./subts2/typings.json",
"./customdir/typings.json" "./customdir/typings.json"
], ],
"typingsInclude":"auto",
"codecov":true, "codecov":true,
"docs": { "docs": {
"publish":true "publish":true
@ -71,10 +75,10 @@ the npmts.json is the main config file. You can use it to customize the behaviou
| key | description | | key | description |
| --- | --- | | --- | --- |
| mode | "default" will do some defualt stuff, "custom" only does what you specify |
| codecov | if true, coverage data will be uploaded to codecov when running on travis | | codecov | if true, coverage data will be uploaded to codecov when running on travis |
| docs | `{"publish":true}` lets you control what happens with your module documentation | | docs | `{"publish":true, destination:"github"}` lets you control what happens with your module documentation |
| | | | mode | "default" will do some defualt stuff, "custom" only does what you specify |
| tsOptions | specify options for tsc |
| | | | | |
#### Typings #### Typings
@ -82,7 +86,8 @@ the npmts.json is the main config file. You can use it to customize the behaviou
> Note: You can reference the typings files in any of your TypeScript code with a > Note: You can reference the typings files in any of your TypeScript code with a
`/// <reference path="/some/path/main.d.ts">` `/// <reference path="/some/path/main.d.ts">`
or use a tsconfig.json file. We are currently working on a "typingsInclude" option, that will autoload any typings during compilation.
tsconfig is NOT supported, since it would render this module useless
#### TypeScript #### TypeScript
by default npmts looks for `./ts/*.ts` and `./test/test.ts` that will compile to by default npmts looks for `./ts/*.ts` and `./test/test.ts` that will compile to
@ -103,6 +108,8 @@ This is in line with the latest TypeScript best practices.
You can then import plugins via the TypeScript `import` Syntax You can then import plugins via the TypeScript `import` Syntax
and tsc will pick up the declaration file automatically. and tsc will pick up the declaration file automatically.
> Note: If you don't want declaration files, set tsOptions.declaration to false in npmts.json
#### Instrumentalize Code #### Instrumentalize Code
npmts instrumentalizes (using istanbul) the created JavaScript code to create a coverage report. npmts instrumentalizes (using istanbul) the created JavaScript code to create a coverage report.

View File

@ -38,6 +38,13 @@ exports.run = function (configArg) {
moduleStream.on("queueDrain", function () { moduleStream.on("queueDrain", function () {
plugins.beautylog.ok("TypeScript has been compiled!"); plugins.beautylog.ok("TypeScript has been compiled!");
moduleStream.on("finish", function () { moduleStream.on("finish", function () {
try {
if (config.mode = "default")
plugins.fs.copySync(plugins.path.join(paths.cwd, "ts/typings"), plugins.path.join(paths.cwd, "dist/typings"));
}
catch (err) {
plugins.beautylog.warn("failed to copy external typings for full module declaration support");
}
done.resolve(config); done.resolve(config);
}); });
moduleStream.end(); moduleStream.end();

View File

@ -1,6 +1,6 @@
{ {
"name": "npmts", "name": "npmts",
"version": "5.1.0", "version": "5.1.2",
"description": "write npm modules with TypeScript", "description": "write npm modules with TypeScript",
"main": "dist/index.js", "main": "dist/index.js",
"bin": { "bin": {

View File

@ -45,6 +45,15 @@ export let run = function (configArg) {
moduleStream.on("queueDrain", function () { moduleStream.on("queueDrain", function () {
plugins.beautylog.ok("TypeScript has been compiled!"); plugins.beautylog.ok("TypeScript has been compiled!");
moduleStream.on("finish", function () { moduleStream.on("finish", function () {
try {
if(config.mode = "default") plugins.fs.copySync(
plugins.path.join(paths.cwd,"ts/typings"),
plugins.path.join(paths.cwd,"dist/typings")
);
}
catch (err){
plugins.beautylog.warn("failed to copy external typings for full module declaration support");
}
done.resolve(config); done.resolve(config);
}); });
moduleStream.end(); moduleStream.end();