ready for primetime

This commit is contained in:
Philipp Kunz 2016-07-01 04:50:23 +02:00
parent fcd2616a3c
commit b80c1f9090
7 changed files with 54 additions and 31 deletions

11
.gitignore vendored
View File

@ -1,13 +1,4 @@
.idea/
.c9/
node_modules/ node_modules/
test/assets/**/node_modules/ test/
test/assets/**/docs/
test/assets/**/typings/
test/assets/**/coverage/
ts/*.js
ts/*.js.map
ts/typings/
docs/ docs/
.DS_Store .DS_Store

View File

@ -37,8 +37,7 @@ Then add it to your package.json's script section to trigger a build:
1. Check config in ./npmts.json 1. Check config in ./npmts.json
1. Clean up from any previous builds (old js files) 1. Clean up from any previous builds (old js files)
1. Install typings 1. Install typings
1. Transpile TypeScript with inline sourcemaps 1. Transpile TypeScript with **inline sourcemaps** and **declaration files**
1. Create Declaration Files
1. Create JsDoc Documentation 1. Create JsDoc Documentation
1. Instrumentalize created JavaScript files with istanbul 1. Instrumentalize created JavaScript files with istanbul
1. Run Tests 1. Run Tests

View File

@ -1 +0,0 @@
#!/usr/bin/env node

2
dist/cli.js vendored Normal file
View File

@ -0,0 +1,2 @@
#!/usr/bin/env node
var index = require("./index.js");

26
dist/npmts.compile.js vendored
View File

@ -3,6 +3,7 @@ require("typings-global");
var plugins = require("./npmts.plugins"); var plugins = require("./npmts.plugins");
var helpers = require("./npmts.compile.helpers"); var helpers = require("./npmts.compile.helpers");
var npmts_promisechain_1 = require("./npmts.promisechain"); var npmts_promisechain_1 = require("./npmts.promisechain");
var promiseArray = [];
var compileTs = function (tsFileArrayArg, tsOptionsArg) { var compileTs = function (tsFileArrayArg, tsOptionsArg) {
if (tsOptionsArg === void 0) { tsOptionsArg = {}; } if (tsOptionsArg === void 0) { tsOptionsArg = {}; }
var done = plugins.Q.defer(); var done = plugins.Q.defer();
@ -17,12 +18,25 @@ var compileTs = function (tsFileArrayArg, tsOptionsArg) {
var tsOptions = function (keyArg) { var tsOptions = function (keyArg) {
return plugins.lodashObject.assign(tsOptionsDefault, tsOptionsArg); return plugins.lodashObject.assign(tsOptionsDefault, tsOptionsArg);
}; };
for (var keyArg in tsFileArrayArg) { var _loop_1 = function(keyArg) {
plugins.beautylog.info("TypeScript assignment: transpile from " + keyArg.blue + " to " + tsFileArrayArg[keyArg].blue);
if (helpers.checkOutputPath(tsFileArrayArg, keyArg)) { if (helpers.checkOutputPath(tsFileArrayArg, keyArg)) {
var filesToConvert = plugins.smartfile.fs.listFileTree(plugins.path.resolve(keyArg), "**/*.ts"); var filesReadPromise = plugins.smartfile.fs.listFileTree(process.cwd(), keyArg)
plugins.tsn.compile(filesToConvert, tsFileArrayArg[keyArg]); .then(function (filesToConvertArg) {
var filesToConvertAbsolute = plugins.smartpath.transform.toAbsolute(filesToConvertArg, process.cwd());
var destDir = plugins.smartpath.transform.toAbsolute(tsFileArrayArg[keyArg], process.cwd());
var filesCompiledPromise = plugins.tsn.compile(filesToConvertAbsolute, destDir);
promiseArray.push(filesCompiledPromise);
});
promiseArray.push(filesReadPromise);
} }
};
for (var keyArg in tsFileArrayArg) {
_loop_1(keyArg);
} }
;
plugins.Q.all(promiseArray)
.then(done.resolve);
return done.promise; return done.promise;
}; };
exports.run = function (configArg) { exports.run = function (configArg) {
@ -31,10 +45,12 @@ exports.run = function (configArg) {
npmts_promisechain_1.npmtsOra.text("now compiling " + "TypeScript".yellow); npmts_promisechain_1.npmtsOra.text("now compiling " + "TypeScript".yellow);
compileTs(config.ts, config.tsOptions) compileTs(config.ts, config.tsOptions)
.then(function () { .then(function () {
compileTs(config.testTs); plugins.beautylog.ok("compiled main TypeScript!");
plugins.beautylog.log("now compiling tests!");
return compileTs(config.testTs);
}) })
.then(function () { .then(function () {
plugins.beautylog.ok("compiled TypeScript!"); plugins.beautylog.ok("compiled all TypeScript!");
done.resolve(config); done.resolve(config);
}); });
return done.promise; return done.promise;

View File

@ -7,11 +7,13 @@
"npmts": "dist/cli.js" "npmts": "dist/cli.js"
}, },
"scripts": { "scripts": {
"test": "(npm run compile && npm run check && npm run checkVersion && npm run checkNoTest)", "test": "(npm run compile && npm run setupCheck && npm run check && npm run checkVersion && npm run checkNoTest)",
"check": "(cd ./test/assets && node ../../dist/index.js)", "compile": "(rm -rf test/ && rm -r dist/ && mkdir dist/ && tsc && cp assets/cli.js dist/ )",
"checkVersion": "cd ./test/assets && node ../../dist/index.js -v", "setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)",
"checkNoTest": "cd ./test/assets && node ../../dist/index.js --notest", "check": "(cd test && node ../dist/index.js)",
"compile": "(tsc)" "checkVersion": "(cd test/ && node ../dist/index.js -v)",
"checkNoTest": "(cd test && node ../dist/index.js --notest)",
"install":"(mkdir test/)"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -54,7 +56,7 @@
"smartpath": "3.2.2", "smartpath": "3.2.2",
"smartstring": "^2.0.10", "smartstring": "^2.0.10",
"source-map-support": "^0.4.1", "source-map-support": "^0.4.1",
"tsn": "^1.0.1", "tsn": "^1.0.3",
"typescript": "^2.0.0-dev.20160630", "typescript": "^2.0.0-dev.20160630",
"typings-global": "*" "typings-global": "*"
}, },

View File

@ -4,7 +4,8 @@ import paths = require("./npmts.paths");
import helpers = require("./npmts.compile.helpers"); import helpers = require("./npmts.compile.helpers");
import {npmtsOra} from "./npmts.promisechain"; import {npmtsOra} from "./npmts.promisechain";
let compileTs = (tsFileArrayArg,tsOptionsArg = {}) => { let promiseArray = [];
let compileTs = (tsFileArrayArg:string[],tsOptionsArg = {}) => {
let done = plugins.Q.defer(); let done = plugins.Q.defer();
let tsOptionsDefault = { let tsOptionsDefault = {
@ -20,11 +21,23 @@ let compileTs = (tsFileArrayArg,tsOptionsArg = {}) => {
return plugins.lodashObject.assign(tsOptionsDefault, tsOptionsArg) return plugins.lodashObject.assign(tsOptionsDefault, tsOptionsArg)
}; };
for (let keyArg in tsFileArrayArg) { for (let keyArg in tsFileArrayArg) {
plugins.beautylog.info(`TypeScript assignment: transpile from ${keyArg.blue} to ${tsFileArrayArg[keyArg].blue}`);
if (helpers.checkOutputPath(tsFileArrayArg,keyArg)) { if (helpers.checkOutputPath(tsFileArrayArg,keyArg)) {
let filesToConvert = plugins.smartfile.fs.listFileTree(plugins.path.resolve(keyArg),"**/*.ts"); let filesReadPromise = plugins.smartfile.fs.listFileTree(process.cwd(),keyArg)
plugins.tsn.compile(filesToConvert,tsFileArrayArg[keyArg]); .then((filesToConvertArg) => {
} let filesToConvertAbsolute = plugins.smartpath.transform.toAbsolute(filesToConvertArg,process.cwd());
let destDir = plugins.smartpath.transform.toAbsolute(tsFileArrayArg[keyArg],process.cwd());
let filesCompiledPromise = plugins.tsn.compile(
filesToConvertAbsolute,
destDir
);
promiseArray.push(filesCompiledPromise);
});
promiseArray.push(filesReadPromise);
} }
};
plugins.Q.all(promiseArray)
.then(done.resolve);
return done.promise; return done.promise;
} }
@ -36,12 +49,13 @@ export let run = function (configArg) {
compileTs(config.ts,config.tsOptions) compileTs(config.ts,config.tsOptions)
.then(() => { .then(() => {
compileTs(config.testTs); plugins.beautylog.ok("compiled main TypeScript!");
plugins.beautylog.log("now compiling tests!");
return compileTs(config.testTs);
}) })
.then(function () { .then(function () {
plugins.beautylog.ok("compiled TypeScript!"); plugins.beautylog.ok("compiled all TypeScript!");
done.resolve(config); done.resolve(config);
}); });
return done.promise; return done.promise;
}; };