Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
73f5a0b055 | |||
f2a169ac7d | |||
3cdd22044e | |||
60d200135e | |||
e8238dc907 | |||
007e7539c8 | |||
e3c2c56548 | |||
f0954b19e0 | |||
48a9d19b8e | |||
7d39683972 | |||
01e9f386a6 | |||
2f4fb28b5d | |||
50b14e60c6 | |||
4753a4ff82 |
26
dist/npmts.jsdoc.js
vendored
26
dist/npmts.jsdoc.js
vendored
@ -19,7 +19,7 @@ var genJsdoc = function (configArg) {
|
|||||||
}));
|
}));
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
var publishDocs = function (configArg) {
|
exports.publishDocs = function (configArg) {
|
||||||
var done = plugins.Q.defer();
|
var done = plugins.Q.defer();
|
||||||
var gitUrl = plugins.projectinfo.npm(paths.cwd, {
|
var gitUrl = plugins.projectinfo.npm(paths.cwd, {
|
||||||
gitAccessToken: process.env.GITHUB_TOKEN
|
gitAccessToken: process.env.GITHUB_TOKEN
|
||||||
@ -34,28 +34,22 @@ var publishDocs = function (configArg) {
|
|||||||
+ "&& git push --force --quiet "
|
+ "&& git push --force --quiet "
|
||||||
+ "\"" + gitUrl + "\" "
|
+ "\"" + gitUrl + "\" "
|
||||||
+ "master:gh-pages " + "> /dev/null 2>&1";
|
+ "master:gh-pages " + "> /dev/null 2>&1";
|
||||||
if (plugins.smartenv.getEnv().isTravis && configArg.docs && configArg.docs.publish) {
|
plugins.beautylog.log("now publishing JsDoc documentation to GitHub");
|
||||||
plugins.beautylog.log("now publishing JsDoc documentation to GitHub");
|
if (!plugins.shelljs.which('git')) {
|
||||||
if (!plugins.shelljs.which('git')) {
|
plugins.beautylog.error('Git is not installed!');
|
||||||
plugins.beautylog.error('Git is not installed!');
|
plugins.shelljs.exit(1);
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
else {
|
else if (plugins.shelljs.exec(deployScript).code !== 0) {
|
||||||
done.resolve(configArg);
|
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;
|
return done.promise;
|
||||||
};
|
};
|
||||||
exports.run = function (configArg) {
|
exports.run = function (configArg) {
|
||||||
var done = plugins.Q.defer();
|
var done = plugins.Q.defer();
|
||||||
genJsdoc(configArg)
|
genJsdoc(configArg)
|
||||||
.then(publishDocs)
|
|
||||||
.then(done.resolve);
|
.then(done.resolve);
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
|
28
dist/npmts.options.js
vendored
28
dist/npmts.options.js
vendored
@ -2,12 +2,12 @@
|
|||||||
/// <reference path="./typings/main.d.ts" />
|
/// <reference path="./typings/main.d.ts" />
|
||||||
var plugins = require("./npmts.plugins");
|
var plugins = require("./npmts.plugins");
|
||||||
exports.isRelease = function () {
|
exports.isRelease = function () {
|
||||||
if (plugins.smartci.check.isCi() && plugins.smartci.isTaggedCommit()) {
|
return plugins.smartci.check.isCi()
|
||||||
return true;
|
&& plugins.smartci.check.isTaggedCommit();
|
||||||
}
|
};
|
||||||
else {
|
exports.doPublish = function () {
|
||||||
return false;
|
return exports.isRelease()
|
||||||
}
|
&& plugins.smartci.get.subJobNumber() == 1;
|
||||||
};
|
};
|
||||||
exports.run = function (configArg) {
|
exports.run = function (configArg) {
|
||||||
var done = plugins.Q.defer();
|
var done = plugins.Q.defer();
|
||||||
@ -26,13 +26,17 @@ exports.run = function (configArg) {
|
|||||||
config.test = ["./index.js"];
|
config.test = ["./index.js"];
|
||||||
}
|
}
|
||||||
// handle state of current build
|
// handle state of current build
|
||||||
exports.isRelease() ? plugins.beautylog.info("All right this is a release build!")
|
exports.isRelease() ? plugins.beautylog.info("All right: This is a RELEASE build!")
|
||||||
: plugins.beautylog.info("not 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 and docs when tests succeed!")
|
||||||
|
: plugins.beautylog.info("We are not publishing anything!");
|
||||||
// handle coveralls
|
// handle coveralls
|
||||||
if ((typeof config.coveralls === "undefined" || !exports.isRelease())
|
config.coveralls ? void (0) : config.coveralls = false;
|
||||||
&& plugins.smartci.get.subJobNumber == 1) {
|
exports.doPublish() ? void (0) : config.coveralls = false;
|
||||||
config.coveralls = false;
|
// 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;
|
||||||
done.resolve(config);
|
done.resolve(config);
|
||||||
return done.promise;
|
return done.promise;
|
||||||
var _a;
|
var _a;
|
||||||
|
5
dist/npmts.promisechain.js
vendored
5
dist/npmts.promisechain.js
vendored
@ -8,6 +8,7 @@ var NpmtsConfigFile = require("./npmts.configfile");
|
|||||||
var NpmtsInstall = require("./npmts.install");
|
var NpmtsInstall = require("./npmts.install");
|
||||||
var NpmtsJsdoc = require("./npmts.jsdoc");
|
var NpmtsJsdoc = require("./npmts.jsdoc");
|
||||||
var NpmtsOptions = require("./npmts.options");
|
var NpmtsOptions = require("./npmts.options");
|
||||||
|
var NpmtsPublish = require("./npmts.publish");
|
||||||
var NpmtsTests = require("./npmts.tests");
|
var NpmtsTests = require("./npmts.tests");
|
||||||
exports.run = function () {
|
exports.run = function () {
|
||||||
var promisechain;
|
var promisechain;
|
||||||
@ -19,6 +20,7 @@ exports.run = function () {
|
|||||||
.then(NpmtsAssets.run)
|
.then(NpmtsAssets.run)
|
||||||
.then(NpmtsJsdoc.run)
|
.then(NpmtsJsdoc.run)
|
||||||
.then(NpmtsTests.run)
|
.then(NpmtsTests.run)
|
||||||
|
.then(NpmtsPublish.run)
|
||||||
.then(function (configArg) {
|
.then(function (configArg) {
|
||||||
var shipString = "" +
|
var shipString = "" +
|
||||||
"\n" +
|
"\n" +
|
||||||
@ -38,6 +40,9 @@ exports.run = function () {
|
|||||||
console.log(shipString);
|
console.log(shipString);
|
||||||
plugins.beautylog.success("READY TO SHIP!");
|
plugins.beautylog.success("READY TO SHIP!");
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
plugins.beautylog.success("Done!");
|
||||||
|
}
|
||||||
});
|
});
|
||||||
return promisechain;
|
return promisechain;
|
||||||
};
|
};
|
||||||
|
15
dist/npmts.publish.js
vendored
Normal file
15
dist/npmts.publish.js
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
"use strict";
|
||||||
|
/// <reference path="./typings/main.d.ts" />
|
||||||
|
var plugins = require("./npmts.plugins");
|
||||||
|
var NpmtsTests = require("./npmts.tests");
|
||||||
|
var NpmtsJsdoc = require("./npmts.jsdoc");
|
||||||
|
exports.run = function (configArg) {
|
||||||
|
var done = plugins.Q.defer();
|
||||||
|
var config = configArg;
|
||||||
|
var promiseArray = [];
|
||||||
|
config.coveralls ? promiseArray.push(NpmtsTests.publishCoverage(configArg)) : void (0);
|
||||||
|
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);
|
||||||
|
return done.promise;
|
||||||
|
};
|
34
dist/npmts.tests.js
vendored
34
dist/npmts.tests.js
vendored
@ -2,6 +2,17 @@
|
|||||||
/// <reference path="./typings/main.d.ts" />
|
/// <reference path="./typings/main.d.ts" />
|
||||||
var plugins = require("./npmts.plugins");
|
var plugins = require("./npmts.plugins");
|
||||||
var paths = require("./npmts.paths");
|
var paths = require("./npmts.paths");
|
||||||
|
exports.publishCoverage = function (configArg) {
|
||||||
|
var done = plugins.Q.defer();
|
||||||
|
plugins.beautylog.log("now uploading coverage data to coveralls");
|
||||||
|
var stream = plugins.gulp.src([plugins.path.join(paths.cwd, "./coverage/lcov.info")])
|
||||||
|
.pipe(plugins.g.coveralls())
|
||||||
|
.pipe(plugins.g.gFunction(function () {
|
||||||
|
plugins.beautylog.ok("Coverage data has been uploaded to Coveralls!");
|
||||||
|
done.resolve(configArg);
|
||||||
|
}, "atEnd"));
|
||||||
|
return done.promise;
|
||||||
|
};
|
||||||
exports.run = function (configArg) {
|
exports.run = function (configArg) {
|
||||||
var done = plugins.Q.defer();
|
var done = plugins.Q.defer();
|
||||||
var config = configArg;
|
var config = configArg;
|
||||||
@ -18,27 +29,14 @@ exports.run = function (configArg) {
|
|||||||
.pipe(plugins.g.istanbul.enforceThresholds({ thresholds: { global: 30 } }));
|
.pipe(plugins.g.istanbul.enforceThresholds({ thresholds: { global: 30 } }));
|
||||||
return stream;
|
return stream;
|
||||||
};
|
};
|
||||||
var coveralls = function () {
|
|
||||||
plugins.beautylog.log("now uploading coverage data to coveralls");
|
|
||||||
var stream = plugins.gulp.src([plugins.path.join(paths.cwd, "./coverage/lcov.info")])
|
|
||||||
.pipe(plugins.g.coveralls())
|
|
||||||
.pipe(plugins.g.gFunction(function () {
|
|
||||||
plugins.beautylog.ok("Tests have passed and coverage data has been uploaded to Coveralls!");
|
|
||||||
}, "atEnd"));
|
|
||||||
return stream;
|
|
||||||
};
|
|
||||||
plugins.beautylog.log("now starting tests");
|
plugins.beautylog.log("now starting tests");
|
||||||
|
console.log("--------------------------------------------------\n" +
|
||||||
|
"******************* TESTS: **********************\n" +
|
||||||
|
"--------------------------------------------------");
|
||||||
istanbul().on("finish", function () {
|
istanbul().on("finish", function () {
|
||||||
mocha().on("finish", function () {
|
mocha().on("finish", function () {
|
||||||
if (plugins.smartenv.getEnv().isTravis && config.coveralls) {
|
plugins.beautylog.ok("Tests have passed!");
|
||||||
coveralls().on("finish", function () {
|
done.resolve(config);
|
||||||
done.resolve(config);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
plugins.beautylog.ok("Tests have passed!");
|
|
||||||
done.resolve(config);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
return done.promise;
|
return done.promise;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "npmts",
|
"name": "npmts",
|
||||||
"version": "3.6.0",
|
"version": "3.6.7",
|
||||||
"description": "write npm modules with TypeScript",
|
"description": "write npm modules with TypeScript",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
/// <reference path="../ts/typings/main.d.ts" />
|
/// <reference path="../ts/typings/main.d.ts" />
|
||||||
console.log("**** starting test ****");
|
|
||||||
var testplugin = require("../dist/index.js");
|
var testplugin = require("../dist/index.js");
|
||||||
describe("testplugins", function () {
|
describe("testplugins", function () {
|
||||||
describe(".logSomething", function () {
|
describe(".logSomething", function () {
|
||||||
@ -9,4 +8,4 @@ describe("testplugins", function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0RBQWdEO0FBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUN2QyxJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUM3QyxRQUFRLENBQUMsYUFBYSxFQUFDO0lBQ25CLFFBQVEsQ0FBQyxlQUFlLEVBQUM7UUFDckIsRUFBRSxDQUFDLHNCQUFzQixFQUFDO1lBQ3RCLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi90cy90eXBpbmdzL21haW4uZC50c1wiIC8+XG5jb25zb2xlLmxvZyhcIioqKiogc3RhcnRpbmcgdGVzdCAqKioqXCIpO1xudmFyIHRlc3RwbHVnaW4gPSByZXF1aXJlKFwiLi4vZGlzdC9pbmRleC5qc1wiKTtcbmRlc2NyaWJlKFwidGVzdHBsdWdpbnNcIixmdW5jdGlvbigpe1xuICAgIGRlc2NyaWJlKFwiLmxvZ1NvbWV0aGluZ1wiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIGxvZyBzb21ldGhpbmdcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgdGVzdHBsdWdpbi5sb2dTb21ldGhpbmcoKVxuICAgICAgICB9KTtcbiAgICB9KTtcbn0pOyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0RBQWdEO0FBQ2hELElBQUksVUFBVSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzdDLFFBQVEsQ0FBQyxhQUFhLEVBQUM7SUFDbkIsUUFBUSxDQUFDLGVBQWUsRUFBQztRQUNyQixFQUFFLENBQUMsc0JBQXNCLEVBQUM7WUFDdEIsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL3RzL3R5cGluZ3MvbWFpbi5kLnRzXCIgLz5cbnZhciB0ZXN0cGx1Z2luID0gcmVxdWlyZShcIi4uL2Rpc3QvaW5kZXguanNcIik7XG5kZXNjcmliZShcInRlc3RwbHVnaW5zXCIsZnVuY3Rpb24oKXtcbiAgICBkZXNjcmliZShcIi5sb2dTb21ldGhpbmdcIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcInNob3VsZCBsb2cgc29tZXRoaW5nXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHRlc3RwbHVnaW4ubG9nU29tZXRoaW5nKClcbiAgICAgICAgfSk7XG4gICAgfSk7XG59KTsiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
|
||||||
|
@ -1 +1 @@
|
|||||||
{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,IAAI,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC7C,QAAQ,CAAC,aAAa,EAAC;IACnB,QAAQ,CAAC,eAAe,EAAC;QACrB,EAAE,CAAC,sBAAsB,EAAC;YACtB,UAAU,CAAC,YAAY,EAAE,CAAA;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,IAAI,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC7C,QAAQ,CAAC,aAAa,EAAC;IACnB,QAAQ,CAAC,eAAe,EAAC;QACrB,EAAE,CAAC,sBAAsB,EAAC;YACtB,UAAU,CAAC,YAAY,EAAE,CAAA;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
@ -1,5 +1,4 @@
|
|||||||
/// <reference path="../ts/typings/main.d.ts" />
|
/// <reference path="../ts/typings/main.d.ts" />
|
||||||
console.log("**** starting test ****");
|
|
||||||
var testplugin = require("../dist/index.js");
|
var testplugin = require("../dist/index.js");
|
||||||
describe("testplugins",function(){
|
describe("testplugins",function(){
|
||||||
describe(".logSomething",function(){
|
describe(".logSomething",function(){
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
import plugins = require("./npmts.plugins");
|
import plugins = require("./npmts.plugins");
|
||||||
import paths = require("./npmts.paths");
|
import paths = require("./npmts.paths");
|
||||||
|
|
||||||
var genJsdoc = function(configArg){
|
let genJsdoc = function(configArg){
|
||||||
var done = plugins.Q.defer();
|
let done = plugins.Q.defer();
|
||||||
plugins.beautylog.log("now generating " + "JsDoc documentation".blue);
|
plugins.beautylog.log("now generating " + "JsDoc documentation".blue);
|
||||||
plugins.gulp.src([
|
plugins.gulp.src([
|
||||||
plugins.path.join(paths.cwd,"README.md"),
|
plugins.path.join(paths.cwd,"README.md"),
|
||||||
@ -20,16 +20,16 @@ var genJsdoc = function(configArg){
|
|||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
var publishDocs = function(configArg){
|
export let publishDocs = function(configArg){
|
||||||
var done = plugins.Q.defer();
|
let done = plugins.Q.defer();
|
||||||
var gitUrl = plugins.projectinfo.npm(
|
let gitUrl = plugins.projectinfo.npm(
|
||||||
paths.cwd,
|
paths.cwd,
|
||||||
{
|
{
|
||||||
gitAccessToken:process.env.GITHUB_TOKEN
|
gitAccessToken:process.env.GITHUB_TOKEN
|
||||||
}
|
}
|
||||||
).git.httpsUrl;
|
).git.httpsUrl;
|
||||||
|
|
||||||
var deployScript = ""
|
let deployScript = ""
|
||||||
+ "cd " + paths.docsDir + " "
|
+ "cd " + paths.docsDir + " "
|
||||||
+ "&& git init " + "> /dev/null 2>&1 "
|
+ "&& git init " + "> /dev/null 2>&1 "
|
||||||
+ "&& git config user.name \"TRAVIS CI\" " + "> /dev/null 2>&1 "
|
+ "&& git config user.name \"TRAVIS CI\" " + "> /dev/null 2>&1 "
|
||||||
@ -40,28 +40,25 @@ var publishDocs = function(configArg){
|
|||||||
+ "\"" + gitUrl + "\" "
|
+ "\"" + gitUrl + "\" "
|
||||||
+ "master:gh-pages " + "> /dev/null 2>&1";
|
+ "master:gh-pages " + "> /dev/null 2>&1";
|
||||||
|
|
||||||
if(plugins.smartenv.getEnv().isTravis && configArg.docs && configArg.docs.publish){
|
|
||||||
plugins.beautylog.log("now publishing JsDoc documentation to GitHub");
|
plugins.beautylog.log("now publishing JsDoc documentation to GitHub");
|
||||||
if (!plugins.shelljs.which('git')) {
|
if (!plugins.shelljs.which('git')) {
|
||||||
plugins.beautylog.error('Git is not installed!');
|
plugins.beautylog.error('Git is not installed!');
|
||||||
plugins.shelljs.exit(1);
|
plugins.shelljs.exit(1);
|
||||||
} else if (plugins.shelljs.exec(deployScript).code !== 0) {
|
} else if (plugins.shelljs.exec(deployScript).code !== 0) {
|
||||||
plugins.beautylog.error('Git failed!');
|
plugins.beautylog.error('Git failed!');
|
||||||
plugins.shelljs.exit(1);
|
plugins.shelljs.exit(1);
|
||||||
}
|
|
||||||
plugins.beautylog.ok("JsDoc documentation has been deployed to GitHub!");
|
|
||||||
done.resolve(configArg);
|
|
||||||
} else {
|
|
||||||
done.resolve(configArg);
|
|
||||||
}
|
}
|
||||||
|
plugins.beautylog.ok("JsDoc documentation has been deployed to GitHub!");
|
||||||
|
done.resolve(configArg);
|
||||||
|
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
export var run = function(configArg){
|
export let run = function(configArg){
|
||||||
var done = plugins.Q.defer();
|
let done = plugins.Q.defer();
|
||||||
genJsdoc(configArg)
|
genJsdoc(configArg)
|
||||||
.then(publishDocs)
|
|
||||||
.then(done.resolve);
|
.then(done.resolve);
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
@ -2,11 +2,13 @@
|
|||||||
import plugins = require("./npmts.plugins");
|
import plugins = require("./npmts.plugins");
|
||||||
|
|
||||||
export let isRelease = function():boolean {
|
export let isRelease = function():boolean {
|
||||||
if (plugins.smartci.check.isCi() && plugins.smartci.isTaggedCommit()){
|
return plugins.smartci.check.isCi()
|
||||||
return true;
|
&& plugins.smartci.check.isTaggedCommit();
|
||||||
} else {
|
};
|
||||||
return false;
|
|
||||||
}
|
export let doPublish = function():boolean {
|
||||||
|
return isRelease()
|
||||||
|
&& plugins.smartci.get.subJobNumber() == 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
export var run = function(configArg){
|
export var run = function(configArg){
|
||||||
@ -29,16 +31,19 @@ export var run = function(configArg){
|
|||||||
|
|
||||||
// handle state of current build
|
// handle state of current build
|
||||||
|
|
||||||
isRelease() ? plugins.beautylog.info("All right this is a release build!")
|
isRelease() ? plugins.beautylog.info("All right: This is a RELEASE build!")
|
||||||
: plugins.beautylog.info("not 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 and docs when tests succeed!")
|
||||||
|
: plugins.beautylog.info("We are not publishing anything!");
|
||||||
|
|
||||||
// handle coveralls
|
// handle coveralls
|
||||||
if (
|
config.coveralls ? void(0) : config.coveralls = false;
|
||||||
(typeof config.coveralls === "undefined" || !isRelease())
|
doPublish() ? void(0) : config.coveralls = false;
|
||||||
&& plugins.smartci.get.subJobNumber == 1
|
|
||||||
){
|
// handle docs
|
||||||
config.coveralls = false;
|
config.docs ? void(0) : config.docs = {};
|
||||||
}
|
config.docs.publish ? void(0) : config.docs.publish = false;
|
||||||
|
doPublish() ? void(0) : config.docs.publish = false;
|
||||||
|
|
||||||
done.resolve(config);
|
done.resolve(config);
|
||||||
return done.promise;
|
return done.promise;
|
||||||
|
@ -8,6 +8,7 @@ import NpmtsConfigFile = require("./npmts.configfile");
|
|||||||
import NpmtsInstall = require("./npmts.install");
|
import NpmtsInstall = require("./npmts.install");
|
||||||
import NpmtsJsdoc = require("./npmts.jsdoc");
|
import NpmtsJsdoc = require("./npmts.jsdoc");
|
||||||
import NpmtsOptions = require("./npmts.options");
|
import NpmtsOptions = require("./npmts.options");
|
||||||
|
import NpmtsPublish = require("./npmts.publish");
|
||||||
import NpmtsTests = require("./npmts.tests");
|
import NpmtsTests = require("./npmts.tests");
|
||||||
|
|
||||||
export var run = function(){
|
export var run = function(){
|
||||||
@ -20,6 +21,7 @@ export var run = function(){
|
|||||||
.then(NpmtsAssets.run)
|
.then(NpmtsAssets.run)
|
||||||
.then(NpmtsJsdoc.run)
|
.then(NpmtsJsdoc.run)
|
||||||
.then(NpmtsTests.run)
|
.then(NpmtsTests.run)
|
||||||
|
.then(NpmtsPublish.run)
|
||||||
.then(function(configArg){
|
.then(function(configArg){
|
||||||
let shipString = "" +
|
let shipString = "" +
|
||||||
"\n" +
|
"\n" +
|
||||||
@ -38,6 +40,8 @@ export var run = function(){
|
|||||||
if (process.env.CI){
|
if (process.env.CI){
|
||||||
console.log(shipString);
|
console.log(shipString);
|
||||||
plugins.beautylog.success("READY TO SHIP!");
|
plugins.beautylog.success("READY TO SHIP!");
|
||||||
|
} else {
|
||||||
|
plugins.beautylog.success("Done!")
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
19
ts/npmts.publish.ts
Normal file
19
ts/npmts.publish.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
/// <reference path="./typings/main.d.ts" />
|
||||||
|
import plugins = require("./npmts.plugins");
|
||||||
|
import paths = require("./npmts.paths");
|
||||||
|
import NpmtsTests = require("./npmts.tests");
|
||||||
|
import NpmtsJsdoc = require("./npmts.jsdoc");
|
||||||
|
|
||||||
|
|
||||||
|
export let run = function(configArg){
|
||||||
|
let done = plugins.Q.defer();
|
||||||
|
let config = configArg;
|
||||||
|
|
||||||
|
let promiseArray = [];
|
||||||
|
config.coveralls ? promiseArray.push(NpmtsTests.publishCoverage(configArg)) : void(0);
|
||||||
|
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);
|
||||||
|
return done.promise;
|
||||||
|
};
|
@ -1,6 +1,19 @@
|
|||||||
/// <reference path="./typings/main.d.ts" />
|
/// <reference path="./typings/main.d.ts" />
|
||||||
import plugins = require("./npmts.plugins");
|
import plugins = require("./npmts.plugins");
|
||||||
import paths = require("./npmts.paths");
|
import paths = require("./npmts.paths");
|
||||||
|
|
||||||
|
export let publishCoverage = function(configArg){
|
||||||
|
let done = plugins.Q.defer();
|
||||||
|
plugins.beautylog.log("now uploading coverage data to coveralls");
|
||||||
|
var stream = plugins.gulp.src([plugins.path.join(paths.cwd,"./coverage/lcov.info")])
|
||||||
|
.pipe(plugins.g.coveralls())
|
||||||
|
.pipe(plugins.g.gFunction(function(){
|
||||||
|
plugins.beautylog.ok("Coverage data has been uploaded to Coveralls!");
|
||||||
|
done.resolve(configArg);
|
||||||
|
},"atEnd"));
|
||||||
|
return done.promise;
|
||||||
|
};
|
||||||
|
|
||||||
export var run = function(configArg) {
|
export var run = function(configArg) {
|
||||||
var done = plugins.Q.defer();
|
var done = plugins.Q.defer();
|
||||||
var config = configArg;
|
var config = configArg;
|
||||||
@ -23,27 +36,16 @@ export var run = function(configArg) {
|
|||||||
return stream;
|
return stream;
|
||||||
};
|
};
|
||||||
|
|
||||||
var coveralls = function(){
|
|
||||||
plugins.beautylog.log("now uploading coverage data to coveralls");
|
|
||||||
var stream = plugins.gulp.src([plugins.path.join(paths.cwd,"./coverage/lcov.info")])
|
|
||||||
.pipe(plugins.g.coveralls())
|
|
||||||
.pipe(plugins.g.gFunction(function(){
|
|
||||||
plugins.beautylog.ok("Tests have passed and coverage data has been uploaded to Coveralls!");
|
|
||||||
},"atEnd"));
|
|
||||||
return stream;
|
|
||||||
};
|
|
||||||
|
|
||||||
plugins.beautylog.log("now starting tests");
|
plugins.beautylog.log("now starting tests");
|
||||||
|
console.log(
|
||||||
|
"--------------------------------------------------\n" +
|
||||||
|
"******************* TESTS: **********************\n" +
|
||||||
|
"--------------------------------------------------"
|
||||||
|
);
|
||||||
istanbul().on("finish",function(){
|
istanbul().on("finish",function(){
|
||||||
mocha().on("finish",function(){
|
mocha().on("finish",function(){
|
||||||
if(plugins.smartenv.getEnv().isTravis && config.coveralls){
|
plugins.beautylog.ok("Tests have passed!");
|
||||||
coveralls().on("finish",function(){
|
done.resolve(config);
|
||||||
done.resolve(config);
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
plugins.beautylog.ok("Tests have passed!");
|
|
||||||
done.resolve(config);
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
return done.promise;
|
return done.promise;
|
||||||
|
Reference in New Issue
Block a user