fix #17, now computing coverage result correctly

This commit is contained in:
Philipp Kunz 2017-03-31 19:18:18 +02:00
parent 95ba650a14
commit 50e2895ad9
16 changed files with 175 additions and 268 deletions

View File

@ -7,7 +7,7 @@ const mod00_check_1 = require("../mod00/mod00.check");
exports.run = function (configArg) {
let done = q.defer();
let config = configArg;
plugins.beautylog.ora.text('now looking at ' + 'required assets'.yellow);
plugins.beautylog.ora.text('now looking at ' + 'required assets');
if (config.cli === true) {
let mainJsPath = mod00_check_1.projectInfo.packageJson.main;
let cliJsString = plugins.smartfile.fs.toStringSync(plugins.path.join(paths.npmtsAssetsDir, 'cli.js'));

View File

@ -56,11 +56,11 @@ let checkDependencies = (configArg) => {
process.exit(1);
}
for (let item in unused.invalidFiles) {
plugins.beautylog.warn(`Watch out: could not parse file ${item.red}`);
plugins.beautylog.warn(`Watch out: could not parse file ${item}`);
}
;
for (let item in unused.invalidDirs) {
plugins.beautylog.warn(`Watch out: could not parse directory ${item.red}`);
plugins.beautylog.warn(`Watch out: could not parse directory ${item}`);
}
done.resolve(configArg);
});
@ -82,20 +82,20 @@ let checkDevDependencies = (configArg) => {
});
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}`);
}
for (let item in unused.missing) {
plugins.beautylog.error(`unused devDependency ${item.red}`);
plugins.beautylog.error(`unused devDependency ${item}`);
}
if (unused.missing.length > 0) {
plugins.beautylog.info('exiting due to missing dependencies in package.json');
process.exit(1);
}
for (let item in unused.invalidFiles) {
plugins.beautylog.warn(`Watch out: could not parse file ${item.red}`);
plugins.beautylog.warn(`Watch out: could not parse file ${item}`);
}
for (let item in unused.invalidDirs) {
plugins.beautylog.warn(`Watch out: could not parse directory ${item.red}`);
plugins.beautylog.warn(`Watch out: could not parse directory ${item}`);
}
done.resolve(configArg);
});

View File

@ -6,7 +6,7 @@ const plugins = require("./mod00.plugins");
exports.run = function (configArg) {
let done = q.defer();
let config = configArg;
plugins.beautylog.ora.text('now compiling ' + 'TypeScript'.yellow);
plugins.beautylog.ora.text('now compiling ' + 'TypeScript');
plugins.tsn.compileGlobStringObject(config.ts, config.tsOptions, paths.cwd)
.then(() => {
plugins.beautylog.ok(`compiled the module's TypeScript!`);

17
dist/mod02/index.js vendored
View File

