From cd2f40118084988453b381a1b1aec178f3588667 Mon Sep 17 00:00:00 2001 From: PhilKunz Date: Tue, 6 Sep 2016 17:21:25 +0200 Subject: [PATCH] now adhering to standard js code style --- dist/index.d.ts | 2 +- dist/index.js | 16 ++--- dist/npmts.assets.d.ts | 4 +- dist/npmts.assets.js | 18 ++--- dist/npmts.check.d.ts | 4 +- dist/npmts.check.js | 40 ++++++----- dist/npmts.clean.d.ts | 4 +- dist/npmts.clean.js | 16 ++--- dist/npmts.compile.d.ts | 4 +- dist/npmts.compile.helpers.js | 6 +- dist/npmts.compile.js | 22 +++--- dist/npmts.options.d.ts | 6 +- dist/npmts.options.js | 30 ++++---- dist/npmts.paths.d.ts | 2 +- dist/npmts.paths.js | 28 ++++---- dist/npmts.plugins.d.ts | 30 ++++---- dist/npmts.plugins.js | 48 ++++++------- dist/npmts.promisechain.d.ts | 6 +- dist/npmts.promisechain.js | 51 +++++++------- dist/npmts.tests.d.ts | 4 +- dist/npmts.tests.js | 46 +++++++------ dist/npmts.typedoc.d.ts | 4 +- dist/npmts.typedoc.js | 28 ++++---- docs/index.md | 1 + ts/index.ts | 36 +++++----- ts/npmts.assets.ts | 34 ++++----- ts/npmts.check.ts | 111 +++++++++++++++--------------- ts/npmts.clean.ts | 34 ++++----- ts/npmts.compile.helpers.ts | 16 ++--- ts/npmts.compile.ts | 81 +++++++++++----------- ts/npmts.options.ts | 108 ++++++++++++++--------------- ts/npmts.paths.ts | 31 ++++----- ts/npmts.plugins.ts | 50 +++++++------- ts/npmts.promisechain.ts | 64 ++++++++--------- ts/npmts.tests.ts | 125 ++++++++++++++++++---------------- ts/npmts.typedoc.ts | 47 +++++++------ tslint.json | 3 + 37 files changed, 582 insertions(+), 578 deletions(-) create mode 100644 tslint.json diff --git a/dist/index.d.ts b/dist/index.d.ts index 62d7805..317822d 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -1 +1 @@ -import "typings-global"; +import 'typings-global'; diff --git a/dist/index.js b/dist/index.js index c23259d..0f1d6e5 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,21 +1,21 @@ "use strict"; -require("typings-global"); +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"); +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() .then(function () { var npmtsProjectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.npmtsPackageRoot); var npmtsCli = new plugins.smartcli.Smartcli(); npmtsCli.standardTask() .then(function (argvArg) { - plugins.beautylog.figletSync("NPMTS"); - plugins.beautylog.info("npmts version: " + npmtsProjectInfo.version); + plugins.beautylog.figletSync('NPMTS'); + plugins.beautylog.info('npmts version: ' + npmtsProjectInfo.version); try { npmts_promisechain_1.promisechain(argvArg); } diff --git a/dist/npmts.assets.d.ts b/dist/npmts.assets.d.ts index f32981b..bc073a9 100644 --- a/dist/npmts.assets.d.ts +++ b/dist/npmts.assets.d.ts @@ -1,4 +1,4 @@ /// -import "typings-global"; -import plugins = require("./npmts.plugins"); +import 'typings-global'; +import plugins = require('./npmts.plugins'); export declare var run: (configArg: any) => plugins.Q.Promise<{}>; diff --git a/dist/npmts.assets.js b/dist/npmts.assets.js index 382e21d..aa56305 100644 --- a/dist/npmts.assets.js +++ b/dist/npmts.assets.js @@ -1,19 +1,19 @@ "use strict"; -require("typings-global"); -var plugins = require("./npmts.plugins"); -var paths = require("./npmts.paths"); -var npmts_promisechain_1 = require("./npmts.promisechain"); +require('typings-global'); +var plugins = require('./npmts.plugins'); +var paths = require('./npmts.paths'); +var npmts_promisechain_1 = require('./npmts.promisechain'); exports.run = function (configArg) { var done = plugins.Q.defer(); var config = configArg; - npmts_promisechain_1.npmtsOra.text("now looking at " + "required assets".yellow); - if (config.cli == true) { - plugins.smartfile.fs.copySync(plugins.path.join(paths.npmtsAssetsDir, "cli.js"), plugins.path.join(paths.distDir, "cli.js")); - plugins.beautylog.ok("installed CLI assets!"); + npmts_promisechain_1.npmtsOra.text('now looking at ' + 'required assets'.yellow); + if (config.cli === true) { + plugins.smartfile.fs.copySync(plugins.path.join(paths.npmtsAssetsDir, 'cli.js'), plugins.path.join(paths.distDir, 'cli.js')); + plugins.beautylog.ok('installed CLI assets!'); done.resolve(config); } else { - plugins.beautylog.ok("No additional assets required!"); + plugins.beautylog.ok('No additional assets required!'); done.resolve(config); } return done.promise; diff --git a/dist/npmts.check.d.ts b/dist/npmts.check.d.ts index 739439e..f47fcec 100644 --- a/dist/npmts.check.d.ts +++ b/dist/npmts.check.d.ts @@ -1,5 +1,5 @@ /// -import * as plugins from "./npmts.plugins"; -import { ProjectinfoNpm } from "projectinfo"; +import * as plugins from './npmts.plugins'; +import { ProjectinfoNpm } from 'projectinfo'; export declare let projectInfo: ProjectinfoNpm; export declare let run: (configArg: any) => plugins.Q.Promise<{}>; diff --git a/dist/npmts.check.js b/dist/npmts.check.js index e1bfd28..c47620a 100644 --- a/dist/npmts.check.js +++ b/dist/npmts.check.js @@ -1,12 +1,12 @@ "use strict"; -var plugins = require("./npmts.plugins"); -var paths = require("./npmts.paths"); -var npmts_promisechain_1 = require("./npmts.promisechain"); -var projectinfo_1 = require("projectinfo"); +var plugins = require('./npmts.plugins'); +var paths = require('./npmts.paths'); +var npmts_promisechain_1 = require('./npmts.promisechain'); +var projectinfo_1 = require('projectinfo'); var checkProjectTypings = function (configArg) { var done = plugins.Q.defer(); exports.projectInfo = new projectinfo_1.ProjectinfoNpm(paths.cwd); - if (typeof exports.projectInfo.packageJson.typings == "undefined") { + if (typeof exports.projectInfo.packageJson.typings === 'undefined') { plugins.beautylog.error("please add typings field to package.json"); process.exit(1); } @@ -17,7 +17,7 @@ var checkProjectTypings = function (configArg) { var depcheckOptions = { ignoreBinPackage: false, parsers: { - '*.ts': plugins.depcheck.parser.typescript, + '*.ts': plugins.depcheck.parser.typescript }, detectors: [ plugins.depcheck.detector.requireCallExpression, @@ -26,7 +26,7 @@ var depcheckOptions = { specials: [ plugins.depcheck.special.eslint, plugins.depcheck.special.webpack - ], + ] }; var checkDependencies = function (configArg) { var done = plugins.Q.defer(); @@ -37,8 +37,8 @@ var checkDependencies = function (configArg) { 'bower_components' ], ignoreMatches: [ - "@types/*", - "babel-preset-*" + '@types/*', + 'babel-preset-*' ] }); plugins.depcheck(paths.cwd, depcheckOptionsMerged, function (unused) { @@ -53,7 +53,7 @@ var checkDependencies = function (configArg) { } ; if (unused.missing.length > 0) { - plugins.beautylog.info("exiting due to missing dependencies in package.json"); + plugins.beautylog.info('exiting due to missing dependencies in package.json'); process.exit(1); } for (var _d = 0, _e = unused.invalidFiles; _d < _e.length; _d++) { @@ -79,8 +79,8 @@ var checkDevDependencies = function (configArg) { 'bower_components' ], ignoreMatches: [ - "@types/*", - "babel-preset-*" + '@types/*', + 'babel-preset-*' ] }); plugins.depcheck(paths.cwd, depcheckOptionsMerged, function (unused) { @@ -95,19 +95,17 @@ var checkDevDependencies = function (configArg) { } ; if (unused.missing.length > 0) { - plugins.beautylog.info("exiting due to missing dependencies in package.json"); + plugins.beautylog.info('exiting due to missing dependencies in package.json'); process.exit(1); } for (var _d = 0, _e = unused.invalidFiles; _d < _e.length; _d++) { var item = _e[_d]; plugins.beautylog.warn("Watch out: could not parse file " + item.red); } - ; for (var _f = 0, _g = unused.invalidDirs; _f < _g.length; _f++) { var item = _g[_f]; plugins.beautylog.warn("Watch out: could not parse directory " + item.red); } - ; done.resolve(configArg); }); return done.promise; @@ -119,11 +117,11 @@ var checkNodeVersion = function (configArg) { }; exports.run = function (configArg) { var done = plugins.Q.defer(); - npmts_promisechain_1.npmtsOra.text("running project checks..."), - checkProjectTypings(configArg) - .then(checkDependencies) - .then(checkDevDependencies) - .then(checkNodeVersion) - .then(done.resolve); + npmts_promisechain_1.npmtsOra.text('running project checks...'); + checkProjectTypings(configArg) + .then(checkDependencies) + .then(checkDevDependencies) + .then(checkNodeVersion) + .then(done.resolve); return done.promise; }; diff --git a/dist/npmts.clean.d.ts b/dist/npmts.clean.d.ts index cc7c7a9..59bf5f6 100644 --- a/dist/npmts.clean.d.ts +++ b/dist/npmts.clean.d.ts @@ -1,4 +1,4 @@ /// -import "typings-global"; -import plugins = require("./npmts.plugins"); +import 'typings-global'; +import plugins = require('./npmts.plugins'); export declare let run: (configArg: any) => plugins.Q.Promise<{}>; diff --git a/dist/npmts.clean.js b/dist/npmts.clean.js index a86ec49..33566b3 100644 --- a/dist/npmts.clean.js +++ b/dist/npmts.clean.js @@ -1,23 +1,23 @@ "use strict"; -require("typings-global"); -var plugins = require("./npmts.plugins"); -var paths = require("./npmts.paths"); -var npmts_promisechain_1 = require("./npmts.promisechain"); +require('typings-global'); +var plugins = require('./npmts.plugins'); +var paths = require('./npmts.paths'); +var npmts_promisechain_1 = require('./npmts.promisechain'); var removeDist = function () { - npmts_promisechain_1.npmtsOra.text("cleaning dist folder"); + npmts_promisechain_1.npmtsOra.text('cleaning dist folder'); return plugins.smartfile.fs.remove(paths.distDir); }; var removePages = function () { - npmts_promisechain_1.npmtsOra.text("cleaning pages folder"); + npmts_promisechain_1.npmtsOra.text('cleaning pages folder'); return plugins.smartfile.fs.remove(paths.pagesDir); }; exports.run = function (configArg) { - npmts_promisechain_1.npmtsOra.text("cleaning up from previous builds..."); + npmts_promisechain_1.npmtsOra.text('cleaning up from previous builds...'); var done = plugins.Q.defer(); removeDist() .then(removePages) .then(function () { - plugins.beautylog.ok("Cleaned up from previous builds!"); + plugins.beautylog.ok('Cleaned up from previous builds!'); done.resolve(configArg); }); return done.promise; diff --git a/dist/npmts.compile.d.ts b/dist/npmts.compile.d.ts index cc7c7a9..59bf5f6 100644 --- a/dist/npmts.compile.d.ts +++ b/dist/npmts.compile.d.ts @@ -1,4 +1,4 @@ /// -import "typings-global"; -import plugins = require("./npmts.plugins"); +import 'typings-global'; +import plugins = require('./npmts.plugins'); export declare let run: (configArg: any) => plugins.Q.Promise<{}>; diff --git a/dist/npmts.compile.helpers.js b/dist/npmts.compile.helpers.js index b47eb29..6f35530 100644 --- a/dist/npmts.compile.helpers.js +++ b/dist/npmts.compile.helpers.js @@ -1,12 +1,12 @@ "use strict"; -var plugins = require("./npmts.plugins"); -var paths = require("./npmts.paths"); +var plugins = require('./npmts.plugins'); +var paths = require('./npmts.paths'); var outputPathIsDir = function (tsArrayArg, keyArg) { return plugins.smartpath.check.isDir(plugins.path.join(paths.cwd, tsArrayArg[keyArg])); }; exports.checkOutputPath = function (tsArrayArg, keyArg) { if (!outputPathIsDir(tsArrayArg, keyArg)) { - plugins.beautylog.warn("Skipping " + keyArg + " because " + tsArrayArg[keyArg] + " it is no directory!"); + plugins.beautylog.warn('Skipping ' + keyArg + ' because ' + tsArrayArg[keyArg] + ' it is no directory!'); return false; } else { diff --git a/dist/npmts.compile.js b/dist/npmts.compile.js index 91e3f19..e45fa32 100644 --- a/dist/npmts.compile.js +++ b/dist/npmts.compile.js @@ -1,16 +1,16 @@ "use strict"; -require("typings-global"); -var plugins = require("./npmts.plugins"); -var helpers = require("./npmts.compile.helpers"); -var npmts_promisechain_1 = require("./npmts.promisechain"); +require('typings-global'); +var plugins = require('./npmts.plugins'); +var helpers = require('./npmts.compile.helpers'); +var npmts_promisechain_1 = require('./npmts.promisechain'); var promiseArray = []; var compileTs = function (tsFileArrayArg, tsOptionsArg) { if (tsOptionsArg === void 0) { tsOptionsArg = {}; } var done = plugins.Q.defer(); var compilerOptionsDefault = { declaration: true, - module: "CommonJS", - target: "ES6" + module: 'CommonJS', + target: 'ES6' }; /** * merges default ts options with those found in npmts.json @@ -21,7 +21,7 @@ var compileTs = function (tsFileArrayArg, tsOptionsArg) { declaration: tsOptionsCombined.declaration, module: plugins.tsn.ModuleKind[tsOptionsCombined.module], target: plugins.tsn.ScriptTarget[tsOptionsCombined.target], - exclude: "node_modules/**/*" + exclude: 'node_modules/**/*' }; return compilerOptions; }; @@ -49,15 +49,15 @@ var compileTs = function (tsFileArrayArg, tsOptionsArg) { exports.run = function (configArg) { var done = plugins.Q.defer(); var config = configArg; - npmts_promisechain_1.npmtsOra.text("now compiling " + "TypeScript".yellow); + npmts_promisechain_1.npmtsOra.text('now compiling ' + 'TypeScript'.yellow); compileTs(config.ts, config.tsOptions) .then(function () { - plugins.beautylog.ok("compiled main TypeScript!"); - plugins.beautylog.log("now compiling tests!"); + plugins.beautylog.ok('compiled main TypeScript!'); + plugins.beautylog.log('now compiling tests!'); return compileTs(config.testTs); }) .then(function () { - plugins.beautylog.ok("compiled all TypeScript!"); + plugins.beautylog.ok('compiled all TypeScript!'); done.resolve(config); }); return done.promise; diff --git a/dist/npmts.options.d.ts b/dist/npmts.options.d.ts index 0ea592b..a36d4fc 100644 --- a/dist/npmts.options.d.ts +++ b/dist/npmts.options.d.ts @@ -1,7 +1,7 @@ /// -import "typings-global"; -import plugins = require("./npmts.plugins"); -export declare type npmtsMode = "default" | "custom"; +import 'typings-global'; +import plugins = require('./npmts.plugins'); +export declare type npmtsMode = 'default' | 'custom'; export interface npmtsConfig { argv: any; coverageTreshold: number; diff --git a/dist/npmts.options.js b/dist/npmts.options.js index ecab691..fbe6d9b 100644 --- a/dist/npmts.options.js +++ b/dist/npmts.options.js @@ -1,8 +1,8 @@ "use strict"; -require("typings-global"); -var plugins = require("./npmts.plugins"); -var paths = require("./npmts.paths"); -var npmts_promisechain_1 = require("./npmts.promisechain"); +require('typings-global'); +var plugins = require('./npmts.plugins'); +var paths = require('./npmts.paths'); +var npmts_promisechain_1 = require('./npmts.promisechain'); ; exports.run = function (argvArg) { var done = plugins.Q.defer(); @@ -10,16 +10,16 @@ exports.run = function (argvArg) { argv: undefined, coverageTreshold: 70, docs: true, - mode: "default", + mode: 'default', test: true, testTs: {}, ts: {}, tsOptions: {} }; // mix with configfile - npmts_promisechain_1.npmtsOra.text("looking for npmextra.json"); + npmts_promisechain_1.npmtsOra.text('looking for npmextra.json'); var config = plugins.npmextra.dataFor({ - toolName: "npmts", + toolName: 'npmts', defaultSettings: defaultConfig, cwd: paths.cwd }); @@ -27,9 +27,9 @@ exports.run = function (argvArg) { config.argv = argvArg; // check mode switch (config.mode) { - case "default": - case "custom": - plugins.beautylog.ok("mode is " + config.mode); + case 'default': + case 'custom': + plugins.beautylog.ok('mode is ' + config.mode); done.resolve(config); break; default: @@ -37,14 +37,14 @@ exports.run = function (argvArg) { process.exit(1); } ; - //handle default mode - if (config.mode == "default") { + // handle default mode + if (config.mode === 'default') { config.ts = (_a = {}, - _a["./ts/**/*.ts"] = "./dist/", + _a['./ts/**/*.ts'] = './dist/', _a ); config.testTs = (_b = {}, - _b["./test/test.ts"] = "./test/", + _b['./test/test.ts'] = './test/', _b ); } @@ -58,7 +58,7 @@ exports.run = function (argvArg) { config.docs = false; } ; - plugins.beautylog.ok("build options are ready!"); + plugins.beautylog.ok('build options are ready!'); done.resolve(config); return done.promise; var _a, _b; diff --git a/dist/npmts.paths.d.ts b/dist/npmts.paths.d.ts index 85130ee..0878f9e 100644 --- a/dist/npmts.paths.d.ts +++ b/dist/npmts.paths.d.ts @@ -1,4 +1,4 @@ -import "typings-global"; +import 'typings-global'; export declare let npmtsPackageRoot: string; export declare let cwd: string; export declare let tsDir: string; diff --git a/dist/npmts.paths.js b/dist/npmts.paths.js index e2c2368..0332f9a 100644 --- a/dist/npmts.paths.js +++ b/dist/npmts.paths.js @@ -1,20 +1,20 @@ "use strict"; -require("typings-global"); -var plugins = require("./npmts.plugins"); +require('typings-global'); +var plugins = require('./npmts.plugins'); // NPMTS Paths -exports.npmtsPackageRoot = plugins.path.join(__dirname, "../"); +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/"); -exports.testDir = plugins.path.join(exports.cwd, "test/"); -exports.typingsDir = plugins.path.join(exports.cwd, "ts/typings/"); -exports.coverageDir = plugins.path.join(exports.cwd, "coverage/"); +exports.tsDir = plugins.path.join(exports.cwd, 'ts/'); +exports.distDir = plugins.path.join(exports.cwd, 'dist/'); +exports.testDir = plugins.path.join(exports.cwd, 'test/'); +exports.typingsDir = plugins.path.join(exports.cwd, 'ts/typings/'); +exports.coverageDir = plugins.path.join(exports.cwd, 'coverage/'); // Pages -exports.pagesDir = plugins.path.join(exports.cwd, "pages/"); -exports.pagesApiDir = plugins.path.join(exports.pagesDir, "/api"); -exports.npmtsAssetsDir = plugins.path.join(__dirname, "../assets/"); -//Files -exports.indexTS = plugins.path.join(exports.cwd, "ts/index.ts"); -exports.testTS = plugins.path.join(exports.cwd, "ts/test.ts"); +exports.pagesDir = plugins.path.join(exports.cwd, 'pages/'); +exports.pagesApiDir = plugins.path.join(exports.pagesDir, '/api'); +exports.npmtsAssetsDir = plugins.path.join(__dirname, '../assets/'); +// Files +exports.indexTS = plugins.path.join(exports.cwd, 'ts/index.ts'); +exports.testTS = plugins.path.join(exports.cwd, 'ts/test.ts'); diff --git a/dist/npmts.plugins.d.ts b/dist/npmts.plugins.d.ts index 111f125..0323933 100644 --- a/dist/npmts.plugins.d.ts +++ b/dist/npmts.plugins.d.ts @@ -1,7 +1,7 @@ -import "typings-global"; -export import beautylog = require("beautylog"); +import 'typings-global'; +export import beautylog = require('beautylog'); export declare let depcheck: any; -export import gulp = require("gulp"); +export import gulp = require('gulp'); export declare let g: { babel: any; istanbul: any; @@ -12,16 +12,16 @@ export declare let g: { typedoc: any; }; export import lodashObject = require('lodash'); -export import npmextra = require("npmextra"); -export import projectinfo = require("projectinfo"); -export import path = require("path"); -export import Q = require("q"); -export import shelljs = require("shelljs"); -export import smartcli = require("smartcli"); -export import smartcov = require("smartcov"); -export import smartenv = require("smartenv"); -export import smartfile = require("smartfile"); -export import smartpath = require("smartpath"); -export import smartstring = require("smartstring"); +export import npmextra = require('npmextra'); +export import projectinfo = require('projectinfo'); +export import path = require('path'); +export import Q = require('q'); +export import shelljs = require('shelljs'); +export import smartcli = require('smartcli'); +export import smartcov = require('smartcov'); +export import smartenv = require('smartenv'); +export import smartfile = require('smartfile'); +export import smartpath = require('smartpath'); +export import smartstring = require('smartstring'); export declare let sourceMapSupport: any; -export import tsn = require("tsn"); +export import tsn = require('tsn'); diff --git a/dist/npmts.plugins.js b/dist/npmts.plugins.js index 8a5a09b..238dc69 100644 --- a/dist/npmts.plugins.js +++ b/dist/npmts.plugins.js @@ -1,28 +1,28 @@ "use strict"; -require("typings-global"); -exports.beautylog = require("beautylog"); -exports.depcheck = require("depcheck"); -exports.gulp = require("gulp"); +require('typings-global'); +exports.beautylog = require('beautylog'); +exports.depcheck = require('depcheck'); +exports.gulp = require('gulp'); exports.g = { - babel: require("gulp-babel"), - istanbul: require("gulp-istanbul"), - gFunction: require("gulp-function"), - injectModules: require("gulp-inject-modules"), - mocha: require("gulp-mocha"), - sourcemaps: require("gulp-sourcemaps"), - typedoc: require("gulp-typedoc") + babel: require('gulp-babel'), + istanbul: require('gulp-istanbul'), + gFunction: require('gulp-function'), + injectModules: require('gulp-inject-modules'), + mocha: require('gulp-mocha'), + sourcemaps: require('gulp-sourcemaps'), + typedoc: require('gulp-typedoc') }; exports.lodashObject = require('lodash'); -exports.npmextra = require("npmextra"); -exports.projectinfo = require("projectinfo"); -exports.path = require("path"); -exports.Q = require("q"); -exports.shelljs = require("shelljs"); -exports.smartcli = require("smartcli"); -exports.smartcov = require("smartcov"); -exports.smartenv = require("smartenv"); -exports.smartfile = require("smartfile"); -exports.smartpath = require("smartpath"); -exports.smartstring = require("smartstring"); -exports.sourceMapSupport = require("source-map-support").install(); // this is required to display errors correctly during testing -exports.tsn = require("tsn"); +exports.npmextra = require('npmextra'); +exports.projectinfo = require('projectinfo'); +exports.path = require('path'); +exports.Q = require('q'); +exports.shelljs = require('shelljs'); +exports.smartcli = require('smartcli'); +exports.smartcov = require('smartcov'); +exports.smartenv = require('smartenv'); +exports.smartfile = require('smartfile'); +exports.smartpath = require('smartpath'); +exports.smartstring = require('smartstring'); +exports.sourceMapSupport = require('source-map-support').install(); // display errors correctly during testing +exports.tsn = require('tsn'); diff --git a/dist/npmts.promisechain.d.ts b/dist/npmts.promisechain.d.ts index e47d2ee..81c2a3d 100644 --- a/dist/npmts.promisechain.d.ts +++ b/dist/npmts.promisechain.d.ts @@ -1,6 +1,6 @@ /// -import "typings-global"; -import plugins = require("./npmts.plugins"); -import { Ora } from "beautylog"; +import 'typings-global'; +import plugins = require('./npmts.plugins'); +import { Ora } from 'beautylog'; export declare let npmtsOra: Ora; export declare let promisechain: (argvArg: any) => plugins.Q.Promise<{}>; diff --git a/dist/npmts.promisechain.js b/dist/npmts.promisechain.js index 25177a4..dd66b70 100644 --- a/dist/npmts.promisechain.js +++ b/dist/npmts.promisechain.js @@ -1,14 +1,15 @@ "use strict"; -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 NpmtsTypeDoc = require("./npmts.typedoc"); -var NpmtsOptions = require("./npmts.options"); -var NpmtsTests = require("./npmts.tests"); +require('typings-global'); +var plugins = require('./npmts.plugins'); +var beautylog_1 = require('beautylog'); +exports.npmtsOra = new beautylog_1.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 NpmtsTypeDoc = require('./npmts.typedoc'); +var NpmtsOptions = require('./npmts.options'); +var NpmtsTests = require('./npmts.tests'); exports.promisechain = function (argvArg) { var done = plugins.Q.defer(); exports.npmtsOra.start(); @@ -20,26 +21,26 @@ exports.promisechain = function (argvArg) { .then(NpmtsTypeDoc.run) .then(NpmtsTests.run) .then(function (configArg) { - var shipString = "" + - "\n" + - "\n" + - " # # ( )\n" + - " ___#_#___|__\n" + - " _ |____________| _\n" + - " _=====| | | | | |==== _\n" + - " =====| |.---------------------------. | |====\n" + + var shipString = '' + + '\n' + + '\n' + + ' # # ( )\n' + + ' ___#_#___|__\n' + + ' _ |____________| _\n' + + ' _=====| | | | | |==== _\n' + + ' =====| |.---------------------------. | |====\n' + " <--------------------' . . . . . . . . '--------------/\n" + - " \\ /\n" + - " \\___________________________________________________________/\n" + - " wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n" + - " wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n" + - " wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n"; + ' \\ /\n' + + ' \\___________________________________________________________/\n' + + ' wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n' + + ' wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n' + + ' wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n'; if (process.env.CI) { console.log(shipString); - plugins.beautylog.success("READY TO SHIP!"); + plugins.beautylog.success('READY TO SHIP!'); } else { - plugins.beautylog.success("Done!"); + plugins.beautylog.success('Done!'); } done.resolve(); }); diff --git a/dist/npmts.tests.d.ts b/dist/npmts.tests.d.ts index cc7c7a9..59bf5f6 100644 --- a/dist/npmts.tests.d.ts +++ b/dist/npmts.tests.d.ts @@ -1,4 +1,4 @@ /// -import "typings-global"; -import plugins = require("./npmts.plugins"); +import 'typings-global'; +import plugins = require('./npmts.plugins'); export declare let run: (configArg: any) => plugins.Q.Promise<{}>; diff --git a/dist/npmts.tests.js b/dist/npmts.tests.js index 93edb47..c79b590 100644 --- a/dist/npmts.tests.js +++ b/dist/npmts.tests.js @@ -1,56 +1,60 @@ "use strict"; -require("typings-global"); -var plugins = require("./npmts.plugins"); -var paths = require("./npmts.paths"); -var npmts_promisechain_1 = require("./npmts.promisechain"); +require('typings-global'); +var plugins = require('./npmts.plugins'); +var paths = require('./npmts.paths'); +var npmts_promisechain_1 = require('./npmts.promisechain'); /** * * @returns {*} */ var mocha = function (configArg) { - npmts_promisechain_1.npmtsOra.text("Instrumentalizing and testing transpiled JS"); + npmts_promisechain_1.npmtsOra.text('Instrumentalizing and testing transpiled JS'); npmts_promisechain_1.npmtsOra.end(); // end npmtsOra for tests. var done = plugins.Q.defer(); - var stream = plugins.gulp.src([plugins.path.join(paths.cwd, "dist/*.js")]) + plugins.gulp.src([plugins.path.join(paths.cwd, 'dist/*.js')]) .pipe(plugins.g.sourcemaps.init()) .pipe(plugins.g.babel({ presets: [ - require.resolve("babel-preset-es2015") + require.resolve('babel-preset-es2015') ] })) .pipe(plugins.g.istanbul({})) .pipe(plugins.g.sourcemaps.write()) .pipe(plugins.g.injectModules()) - .on("finish", function () { - plugins.gulp.src([plugins.path.join(paths.cwd, "test/test.js")]) + .on('finish', function () { + plugins.gulp.src([plugins.path.join(paths.cwd, 'test/test.js')]) .pipe(plugins.g.babel({ presets: [ - require.resolve("babel-preset-es2015") + require.resolve('babel-preset-es2015') ] })) .pipe(plugins.g.injectModules()) .pipe(plugins.g.mocha()) .pipe(plugins.g.istanbul.writeReports({ - dir: plugins.path.join(paths.cwd, "./coverage"), + dir: plugins.path.join(paths.cwd, './coverage'), reporters: ['lcovonly', 'json', 'text', 'text-summary'] })) .pipe(plugins.g.gFunction(function () { - plugins.beautylog.ok("Tested!"); + plugins.beautylog.ok('Tested!'); done.resolve(configArg); - }, "atEnd")); + }, 'atEnd')); }); return done.promise; }; var coverage = function (configArg) { var done = plugins.Q.defer(); - plugins.smartcov.get.percentage(plugins.path.join(paths.coverageDir, "lcov.info"), 2) + plugins.smartcov.get.percentage(plugins.path.join(paths.coverageDir, 'lcov.info'), 2) .then(function (percentageArg) { if (percentageArg >= configArg.coverageTreshold) { - plugins.beautylog.ok(percentageArg.toString() + "% coverage exceeds your treshold of " + configArg.coverageTreshold.toString() + "%"); + plugins.beautylog.ok((percentageArg.toString() + "% ") + + "coverage exceeds your treshold of " + + (configArg.coverageTreshold.toString() + "%")); } else { - plugins.beautylog.warn(percentageArg.toString() + "% coverage fails your treshold of " + configArg.coverageTreshold.toString() + "%"); - plugins.beautylog.error("exiting due to coverage failure"); + plugins.beautylog.warn((percentageArg.toString() + "% ") + + "coverage fails your treshold of " + + (configArg.coverageTreshold.toString() + "%")); + plugins.beautylog.error('exiting due to coverage failure'); process.exit(1); } done.resolve(configArg); @@ -61,10 +65,10 @@ exports.run = function (configArg) { var done = plugins.Q.defer(); var config = configArg; if (config.test === true) { - npmts_promisechain_1.npmtsOra.text("now starting tests"); - plugins.beautylog.log("-------------------------------------------------------\n" + - "*************************** TESTS: ***************************\n" + - "--------------------------------------------------------------"); + npmts_promisechain_1.npmtsOra.text('now starting tests'); + plugins.beautylog.log('-------------------------------------------------------\n' + + '*************************** TESTS: ***************************\n' + + '--------------------------------------------------------------'); mocha(config) .then(coverage) .then(function () { diff --git a/dist/npmts.typedoc.d.ts b/dist/npmts.typedoc.d.ts index cc7c7a9..59bf5f6 100644 --- a/dist/npmts.typedoc.d.ts +++ b/dist/npmts.typedoc.d.ts @@ -1,4 +1,4 @@ /// -import "typings-global"; -import plugins = require("./npmts.plugins"); +import 'typings-global'; +import plugins = require('./npmts.plugins'); export declare let run: (configArg: any) => plugins.Q.Promise<{}>; diff --git a/dist/npmts.typedoc.js b/dist/npmts.typedoc.js index 3f2e620..423cdc0 100644 --- a/dist/npmts.typedoc.js +++ b/dist/npmts.typedoc.js @@ -1,30 +1,30 @@ "use strict"; -require("typings-global"); -var plugins = require("./npmts.plugins"); -var paths = require("./npmts.paths"); -var npmts_promisechain_1 = require("./npmts.promisechain"); -var npmts_check_1 = require("./npmts.check"); +require('typings-global'); +var plugins = require('./npmts.plugins'); +var paths = require('./npmts.paths'); +var npmts_promisechain_1 = require('./npmts.promisechain'); +var npmts_check_1 = require('./npmts.check'); var genTypeDoc = function (configArg) { var done = plugins.Q.defer(); - npmts_promisechain_1.npmtsOra.text("now generating " + "TypeDoc documentation".yellow); - plugins.beautylog.log("TypeDoc Output:"); - plugins.gulp.src(plugins.path.join(paths.tsDir, "**/*.ts")) + npmts_promisechain_1.npmtsOra.text('now generating ' + 'TypeDoc documentation'.yellow); + plugins.beautylog.log('TypeDoc Output:'); + plugins.gulp.src(plugins.path.join(paths.tsDir, '**/*.ts')) .pipe(plugins.g.typedoc({ // TypeScript options (see typescript docs) - module: "commonjs", - target: "es6", + module: 'commonjs', + target: 'es6', includeDeclarations: true, // Output options (see typedoc docs) out: paths.pagesApiDir, - json: plugins.path.join(paths.pagesApiDir, "file.json"), + json: plugins.path.join(paths.pagesApiDir, 'file.json'), // TypeDoc options (see typedoc docs) name: npmts_check_1.projectInfo.name, - readme: plugins.path.join(paths.cwd, "README.md"), + readme: plugins.path.join(paths.cwd, 'README.md'), // theme: "default", ignoreCompilerErrors: true, - version: true, + version: true })) - .pipe(plugins.g.gFunction(done.resolve, "atEnd")); + .pipe(plugins.g.gFunction(done.resolve, 'atEnd')); return done.promise; }; exports.run = function (configArg) { diff --git a/docs/index.md b/docs/index.md index 219c1e2..b8aae54 100644 --- a/docs/index.md +++ b/docs/index.md @@ -15,6 +15,7 @@ Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6. [![bitHound Code](https://www.bithound.io/github/pushrocks/npmts/badges/code.svg)](https://www.bithound.io/github/pushrocks/npmts) [![TypeScript](https://img.shields.io/badge/TypeScript-2.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/) [![node](https://img.shields.io/badge/node->=%206.x.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/) +[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/) ## Introduction NPMTS is your friend when writing, testing, publishing and documenting npm modules written in TypeScript. diff --git a/ts/index.ts b/ts/index.ts index f45e66d..e1771ab 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -1,30 +1,28 @@ -import "typings-global"; +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"; +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() .then(() => { - let npmtsProjectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.npmtsPackageRoot); - - let npmtsCli = new plugins.smartcli.Smartcli(); + let npmtsProjectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.npmtsPackageRoot) + let npmtsCli = new plugins.smartcli.Smartcli() npmtsCli.standardTask() .then((argvArg) => { - plugins.beautylog.figletSync("NPMTS"); - plugins.beautylog.info("npmts version: " + npmtsProjectInfo.version); + plugins.beautylog.figletSync('NPMTS') + plugins.beautylog.info('npmts version: ' + npmtsProjectInfo.version) try { - promisechain(argvArg); + promisechain(argvArg) + } catch (err) { + console.log(err) } - catch(err){ - console.log(err); - } - }); + }) - npmtsCli.addVersion(npmtsProjectInfo.version); - npmtsCli.startParse(); - }); \ No newline at end of file + npmtsCli.addVersion(npmtsProjectInfo.version) + npmtsCli.startParse() + }) diff --git a/ts/npmts.assets.ts b/ts/npmts.assets.ts index e5dd579..cbc85b5 100644 --- a/ts/npmts.assets.ts +++ b/ts/npmts.assets.ts @@ -1,22 +1,22 @@ -import "typings-global"; -import plugins = require("./npmts.plugins"); -import paths = require("./npmts.paths"); -import {npmtsOra} from "./npmts.promisechain"; +import 'typings-global' +import plugins = require('./npmts.plugins') +import paths = require('./npmts.paths') +import {npmtsOra} from './npmts.promisechain' export var run = function(configArg){ - let done = plugins.Q.defer(); - let config = configArg; - npmtsOra.text("now looking at " + "required assets".yellow); - if(config.cli == true){ + let done = plugins.Q.defer() + let config = configArg + npmtsOra.text('now looking at ' + 'required assets'.yellow) + if (config.cli === true) { plugins.smartfile.fs.copySync( - plugins.path.join(paths.npmtsAssetsDir,"cli.js"), - plugins.path.join(paths.distDir,"cli.js") - ); - plugins.beautylog.ok("installed CLI assets!"); - done.resolve(config); + plugins.path.join(paths.npmtsAssetsDir,'cli.js'), + plugins.path.join(paths.distDir,'cli.js') + ) + plugins.beautylog.ok('installed CLI assets!') + done.resolve(config) } else { - plugins.beautylog.ok("No additional assets required!") - done.resolve(config); + plugins.beautylog.ok('No additional assets required!') + done.resolve(config) } - return done.promise; -}; \ No newline at end of file + return done.promise +} diff --git a/ts/npmts.check.ts b/ts/npmts.check.ts index 3fbc1a6..f10ffa4 100644 --- a/ts/npmts.check.ts +++ b/ts/npmts.check.ts @@ -1,26 +1,26 @@ -import * as plugins from "./npmts.plugins"; -import * as paths from "./npmts.paths"; -import { npmtsOra } from "./npmts.promisechain"; +import * as plugins from './npmts.plugins' +import * as paths from './npmts.paths' +import { npmtsOra } from './npmts.promisechain' -import {ProjectinfoNpm} from "projectinfo"; +import {ProjectinfoNpm} from 'projectinfo' -export let projectInfo:ProjectinfoNpm; +export let projectInfo: ProjectinfoNpm let checkProjectTypings = (configArg) => { - let done = plugins.Q.defer(); - projectInfo = new ProjectinfoNpm(paths.cwd); - if(typeof projectInfo.packageJson.typings == "undefined"){ - plugins.beautylog.error(`please add typings field to package.json`); - process.exit(1); + let done = plugins.Q.defer() + projectInfo = new ProjectinfoNpm(paths.cwd) + if (typeof projectInfo.packageJson.typings === 'undefined') { + plugins.beautylog.error(`please add typings field to package.json`) + process.exit(1) }; - done.resolve(configArg); - return done.promise; -}; + done.resolve(configArg) + return done.promise +} const depcheckOptions = { ignoreBinPackage: false, // ignore the packages with bin entry parsers: { // the target parsers - '*.ts': plugins.depcheck.parser.typescript, + '*.ts': plugins.depcheck.parser.typescript }, detectors: [ // the target detectors plugins.depcheck.detector.requireCallExpression, @@ -29,11 +29,11 @@ const depcheckOptions = { specials: [ // the target special parsers plugins.depcheck.special.eslint, plugins.depcheck.special.webpack - ], -}; + ] +} let checkDependencies = (configArg) => { - let done = plugins.Q.defer(); + let done = plugins.Q.defer() let depcheckOptionsMerged = plugins.lodashObject.merge(depcheckOptions, { ignoreDirs: [ // folder with these names will be ignored 'test', @@ -41,34 +41,34 @@ let checkDependencies = (configArg) => { 'bower_components' ], ignoreMatches: [ // ignore dependencies that matches these globs - "@types/*", - "babel-preset-*" + '@types/*', + 'babel-preset-*' ] }) plugins.depcheck(paths.cwd, depcheckOptionsMerged, (unused) => { for (let item of unused.dependencies) { - plugins.beautylog.warn(`Watch out: unused dependency ${item.red}`); + plugins.beautylog.warn(`Watch out: unused dependency ${item.red}`) }; for (let item of unused.missing) { - plugins.beautylog.error(`unused devDependency ${item.red}`); + 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); + plugins.beautylog.info('exiting due to missing dependencies in package.json') + process.exit(1) } for (let item of unused.invalidFiles) { - plugins.beautylog.warn(`Watch out: could not parse file ${item.red}`); + plugins.beautylog.warn(`Watch out: could not parse file ${item.red}`) }; for (let item of unused.invalidDirs) { - plugins.beautylog.warn(`Watch out: could not parse directory ${item.red}`); + plugins.beautylog.warn(`Watch out: could not parse directory ${item.red}`) }; - done.resolve(configArg); - }); - return done.promise; -}; + done.resolve(configArg) + }) + return done.promise +} let checkDevDependencies = (configArg) => { - let done = plugins.Q.defer(); + let done = plugins.Q.defer() let depcheckOptionsMerged = plugins.lodashObject.merge(depcheckOptions, { ignoreDirs: [ // folder with these names will be ignored 'ts', @@ -76,46 +76,45 @@ let checkDevDependencies = (configArg) => { 'bower_components' ], ignoreMatches: [ // ignore dependencies that matches these globs - "@types/*", - "babel-preset-*" + '@types/*', + 'babel-preset-*' ] }) plugins.depcheck(paths.cwd, depcheckOptionsMerged, (unused) => { for (let item of unused.devDependencies) { - plugins.beautylog.log(`unused devDependency ${item.red}`); + plugins.beautylog.log(`unused devDependency ${item.red}`) }; for (let item of unused.missing) { - plugins.beautylog.error(`unused devDependency ${item.red}`); + 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); + plugins.beautylog.info('exiting due to missing dependencies in package.json') + process.exit(1) } for (let item of unused.invalidFiles) { - plugins.beautylog.warn(`Watch out: could not parse file ${item.red}`); - }; + plugins.beautylog.warn(`Watch out: could not parse file ${item.red}`) + } for (let item of unused.invalidDirs) { - plugins.beautylog.warn(`Watch out: could not parse directory ${item.red}`); - }; - done.resolve(configArg); - }); - return done.promise; -}; + plugins.beautylog.warn(`Watch out: could not parse directory ${item.red}`) + } + done.resolve(configArg) + }) + return done.promise +} let checkNodeVersion = (configArg) => { - let done = plugins.Q.defer(); - - done.resolve(configArg); - return done.promise; + let done = plugins.Q.defer() + done.resolve(configArg) + return done.promise } export let run = (configArg) => { - let done = plugins.Q.defer(); - npmtsOra.text("running project checks..."), - checkProjectTypings(configArg) - .then(checkDependencies) - .then(checkDevDependencies) - .then(checkNodeVersion) - .then(done.resolve); - return done.promise; + let done = plugins.Q.defer() + npmtsOra.text('running project checks...') + checkProjectTypings(configArg) + .then(checkDependencies) + .then(checkDevDependencies) + .then(checkNodeVersion) + .then(done.resolve) + return done.promise } diff --git a/ts/npmts.clean.ts b/ts/npmts.clean.ts index 18e889d..c8a818f 100644 --- a/ts/npmts.clean.ts +++ b/ts/npmts.clean.ts @@ -1,26 +1,26 @@ -import "typings-global"; -import plugins = require("./npmts.plugins"); -import paths = require("./npmts.paths"); -import {npmtsOra} from "./npmts.promisechain"; +import 'typings-global' +import plugins = require('./npmts.plugins') +import paths = require('./npmts.paths') +import {npmtsOra} from './npmts.promisechain' let removeDist = function(){ - npmtsOra.text("cleaning dist folder"); - return plugins.smartfile.fs.remove(paths.distDir); -}; + npmtsOra.text('cleaning dist folder') + return plugins.smartfile.fs.remove(paths.distDir) +} let removePages = function(){ - npmtsOra.text("cleaning pages folder"); - return plugins.smartfile.fs.remove(paths.pagesDir); -}; + npmtsOra.text('cleaning pages folder') + return plugins.smartfile.fs.remove(paths.pagesDir) +} export let run = function(configArg){ - npmtsOra.text("cleaning up from previous builds..."); - let done = plugins.Q.defer(); + npmtsOra.text('cleaning up from previous builds...') + let done = plugins.Q.defer() removeDist() .then(removePages) .then(function(){ - plugins.beautylog.ok("Cleaned up from previous builds!"); - done.resolve(configArg); - }); - return done.promise; -}; \ No newline at end of file + plugins.beautylog.ok('Cleaned up from previous builds!') + done.resolve(configArg) + }) + return done.promise +} diff --git a/ts/npmts.compile.helpers.ts b/ts/npmts.compile.helpers.ts index b45c745..d6919bb 100644 --- a/ts/npmts.compile.helpers.ts +++ b/ts/npmts.compile.helpers.ts @@ -1,15 +1,15 @@ -import plugins = require("./npmts.plugins"); -import paths = require("./npmts.paths"); +import plugins = require('./npmts.plugins') +import paths = require('./npmts.paths') let outputPathIsDir = function (tsArrayArg,keyArg) { - return plugins.smartpath.check.isDir(plugins.path.join(paths.cwd, tsArrayArg[keyArg])); -}; + return plugins.smartpath.check.isDir(plugins.path.join(paths.cwd, tsArrayArg[keyArg])) +} export let checkOutputPath = function(tsArrayArg,keyArg){ - if(!outputPathIsDir(tsArrayArg,keyArg)) { - plugins.beautylog.warn("Skipping " + keyArg + " because " + tsArrayArg[keyArg] + " it is no directory!") + if (!outputPathIsDir(tsArrayArg,keyArg)) { + plugins.beautylog.warn('Skipping ' + keyArg + ' because ' + tsArrayArg[keyArg] + ' it is no directory!') return false } else { - return true; + return true }; -} \ No newline at end of file +} diff --git a/ts/npmts.compile.ts b/ts/npmts.compile.ts index ce221f0..755cb31 100644 --- a/ts/npmts.compile.ts +++ b/ts/npmts.compile.ts @@ -1,69 +1,68 @@ -import "typings-global"; -import plugins = require("./npmts.plugins"); -import paths = require("./npmts.paths"); -import helpers = require("./npmts.compile.helpers"); -import {npmtsOra} from "./npmts.promisechain"; +import 'typings-global' +import plugins = require('./npmts.plugins') +import paths = require('./npmts.paths') +import helpers = require('./npmts.compile.helpers') +import {npmtsOra} from './npmts.promisechain' -let promiseArray = []; -let compileTs = (tsFileArrayArg:string[],tsOptionsArg = {}) => { - let done = plugins.Q.defer(); +let promiseArray = [] +let compileTs = (tsFileArrayArg: string[],tsOptionsArg = {}) => { + let done = plugins.Q.defer() let compilerOptionsDefault = { declaration: true, - module: "CommonJS", - target: "ES6" - }; - + module: 'CommonJS', + target: 'ES6' + } + /** * merges default ts options with those found in npmts.json */ - let compilerOptions = function (keyArg:string) { - let tsOptionsCombined = plugins.lodashObject.merge(compilerOptionsDefault, tsOptionsArg); - let compilerOptions:plugins.tsn.CompilerOptions = { + let compilerOptions = function (keyArg: string) { + let tsOptionsCombined = plugins.lodashObject.merge(compilerOptionsDefault, tsOptionsArg) + let compilerOptions: plugins.tsn.CompilerOptions = { declaration: tsOptionsCombined.declaration, module: plugins.tsn.ModuleKind[tsOptionsCombined.module], target: plugins.tsn.ScriptTarget[tsOptionsCombined.target], - exclude: "node_modules/**/*" - }; - return compilerOptions; - }; + exclude: 'node_modules/**/*' + } + return compilerOptions + } for (let keyArg in tsFileArrayArg) { - plugins.beautylog.info(`TypeScript assignment: transpile from ${keyArg.blue} to ${tsFileArrayArg[keyArg].blue}`); + plugins.beautylog.info(`TypeScript assignment: transpile from ${keyArg.blue} to ${tsFileArrayArg[keyArg].blue}`) if (helpers.checkOutputPath(tsFileArrayArg,keyArg)) { let filesReadPromise = plugins.smartfile.fs.listFileTree(process.cwd(),keyArg) .then((filesToConvertArg) => { - let filesToConvertAbsolute = plugins.smartpath.transform.toAbsolute(filesToConvertArg,process.cwd()); - let destDir = plugins.smartpath.transform.toAbsolute(tsFileArrayArg[keyArg],process.cwd()); + 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, compilerOptions(keyArg) - ); - promiseArray.push(filesCompiledPromise); - }); - promiseArray.push(filesReadPromise); + ) + promiseArray.push(filesCompiledPromise) + }) + promiseArray.push(filesReadPromise) } }; plugins.Q.all(promiseArray) - .then(done.resolve); - return done.promise; + .then(done.resolve) + return done.promise } - export let run = function (configArg) { - let done = plugins.Q.defer(); - let config = configArg; - npmtsOra.text("now compiling " + "TypeScript".yellow); - + let done = plugins.Q.defer() + let config = configArg + npmtsOra.text('now compiling ' + 'TypeScript'.yellow) + compileTs(config.ts,config.tsOptions) .then(() => { - plugins.beautylog.ok("compiled main TypeScript!"); - plugins.beautylog.log("now compiling tests!"); - return compileTs(config.testTs); + plugins.beautylog.ok('compiled main TypeScript!') + plugins.beautylog.log('now compiling tests!') + return compileTs(config.testTs) }) .then(function () { - plugins.beautylog.ok("compiled all TypeScript!"); - done.resolve(config); - }); - return done.promise; -}; + plugins.beautylog.ok('compiled all TypeScript!') + done.resolve(config) + }) + return done.promise +} diff --git a/ts/npmts.options.ts b/ts/npmts.options.ts index 546d63f..72d897f 100644 --- a/ts/npmts.options.ts +++ b/ts/npmts.options.ts @@ -1,81 +1,77 @@ -import "typings-global"; -import plugins = require("./npmts.plugins"); -import paths = require("./npmts.paths"); -import {npmtsOra} from "./npmts.promisechain"; +import 'typings-global' +import plugins = require('./npmts.plugins') +import paths = require('./npmts.paths') +import { npmtsOra } from './npmts.promisechain' -export type npmtsMode = "default" | "custom" +export type npmtsMode = 'default' | 'custom' export interface npmtsConfig { - argv:any, - coverageTreshold:number, - docs:boolean, - mode: npmtsMode, - test:boolean, - testTs:any, - ts:any, - tsOptions:any - + argv: any, + coverageTreshold: number, + docs: boolean, + mode: npmtsMode, + test: boolean, + testTs: any, + ts: any, + tsOptions: any + }; - -export var run = function(argvArg){ - let done = plugins.Q.defer(); - let defaultConfig:npmtsConfig = { - argv:undefined, +export var run = function (argvArg) { + let done = plugins.Q.defer() + let defaultConfig: npmtsConfig = { + argv: undefined, coverageTreshold: 70, docs: true, - mode:"default", - test:true, - testTs:{}, - ts:{}, + mode: 'default', + test: true, + testTs: {}, + ts: {}, tsOptions: {} - }; - + } // mix with configfile - npmtsOra.text("looking for npmextra.json"); - let config:npmtsConfig = plugins.npmextra.dataFor({ - toolName:"npmts", - defaultSettings:defaultConfig, - cwd:paths.cwd - }); + npmtsOra.text('looking for npmextra.json') + let config: npmtsConfig = plugins.npmextra.dataFor({ + toolName: 'npmts', + defaultSettings: defaultConfig, + cwd: paths.cwd + }) // add argv - config.argv = argvArg; + config.argv = argvArg // check mode - switch (config.mode){ - case "default": - case "custom": - plugins.beautylog.ok("mode is " + config.mode); - done.resolve(config); - break; + switch (config.mode) { + case 'default': + case 'custom': + plugins.beautylog.ok('mode is ' + config.mode) + done.resolve(config) + break default: - plugins.beautylog.error(`mode not recognised!`); - process.exit(1); + plugins.beautylog.error(`mode not recognised!`) + process.exit(1) }; - //handle default mode - if (config.mode == "default"){ + // handle default mode + if (config.mode === 'default') { config.ts = { - ["./ts/**/*.ts"]: "./dist/" - }; + ['./ts/**/*.ts']: './dist/' + } config.testTs = { - ["./test/test.ts"]: "./test/" - }; + ['./test/test.ts']: './test/' + } }; - // mix with commandline - if(config.argv.notest){ - config.test = false; + if (config.argv.notest) { + config.test = false }; - if(config.argv.nodocs){ - config.docs = false; + if (config.argv.nodocs) { + config.docs = false }; - - plugins.beautylog.ok("build options are ready!"); - done.resolve(config); - return done.promise; -}; \ No newline at end of file + plugins.beautylog.ok('build options are ready!') + done.resolve(config) + return done.promise +} diff --git a/ts/npmts.paths.ts b/ts/npmts.paths.ts index a9d2329..2444fc2 100644 --- a/ts/npmts.paths.ts +++ b/ts/npmts.paths.ts @@ -1,26 +1,25 @@ -import "typings-global"; -import plugins = require("./npmts.plugins"); +import 'typings-global' +import plugins = require('./npmts.plugins') // NPMTS Paths -export let npmtsPackageRoot = plugins.path.join(__dirname,"../"); - +export let npmtsPackageRoot = plugins.path.join(__dirname,'../') // Project paths -export let cwd = process.cwd(); +export let cwd = process.cwd() // Directories -export let tsDir = plugins.path.join(cwd,"ts/"); -export let distDir = plugins.path.join(cwd,"dist/"); -export let testDir = plugins.path.join(cwd,"test/"); -export let typingsDir = plugins.path.join(cwd,"ts/typings/"); -export let coverageDir = plugins.path.join(cwd,"coverage/"); +export let tsDir = plugins.path.join(cwd,'ts/') +export let distDir = plugins.path.join(cwd,'dist/') +export let testDir = plugins.path.join(cwd,'test/') +export let typingsDir = plugins.path.join(cwd,'ts/typings/') +export let coverageDir = plugins.path.join(cwd,'coverage/') // Pages -export let pagesDir = plugins.path.join(cwd,"pages/"); -export let pagesApiDir = plugins.path.join(pagesDir,"/api"); +export let pagesDir = plugins.path.join(cwd,'pages/') +export let pagesApiDir = plugins.path.join(pagesDir,'/api') -export let npmtsAssetsDir = plugins.path.join(__dirname,"../assets/"); +export let npmtsAssetsDir = plugins.path.join(__dirname,'../assets/') -//Files -export let indexTS = plugins.path.join(cwd,"ts/index.ts"); -export let testTS = plugins.path.join(cwd,"ts/test.ts"); +// Files +export let indexTS = plugins.path.join(cwd,'ts/index.ts') +export let testTS = plugins.path.join(cwd,'ts/test.ts') diff --git a/ts/npmts.plugins.ts b/ts/npmts.plugins.ts index 3156d78..edd0da1 100644 --- a/ts/npmts.plugins.ts +++ b/ts/npmts.plugins.ts @@ -1,27 +1,27 @@ -import "typings-global"; -export import beautylog = require("beautylog"); -export let depcheck = require("depcheck"); -export import gulp = require("gulp"); +import 'typings-global' +export import beautylog = require('beautylog') +export let depcheck = require('depcheck') +export import gulp = require('gulp') export let g = { - babel: require("gulp-babel"), - istanbul: require("gulp-istanbul"), - gFunction: require("gulp-function"), - injectModules: require("gulp-inject-modules"), - mocha: require("gulp-mocha"), - sourcemaps: require("gulp-sourcemaps"), - typedoc: require("gulp-typedoc") + babel: require('gulp-babel'), + istanbul: require('gulp-istanbul'), + gFunction: require('gulp-function'), + injectModules: require('gulp-inject-modules'), + mocha: require('gulp-mocha'), + sourcemaps: require('gulp-sourcemaps'), + typedoc: require('gulp-typedoc') }; -export import lodashObject = require('lodash'); -export import npmextra = require("npmextra"); -export import projectinfo = require("projectinfo"); -export import path = require("path"); -export import Q = require("q"); -export import shelljs = require("shelljs"); -export import smartcli = require("smartcli"); -export import smartcov = require("smartcov"); -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 -export import tsn = require("tsn"); \ No newline at end of file +export import lodashObject = require('lodash') +export import npmextra = require('npmextra') +export import projectinfo = require('projectinfo') +export import path = require('path') +export import Q = require('q') +export import shelljs = require('shelljs') +export import smartcli = require('smartcli') +export import smartcov = require('smartcov') +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() // display errors correctly during testing +export import tsn = require('tsn') diff --git a/ts/npmts.promisechain.ts b/ts/npmts.promisechain.ts index 8e8095e..ae8429a 100644 --- a/ts/npmts.promisechain.ts +++ b/ts/npmts.promisechain.ts @@ -1,20 +1,20 @@ -import "typings-global"; -import plugins = require("./npmts.plugins"); -import {Ora} from "beautylog" +import 'typings-global'; +import plugins = require('./npmts.plugins'); +import {Ora} from 'beautylog' -export let npmtsOra = new plugins.beautylog.Ora("setting up TaskChain","cyan"); +export let npmtsOra = new Ora('setting up TaskChain','cyan'); -import NpmtsAssets = require("./npmts.assets"); -import NpmtsCheck = require("./npmts.check"); -import NpmtsClean = require("./npmts.clean"); -import NpmtsCompile = require("./npmts.compile"); -import NpmtsTypeDoc = require("./npmts.typedoc"); -import NpmtsOptions = require("./npmts.options"); -import NpmtsTests = require("./npmts.tests"); +import NpmtsAssets = require('./npmts.assets') +import NpmtsCheck = require('./npmts.check') +import NpmtsClean = require('./npmts.clean') +import NpmtsCompile = require('./npmts.compile') +import NpmtsTypeDoc = require('./npmts.typedoc') +import NpmtsOptions = require('./npmts.options') +import NpmtsTests = require('./npmts.tests') export let promisechain = function(argvArg){ - let done = plugins.Q.defer(); - npmtsOra.start(); + let done = plugins.Q.defer() + npmtsOra.start() NpmtsOptions.run(argvArg) .then(NpmtsClean.run) .then(NpmtsCheck.run) @@ -23,27 +23,27 @@ export let promisechain = function(argvArg){ .then(NpmtsTypeDoc.run) .then(NpmtsTests.run) .then(function(configArg){ - let shipString = "" + - "\n" + - "\n" + - " # # ( )\n" + - " ___#_#___|__\n" + - " _ |____________| _\n" + - " _=====| | | | | |==== _\n" + - " =====| |.---------------------------. | |====\n" + + let shipString = '' + + '\n' + + '\n' + + ' # # ( )\n' + + ' ___#_#___|__\n' + + ' _ |____________| _\n' + + ' _=====| | | | | |==== _\n' + + ' =====| |.---------------------------. | |====\n' + " <--------------------' . . . . . . . . '--------------/\n" + - " \\ /\n" + - " \\___________________________________________________________/\n" + - " wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n" + - " wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n" + - " wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n" - if (process.env.CI){ + ' \\ /\n' + + ' \\___________________________________________________________/\n' + + ' wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n' + + ' wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n' + + ' wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n' + if (process.env.CI) { console.log(shipString); - plugins.beautylog.success("READY TO SHIP!"); + plugins.beautylog.success('READY TO SHIP!') } else { - plugins.beautylog.success("Done!"); + plugins.beautylog.success('Done!') } - done.resolve(); + done.resolve() }); - return done.promise; -}; \ No newline at end of file + return done.promise +}; diff --git a/ts/npmts.tests.ts b/ts/npmts.tests.ts index 73643c2..cae65a5 100644 --- a/ts/npmts.tests.ts +++ b/ts/npmts.tests.ts @@ -1,87 +1,94 @@ -import "typings-global"; -import plugins = require("./npmts.plugins"); -import paths = require("./npmts.paths"); -import {npmtsOra} from "./npmts.promisechain"; +import 'typings-global' +import plugins = require('./npmts.plugins') +import paths = require('./npmts.paths') +import { npmtsOra } from './npmts.promisechain' /** * * @returns {*} */ let mocha = function (configArg) { - npmtsOra.text("Instrumentalizing and testing transpiled JS"); - npmtsOra.end(); // end npmtsOra for tests. - let done = plugins.Q.defer(); - var stream = plugins.gulp.src([plugins.path.join(paths.cwd,"dist/*.js")]) + npmtsOra.text('Instrumentalizing and testing transpiled JS') + npmtsOra.end() // end npmtsOra for tests. + let done = plugins.Q.defer() + plugins.gulp.src([plugins.path.join(paths.cwd, 'dist/*.js')]) .pipe(plugins.g.sourcemaps.init()) .pipe(plugins.g.babel({ presets: [ - require.resolve("babel-preset-es2015") + require.resolve('babel-preset-es2015') ] })) .pipe(plugins.g.istanbul({ })) .pipe(plugins.g.sourcemaps.write()) .pipe(plugins.g.injectModules()) - .on("finish",function(){ - plugins.gulp.src([plugins.path.join(paths.cwd,"test/test.js")]) - .pipe(plugins.g.babel({ - presets: [ - require.resolve("babel-preset-es2015") - ] - })) - .pipe(plugins.g.injectModules()) - .pipe(plugins.g.mocha()) - .pipe(plugins.g.istanbul.writeReports({ - dir: plugins.path.join(paths.cwd,"./coverage"), - reporters: [ 'lcovonly', 'json', 'text', 'text-summary'] - })) - .pipe(plugins.g.gFunction(function(){ - plugins.beautylog.ok("Tested!"); - done.resolve(configArg); - },"atEnd")); - }); - return done.promise; -}; + .on('finish', function () { + plugins.gulp.src([plugins.path.join(paths.cwd, 'test/test.js')]) + .pipe(plugins.g.babel({ + presets: [ + require.resolve('babel-preset-es2015') + ] + })) + .pipe(plugins.g.injectModules()) + .pipe(plugins.g.mocha()) + .pipe(plugins.g.istanbul.writeReports({ + dir: plugins.path.join(paths.cwd, './coverage'), + reporters: ['lcovonly', 'json', 'text', 'text-summary'] + })) + .pipe(plugins.g.gFunction( + function () { + plugins.beautylog.ok('Tested!') + done.resolve(configArg) + }, + 'atEnd' + )) + }) + return done.promise +} -let coverage = function(configArg){ - let done = plugins.Q.defer(); - plugins.smartcov.get.percentage(plugins.path.join(paths.coverageDir,"lcov.info"),2) - .then(function(percentageArg){ - if (percentageArg >= configArg.coverageTreshold){ +let coverage = function (configArg) { + let done = plugins.Q.defer() + plugins.smartcov.get.percentage(plugins.path.join(paths.coverageDir, 'lcov.info'), 2) + .then(function (percentageArg) { + if (percentageArg >= configArg.coverageTreshold) { plugins.beautylog.ok( - `${percentageArg.toString()}% coverage exceeds your treshold of ${configArg.coverageTreshold.toString()}%` - ); + `${percentageArg.toString()}% ` + + `coverage exceeds your treshold of ` + + `${configArg.coverageTreshold.toString()}%` + ) } else { plugins.beautylog.warn( - `${percentageArg.toString()}% coverage fails your treshold of ${configArg.coverageTreshold.toString()}%` - ); - plugins.beautylog.error("exiting due to coverage failure"); - process.exit(1); + `${percentageArg.toString()}% ` + + `coverage fails your treshold of ` + + `${configArg.coverageTreshold.toString()}%` + ) + plugins.beautylog.error('exiting due to coverage failure') + process.exit(1) } - done.resolve(configArg); - }); - return done.promise; -}; + done.resolve(configArg) + }) + return done.promise +} -export let run = function(configArg) { - let done = plugins.Q.defer(); - let config = configArg; - if(config.test === true){ - npmtsOra.text("now starting tests"); +export let run = function (configArg) { + let done = plugins.Q.defer() + let config = configArg + if (config.test === true) { + npmtsOra.text('now starting tests') plugins.beautylog.log( - "-------------------------------------------------------\n" + - "*************************** TESTS: ***************************\n" + - "--------------------------------------------------------------" - ); + '-------------------------------------------------------\n' + + '*************************** TESTS: ***************************\n' + + '--------------------------------------------------------------' + ) mocha(config) .then(coverage) .then(() => { - done.resolve(config); - }); + done.resolve(config) + }) } else { - npmtsOra.end(); - done.resolve(config); + npmtsOra.end() + done.resolve(config) } - return done.promise; -}; \ No newline at end of file + return done.promise +} diff --git a/ts/npmts.typedoc.ts b/ts/npmts.typedoc.ts index 492387b..2da27f0 100644 --- a/ts/npmts.typedoc.ts +++ b/ts/npmts.typedoc.ts @@ -1,46 +1,45 @@ -import "typings-global"; -import plugins = require("./npmts.plugins"); -import paths = require("./npmts.paths"); -import { npmtsOra } from "./npmts.promisechain"; +import 'typings-global' +import plugins = require('./npmts.plugins') +import paths = require('./npmts.paths') +import { npmtsOra } from './npmts.promisechain' -import {projectInfo} from "./npmts.check"; +import { projectInfo } from './npmts.check' let genTypeDoc = function (configArg) { - let done = plugins.Q.defer(); - npmtsOra.text("now generating " + "TypeDoc documentation".yellow); - plugins.beautylog.log("TypeDoc Output:"); - plugins.gulp.src(plugins.path.join(paths.tsDir, "**/*.ts")) + let done = plugins.Q.defer() + npmtsOra.text('now generating ' + 'TypeDoc documentation'.yellow) + plugins.beautylog.log('TypeDoc Output:') + plugins.gulp.src(plugins.path.join(paths.tsDir, '**/*.ts')) .pipe(plugins.g.typedoc({ // TypeScript options (see typescript docs) - module: "commonjs", - target: "es6", + module: 'commonjs', + target: 'es6', includeDeclarations: true, // Output options (see typedoc docs) out: paths.pagesApiDir, - json: plugins.path.join(paths.pagesApiDir, "file.json"), + json: plugins.path.join(paths.pagesApiDir, 'file.json'), // TypeDoc options (see typedoc docs) name: projectInfo.name, - readme: plugins.path.join(paths.cwd,"README.md"), + readme: plugins.path.join(paths.cwd, 'README.md'), // theme: "default", ignoreCompilerErrors: true, - version: true, + version: true })) - .pipe(plugins.g.gFunction(done.resolve, "atEnd")); - return done.promise; -}; - + .pipe(plugins.g.gFunction(done.resolve, 'atEnd')) + return done.promise +} export let run = function (configArg) { - let done = plugins.Q.defer(); + let done = plugins.Q.defer() if (configArg.docs) { genTypeDoc(configArg) .then(() => { - done.resolve(configArg); - }); + done.resolve(configArg) + }) } else { - done.resolve(configArg); + done.resolve(configArg) }; - return done.promise; -}; \ No newline at end of file + return done.promise +} diff --git a/tslint.json b/tslint.json new file mode 100644 index 0000000..508bcac --- /dev/null +++ b/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "tslint-config-standard" +} \ No newline at end of file