Compare commits

...

11 Commits

Author SHA1 Message Date
71f0a9d37f 5.3.1 2016-06-12 00:45:49 +02:00
5f16cdd830 now printing font all right 2016-06-12 00:45:33 +02:00
966cb88c82 5.3.0 2016-06-10 06:14:18 +02:00
7f4d72f0d6 ready for npmts-g 2016-06-10 06:14:12 +02:00
3df47307a3 update gitlab ci.yml 2016-06-10 00:55:29 +02:00
e3b84af278 now stating npmts version 2016-06-10 00:53:30 +02:00
a6c4a99d82 update dependencies 2016-06-10 00:13:40 +02:00
8d506f8220 5.2.5 2016-06-07 09:03:03 +02:00
bd9ed5feb5 update gitlab ci yml 2016-06-07 09:02:58 +02:00
ec28c660dc 5.2.4 2016-06-07 08:56:27 +02:00
9f4299e52a update gitlab ci yml 2016-06-07 08:56:21 +02:00
15 changed files with 88 additions and 155 deletions

View File

@ -1,8 +1,9 @@
image: hosttoday/ht-docker-node:latest
image: hosttoday/ht-docker-node:npmts
stages:
- test
- release
- trigger
- page
testLEGACY:
@ -11,6 +12,7 @@ testLEGACY:
- npmci test legacy
tags:
- docker
allow_failure: true
testLTS:
stage: test
@ -35,6 +37,15 @@ release:
tags:
- docker
trigger:
stage: trigger
script:
- npmci trigger
only:
- tags
tags:
- docker
pages:
stage: page
script:

30
dist/index.js vendored
View File

@ -1,14 +1,28 @@
"use strict";
require("typings-global");
/* ================================================== *
Starting NPMTS main process.
* ================================================== */
var early = require("early");
early.start("NPMTS");
var plugins = require("./npmts.plugins");
var paths = require("./npmts.paths");
var npmts_promisechain_1 = require("./npmts.promisechain");
early.stop();
plugins.beautylog.figletSync("NPMTS");
try {
npmts_promisechain_1.promisechain();
}
catch (err) {
console.log(err);
}
early.stop()
.done(function () {
var npmtsProjectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.npmtsPackageRoot);
var npmtsCli = new plugins.smartcli.Smartcli();
npmtsCli.standardTask()
.then(function () {
plugins.beautylog.figletSync("NPMTS");
plugins.beautylog.info("npmts version: " + npmtsProjectInfo.version);
try {
npmts_promisechain_1.promisechain();
}
catch (err) {
console.log(err);
}
});
npmtsCli.addVersion(npmtsProjectInfo.version);
npmtsCli.startParse();
});

28
dist/npmts.jsdoc.js vendored
View File

