initial working version
This commit is contained in:
		
							
								
								
									
										10
									
								
								dist/index.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								dist/index.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,8 @@ | |||||||
| export declare let check: (npmname: string) => void; | import { KeyValueStore } from 'npmextra'; | ||||||
| export declare let standardExport: string; | export declare class SmartUpdate { | ||||||
|  |     kvStore: KeyValueStore; | ||||||
|  |     check(npmnameArg: string, compareVersion: string): Promise<void>; | ||||||
|  |     private getNpmPackageFromRegistry(npmnameArg); | ||||||
|  |     private checkIfUpgrade(npmPackage, versionArg); | ||||||
|  | } | ||||||
|  | export declare let standardHandler: SmartUpdate; | ||||||
|   | |||||||
							
								
								
									
										64
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										64
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,14 +1,68 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
|  | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||||
|  |     return new (P || (P = Promise))(function (resolve, reject) { | ||||||
|  |         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||||
|  |         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||||
|  |         function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } | ||||||
|  |         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||||
|  |     }); | ||||||
|  | }; | ||||||
| Object.defineProperty(exports, "__esModule", { value: true }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| const plugins = require("./smartupdate.plugins"); | const plugins = require("./smartupdate.plugins"); | ||||||
|  | const smarttime_1 = require("smarttime"); | ||||||
| class SmartUpdate { | class SmartUpdate { | ||||||
|     constructor() { |     constructor() { | ||||||
|         this.kvStore = new plugins.npmextra.KeyValueStore('custom', 'global:smartupdate'); |         this.kvStore = new plugins.npmextra.KeyValueStore('custom', 'global:smartupdate'); | ||||||
|     } |     } | ||||||
|     check(npmname) { |     check(npmnameArg, compareVersion) { | ||||||
|  |         return __awaiter(this, void 0, void 0, function* () { | ||||||
|  |             let result = yield this.kvStore.readKey(npmnameArg); | ||||||
|  |             let timeStamp = new smarttime_1.TimeStamp(); | ||||||
|  |             // the newData to write | ||||||
|  |             let newData = { | ||||||
|  |                 lastCheck: timeStamp.milliSeconds, | ||||||
|  |                 latestVersion: 'x.x.x', | ||||||
|  |                 performedUpgrade: false | ||||||
|  |             }; | ||||||
|  |             if (result) { | ||||||
|  |                 let lastCheckTimeStamp = smarttime_1.TimeStamp.fromMilliSeconds(result.lastCheck); | ||||||
|  |                 let compareTime = plugins.smarttime.getMilliSecondsFromUnits({ days: 1 }); | ||||||
|  |                 if (!lastCheckTimeStamp.isOlderThan(timeStamp, compareTime)) { | ||||||
|  |                     plugins.beautylog.log('not checking for new version since this has been done already for today'); | ||||||
|  |                     return; | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
| let standardInstance = new SmartUpdate(); |             let npmPackage = yield this.getNpmPackageFromRegistry(npmnameArg); | ||||||
| exports.check = standardInstance.check; |             newData.latestVersion = npmPackage.version; | ||||||
| exports.standardExport = 'Hi there! :) This is a exported string'; |             let upgradeBool = yield this.checkIfUpgrade(npmPackage, compareVersion); | ||||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlEQUFnRDtBQUVoRDtJQUFBO1FBQ0UsWUFBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUE7SUFJOUUsQ0FBQztJQUhDLEtBQUssQ0FBRSxPQUFlO0lBRXRCLENBQUM7Q0FDRjtBQUNELElBQUksZ0JBQWdCLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQTtBQUU3QixRQUFBLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUE7QUFHOUIsUUFBQSxjQUFjLEdBQUcsd0NBQXdDLENBQUEifQ== |             if (upgradeBool) { | ||||||
|  |             } | ||||||
|  |             this.kvStore.writeKey(npmnameArg, newData); | ||||||
|  |         }); | ||||||
|  |     } | ||||||
|  |     getNpmPackageFromRegistry(npmnameArg) { | ||||||
|  |         return __awaiter(this, void 0, void 0, function* () { | ||||||
|  |             plugins.beautylog.log(`checking for newer version of ${npmnameArg}...`); | ||||||
|  |             let npmRegistry = new plugins.smartnpm.NpmRegistry(); | ||||||
|  |             let npmPackage = (yield npmRegistry.search({ name: npmnameArg, boostExact: true }))[0]; | ||||||
|  |             return npmPackage; | ||||||
|  |         }); | ||||||
|  |     } | ||||||
|  |     checkIfUpgrade(npmPackage, versionArg) { | ||||||
|  |         return __awaiter(this, void 0, void 0, function* () { | ||||||
|  |             if (npmPackage.version === versionArg) { | ||||||
|  |                 plugins.beautylog.ok(`You are running the latest version of ${npmPackage.name}`); | ||||||
|  |                 return false; | ||||||
|  |             } | ||||||
|  |             else { | ||||||
|  |                 plugins.beautylog.warn(`There is a newer version of ${npmPackage.name} available on npm.`); | ||||||
|  |                 plugins.beautylog.info(`Your version: ${versionArg} | version on npm: ${npmPackage.version}`); | ||||||
|  |                 plugins.beautylog.warn(`!!! You should upgrade!!!`); | ||||||
|  |                 return true; | ||||||
|  |             } | ||||||
|  |         }); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | exports.SmartUpdate = SmartUpdate; | ||||||
|  | exports.standardHandler = new SmartUpdate(); | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsaURBQWdEO0FBRWhELHlDQUFxQztBQVVyQztJQUFBO1FBQ0UsWUFBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUE7SUErQzlFLENBQUM7SUE3Q08sS0FBSyxDQUFFLFVBQWtCLEVBQUUsY0FBc0I7O1lBQ3JELElBQUksTUFBTSxHQUFpQixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ2pFLElBQUksU0FBUyxHQUFHLElBQUkscUJBQVMsRUFBRSxDQUFBO1lBRS9CLHVCQUF1QjtZQUN2QixJQUFJLE9BQU8sR0FBRztnQkFDWixTQUFTLEVBQUUsU0FBUyxDQUFDLFlBQVk7Z0JBQ2pDLGFBQWEsRUFBRSxPQUFPO2dCQUN0QixnQkFBZ0IsRUFBRSxLQUFLO2FBQ3hCLENBQUE7WUFDRCxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNYLElBQUksa0JBQWtCLEdBQUcscUJBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7Z0JBQ3JFLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFDekUsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDNUQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMseUVBQXlFLENBQUMsQ0FBQTtvQkFDaEcsTUFBTSxDQUFBO2dCQUNSLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDakUsT0FBTyxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFBO1lBQzFDLElBQUksV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUE7WUFDdkUsRUFBRSxDQUFBLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUVqQixDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzVDLENBQUM7S0FBQTtJQUVhLHlCQUF5QixDQUFFLFVBQVU7O1lBQ2pELE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxVQUFVLEtBQUssQ0FBQyxDQUFBO1lBQ3ZFLElBQUksV0FBVyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtZQUNwRCxJQUFJLFVBQVUsR0FBRyxDQUFDLE1BQU0sV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN0RixNQUFNLENBQUMsVUFBVSxDQUFBO1FBQ25CLENBQUM7S0FBQTtJQUVhLGNBQWMsQ0FBRSxVQUF1QyxFQUFFLFVBQWtCOztZQUN2RixFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLHlDQUF5QyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtnQkFDaEYsTUFBTSxDQUFDLEtBQUssQ0FBQTtZQUNkLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQywrQkFBK0IsVUFBVSxDQUFDLElBQUksb0JBQW9CLENBQUMsQ0FBQTtnQkFDMUYsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLFVBQVUsc0JBQXNCLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO2dCQUM3RixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO2dCQUNuRCxNQUFNLENBQUMsSUFBSSxDQUFBO1lBQ2IsQ0FBQztRQUNILENBQUM7S0FBQTtDQUNGO0FBaERELGtDQWdEQztBQUNVLFFBQUEsZUFBZSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUEifQ== | ||||||
							
								
								
									
										4
									
								
								dist/smartupdate.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/smartupdate.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,4 +1,6 @@ | |||||||
| import 'typings-global'; | import 'typings-global'; | ||||||
|  | import * as beautylog from 'beautylog'; | ||||||
| import * as npmextra from 'npmextra'; | import * as npmextra from 'npmextra'; | ||||||
| import * as smartnpm from 'smartnpm'; | import * as smartnpm from 'smartnpm'; | ||||||
| export { npmextra, smartnpm }; | import * as smarttime from 'smarttime'; | ||||||
|  | export { beautylog, npmextra, smartnpm, smarttime }; | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								dist/smartupdate.plugins.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								dist/smartupdate.plugins.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,8 +1,12 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| Object.defineProperty(exports, "__esModule", { value: true }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| require("typings-global"); | require("typings-global"); | ||||||
|  | const beautylog = require("beautylog"); | ||||||
|  | exports.beautylog = beautylog; | ||||||
| const npmextra = require("npmextra"); | const npmextra = require("npmextra"); | ||||||
| exports.npmextra = npmextra; | exports.npmextra = npmextra; | ||||||
| const smartnpm = require("smartnpm"); | const smartnpm = require("smartnpm"); | ||||||
| exports.smartnpm = smartnpm; | exports.smartnpm = smartnpm; | ||||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1cGRhdGUucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0dXBkYXRlLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBdUI7QUFFdkIscUNBQW9DO0FBSWxDLDRCQUFRO0FBSFYscUNBQW9DO0FBSWxDLDRCQUFRIn0= | const smarttime = require("smarttime"); | ||||||
|  | exports.smarttime = smarttime; | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1cGRhdGUucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0dXBkYXRlLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBdUI7QUFFdkIsdUNBQXNDO0FBTXBDLDhCQUFTO0FBTFgscUNBQW9DO0FBTWxDLDRCQUFRO0FBTFYscUNBQW9DO0FBTWxDLDRCQUFRO0FBTFYsdUNBQXNDO0FBTXBDLDhCQUFTIn0= | ||||||
| @@ -3,5 +3,8 @@ | |||||||
|     "globalNpmTools": [ |     "globalNpmTools": [ | ||||||
|       "npmts" |       "npmts" | ||||||
|     ] |     ] | ||||||
|  |   }, | ||||||
|  |   "npmts": { | ||||||
|  |     "coverageTreshold": 50 | ||||||
|   } |   } | ||||||
| } | } | ||||||
							
								
								
									
										10
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								package.json
									
									
									
									
									
								
							| @@ -10,11 +10,13 @@ | |||||||
|     "test": "(npmts)" |     "test": "(npmts)" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "tapbundle": "^1.0.13" |     "tapbundle": "^1.1.1" | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "npmextra": "^2.0.8", |     "beautylog": "^6.1.10", | ||||||
|     "smartnpm": "^1.0.3", |     "npmextra": "^2.0.9", | ||||||
|     "typings-global": "^1.0.16" |     "smartnpm": "^1.0.4", | ||||||
|  |     "smarttime": "^1.0.6", | ||||||
|  |     "typings-global": "^1.0.20" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| import { expect, tap } from 'tapbundle' | import { expect, tap } from 'tapbundle' | ||||||
| import * as smartupdate from '../ts/index' | import * as smartupdate from '../ts/index' | ||||||
|  |  | ||||||
| tap.test('first test', async () => { | tap.test('should check for a npm module', async () => { | ||||||
|   console.log(smartupdate.standardExport) |   await smartupdate.standardHandler.check('npmts', '8.0.5') | ||||||
| }) | }) | ||||||
|  |  | ||||||
| tap.start() | tap.start() | ||||||
|   | |||||||
							
								
								
									
										61
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										61
									
								
								ts/index.ts
									
									
									
									
									
								
							| @@ -1,25 +1,62 @@ | |||||||
| import * as plugins from './smartupdate.plugins' | import * as plugins from './smartupdate.plugins' | ||||||
|  |  | ||||||
|  | import { TimeStamp } from 'smarttime' | ||||||
|  |  | ||||||
| interface ICacheStatus { | interface ICacheStatus { | ||||||
|   lastCheck |   lastCheck: number | ||||||
|  |   latestVersion: string | ||||||
|  |   performedUpgrade: boolean | ||||||
| } | } | ||||||
|  |  | ||||||
| class SmartUpdate { | import { KeyValueStore } from 'npmextra' | ||||||
|  |  | ||||||
|  | export class SmartUpdate { | ||||||
|   kvStore = new plugins.npmextra.KeyValueStore('custom', 'global:smartupdate') |   kvStore = new plugins.npmextra.KeyValueStore('custom', 'global:smartupdate') | ||||||
|  |  | ||||||
|   async checkCacheStatus () { |   async check (npmnameArg: string, compareVersion: string) { | ||||||
|     let result: ICacheStatus = await this.kvStore.read(npmname) |     let result: ICacheStatus = await this.kvStore.readKey(npmnameArg) | ||||||
|     if(result && result) { |     let timeStamp = new TimeStamp() | ||||||
|  |  | ||||||
|  |     // the newData to write | ||||||
|  |     let newData = { | ||||||
|  |       lastCheck: timeStamp.milliSeconds, | ||||||
|  |       latestVersion: 'x.x.x', | ||||||
|  |       performedUpgrade: false | ||||||
|  |     } | ||||||
|  |     if (result) { | ||||||
|  |       let lastCheckTimeStamp = TimeStamp.fromMilliSeconds(result.lastCheck) | ||||||
|  |       let compareTime = plugins.smarttime.getMilliSecondsFromUnits({ days: 1 }) | ||||||
|  |       if (!lastCheckTimeStamp.isOlderThan(timeStamp, compareTime)) { | ||||||
|  |         plugins.beautylog.log('not checking for new version since this has been done already for today') | ||||||
|  |         return | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  |     let npmPackage = await this.getNpmPackageFromRegistry(npmnameArg) | ||||||
|  |     newData.latestVersion = npmPackage.version | ||||||
|  |     let upgradeBool = await this.checkIfUpgrade(npmPackage, compareVersion) | ||||||
|  |     if(upgradeBool) { | ||||||
|  |  | ||||||
|   async check (npmname: string) { |     } | ||||||
|  |     this.kvStore.writeKey(npmnameArg, newData) | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   private async getNpmPackageFromRegistry (npmnameArg) { | ||||||
|  |     plugins.beautylog.log(`checking for newer version of ${npmnameArg}...`) | ||||||
|  |     let npmRegistry = new plugins.smartnpm.NpmRegistry() | ||||||
|  |     let npmPackage = (await npmRegistry.search({ name: npmnameArg, boostExact: true }))[0] | ||||||
|  |     return npmPackage | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   private async checkIfUpgrade (npmPackage: plugins.smartnpm.NpmPackage, versionArg: string) { | ||||||
|  |     if (npmPackage.version === versionArg) { | ||||||
|  |       plugins.beautylog.ok(`You are running the latest version of ${npmPackage.name}`) | ||||||
|  |       return false | ||||||
|  |     } else { | ||||||
|  |       plugins.beautylog.warn(`There is a newer version of ${npmPackage.name} available on npm.`) | ||||||
|  |       plugins.beautylog.info(`Your version: ${versionArg} | version on npm: ${npmPackage.version}`) | ||||||
|  |       plugins.beautylog.warn(`!!! You should upgrade!!!`) | ||||||
|  |       return true | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| let standardInstance = new SmartUpdate() | } | ||||||
|  | export let standardHandler = new SmartUpdate() | ||||||
| export let check = standardInstance.check |  | ||||||
|  |  | ||||||
|  |  | ||||||
| export let standardExport = 'Hi there! :) This is a exported string' |  | ||||||
|   | |||||||
| @@ -1,9 +1,13 @@ | |||||||
| import 'typings-global' | import 'typings-global' | ||||||
|  |  | ||||||
|  | import * as beautylog from 'beautylog' | ||||||
| import * as npmextra from 'npmextra' | import * as npmextra from 'npmextra' | ||||||
| import * as smartnpm from 'smartnpm' | import * as smartnpm from 'smartnpm' | ||||||
|  | import * as smarttime from 'smarttime' | ||||||
|  |  | ||||||
| export { | export { | ||||||
|  |   beautylog, | ||||||
|   npmextra, |   npmextra, | ||||||
|   smartnpm |   smartnpm, | ||||||
|  |   smarttime | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										46
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								yarn.lock
									
									
									
									
									
								
							| @@ -34,15 +34,15 @@ | |||||||
|     "@types/node" "*" |     "@types/node" "*" | ||||||
|  |  | ||||||
| "@types/glob@*": | "@types/glob@*": | ||||||
|   version "5.0.30" |   version "5.0.31" | ||||||
|   resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.30.tgz#1026409c5625a8689074602808d082b2867b8a51" |   resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.31.tgz#6cb8500bd170750c1948f785cc5828e9cff0c36a" | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@types/minimatch" "*" |     "@types/minimatch" "*" | ||||||
|     "@types/node" "*" |     "@types/node" "*" | ||||||
|  |  | ||||||
| "@types/lodash@4.x.x", "@types/lodash@^4.14.55", "@types/lodash@^4.14.67", "@types/lodash@^4.14.68": | "@types/lodash@4.x.x", "@types/lodash@^4.14.55", "@types/lodash@^4.14.67", "@types/lodash@^4.14.68": | ||||||
|   version "4.14.72" |   version "4.14.73" | ||||||
|   resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.72.tgz#f090cf6eb1fee1647a0efa1ebe18b0b78ed551c6" |   resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.73.tgz#9837e47db8643ba5bcef2c7921f37d90f9c24213" | ||||||
|  |  | ||||||
| "@types/minimatch@*": | "@types/minimatch@*": | ||||||
|   version "3.0.0" |   version "3.0.0" | ||||||
| @@ -107,11 +107,12 @@ balanced-match@^1.0.0: | |||||||
|   version "1.0.0" |   version "1.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" |   resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" | ||||||
|  |  | ||||||
| beautycolor@^1.0.7: | beautycolor@^1.0.7, beautycolor@^1.0.9: | ||||||
|   version "1.0.7" |   version "1.0.10" | ||||||
|   resolved "https://registry.yarnpkg.com/beautycolor/-/beautycolor-1.0.7.tgz#a4715738ac4c8221371e9cbeb5a6cc6d11ecbf7c" |   resolved "https://registry.yarnpkg.com/beautycolor/-/beautycolor-1.0.10.tgz#4b50758e59115839b3bb2bfe8aaaec9e29c747dd" | ||||||
|   dependencies: |   dependencies: | ||||||
|     ansi-256-colors "^1.1.0" |     ansi-256-colors "^1.1.0" | ||||||
|  |     tapbundle "^1.1.1" | ||||||
|     typings-global "^1.0.14" |     typings-global "^1.0.14" | ||||||
|  |  | ||||||
| beautylog@^6.1.10: | beautylog@^6.1.10: | ||||||
| @@ -459,17 +460,17 @@ nan@^2.3.2: | |||||||
|   version "2.6.2" |   version "2.6.2" | ||||||
|   resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" |   resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" | ||||||
|  |  | ||||||
| npmextra@^2.0.8: | npmextra@^2.0.9: | ||||||
|   version "2.0.8" |   version "2.0.9" | ||||||
|   resolved "https://registry.yarnpkg.com/npmextra/-/npmextra-2.0.8.tgz#9fd3c451edee5a65da0e61df331be6f2313f4676" |   resolved "https://registry.yarnpkg.com/npmextra/-/npmextra-2.0.9.tgz#bd32b91590a8b3e2eabdfed26c324a1952758c2c" | ||||||
|   dependencies: |   dependencies: | ||||||
|     beautylog "^6.1.10" |     beautylog "^6.1.10" | ||||||
|     smartfile "^4.2.17" |     smartfile "^4.2.20" | ||||||
|     smartlodash "^1.0.1" |     smartlodash "^1.0.1" | ||||||
|     smartpath "^3.2.8" |     smartpath "^3.2.8" | ||||||
|     smartq "^1.1.6" |     smartq "^1.1.6" | ||||||
|     taskbuffer "^1.0.22" |     taskbuffer "^1.0.22" | ||||||
|     typings-global "^1.0.19" |     typings-global "^1.0.20" | ||||||
|  |  | ||||||
| object-keys@^1.0.8: | object-keys@^1.0.8: | ||||||
|   version "1.0.11" |   version "1.0.11" | ||||||
| @@ -550,8 +551,8 @@ rechoir@^0.6.2: | |||||||
|     resolve "^1.1.6" |     resolve "^1.1.6" | ||||||
|  |  | ||||||
| remove-trailing-separator@^1.0.1: | remove-trailing-separator@^1.0.1: | ||||||
|   version "1.0.2" |   version "1.1.0" | ||||||
|   resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz#69b062d978727ad14dc6b56ba4ab772fd8d70511" |   resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" | ||||||
|  |  | ||||||
| replace-ext@^1.0.0: | replace-ext@^1.0.0: | ||||||
|   version "1.0.0" |   version "1.0.0" | ||||||
| @@ -626,7 +627,7 @@ smartenv@^2.0.0: | |||||||
|     smartq "^1.1.1" |     smartq "^1.1.1" | ||||||
|     typings-global "^1.0.14" |     typings-global "^1.0.14" | ||||||
|  |  | ||||||
| smartfile@^4.2.17: | smartfile@^4.2.20: | ||||||
|   version "4.2.20" |   version "4.2.20" | ||||||
|   resolved "https://registry.yarnpkg.com/smartfile/-/smartfile-4.2.20.tgz#abc37c04fb7b3afea68fa295dfb80083361a8028" |   resolved "https://registry.yarnpkg.com/smartfile/-/smartfile-4.2.20.tgz#abc37c04fb7b3afea68fa295dfb80083361a8028" | ||||||
|   dependencies: |   dependencies: | ||||||
| @@ -650,10 +651,11 @@ smartlodash@^1.0.1: | |||||||
|     "@types/node" "^8.0.10" |     "@types/node" "^8.0.10" | ||||||
|     lodash "^4.17.4" |     lodash "^4.17.4" | ||||||
|  |  | ||||||
| smartnpm@^1.0.3: | smartnpm@^1.0.4: | ||||||
|   version "1.0.3" |   version "1.0.4" | ||||||
|   resolved "https://registry.yarnpkg.com/smartnpm/-/smartnpm-1.0.3.tgz#62efa486d92f21d1299209ced5557e0796beccbd" |   resolved "https://registry.yarnpkg.com/smartnpm/-/smartnpm-1.0.4.tgz#026ce3b3f3b46ec546de51908a0d408848466c0d" | ||||||
|   dependencies: |   dependencies: | ||||||
|  |     beautycolor "^1.0.9" | ||||||
|     beautylog "^6.1.10" |     beautylog "^6.1.10" | ||||||
|     smartrequest "^1.0.6" |     smartrequest "^1.0.6" | ||||||
|     typings-global "^1.0.16" |     typings-global "^1.0.16" | ||||||
| @@ -690,6 +692,12 @@ smartshell@^1.0.6: | |||||||
|     typings-global "^1.0.19" |     typings-global "^1.0.19" | ||||||
|     which "^1.2.14" |     which "^1.2.14" | ||||||
|  |  | ||||||
|  | smarttime@^1.0.6: | ||||||
|  |   version "1.0.6" | ||||||
|  |   resolved "https://registry.yarnpkg.com/smarttime/-/smarttime-1.0.6.tgz#0412a021cff88e8e41b766103a2d9e42fe816ddc" | ||||||
|  |   dependencies: | ||||||
|  |     typings-global "^1.0.16" | ||||||
|  |  | ||||||
| sprintf-js@~1.0.2: | sprintf-js@~1.0.2: | ||||||
|   version "1.0.3" |   version "1.0.3" | ||||||
|   resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" |   resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" | ||||||
| @@ -733,7 +741,7 @@ symbol-observable@^1.0.1: | |||||||
|   version "1.0.4" |   version "1.0.4" | ||||||
|   resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" |   resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" | ||||||
|  |  | ||||||
| tapbundle@^1.0.13: | tapbundle@^1.1.1: | ||||||
|   version "1.1.1" |   version "1.1.1" | ||||||
|   resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-1.1.1.tgz#ec4172c0e82a77b1f6133fef2606311ede28a62d" |   resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-1.1.1.tgz#ec4172c0e82a77b1f6133fef2606311ede28a62d" | ||||||
|   dependencies: |   dependencies: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user