@ -62,7 +62,7 @@ let tap = function (configArg) {
testableFilesSmartstream.run(),
testFilesSmartstream.run()
]).then(() => __awaiter(this, void 0, void 0, function* () {
yield npmtsTapBuffer.runTests();
configArg.runData.coverageLcovInfo = yield npmtsTapBuffer.runTests();
done.resolve(configArg);
}), (err) => {
plugins.beautylog.error('Tests failed!');
@ -76,15 +76,15 @@ let tap = function (configArg) {
});
return done.promise;
};
let handleCoverageData = function (configArg) {
let done = q.defer();
if (71 >= configArg.coverageTreshold) {
plugins.beautylog.ok(`${(71).toString()}% `
let handleCoverageData = (configArg) => __awaiter(this, void 0, void 0, function* () {
let coverageResult = yield plugins.smartcov.get.percentageFromLcovString(configArg.runData.coverageLcovInfo, 2);
if (coverageResult >= configArg.coverageTreshold) {
plugins.beautylog.ok(`${(coverageResult).toString()}% `
+ `coverage exceeds your treshold of `
+ `${configArg.coverageTreshold.toString()}%`);
}
else {
plugins.beautylog.warn(`${(71).toString()}% `
plugins.beautylog.warn(`${(coverageResult).toString()}% `
+ `coverage fails your treshold of `
+ `${configArg.coverageTreshold.toString()}%`);
plugins.beautylog.error('exiting due to coverage failure');
@ -92,9 +92,8 @@ let handleCoverageData = function (configArg) {
process.exit(1);
}
}
done.resolve(configArg);
return done.promise;
};
return configArg;
});
exports.run = function (configArg) {
let done = q.defer();
let config = configArg;

View File

@ -3,5 +3,6 @@ import * as gulp from 'gulp';
import * as gulpFunction from 'gulp-function';
import * as gulpSourcemaps from 'gulp-sourcemaps';
import * as gulpTypeScript from 'gulp-typescript';
import * as smartcov from 'smartcov';
import * as tapbuffer from 'tapbuffer';
export { gulp, gulpFunction, gulpSourcemaps, gulpTypeScript, tapbuffer };
export { gulp, gulpFunction, gulpSourcemaps, gulpTypeScript, smartcov, tapbuffer };

View File

@ -12,5 +12,7 @@ const gulpSourcemaps = require("gulp-sourcemaps");
exports.gulpSourcemaps = gulpSourcemaps;
const gulpTypeScript = require("gulp-typescript");
exports.gulpTypeScript = gulpTypeScript;
const smartcov = require("smartcov");
exports.smartcov = smartcov;
const tapbuffer = require("tapbuffer");
exports.tapbuffer = tapbuffer;

View File

@ -8,5 +8,9 @@ export interface INpmtsConfig {
ts: any;
tsOptions: any;
watch: boolean;
runData: {
coverageLcovInfo?: string;
coverageResult?: number;
};
}
export declare let run: (argvArg: any) => Promise<{}>;

View File

@ -14,7 +14,8 @@ exports.run = function (argvArg) {
testTs: {},
ts: {},
tsOptions: {},
watch: false
watch: false,
runData: {}
};
// mix with configfile
plugins.beautylog.ora.text('running npmextra');

View File

@ -40,18 +40,18 @@
"@types/through2": "^2.0.32",
"beautylog": "6.1.5",
"depcheck": "^0.6.7",
"early": "^2.0.36",
"early": "^2.0.38",
"gulp": "3.9.1",
"gulp-function": "^2.2.3",
"gulp-sourcemaps": "^2.4.1",
"gulp-sourcemaps": "^2.5.0",
"gulp-typescript": "^3.1.6",
"lodash": "^4.17.4",
"npmextra": "^2.0.5",
"projectinfo": "^3.0.2",
"smartanalytics": "^1.0.3",
"smartchok": "^1.0.5",
"smartcli": "2.0.1",
"smartcov": "1.0.0",
"smartcli": "^2.0.1",
"smartcov": "^1.0.2",
"smartenv": "2.0.0",
"smartfile": "^4.1.9",
"smartpath": "^3.2.8",
@ -60,10 +60,10 @@
"smartstring": "^2.0.24",
"smartsystem": "^1.0.12",
"source-map-support": "^0.4.14",
"tapbuffer": "^1.0.9",
"tapbuffer": "^1.0.10",
"through2": "^2.0.3",
"tsn": "^2.0.15",
"typescript": "^2.2.1",
"typescript": "^2.2.2",
"typings-global": "^1.0.14"
},
"devDependencies": {}

View File

@ -8,7 +8,7 @@ import { projectInfo } from '../mod00/mod00.check'
export let run = function(configArg){
let done = q.defer()
let config = configArg
plugins.beautylog.ora.text('now looking at ' + 'required assets'.yellow)
plugins.beautylog.ora.text('now looking at ' + 'required assets')
if (config.cli === true) {
let mainJsPath = projectInfo.packageJson.main
let cliJsString: string = plugins.smartfile.fs.toStringSync(plugins.path.join(paths.npmtsAssetsDir,'cli.js'))

View File

@ -60,10 +60,10 @@ let checkDependencies = (configArg) => {
process.exit(1)
}
for (let item in unused.invalidFiles) {
plugins.beautylog.warn(`Watch out: could not parse file ${item.red}`)
plugins.beautylog.warn(`Watch out: could not parse file ${item}`)
};
for (let item in unused.invalidDirs) {
plugins.beautylog.warn(`Watch out: could not parse directory ${item.red}`)
plugins.beautylog.warn(`Watch out: could not parse directory ${item}`)
}
done.resolve(configArg)
})
@ -86,20 +86,20 @@ let checkDevDependencies = (configArg) => {
})
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}`)
}
for (let item in unused.missing) {
plugins.beautylog.error(`unused devDependency ${item.red}`)
plugins.beautylog.error(`unused devDependency ${item}`)
}
if (unused.missing.length > 0) {
plugins.beautylog.info('exiting due to missing dependencies in package.json')
process.exit(1)
}
for (let item in unused.invalidFiles) {
plugins.beautylog.warn(`Watch out: could not parse file ${item.red}`)
plugins.beautylog.warn(`Watch out: could not parse file ${item}`)
}
for (let item in unused.invalidDirs) {
plugins.beautylog.warn(`Watch out: could not parse directory ${item.red}`)
plugins.beautylog.warn(`Watch out: could not parse directory ${item}`)
}
done.resolve(configArg)
})

View File

@ -7,7 +7,7 @@ import * as plugins from './mod00.plugins'
export let run = function (configArg) {
let done = q.defer()
let config = configArg
plugins.beautylog.ora.text('now compiling ' + 'TypeScript'.yellow)
plugins.beautylog.ora.text('now compiling ' + 'TypeScript')
plugins.tsn.compileGlobStringObject(config.ts, config.tsOptions, paths.cwd)
.then(() => {
plugins.beautylog.ok(`compiled the module's TypeScript!`)

View File

@ -61,7 +61,7 @@ let tap = function (configArg: INpmtsConfig) {
testFilesSmartstream.run()
]).then(
async () => {
await npmtsTapBuffer.runTests()
configArg.runData.coverageLcovInfo = await npmtsTapBuffer.runTests()
done.resolve(configArg)
}, (err) => {
plugins.beautylog.error('Tests failed!')
@ -76,25 +76,27 @@ let tap = function (configArg: INpmtsConfig) {
return done.promise
}
let handleCoverageData = function (configArg: INpmtsConfig) {
let done = q.defer()
if (71 >= configArg.coverageTreshold) {
let handleCoverageData = async (configArg: INpmtsConfig) => {
let coverageResult = await plugins.smartcov.get.percentageFromLcovString(
configArg.runData.coverageLcovInfo,
2
)
if (coverageResult >= configArg.coverageTreshold) {
plugins.beautylog.ok(
`${(71).toString()}% `
`${(coverageResult).toString()}% `
+ `coverage exceeds your treshold of `
+ `${configArg.coverageTreshold.toString()}%`
)
} else {
plugins.beautylog.warn(
`${(71).toString()}% `
`${(coverageResult).toString()}% `
+ `coverage fails your treshold of `
+ `${configArg.coverageTreshold.toString()}%`
)
plugins.beautylog.error('exiting due to coverage failure')
if (!configArg.watch) { process.exit(1) }
}
done.resolve(configArg)
return done.promise
return configArg
}
export let run = function (configArg: INpmtsConfig) {

View File

@ -4,6 +4,7 @@ import * as gulp from 'gulp'
import * as gulpFunction from 'gulp-function'
import * as gulpSourcemaps from 'gulp-sourcemaps'
import * as gulpTypeScript from 'gulp-typescript'
import * as smartcov from 'smartcov'
import * as tapbuffer from 'tapbuffer'
export {
@ -11,5 +12,6 @@ export {
gulpFunction,
gulpSourcemaps,
gulpTypeScript,
smartcov,
tapbuffer
}

View File

@ -6,73 +6,77 @@ import * as q from 'smartq'
export type npmtsMode = 'default' | 'custom'
export interface INpmtsConfig {
argv: any,
coverageTreshold: number,
mode: npmtsMode,
test: boolean,
testTs: any,
ts: any,
tsOptions: any,
watch: boolean
argv: any,
coverageTreshold: number,
mode: npmtsMode,
test: boolean,
testTs: any,
ts: any,
tsOptions: any,
watch: boolean
runData: {
coverageLcovInfo?: string,
coverageResult?: number
}
};
export let run = function (argvArg) {
let done = q.defer()
let defaultConfig: INpmtsConfig = {
argv: undefined,
coverageTreshold: 70,
mode: 'default',
test: true,
testTs: {},
ts: {},
tsOptions: {},
watch: false
let done = q.defer()
let defaultConfig: INpmtsConfig = {
argv: undefined,
coverageTreshold: 70,
mode: 'default',
test: true,
testTs: {},
ts: {},
tsOptions: {},
watch: false,
runData: {}
}
// mix with configfile
plugins.beautylog.ora.text('running npmextra')
let localNpmextra = new plugins.npmextra.Npmextra(paths.cwd)
let config: INpmtsConfig = localNpmextra.dataFor<INpmtsConfig>(
'npmts',
defaultConfig
)
// add argv
config.argv = argvArg
// check mode
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)
};
// handle default mode
if (config.mode === 'default') {
config.ts = {
'./ts/**/*.ts': './dist/'
}
config.testTs = {
'./test/**/*.ts': './test/'
}
};
// mix with configfile
plugins.beautylog.ora.text('running npmextra')
// mix with commandline
if (config.argv.notest) {
config.test = false
};
if (config.argv.watch) {
config.watch = true
};
let localNpmextra = new plugins.npmextra.Npmextra(paths.cwd)
let config: INpmtsConfig = localNpmextra.dataFor<INpmtsConfig>(
'npmts',
defaultConfig
)
// add argv
config.argv = argvArg
// check mode
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)
};
// handle default mode
if (config.mode === 'default') {
config.ts = {
'./ts/**/*.ts': './dist/'
}
config.testTs = {
'./test/**/*.ts': './test/'
}
};
// mix with commandline
if (config.argv.notest) {
config.test = false
};
if (config.argv.watch) {
config.watch = true
};
plugins.beautylog.ok('build options are ready!')
done.resolve(config)
return done.promise
plugins.beautylog.ok('build options are ready!')
done.resolve(config)
return done.promise
}

220
yarn.lock
View File

@ -2,6 +2,13 @@
# yarn lockfile v1
"@gulp-sourcemaps/map-sources@1.X":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz#890ae7c5d8c877f6d384860215ace9d7ec945bda"
dependencies:
normalize-path "^2.0.1"
through2 "^2.0.3"
"@types/chai-as-promised@0.0.29":
version "0.0.29"
resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-0.0.29.tgz#43d52892aa998e185a3de3e2477edb8573be1d77"
@ -25,10 +32,6 @@
dependencies:
"@types/node" "*"
"@types/colors@0.x.x":
version "0.6.33"
resolved "https://registry.yarnpkg.com/@types/colors/-/colors-0.6.33.tgz#17dada5971c395259490d6c83d7c182cf6e9ce55"
"@types/fs-extra@0.x.x":
version "0.0.37"
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-0.0.37.tgz#195f11bcd9a1b97d9e412c6b66899b545471a1f7"
@ -53,14 +56,10 @@
version "0.4.29"
resolved "https://registry.yarnpkg.com/@types/istanbul/-/istanbul-0.4.29.tgz#29c8cbb747ac57280965545dc58514ba0dbb99af"
"@types/lodash@4.x.x", "@types/lodash@^4.14.35", "@types/lodash@^4.14.50", "@types/lodash@^4.14.55":
"@types/lodash@^4.14.35", "@types/lodash@^4.14.50", "@types/lodash@^4.14.55":
version "4.14.58"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.58.tgz#18d45863b6119c1ffffe935c1f51fe044c8c4102"
"@types/loggly@1.x.x":
version "1.1.30"
resolved "https://registry.yarnpkg.com/@types/loggly/-/loggly-1.1.30.tgz#a6658432314cbf0ec0350d33e7df9f4c0b76b3d0"
"@types/minimatch@2.x.x", "@types/minimatch@^2.0.29":
version "2.0.29"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-2.0.29.tgz#5002e14f75e2d71e564281df0431c8c1b4a2a36a"
@ -87,7 +86,7 @@
version "1.0.0"
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.0.0.tgz#57e5465d665b370d4217e69b344b20faa6b724f5"
"@types/q@0.0.32", "@types/q@0.x.x", "@types/q@^0.x.x":
"@types/q@0.0.32", "@types/q@0.x.x":
version "0.0.32"
resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5"
@ -348,25 +347,6 @@ beautylog@^4.1.2:
q "^1.4.1"
smartenv "^1.2.2"
beautylog@^5.0.20:
version "5.0.23"
resolved "https://registry.yarnpkg.com/beautylog/-/beautylog-5.0.23.tgz#db0161b063be4ff40cee812c066582da2e599bf1"
dependencies:
"@types/colors" "0.x.x"
"@types/lodash" "4.x.x"
"@types/loggly" "1.x.x"
"@types/q" "0.x.x"
cli-color "^1.1.0"
cli-table2 "^0.2.0"
colors "1.1.2"
figlet "^1.1.2"
lodash "^4.15.0"
loggly "^1.1.0"
ora "^0.3.0"
q "^1.4.1"
smartenv "^1.2.5"
typings-global "^1.0.13"
beeper@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809"
@ -375,12 +355,6 @@ binary-extensions@^1.0.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
bl@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398"
dependencies:
readable-stream "~2.0.5"
block-stream@*:
version "0.0.9"
resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
@ -509,10 +483,6 @@ cli-spinners@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c"
cli-spinners@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.2.0.tgz#85078737913b880f6ec9ffe7b65e83ec7776284f"
cli-spinners@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.0.0.tgz#ef987ed3d48391ac3dab9180b406a742180d6e6a"
@ -775,9 +745,9 @@ duplexify@^3.2.0:
readable-stream "^2.0.0"
stream-shift "^1.0.0"
early@^2.0.36:
version "2.0.36"
resolved "https://registry.yarnpkg.com/early/-/early-2.0.36.tgz#042e1b3a08248aed78cd26f325c3ebd6a93d7ba9"
early@^2.0.38:
version "2.0.38"
resolved "https://registry.yarnpkg.com/early/-/early-2.0.38.tgz#f7be550eb466d2b52668cabc554c39ff2f92cf41"
dependencies:
beautycolor "^1.0.7"
smartq "^1.1.1"
@ -1022,14 +992,6 @@ forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
form-data@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.0.0.tgz#6f0aebadcc5da16c13e1ecc11137d85f9b883b25"
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.5"
mime-types "^2.1.11"
form-data@~2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4"
@ -1046,16 +1008,6 @@ fs-exists-sync@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add"
fs-extra@^0.30.0:
version "0.30.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0"
dependencies:
graceful-fs "^4.1.2"
jsonfile "^2.1.0"
klaw "^1.0.0"
path-is-absolute "^1.0.0"
rimraf "^2.2.8"
fs-extra@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.0.0.tgz#337352bded4a0b714f3eb84de8cea765e9d37600"
@ -1063,6 +1015,13 @@ fs-extra@^2.0.0:
graceful-fs "^4.1.2"
jsonfile "^2.1.0"
fs-extra@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35"
dependencies:
graceful-fs "^4.1.2"
jsonfile "^2.1.0"
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@ -1258,7 +1217,7 @@ glogg@^1.0.0:
dependencies:
sparkles "^1.0.0"
graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
@ -1296,10 +1255,11 @@ gulp-sourcemaps@1.6.0:
through2 "^2.0.0"
vinyl "^1.0.0"
gulp-sourcemaps@^2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-2.4.1.tgz#8f65dc5c0d07b2fd5c88bc60ec7f13e56716bf74"
gulp-sourcemaps@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-2.5.0.tgz#8270a25148357ac73597bd0c6bd43177e982a3af"
dependencies:
"@gulp-sourcemaps/map-sources" "1.X"
acorn "4.X"
convert-source-map "1.X"
css "2.X"
@ -1689,7 +1649,7 @@ json-stable-stringify@^1.0.0:
dependencies:
jsonify "~0.0.0"
json-stringify-safe@5.0.x, json-stringify-safe@~5.0.1:
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
@ -1721,12 +1681,6 @@ kind-of@^3.0.2:
dependencies:
is-buffer "^1.0.2"
klaw@^1.0.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
optionalDependencies:
graceful-fs "^4.1.9"
lazy-cache@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
@ -1910,7 +1864,7 @@ lodash@^3.10.1:
version "3.10.1"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
lodash@^4.11.1, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.16.1, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.5.1:
lodash@^4.11.1, lodash@^4.13.1, lodash@^4.16.1, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.5.1:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
@ -1924,14 +1878,6 @@ log-symbols@^1.0.2:
dependencies:
chalk "^1.0.0"
loggly@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/loggly/-/loggly-1.1.1.tgz#0a0fc1d3fa3a5ec44fdc7b897beba2a4695cebee"
dependencies:
json-stringify-safe "5.0.x"
request "2.75.x"
timespan "2.3.x"
longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
@ -1963,14 +1909,15 @@ map-cache@^0.2.0:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
mathjs@^3.4.1:
version "3.9.3"
resolved "https://registry.yarnpkg.com/mathjs/-/mathjs-3.9.3.tgz#d99b06093e83772a8d622457aedffd8f65a46183"
mathjs@^3.10.3:
version "3.10.3"
resolved "https://registry.yarnpkg.com/mathjs/-/mathjs-3.10.3.tgz#bd6577a8e7ee22ece373838a99e8808fa88d990f"
dependencies:
complex.js "2.0.1"
decimal.js "7.1.1"
fraction.js "4.0.0"
tiny-emitter "1.1.0"
seed-random "2.2.0"
tiny-emitter "1.0.2"
typed-function "0.10.5"
memoizee@^0.4.3:
@ -2014,7 +1961,7 @@ mime-db@~1.26.0:
version "1.26.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff"
mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.7:
mime-types@^2.1.12, mime-types@~2.1.7:
version "2.1.14"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee"
dependencies:
@ -2105,10 +2052,6 @@ node-pre-gyp@^0.6.29:
tar "~2.2.1"
tar-pack "~3.3.0"
node-uuid@~1.4.7:
version "1.4.7"
resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f"
nopt@3.x, nopt@~3.0.6:
version "3.0.6"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
@ -2215,15 +2158,6 @@ ora@^0.2.1, ora@^0.2.3:
cli-spinners "^0.1.2"
object-assign "^4.0.1"
ora@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/ora/-/ora-0.3.0.tgz#367a078ad25cfb096da501115eb5b401e07d7495"
dependencies:
chalk "^1.1.1"
cli-cursor "^1.0.2"
cli-spinners "^0.2.0"
log-symbols "^1.0.2"
ora@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/ora/-/ora-1.1.0.tgz#69aaa4a209630e43b142c5f7ff41820da87e2faf"
@ -2378,10 +2312,6 @@ q@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e"
qs@~6.2.0:
version "6.2.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.2.tgz#d506a5ad5b2cae1fd35c4f54ec182e267e3ef586"
qs@~6.3.0:
version "6.3.1"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.1.tgz#918c0b3bcd36679772baf135b1acb4c1651ed79d"
@ -2447,17 +2377,6 @@ readable-stream@~1.1.9:
isarray "0.0.1"
string_decoder "~0.10.x"
readable-stream@~2.0.5:
version "2.0.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.1"
isarray "~1.0.0"
process-nextick-args "~1.0.6"
string_decoder "~0.10.x"
util-deprecate "~1.0.1"
readable-stream@~2.1.4:
version "2.1.5"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0"
@ -2516,32 +2435,6 @@ replace-ext@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
request@2.75.x:
version "2.75.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.75.0.tgz#d2b8268a286da13eaa5d01adf5d18cc90f657d93"
dependencies:
aws-sign2 "~0.6.0"
aws4 "^1.2.1"
bl "~1.1.2"
caseless "~0.11.0"
combined-stream "~1.0.5"
extend "~3.0.0"
forever-agent "~0.6.1"
form-data "~2.0.0"
har-validator "~2.0.6"
hawk "~3.1.3"
http-signature "~1.1.0"
is-typedarray "~1.0.0"
isstream "~0.1.2"
json-stringify-safe "~5.0.1"
mime-types "~2.1.7"
node-uuid "~1.4.7"
oauth-sign "~0.8.1"
qs "~6.2.0"
stringstream "~0.0.4"
tough-cookie "~2.3.0"
tunnel-agent "~0.4.1"
request@^2.79.0:
version "2.79.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
@ -2630,16 +2523,16 @@ rimraf@2, rimraf@^2.3.3, rimraf@~2.5.1, rimraf@~2.5.4:
dependencies:
glob "^7.0.5"
rimraf@^2.2.8:
version "2.2.8"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582"
rxjs@^5.0.0-beta.12, rxjs@^5.0.1, rxjs@^5.1.1:
version "5.2.0"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.2.0.tgz#db537de8767c05fa73721587a29e0085307d318b"
dependencies:
symbol-observable "^1.0.1"
seed-random@2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/seed-random/-/seed-random-2.2.0.tgz#2a9b19e250a817099231a5b99a4daf80b7fbed54"
"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
@ -2725,17 +2618,16 @@ smartcli@2.0.1:
typings-global "^1.0.14"
yargs "^6.4.0"
smartcov@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/smartcov/-/smartcov-1.0.0.tgz#9eafcf774e325c6f96d91224b2d1ade749aceeeb"
smartcov@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/smartcov/-/smartcov-1.0.2.tgz#d81bed707fc6191a39a71384fb66ddd1f41dac1f"
dependencies:
"@types/q" "^0.x.x"
beautylog "^5.0.20"
fs-extra "^0.30.0"
beautylog "^6.1.5"
fs-extra "^2.1.2"
lcov-parse "0.0.10"
mathjs "^3.4.1"
q "^1.4.1"
typings-global "^1.0.6"
mathjs "^3.10.3"
smartq "^1.1.1"
typings-global "^1.0.14"
smartenv@2.0.0, smartenv@^2.0.0:
version "2.0.0"
@ -3081,9 +2973,9 @@ tap-parser@^5.1.0:
optionalDependencies:
readable-stream "^2"
tapbuffer@^1.0.9:
version "1.0.9"
resolved "https://registry.yarnpkg.com/tapbuffer/-/tapbuffer-1.0.9.tgz#f0faa78219dffe66a75315c2fda266f17a0c3c52"
tapbuffer@^1.0.10:
version "1.0.10"
resolved "https://registry.yarnpkg.com/tapbuffer/-/tapbuffer-1.0.10.tgz#e4b910d5c3e64bec3c49d73c835694445de40764"
dependencies:
"@types/istanbul" "^0.4.29"
beautylog "^6.1.1"
@ -3162,13 +3054,9 @@ timers-ext@0.1:
es5-ext "~0.10.2"
next-tick "~0.2.2"
timespan@2.3.x:
version "2.3.0"
resolved "https://registry.yarnpkg.com/timespan/-/timespan-2.3.0.tgz#4902ce040bd13d845c8f59b27e9d59bad6f39929"
tiny-emitter@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-1.1.0.tgz#ab405a21ffed814a76c19739648093d70654fecb"
tiny-emitter@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-1.0.2.tgz#8e49470d3f55f89e247210368a6bb9fb51aa1601"
to-absolute-glob@^0.1.1:
version "0.1.1"
@ -3229,11 +3117,15 @@ typed-promisify@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/typed-promisify/-/typed-promisify-0.3.0.tgz#1ba0af5e444c87d8047406f18ce49092a1191853"
typescript@^2.1.5, typescript@^2.2.1:
typescript@^2.1.5:
version "2.2.1"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.2.1.tgz#4862b662b988a4c8ff691cc7969622d24db76ae9"
typings-global@*, typings-global@^1.0.13, typings-global@^1.0.14, typings-global@^1.0.3, typings-global@^1.0.6:
typescript@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.2.2.tgz#606022508479b55ffa368b58fee963a03dfd7b0c"
typings-global@*, typings-global@^1.0.14, typings-global@^1.0.3:
version "1.0.14"
resolved "https://registry.yarnpkg.com/typings-global/-/typings-global-1.0.14.tgz#ab682720a03d6b9278869fb5c30c30d7dc61d12c"
dependencies: