now creating declaration files

This commit is contained in:
Philipp Kunz 2016-01-18 15:15:15 +01:00
parent d18dc73522
commit bea8a50f0b
11 changed files with 119 additions and 43 deletions

View File

@ -19,13 +19,15 @@ Then use it in package.json's script section to trigger a build:
``` ```
### Default behaviour ### Default behaviour
by default npmts looks for an `./ts/index.ts` and a `./ts/test.ts` that will compile to by default npmts looks for `./ts/index.ts` and `./ts/test.ts` that will compile to
`./index.js` and `./test.js` `./index.js` and `./test.js`
#### Declaration files
### Custom behaviour ### Custom behaviour
We are currently building support for custom behaviour with a super simple config file. We are currently building support for custom behaviour with a super simple config file.
Check back soon. Check back soon.
## Readme for Devs ## Readme for Devs
There is a [README-dev.md](README-dev.md) in the repo. There is a [README-dev.md](README-dev.md) in the repo.
This is only of interest for you if are looking to improve or build upon this package. This is only of interest for you when looking to contribute to, improve or build upon this package.

View File

@ -1,25 +1,35 @@
// import gulp // import gulp
var gulp = require("gulp");
var gulpTypescript = require("gulp-typescript");
var gulpInsert = require("gulp-insert");
var plugins = { var plugins = {
beautylog: require("beautylog") beautylog: require("beautylog"),
gulp: require("gulp"),
g:{
typescript: require("gulp-typescript"),
insert: require("gulp-insert")
},
mergeStream: require("merge2")
}; };
plugins.beautylog.log('now compiling the mojo.io gulp tasks'); plugins.beautylog.log('now compiling the mojo.io gulp tasks');
gulp.task('indexTS', function() { plugins.gulp.task('indexTS', function() {
var stream = gulp.src('../ts/index.ts') var tsResult = plugins.gulp.src('../ts/index.ts')
.pipe(gulpTypescript({ .pipe(plugins.g.typescript({
out: "index.js" out:"index.js",
})) declaration:true
.pipe(gulpInsert.prepend('#!/usr/bin/env node\n\n')) }));
.pipe(gulp.dest("../"));
return stream; return plugins.mergeStream([
tsResult.dts.pipe(plugins.gulp.dest('../')),
tsResult.js
.pipe(plugins.g.insert.prepend('#!/usr/bin/env node\n\n'))
.pipe(plugins.gulp.dest('../'))
]);
}); });
gulp.task('default',['indexTS'], function() { plugins.gulp.task('default',['indexTS'], function() {
plugins.beautylog.success('Typescript compiled'); plugins.beautylog.success('Typescript compiled');
}); });
gulp.start.apply(gulp, ['default']); plugins.gulp.start.apply(plugins.gulp, ['default']);

32
index.d.ts vendored Normal file
View File

@ -0,0 +1,32 @@
/// <reference path="../ts/typings/tsd.d.ts" />
declare module NpmtsPlugins {
var init: () => {
beautylog: any;
gulp: any;
g: {
typescript: any;
insert: any;
};
mergeStream: any;
path: any;
smartcli: any;
};
}
declare module NpmtsPaths {
var init: () => any;
}
declare module NpmtsDefault {
var init: () => void;
}
declare var plugins: {
beautylog: any;
gulp: any;
g: {
typescript: any;
insert: any;
};
mergeStream: any;
path: any;
smartcli: any;
};
declare var paths: any;

View File

