add smartopen
This commit is contained in:
		
							
								
								
									
										4
									
								
								dist/index.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/index.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,8 +1,8 @@ | |||||||
| import { KeyValueStore } from 'npmextra'; | import { KeyValueStore } from 'npmextra'; | ||||||
| export declare class SmartUpdate { | export declare class SmartUpdate { | ||||||
|     kvStore: KeyValueStore; |     kvStore: KeyValueStore; | ||||||
|     check(npmnameArg: string, compareVersion: string): Promise<void>; |     check(npmnameArg: string, compareVersion: string, changelogUrlArg?: string): Promise<void>; | ||||||
|     private getNpmPackageFromRegistry(npmnameArg); |     private getNpmPackageFromRegistry(npmnameArg); | ||||||
|     private checkIfUpgrade(npmPackage, versionArg); |     private checkIfUpgrade(npmPackage, versionArg, changelogUrlArg?); | ||||||
| } | } | ||||||
| export declare let standardHandler: SmartUpdate; | export declare let standardHandler: SmartUpdate; | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @@ -14,7 +14,7 @@ class SmartUpdate { | |||||||
|     constructor() { |     constructor() { | ||||||
|         this.kvStore = new plugins.npmextra.KeyValueStore('custom', 'global:smartupdate'); |         this.kvStore = new plugins.npmextra.KeyValueStore('custom', 'global:smartupdate'); | ||||||
|     } |     } | ||||||
|     check(npmnameArg, compareVersion) { |     check(npmnameArg, compareVersion, changelogUrlArg) { | ||||||
|         return __awaiter(this, void 0, void 0, function* () { |         return __awaiter(this, void 0, void 0, function* () { | ||||||
|             let result = yield this.kvStore.readKey(npmnameArg); |             let result = yield this.kvStore.readKey(npmnameArg); | ||||||
|             let timeStamp = new smarttime_1.TimeStamp(); |             let timeStamp = new smarttime_1.TimeStamp(); | ||||||
| @@ -34,7 +34,7 @@ class SmartUpdate { | |||||||
|             } |             } | ||||||
|             let npmPackage = yield this.getNpmPackageFromRegistry(npmnameArg); |             let npmPackage = yield this.getNpmPackageFromRegistry(npmnameArg); | ||||||
|             newData.latestVersion = npmPackage.version; |             newData.latestVersion = npmPackage.version; | ||||||
|             let upgradeBool = yield this.checkIfUpgrade(npmPackage, compareVersion); |             let upgradeBool = yield this.checkIfUpgrade(npmPackage, compareVersion, changelogUrlArg); | ||||||
|             if (upgradeBool) { |             if (upgradeBool) { | ||||||
|             } |             } | ||||||
|             this.kvStore.writeKey(npmnameArg, newData); |             this.kvStore.writeKey(npmnameArg, newData); | ||||||
| @@ -48,7 +48,7 @@ class SmartUpdate { | |||||||
|             return npmPackage; |             return npmPackage; | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
|     checkIfUpgrade(npmPackage, versionArg) { |     checkIfUpgrade(npmPackage, versionArg, changelogUrlArg) { | ||||||
|         return __awaiter(this, void 0, void 0, function* () { |         return __awaiter(this, void 0, void 0, function* () { | ||||||
|             if (npmPackage.version === versionArg) { |             if (npmPackage.version === versionArg) { | ||||||
|                 plugins.beautylog.ok(`smartupdate: You are running the latest version of ${plugins.beautycolor.coloredString(npmPackage.name, 'pink')}`); |                 plugins.beautylog.ok(`smartupdate: You are running the latest version of ${plugins.beautycolor.coloredString(npmPackage.name, 'pink')}`); | ||||||
| @@ -56,8 +56,11 @@ class SmartUpdate { | |||||||
|             } |             } | ||||||
|             else { |             else { | ||||||
|                 plugins.beautylog.warn(`There is a newer version of ${npmPackage.name} available on npm.`); |                 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(`Your version: ${versionArg} | version on npm: ${npmPackage.version}`); | ||||||
|                 plugins.beautylog.warn(`!!! You should upgrade!!!`); |                 if (!process.env.CI && changelogUrlArg) { | ||||||
|  |                     plugins.beautylog.log('trying to open changelog...'); | ||||||
|  |                     plugins.smartopen.openUrl(changelogUrlArg); | ||||||
|  |                 } | ||||||
|                 return true; |                 return true; | ||||||
|             } |             } | ||||||
|         }); |         }); | ||||||
| @@ -65,4 +68,4 @@ class SmartUpdate { | |||||||
| } | } | ||||||
| exports.SmartUpdate = SmartUpdate; | exports.SmartUpdate = SmartUpdate; | ||||||
| exports.standardHandler = new SmartUpdate(); | exports.standardHandler = new SmartUpdate(); | ||||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsaURBQWdEO0FBRWhELHlDQUFxQztBQVVyQztJQUFBO1FBQ0UsWUFBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUE7SUErQzlFLENBQUM7SUE3Q08sS0FBSyxDQUFFLFVBQWtCLEVBQUUsY0FBc0I7O1lBQ3JELElBQUksTUFBTSxHQUFpQixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ2pFLElBQUksU0FBUyxHQUFHLElBQUkscUJBQVMsRUFBRSxDQUFBO1lBRS9CLHVCQUF1QjtZQUN2QixJQUFJLE9BQU8sR0FBRztnQkFDWixTQUFTLEVBQUUsU0FBUyxDQUFDLFlBQVk7Z0JBQ2pDLGFBQWEsRUFBRSxPQUFPO2dCQUN0QixnQkFBZ0IsRUFBRSxLQUFLO2FBQ3hCLENBQUE7WUFDRCxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNYLElBQUksa0JBQWtCLEdBQUcscUJBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7Z0JBQ3JFLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFDekUsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDNUQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMscUNBQXFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEdBQUcsVUFBVSxzQ0FBc0MsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7b0JBQzVKLE1BQU0sQ0FBQTtnQkFDUixDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ2pFLE9BQU8sQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQTtZQUMxQyxJQUFJLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFBO1lBQ3ZFLEVBQUUsQ0FBQSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFFakIsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUM1QyxDQUFDO0tBQUE7SUFFYSx5QkFBeUIsQ0FBRSxVQUFVOztZQUNqRCxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyw4Q0FBOEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUMvSCxJQUFJLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUE7WUFDcEQsSUFBSSxVQUFVLEdBQUcsQ0FBQyxNQUFNLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDdEYsTUFBTSxDQUFDLFVBQVUsQ0FBQTtRQUNuQixDQUFDO0tBQUE7SUFFYSxjQUFjLENBQUUsVUFBdUMsRUFBRSxVQUFrQjs7WUFDdkYsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUN0QyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxzREFBc0QsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7Z0JBQ3hJLE1BQU0sQ0FBQyxLQUFLLENBQUE7WUFDZCxDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ04sT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsK0JBQStCLFVBQVUsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLENBQUE7Z0JBQzFGLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixVQUFVLHNCQUFzQixVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtnQkFDN0YsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtnQkFDbkQsTUFBTSxDQUFDLElBQUksQ0FBQTtZQUNiLENBQUM7UUFDSCxDQUFDO0tBQUE7Q0FDRjtBQWhERCxrQ0FnREM7QUFDVSxRQUFBLGVBQWUsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFBIn0= | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsaURBQWdEO0FBRWhELHlDQUFxQztBQVVyQztJQUFBO1FBQ0UsWUFBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUE7SUFzRDlFLENBQUM7SUFwRE8sS0FBSyxDQUFFLFVBQWtCLEVBQUUsY0FBc0IsRUFBRSxlQUF3Qjs7WUFDL0UsSUFBSSxNQUFNLEdBQWlCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDakUsSUFBSSxTQUFTLEdBQUcsSUFBSSxxQkFBUyxFQUFFLENBQUE7WUFFL0IsdUJBQXVCO1lBQ3ZCLElBQUksT0FBTyxHQUFHO2dCQUNaLFNBQVMsRUFBRSxTQUFTLENBQUMsWUFBWTtnQkFDakMsYUFBYSxFQUFFLE9BQU87Z0JBQ3RCLGdCQUFnQixFQUFFLEtBQUs7YUFDeEIsQ0FBQTtZQUNELEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ1gsSUFBSSxrQkFBa0IsR0FBRyxxQkFBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDckUsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO2dCQUN6RSxFQUFFLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM1RCxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsR0FBRyxVQUFVLHNDQUFzQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQTtvQkFDNUosTUFBTSxDQUFBO2dCQUNSLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDakUsT0FBTyxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFBO1lBQzFDLElBQUksV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQyxDQUFBO1lBQ3hGLEVBQUUsQ0FBQSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFFakIsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUM1QyxDQUFDO0tBQUE7SUFFYSx5QkFBeUIsQ0FBRSxVQUFVOztZQUNqRCxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyw4Q0FBOEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUMvSCxJQUFJLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUE7WUFDcEQsSUFBSSxVQUFVLEdBQUcsQ0FBQyxNQUFNLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDdEYsTUFBTSxDQUFDLFVBQVUsQ0FBQTtRQUNuQixDQUFDO0tBQUE7SUFFYSxjQUFjLENBQzFCLFVBQXVDLEVBQ3ZDLFVBQWtCLEVBQ2xCLGVBQXdCOztZQUV4QixFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLHNEQUFzRCxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFDeEksTUFBTSxDQUFDLEtBQUssQ0FBQTtZQUNkLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQywrQkFBK0IsVUFBVSxDQUFDLElBQUksb0JBQW9CLENBQUMsQ0FBQTtnQkFDMUYsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLFVBQVUsc0JBQXNCLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO2dCQUM3RixFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUE7b0JBQ3BELE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO2dCQUM1QyxDQUFDO2dCQUNELE1BQU0sQ0FBQyxJQUFJLENBQUE7WUFDYixDQUFDO1FBQ0gsQ0FBQztLQUFBO0NBQ0Y7QUF2REQsa0NBdURDO0FBQ1UsUUFBQSxlQUFlLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQSJ9 | ||||||
							
								
								
									
										3
									
								
								dist/smartupdate.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								dist/smartupdate.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -3,5 +3,6 @@ import * as beautylog from 'beautylog'; | |||||||
| import * as beautycolor from 'beautycolor'; | import * as beautycolor from 'beautycolor'; | ||||||
| import * as npmextra from 'npmextra'; | import * as npmextra from 'npmextra'; | ||||||
| import * as smartnpm from 'smartnpm'; | import * as smartnpm from 'smartnpm'; | ||||||
|  | import * as smartopen from 'smartopen'; | ||||||
| import * as smarttime from 'smarttime'; | import * as smarttime from 'smarttime'; | ||||||
| export { beautylog, beautycolor, npmextra, smartnpm, smarttime }; | export { beautylog, beautycolor, npmextra, smartnpm, smartopen, smarttime }; | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								dist/smartupdate.plugins.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/smartupdate.plugins.js
									
									
									
									
										vendored
									
									
								
							| @@ -9,6 +9,8 @@ const npmextra = require("npmextra"); | |||||||
| exports.npmextra = npmextra; | exports.npmextra = npmextra; | ||||||
| const smartnpm = require("smartnpm"); | const smartnpm = require("smartnpm"); | ||||||
| exports.smartnpm = smartnpm; | exports.smartnpm = smartnpm; | ||||||
|  | const smartopen = require("smartopen"); | ||||||
|  | exports.smartopen = smartopen; | ||||||
| const smarttime = require("smarttime"); | const smarttime = require("smarttime"); | ||||||
| exports.smarttime = smarttime; | exports.smarttime = smarttime; | ||||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1cGRhdGUucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0dXBkYXRlLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBdUI7QUFFdkIsdUNBQXNDO0FBT3BDLDhCQUFTO0FBTlgsMkNBQTBDO0FBT3hDLGtDQUFXO0FBTmIscUNBQW9DO0FBT2xDLDRCQUFRO0FBTlYscUNBQW9DO0FBT2xDLDRCQUFRO0FBTlYsdUNBQXNDO0FBT3BDLDhCQUFTIn0= | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1cGRhdGUucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0dXBkYXRlLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBdUI7QUFFdkIsdUNBQXNDO0FBUXBDLDhCQUFTO0FBUFgsMkNBQTBDO0FBUXhDLGtDQUFXO0FBUGIscUNBQW9DO0FBUWxDLDRCQUFRO0FBUFYscUNBQW9DO0FBUWxDLDRCQUFRO0FBUFYsdUNBQXNDO0FBUXBDLDhCQUFTO0FBUFgsdUNBQXNDO0FBUXBDLDhCQUFTIn0= | ||||||
| @@ -17,6 +17,7 @@ | |||||||
|     "beautylog": "^6.1.10", |     "beautylog": "^6.1.10", | ||||||
|     "npmextra": "^2.0.9", |     "npmextra": "^2.0.9", | ||||||
|     "smartnpm": "^1.0.4", |     "smartnpm": "^1.0.4", | ||||||
|  |     "smartopen": "^1.0.3", | ||||||
|     "smarttime": "^1.0.6", |     "smarttime": "^1.0.6", | ||||||
|     "typings-global": "^1.0.20" |     "typings-global": "^1.0.20" | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ import { expect, tap } from 'tapbundle' | |||||||
| import * as smartupdate from '../ts/index' | import * as smartupdate from '../ts/index' | ||||||
|  |  | ||||||
| tap.test('should check for a npm module', async () => { | tap.test('should check for a npm module', async () => { | ||||||
|   await smartupdate.standardHandler.check('npmts', '8.0.5') |   await smartupdate.standardHandler.check('npmts', '8.0.5', 'http://gitzone.gitlab.io/npmts/changelog.html') | ||||||
| }) | }) | ||||||
|  |  | ||||||
| tap.start() | tap.start() | ||||||
|   | |||||||
							
								
								
									
										17
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								ts/index.ts
									
									
									
									
									
								
							| @@ -13,7 +13,7 @@ import { KeyValueStore } from 'npmextra' | |||||||
| export class SmartUpdate { | export class SmartUpdate { | ||||||
|   kvStore = new plugins.npmextra.KeyValueStore('custom', 'global:smartupdate') |   kvStore = new plugins.npmextra.KeyValueStore('custom', 'global:smartupdate') | ||||||
|  |  | ||||||
|   async check (npmnameArg: string, compareVersion: string) { |   async check (npmnameArg: string, compareVersion: string, changelogUrlArg?: string) { | ||||||
|     let result: ICacheStatus = await this.kvStore.readKey(npmnameArg) |     let result: ICacheStatus = await this.kvStore.readKey(npmnameArg) | ||||||
|     let timeStamp = new TimeStamp() |     let timeStamp = new TimeStamp() | ||||||
|  |  | ||||||
| @@ -33,7 +33,7 @@ export class SmartUpdate { | |||||||
|     } |     } | ||||||
|     let npmPackage = await this.getNpmPackageFromRegistry(npmnameArg) |     let npmPackage = await this.getNpmPackageFromRegistry(npmnameArg) | ||||||
|     newData.latestVersion = npmPackage.version |     newData.latestVersion = npmPackage.version | ||||||
|     let upgradeBool = await this.checkIfUpgrade(npmPackage, compareVersion) |     let upgradeBool = await this.checkIfUpgrade(npmPackage, compareVersion, changelogUrlArg) | ||||||
|     if(upgradeBool) { |     if(upgradeBool) { | ||||||
|        |        | ||||||
|     } |     } | ||||||
| @@ -47,14 +47,21 @@ export class SmartUpdate { | |||||||
|     return npmPackage |     return npmPackage | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   private async checkIfUpgrade (npmPackage: plugins.smartnpm.NpmPackage, versionArg: string) { |   private async checkIfUpgrade ( | ||||||
|  |     npmPackage: plugins.smartnpm.NpmPackage, | ||||||
|  |     versionArg: string, | ||||||
|  |     changelogUrlArg?: string | ||||||
|  |   ) { | ||||||
|     if (npmPackage.version === versionArg) { |     if (npmPackage.version === versionArg) { | ||||||
|       plugins.beautylog.ok(`smartupdate: You are running the latest version of ${plugins.beautycolor.coloredString(npmPackage.name, 'pink')}`) |       plugins.beautylog.ok(`smartupdate: You are running the latest version of ${plugins.beautycolor.coloredString(npmPackage.name, 'pink')}`) | ||||||
|       return false |       return false | ||||||
|     } else { |     } else { | ||||||
|       plugins.beautylog.warn(`There is a newer version of ${npmPackage.name} available on npm.`) |       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(`Your version: ${versionArg} | version on npm: ${npmPackage.version}`) | ||||||
|       plugins.beautylog.warn(`!!! You should upgrade!!!`) |       if (!process.env.CI && changelogUrlArg) { | ||||||
|  |         plugins.beautylog.log('trying to open changelog...') | ||||||
|  |         plugins.smartopen.openUrl(changelogUrlArg) | ||||||
|  |       } | ||||||
|       return true |       return true | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -4,6 +4,7 @@ import * as beautylog from 'beautylog' | |||||||
| import * as beautycolor from 'beautycolor' | import * as beautycolor from 'beautycolor' | ||||||
| import * as npmextra from 'npmextra' | import * as npmextra from 'npmextra' | ||||||
| import * as smartnpm from 'smartnpm' | import * as smartnpm from 'smartnpm' | ||||||
|  | import * as smartopen from 'smartopen' | ||||||
| import * as smarttime from 'smarttime' | import * as smarttime from 'smarttime' | ||||||
|  |  | ||||||
| export { | export { | ||||||
| @@ -11,5 +12,6 @@ export { | |||||||
|   beautycolor, |   beautycolor, | ||||||
|   npmextra, |   npmextra, | ||||||
|   smartnpm, |   smartnpm, | ||||||
|  |   smartopen, | ||||||
|   smarttime |   smarttime | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								yarn.lock
									
									
									
									
									
								
							| @@ -56,6 +56,10 @@ | |||||||
|   version "8.0.22" |   version "8.0.22" | ||||||
|   resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.22.tgz#9c6bfee1f45f5e9952ff6b487e657ecca48c7777" |   resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.22.tgz#9c6bfee1f45f5e9952ff6b487e657ecca48c7777" | ||||||
|  |  | ||||||
|  | "@types/open@^0.0.29": | ||||||
|  |   version "0.0.29" | ||||||
|  |   resolved "https://registry.yarnpkg.com/@types/open/-/open-0.0.29.tgz#3de910012674909db14d608d1fde44ffa7a9ecea" | ||||||
|  |  | ||||||
| "@types/promises-a-plus@*": | "@types/promises-a-plus@*": | ||||||
|   version "0.0.27" |   version "0.0.27" | ||||||
|   resolved "https://registry.yarnpkg.com/@types/promises-a-plus/-/promises-a-plus-0.0.27.tgz#c64651134614c84b8f5d7114ce8901d36a609780" |   resolved "https://registry.yarnpkg.com/@types/promises-a-plus/-/promises-a-plus-0.0.27.tgz#c64651134614c84b8f5d7114ce8901d36a609780" | ||||||
| @@ -495,6 +499,10 @@ onetime@^2.0.0: | |||||||
|   dependencies: |   dependencies: | ||||||
|     mimic-fn "^1.0.0" |     mimic-fn "^1.0.0" | ||||||
|  |  | ||||||
|  | open@^0.0.5: | ||||||
|  |   version "0.0.5" | ||||||
|  |   resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc" | ||||||
|  |  | ||||||
| ora@^1.1.0: | ora@^1.1.0: | ||||||
|   version "1.3.0" |   version "1.3.0" | ||||||
|   resolved "https://registry.yarnpkg.com/ora/-/ora-1.3.0.tgz#80078dd2b92a934af66a3ad72a5b910694ede51a" |   resolved "https://registry.yarnpkg.com/ora/-/ora-1.3.0.tgz#80078dd2b92a934af66a3ad72a5b910694ede51a" | ||||||
| @@ -660,6 +668,14 @@ smartnpm@^1.0.4: | |||||||
|     smartrequest "^1.0.6" |     smartrequest "^1.0.6" | ||||||
|     typings-global "^1.0.16" |     typings-global "^1.0.16" | ||||||
|  |  | ||||||
|  | smartopen@^1.0.3: | ||||||
|  |   version "1.0.3" | ||||||
|  |   resolved "https://registry.yarnpkg.com/smartopen/-/smartopen-1.0.3.tgz#11a5835b50103e09fc9702ec9a884605ad7e584d" | ||||||
|  |   dependencies: | ||||||
|  |     "@types/open" "^0.0.29" | ||||||
|  |     open "^0.0.5" | ||||||
|  |     typings-global "^1.0.20" | ||||||
|  |  | ||||||
| smartpath@^3.2.8: | smartpath@^3.2.8: | ||||||
|   version "3.2.8" |   version "3.2.8" | ||||||
|   resolved "https://registry.yarnpkg.com/smartpath/-/smartpath-3.2.8.tgz#4834bd3a8bae2295baacadba23c87a501952f940" |   resolved "https://registry.yarnpkg.com/smartpath/-/smartpath-3.2.8.tgz#4834bd3a8bae2295baacadba23c87a501952f940" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user