now supporting dependency checks

This commit is contained in:
2016-07-28 03:10:51 +02:00
parent 433fad502d
commit 3317168d12
12 changed files with 184 additions and 22 deletions

3
dist/npmts.check.d.ts vendored Normal file
View File

@ -0,0 +1,3 @@
/// <reference types="q" />
import * as plugins from "./npmts.plugins";
export declare let run: (configArg: any) => plugins.Q.Promise<{}>;

87
dist/npmts.check.js vendored Normal file
View File

@ -0,0 +1,87 @@
"use strict";
var plugins = require("./npmts.plugins");
var paths = require("./npmts.paths");
var npmts_promisechain_1 = require("./npmts.promisechain");
var checkProjectTypings = function (configArg) {
var done = plugins.Q.defer();
done.resolve(configArg);
return done.promise;
};
var checkDependencies = function (configArg) {
var done = plugins.Q.defer();
var options = {
ignoreBinPackage: false,
ignoreDirs: [
'test',
'dist',
'bower_components'
],
ignoreMatches: [
"@types/*",
"babel-preset-*"
],
parsers: {
'*.ts': plugins.depcheck.parser.typescript,
},
detectors: [
plugins.depcheck.detector.requireCallExpression,
plugins.depcheck.detector.importDeclaration
],
specials: [
plugins.depcheck.special.eslint,
plugins.depcheck.special.webpack
],
};
plugins.depcheck(paths.cwd, options, function (unused) {
for (var _i = 0, _a = unused.dependencies; _i < _a.length; _i++) {
var item = _a[_i];
plugins.beautylog.warn("Watch out: unused dependency " + item.red);
}
;
for (var _b = 0, _c = unused.devDependencies; _b < _c.length; _b++) {
var item = _c[_b];
plugins.beautylog.log("unused devDependency " + item.red);
}
;
for (var _d = 0, _e = unused.missing; _d < _e.length; _d++) {
var item = _e[_d];
plugins.beautylog.error("unused devDependency " + item.red);
}
;
if (unused.missing.length > 0) {
plugins.beautylog.info("exiting due to missing dependencies in package.json");
process.exit(1);
}
for (var _f = 0, _g = unused.using; _f < _g.length; _f++) {
var item = _g[_f];
console.log(item);
}
;
for (var _h = 0, _j = unused.invalidFiles; _h < _j.length; _h++) {
var item = _j[_h];
plugins.beautylog.warn("Watch out: could not parse file " + item.red);
}
;
for (var _k = 0, _l = unused.invalidDirs; _k < _l.length; _k++) {
var item = _l[_k];
plugins.beautylog.warn("Watch out: could not parse directory " + item.red);
}
;
done.resolve(configArg);
});
return done.promise;
};
var checkNodeVersion = function (configArg) {
var done = plugins.Q.defer();
done.resolve(configArg);
return done.promise;
};
exports.run = function (configArg) {
var done = plugins.Q.defer();
npmts_promisechain_1.npmtsOra.text("running project checks..."),
checkProjectTypings(configArg)
.then(checkDependencies)
.then(checkNodeVersion)
.then(done.resolve);
return done.promise;
};

View File

@ -1,5 +1,4 @@
/// <reference types="q" />
import "typings-global";
import plugins = require("./npmts.plugins");
export declare let isCi: () => any;
export declare var run: (configArg: any) => plugins.Q.Promise<{}>;

View File

@ -2,9 +2,6 @@
require("typings-global");
var plugins = require("./npmts.plugins");
var npmts_promisechain_1 = require("./npmts.promisechain");
exports.isCi = function () {
return plugins.smartci.check.isCi();
};
exports.run = function (configArg) {
var done = plugins.Q.defer();
var config = configArg;

View File

@ -1,13 +1,13 @@
import "typings-global";
export import beautylog = require("beautylog");
export declare let gulp: any;
export declare let depcheck: any;
export import gulp = require("gulp");
export declare let g: {
babel: any;
istanbul: any;
gFunction: any;
injectModules: any;
mocha: any;
replace: any;
sourcemaps: any;
typedoc: any;
};
@ -17,7 +17,6 @@ export import projectinfo = require("projectinfo");
export import path = require("path");
export import Q = require("q");
export import shelljs = require("shelljs");
export declare let smartci: any;
export import smartcli = require("smartcli");
export import smartcov = require("smartcov");
export import smartenv = require("smartenv");

View File

@ -1,6 +1,7 @@
"use strict";
require("typings-global");
exports.beautylog = require("beautylog");
exports.depcheck = require("depcheck");
exports.gulp = require("gulp");
exports.g = {
babel: require("gulp-babel"),
@ -8,7 +9,6 @@ exports.g = {
gFunction: require("gulp-function"),
injectModules: require("gulp-inject-modules"),
mocha: require("gulp-mocha"),
replace: require("gulp-replace"),
sourcemaps: require("gulp-sourcemaps"),
typedoc: require("gulp-typedoc")
};
@ -18,7 +18,6 @@ exports.projectinfo = require("projectinfo");
exports.path = require("path");
exports.Q = require("q");
exports.shelljs = require("shelljs");
exports.smartci = require("smartci");
exports.smartcli = require("smartcli");
exports.smartcov = require("smartcov");
exports.smartenv = require("smartenv");

View File

@ -3,6 +3,7 @@ require("typings-global");
var plugins = require("./npmts.plugins");
exports.npmtsOra = new plugins.beautylog.Ora("setting up TaskChain", "cyan");
var NpmtsAssets = require("./npmts.assets");
var NpmtsCheck = require("./npmts.check");
var NpmtsClean = require("./npmts.clean");
var NpmtsCompile = require("./npmts.compile");
var NpmtsConfigFile = require("./npmts.configfile");
@ -15,6 +16,7 @@ exports.promisechain = function (argvArg) {
NpmtsConfigFile.run(argvArg)
.then(NpmtsOptions.run)
.then(NpmtsClean.run)
.then(NpmtsCheck.run)
.then(NpmtsCompile.run)
.then(NpmtsAssets.run)
.then(NpmtsTypeDoc.run)