@ -7,7 +7,11 @@ var NpmtsPlugins;
var plugins = { var plugins = {
beautylog: require("beautylog"), beautylog: require("beautylog"),
gulp: require("gulp"), gulp: require("gulp"),
gulpTypeScript: require("gulp-typescript"), g: {
typescript: require("gulp-typescript"),
insert: require("gulp-insert")
},
mergeStream: require("merge2"),
path: require("path"), path: require("path"),
smartcli: require("smartcli") smartcli: require("smartcli")
}; };
@ -32,15 +36,21 @@ var NpmtsDefault;
(function (NpmtsDefault) { (function (NpmtsDefault) {
NpmtsDefault.init = function () { NpmtsDefault.init = function () {
plugins.gulp.task("indexTS", function () { plugins.gulp.task("indexTS", function () {
plugins.gulp.src(paths.indexTS) var tsResult = plugins.gulp.src(paths.indexTS)
.pipe(plugins.gulpTypeScript({ .pipe(plugins.g.typescript({
out: "index.js" out: "index.js",
})) declaration: true
.pipe(plugins.gulp.dest(paths.cwd)); }));
return plugins.mergeStream([
tsResult.dts.pipe(plugins.gulp.dest(paths.cwd)),
tsResult.js
.pipe(plugins.g.insert.prepend('#!/usr/bin/env node\n\n'))
.pipe(plugins.gulp.dest(paths.cwd))
]);
}); });
plugins.gulp.task("testTS", function () { plugins.gulp.task("testTS", function () {
plugins.gulp.src(paths.testTS) plugins.gulp.src(paths.testTS)
.pipe(plugins.gulpTypeScript({ .pipe(plugins.g.typescript({
out: "test.js" out: "test.js"
})) }))
.pipe(plugins.gulp.dest(paths.cwd)); .pipe(plugins.gulp.dest(paths.cwd));

View File

@ -26,10 +26,11 @@
}, },
"homepage": "https://github.com/pushrocks/npmts#readme", "homepage": "https://github.com/pushrocks/npmts#readme",
"dependencies": { "dependencies": {
"beautylog": "^2.0.2", "beautylog": "2.0.2",
"gulp": "^3.9.0", "gulp": "3.9.0",
"gulp-insert": "^0.5.0", "gulp-insert": "0.5.0",
"gulp-typescript": "^2.10.0", "gulp-typescript": "2.10.0",
"merge2": "0.3.6",
"smartcli": "0.0.11" "smartcli": "0.0.11"
} }
} }

View File

@ -3,15 +3,21 @@ var NpmtsDefault;
(function (NpmtsDefault) { (function (NpmtsDefault) {
NpmtsDefault.init = function () { NpmtsDefault.init = function () {
plugins.gulp.task("indexTS", function () { plugins.gulp.task("indexTS", function () {
plugins.gulp.src(paths.indexTS) var tsResult = plugins.gulp.src(paths.indexTS)
.pipe(plugins.gulpTypeScript({ .pipe(plugins.g.typescript({
out: "index.js" out: "index.js",
})) declaration: true
.pipe(plugins.gulp.dest(paths.cwd)); }));
return plugins.mergeStream([
tsResult.dts.pipe(plugins.gulp.dest(paths.cwd)),
tsResult.js
.pipe(plugins.g.insert.prepend('#!/usr/bin/env node\n\n'))
.pipe(plugins.gulp.dest(paths.cwd))
]);
}); });
plugins.gulp.task("testTS", function () { plugins.gulp.task("testTS", function () {
plugins.gulp.src(paths.testTS) plugins.gulp.src(paths.testTS)
.pipe(plugins.gulpTypeScript({ .pipe(plugins.g.typescript({
out: "test.js" out: "test.js"
})) }))
.pipe(plugins.gulp.dest(paths.cwd)); .pipe(plugins.gulp.dest(paths.cwd));

View File

@ -1 +1 @@
{"version":3,"file":"npmts.default.js","sourceRoot":"","sources":["npmts.default.ts"],"names":["NpmtsDefault"],"mappings":"AAAA,mCAAmC;AAEnC,IAAO,YAAY,CAwBlB;AAxBD,WAAO,YAAY,EAAC,CAAC;IACNA,iBAAIA,GAAGA;QACd,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACzB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;iBAC1B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;gBACzB,GAAG,EAAE,UAAU;aAClB,CAAC,CAAC;iBACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;iBACzB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;gBACzB,GAAG,EAAE,SAAS;aACjB,CAAC,CAAC;iBACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAC,CAAC,SAAS,EAAC,QAAQ,CAAC,EAAC;YAC7C,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,CAAC,CAAAA;AACLA,CAACA,EAxBM,YAAY,KAAZ,YAAY,QAwBlB"} {"version":3,"file":"npmts.default.js","sourceRoot":"","sources":["npmts.default.ts"],"names":["NpmtsDefault"],"mappings":"AAAA,mCAAmC;AAEnC,IAAO,YAAY,CA+BlB;AA/BD,WAAO,YAAY,EAAC,CAAC;IACNA,iBAAIA,GAAGA;QACd,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACzB,IAAI,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;iBACzC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;gBACvB,GAAG,EAAC,UAAU;gBACd,WAAW,EAAC,IAAI;aACnB,CAAC,CAAC,CAAC;YAER,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;gBACvB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/C,QAAQ,CAAC,EAAE;qBACN,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;qBACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC1C,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;iBACzB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;gBACvB,GAAG,EAAE,SAAS;aACjB,CAAC,CAAC;iBACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAC,CAAC,SAAS,EAAC,QAAQ,CAAC,EAAC;YAC7C,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,CAAC,CAAAA;AACLA,CAACA,EA/BM,YAAY,KAAZ,YAAY,QA+BlB"}

View File

@ -3,16 +3,23 @@
module NpmtsDefault { module NpmtsDefault {
export var init = function() { export var init = function() {
plugins.gulp.task("indexTS", function(){ plugins.gulp.task("indexTS", function(){
plugins.gulp.src(paths.indexTS) var tsResult = plugins.gulp.src(paths.indexTS)
.pipe(plugins.gulpTypeScript({ .pipe(plugins.g.typescript({
out: "index.js" out:"index.js",
})) declaration:true
.pipe(plugins.gulp.dest(paths.cwd)) }));
return plugins.mergeStream([
tsResult.dts.pipe(plugins.gulp.dest(paths.cwd)),
tsResult.js
.pipe(plugins.g.insert.prepend('#!/usr/bin/env node\n\n'))
.pipe(plugins.gulp.dest(paths.cwd))
]);
}); });
plugins.gulp.task("testTS", function(){ plugins.gulp.task("testTS", function(){
plugins.gulp.src(paths.testTS) plugins.gulp.src(paths.testTS)
.pipe(plugins.gulpTypeScript({ .pipe(plugins.g.typescript({
out: "test.js" out: "test.js"
})) }))
.pipe(plugins.gulp.dest(paths.cwd)) .pipe(plugins.gulp.dest(paths.cwd))

View File

@ -5,7 +5,11 @@ var NpmtsPlugins;
var plugins = { var plugins = {
beautylog: require("beautylog"), beautylog: require("beautylog"),
gulp: require("gulp"), gulp: require("gulp"),
gulpTypeScript: require("gulp-typescript"), g: {
typescript: require("gulp-typescript"),
insert: require("gulp-insert")
},
mergeStream: require("merge2"),
path: require("path"), path: require("path"),
smartcli: require("smartcli") smartcli: require("smartcli")
}; };

View File

@ -1 +1 @@
{"version":3,"file":"npmts.plugins.js","sourceRoot":"","sources":["npmts.plugins.ts"],"names":["NpmtsPlugins"],"mappings":"AAAA,mCAAmC;AACnC,IAAO,YAAY,CAWlB;AAXD,WAAO,YAAY,EAAC,CAAC;IACNA,iBAAIA,GAAGA;QACd,IAAI,OAAO,GAAG;YACV,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC;YAC/B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;YACrB,cAAc,EAAE,OAAO,CAAC,iBAAiB,CAAC;YAC1C,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;YACrB,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC;SAChC,CAAC;QACF,MAAM,CAAC,OAAO,CAAC;IACnB,CAAC,CAAAA;AACLA,CAACA,EAXM,YAAY,KAAZ,YAAY,QAWlB"} {"version":3,"file":"npmts.plugins.js","sourceRoot":"","sources":["npmts.plugins.ts"],"names":["NpmtsPlugins"],"mappings":"AAAA,mCAAmC;AACnC,IAAO,YAAY,CAelB;AAfD,WAAO,YAAY,EAAC,CAAC;IACNA,iBAAIA,GAAGA;QACd,IAAI,OAAO,GAAG;YACV,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC;YAC/B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;YACrB,CAAC,EAAE;gBACC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC;gBACtC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC;aACjC;YACD,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC9B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;YACrB,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC;SAChC,CAAC;QACF,MAAM,CAAC,OAAO,CAAC;IACnB,CAAC,CAAAA;AACLA,CAACA,EAfM,YAAY,KAAZ,YAAY,QAelB"}

View File

@ -4,7 +4,11 @@ module NpmtsPlugins {
var plugins = { var plugins = {
beautylog: require("beautylog"), beautylog: require("beautylog"),
gulp: require("gulp"), gulp: require("gulp"),
gulpTypeScript: require("gulp-typescript"), g: {
typescript: require("gulp-typescript"),
insert: require("gulp-insert")
},
mergeStream: require("merge2"),
path: require("path"), path: require("path"),
smartcli: require("smartcli") smartcli: require("smartcli")
}; };