@ -20,34 +20,6 @@ var genJsdoc = function (configArg) {
}));
return done.promise;
};
exports.publishDocs = function (configArg) {
var done = plugins.Q.defer();
var gitUrl = plugins.projectinfo.npm(paths.cwd, {
gitAccessToken: process.env.GITHUB_TOKEN
}).git.httpsUrl;
var deployScript = ""
+ "cd " + paths.docsDir + " "
+ "&& git init " + "> /dev/null 2>&1 "
+ "&& git config user.name \"TRAVIS CI\" " + "> /dev/null 2>&1 "
+ "&& git config user.email \"travis@shipzone.io\" " + "> /dev/null 2>&1 "
+ "&& git add . " + "> /dev/null 2>&1 "
+ "&& git commit -m \"Deploy to GitHub Pages\" " + "> /dev/null 2>&1 "
+ "&& git push --force --quiet "
+ "\"" + gitUrl + "\" "
+ "master:gh-pages " + "> /dev/null 2>&1";
plugins.beautylog.log("now publishing JsDoc documentation to GitHub");
if (!plugins.shelljs.which('git')) {
plugins.beautylog.error('Git is not installed!');
plugins.shelljs.exit(1);
}
else if (plugins.shelljs.exec(deployScript).code !== 0) {
plugins.beautylog.error('Git failed!');
plugins.shelljs.exit(1);
}
plugins.beautylog.ok("JsDoc documentation has been deployed to GitHub!");
done.resolve(configArg);
return done.promise;
};
exports.run = function (configArg) {
var done = plugins.Q.defer();
genJsdoc(configArg)

20
dist/npmts.options.js vendored
View File

@ -5,19 +5,6 @@ var npmts_promisechain_1 = require("./npmts.promisechain");
exports.isCi = function () {
return plugins.smartci.check.isCi();
};
exports.isRelease = function () {
return plugins.smartci.check.isCi()
&& plugins.smartci.check.isTaggedCommit();
};
exports.doPublish = function () {
try {
return exports.isRelease()
&& plugins.smartci.get.subJobNumber() == 1;
}
catch (err) {
return false;
}
};
exports.run = function (configArg) {
var done = plugins.Q.defer();
var config = configArg;
@ -39,16 +26,9 @@ exports.run = function (configArg) {
}
//check if config.tsOptions is available
config.tsOptions ? void (0) : config.tsOptions = {};
// handle state of current build
exports.isRelease() ? plugins.beautylog.info("All right: This is a RELEASE build!")
: plugins.beautylog.info("NOT A RELEASE build!");
exports.isRelease() && exports.doPublish() ? plugins.beautylog.info("All right: This is the first subBuild, so this one publishes COVERAGE + DOCS when tests succeed!")
: plugins.beautylog.info("We are not publishing anything!");
config.coverageTreshold ? void (0) : config.coverageTreshold = 70;
// handle docs
config.docs ? void (0) : config.docs = {};
config.docs.publish ? void (0) : config.docs.publish = false;
exports.doPublish() ? void (0) : config.docs.publish = false;
plugins.beautylog.ok("build options are ready!");
done.resolve(config);
return done.promise;

5
dist/npmts.paths.js vendored
View File

@ -1,7 +1,10 @@
"use strict";
require("typings-global");
var plugins = require("./npmts.plugins");
exports.cwd = plugins.smartcli.get.cwd().path;
//Npmts Paths
exports.npmtsPackageRoot = plugins.path.join(__dirname, "../");
//Project paths
exports.cwd = process.cwd();
//Directories
exports.tsDir = plugins.path.join(exports.cwd, "ts/");
exports.distDir = plugins.path.join(exports.cwd, "dist/");

View File

@ -2,7 +2,6 @@
require("typings-global");
var plugins = require("./npmts.plugins");
exports.npmtsOra = new plugins.beautylog.Ora("setting up TaskChain", "cyan");
exports.npmtsOra.start();
var NpmtsAssets = require("./npmts.assets");
var NpmtsClean = require("./npmts.clean");
var NpmtsCompile = require("./npmts.compile");
@ -14,6 +13,7 @@ var NpmtsPublish = require("./npmts.publish");
var NpmtsTests = require("./npmts.tests");
exports.promisechain = function () {
var done = plugins.Q.defer();
exports.npmtsOra.start();
NpmtsConfigFile.run()
.then(NpmtsOptions.run)
.then(NpmtsClean.run)

View File

@ -1,13 +1,9 @@
"use strict";
require("typings-global");
var plugins = require("./npmts.plugins");
var NpmtsJsdoc = require("./npmts.jsdoc");
exports.run = function (configArg) {
var done = plugins.Q.defer();
var config = configArg;
var promiseArray = [];
config.docs.publish ? promiseArray.push(NpmtsJsdoc.publishDocs(configArg)) : void (0);
promiseArray.length === 0 ? plugins.beautylog.info("Did not publish anything!") : void (0);
plugins.Q.all(promiseArray).then(done.resolve);
done.resolve();
return done.promise;
};

View File

@ -1,14 +1,15 @@
{
"name": "npmts",
"version": "5.2.3",
"version": "5.3.1",
"description": "write npm modules with TypeScript",
"main": "dist/index.js",
"bin": {
"npmts": "dist/cli.js"
},
"scripts": {
"test": "(npm run compile && npm run check)",
"test": "(npm run compile && npm run check && npm run checkVersion)",
"check": "(cd ./test/assets && node ../../dist/index.js)",
"checkVersion": "cd ./test/assets && node ../../dist/index.js -v",
"compile": "(cd compile && node compile.js)"
},
"repository": {
@ -26,32 +27,32 @@
},
"homepage": "https://gitlab.com/pushrocks/npmts#readme",
"dependencies": {
"beautylog": "5.0.6",
"early": "^2.0.1",
"beautylog": "5.0.8",
"early": "^2.0.13",
"fs-extra": "^0.30.0",
"gulp": "3.9.1",
"gulp-concat": "^2.6.0",
"gulp-function": "^1.3.1",
"gulp-function": "^1.3.6",
"gulp-if": "^2.0.1",
"gulp-istanbul": "^0.10.4",
"gulp-jsdoc3": "^0.2.1",
"gulp-istanbul": "^1.0.0",
"gulp-jsdoc3": "^0.3.0",
"gulp-mocha": "^2.2.0",
"gulp-replace": "^0.5.4",
"gulp-sourcemaps": "^2.0.0-alpha",
"gulp-typescript": "2.13.4",
"gulp-typescript": "2.13.6",
"gulp-typings": "2.0.0",
"lodash": "^4.13.1",
"merge2": "1.0.2",
"projectinfo": "1.0.1",
"projectinfo": "1.0.3",
"q": "^1.4.1",
"shelljs": "^0.7.0",
"smartci": "0.0.1",
"smartcli": "0.0.11",
"smartcli": "1.0.1",
"smartcov": "0.0.6",
"smartenv": "1.2.5",
"smartfile": "3.0.10",
"smartpath": "3.2.1",
"smartstring": "^2.0.1",
"smartpath": "3.2.2",
"smartstring": "^2.0.6",
"source-map-support": "^0.4.0",
"typings-global": "*"
},

View File

@ -1,16 +1,30 @@
import "typings-global";
/* ================================================== *
Starting NPMTS main process.
* ================================================== */
import * as early from "early";
early.start("NPMTS");
import * as plugins from "./npmts.plugins"
import * as paths from "./npmts.paths";
import {promisechain} from "./npmts.promisechain";
early.stop();
early.stop()
.done(() => {
let npmtsProjectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.npmtsPackageRoot);
plugins.beautylog.figletSync("NPMTS");
try {
promisechain();
}
catch(err){
console.log(err);
}
let npmtsCli = new plugins.smartcli.Smartcli();
npmtsCli.standardTask()
.then(() => {
plugins.beautylog.figletSync("NPMTS");
plugins.beautylog.info("npmts version: " + npmtsProjectInfo.version);
try {
promisechain();
}
catch(err){
console.log(err);
}
});
npmtsCli.addVersion(npmtsProjectInfo.version);
npmtsCli.startParse();
});

View File

@ -21,41 +21,6 @@ let genJsdoc = function(configArg){
return done.promise;
};
export let publishDocs = function(configArg){
let done = plugins.Q.defer();
let gitUrl = plugins.projectinfo.npm(
paths.cwd,
{
gitAccessToken:process.env.GITHUB_TOKEN
}
).git.httpsUrl;
let deployScript = ""
+ "cd " + paths.docsDir + " "
+ "&& git init " + "> /dev/null 2>&1 "
+ "&& git config user.name \"TRAVIS CI\" " + "> /dev/null 2>&1 "
+ "&& git config user.email \"travis@shipzone.io\" " + "> /dev/null 2>&1 "
+ "&& git add . " + "> /dev/null 2>&1 "
+ "&& git commit -m \"Deploy to GitHub Pages\" " + "> /dev/null 2>&1 "
+ "&& git push --force --quiet "
+ "\"" + gitUrl + "\" "
+ "master:gh-pages " + "> /dev/null 2>&1";
plugins.beautylog.log("now publishing JsDoc documentation to GitHub");
if (!plugins.shelljs.which('git')) {
plugins.beautylog.error('Git is not installed!');
plugins.shelljs.exit(1);
} else if (plugins.shelljs.exec(deployScript).code !== 0) {
plugins.beautylog.error('Git failed!');
plugins.shelljs.exit(1);
}
plugins.beautylog.ok("JsDoc documentation has been deployed to GitHub!");
done.resolve(configArg);
return done.promise;
};
export let run = function(configArg){
let done = plugins.Q.defer();

View File

@ -6,21 +6,6 @@ export let isCi = function(){
return plugins.smartci.check.isCi();
};
export let isRelease = function():boolean {
return plugins.smartci.check.isCi()
&& plugins.smartci.check.isTaggedCommit();
};
export let doPublish = function():boolean {
try {
return isRelease()
&& plugins.smartci.get.subJobNumber() == 1;
}
catch (err){
return false;
}
};
export var run = function(configArg){
var done = plugins.Q.defer();
var config = configArg;
@ -44,21 +29,12 @@ export var run = function(configArg){
//check if config.tsOptions is available
config.tsOptions ? void(0) : config.tsOptions = {};
// handle state of current build
isRelease() ? plugins.beautylog.info("All right: This is a RELEASE build!")
: plugins.beautylog.info("NOT A RELEASE build!");
isRelease() && doPublish() ? plugins.beautylog.info("All right: This is the first subBuild, so this one publishes COVERAGE + DOCS when tests succeed!")
: plugins.beautylog.info("We are not publishing anything!");
config.coverageTreshold ? void(0) : config.coverageTreshold = 70;
// handle docs
config.docs ? void(0) : config.docs = {};
config.docs.publish ? void(0) : config.docs.publish = false;
doPublish() ? void(0) : config.docs.publish = false;
plugins.beautylog.ok("build options are ready!");
done.resolve(config);

View File

@ -1,7 +1,12 @@
import "typings-global";
import plugins = require("./npmts.plugins");
export let cwd = plugins.smartcli.get.cwd().path;
//Npmts Paths
export let npmtsPackageRoot = plugins.path.join(__dirname,"../");
//Project paths
export let cwd = process.cwd();
//Directories
export let tsDir = plugins.path.join(cwd,"ts/");

View File

@ -15,15 +15,15 @@ export let g = {
};
export let lodashObject = require('lodash/fp/object');
export let merge2 = require("merge2");
export let projectinfo = require("projectinfo");
export import projectinfo = require("projectinfo");
export let path = require("path");
export let Q = require("q");
export let shelljs = require("shelljs");
export let smartci = require("smartci");
export let smartcli = require("smartcli");
export import smartcli = require("smartcli");
export let smartcov = require("smartcov");
export let smartenv = require("smartenv");
export let smartfile = require("smartfile");
export import smartenv = require("smartenv");
export import smartfile = require("smartfile");
export import smartpath = require("smartpath");
export import smartstring = require("smartstring");
export let sourceMapSupport = require("source-map-support").install(); // this is required to display errors correctly during testing

View File

@ -2,7 +2,6 @@ import "typings-global";
import plugins = require("./npmts.plugins");
export let npmtsOra = new plugins.beautylog.Ora("setting up TaskChain","cyan");
npmtsOra.start();
import NpmtsAssets = require("./npmts.assets");
import NpmtsClean = require("./npmts.clean");
@ -16,6 +15,7 @@ import NpmtsTests = require("./npmts.tests");
export let promisechain = function(){
let done = plugins.Q.defer();
npmtsOra.start();
NpmtsConfigFile.run()
.then(NpmtsOptions.run)
.then(NpmtsClean.run)

View File

@ -6,10 +6,6 @@ import NpmtsJsdoc = require("./npmts.jsdoc");
export let run = function(configArg){
let done = plugins.Q.defer();
let config = configArg;
let promiseArray = [];
config.docs.publish ? promiseArray.push(NpmtsJsdoc.publishDocs(configArg)) : void(0);
promiseArray.length === 0 ? plugins.beautylog.info("Did not publish anything!") : void(0);
plugins.Q.all(promiseArray).then(done.resolve);
done.resolve();
return done.promise;
};