Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
ac53d801a6 | |||
a75bb09d3f | |||
01f70cf1a4 | |||
f9fccd2dff |
48
package-lock.json
generated
48
package-lock.json
generated
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@pushrocks/smartupdate",
|
||||
"version": "1.0.23",
|
||||
"version": "1.0.25",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
@ -290,11 +290,11 @@
|
||||
}
|
||||
},
|
||||
"@pushrocks/smartopen": {
|
||||
"version": "1.0.21",
|
||||
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartopen/-/smartopen-1.0.21.tgz",
|
||||
"integrity": "sha512-41mMoW+ueIzKbz//bkjFodq7Wv94UT9gZhQ1NzeFfNf0SgZiFjzg/HtA3KAMqkNP6uXw3Qwq7P4r1qsIuFgbIw==",
|
||||
"version": "1.0.22",
|
||||
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartopen/-/smartopen-1.0.22.tgz",
|
||||
"integrity": "sha512-1D/i1erdcLGMMHG7KLfF0iVAZlxf664il+/XTaThQFmVSO+9LCKMdm8YZ30sIMvs9MX1Sn1IBOVhX5ApNw3BHw==",
|
||||
"requires": {
|
||||
"opn": "^6.0.0"
|
||||
"open": "^6.4.0"
|
||||
}
|
||||
},
|
||||
"@pushrocks/smartparam": {
|
||||
@ -520,7 +520,7 @@
|
||||
},
|
||||
"@types/which": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://verdaccio.lossless.one/@types%2fwhich/-/which-1.3.1.tgz",
|
||||
"resolved": "https://registry.npmjs.org/@types/which/-/which-1.3.1.tgz",
|
||||
"integrity": "sha512-ZrJDWpvg75LTGX4XwuneY9s6bF3OeZcGTpoGh3zDV9ytzcHMFsRrMIaLBRJZQMBoGyKs6unBQfVdrLZiYfb1zQ==",
|
||||
"dev": true
|
||||
},
|
||||
@ -591,13 +591,13 @@
|
||||
},
|
||||
"buffer-from": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://verdaccio.lossless.one/buffer-from/-/buffer-from-1.1.1.tgz",
|
||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
|
||||
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
|
||||
"dev": true
|
||||
},
|
||||
"builtin-modules": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://verdaccio.lossless.one/builtin-modules/-/builtin-modules-1.1.1.tgz",
|
||||
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
|
||||
"integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
|
||||
"dev": true
|
||||
},
|
||||
@ -712,7 +712,7 @@
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "1.9.3",
|
||||
"resolved": "https://verdaccio.lossless.one/color-convert/-/color-convert-1.9.3.tgz",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -721,7 +721,7 @@
|
||||
},
|
||||
"color-name": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://verdaccio.lossless.one/color-name/-/color-name-1.1.3.tgz",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
|
||||
"dev": true
|
||||
},
|
||||
@ -824,7 +824,7 @@
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://verdaccio.lossless.one/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
||||
"dev": true
|
||||
},
|
||||
@ -947,7 +947,7 @@
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://verdaccio.lossless.one/has-flag/-/has-flag-3.0.0.tgz",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
||||
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
|
||||
"dev": true
|
||||
},
|
||||
@ -996,7 +996,7 @@
|
||||
},
|
||||
"is-wsl": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
|
||||
"resolved": "https://verdaccio.lossless.one/is-wsl/-/is-wsl-1.1.0.tgz",
|
||||
"integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
|
||||
},
|
||||
"isarray": {
|
||||
@ -1006,7 +1006,7 @@
|
||||
},
|
||||
"isexe": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://verdaccio.lossless.one/isexe/-/isexe-2.0.0.tgz",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
||||
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
|
||||
"dev": true
|
||||
},
|
||||
@ -1069,7 +1069,7 @@
|
||||
},
|
||||
"make-error": {
|
||||
"version": "1.3.5",
|
||||
"resolved": "https://verdaccio.lossless.one/make-error/-/make-error-1.3.5.tgz",
|
||||
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz",
|
||||
"integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==",
|
||||
"dev": true
|
||||
},
|
||||
@ -1128,7 +1128,7 @@
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://verdaccio.lossless.one/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -1194,10 +1194,10 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"opn": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://verdaccio.lossless.one/opn/-/opn-6.0.0.tgz",
|
||||
"integrity": "sha512-I9PKfIZC+e4RXZ/qr1RhgyCnGgYX0UEIlXgWnCOVACIvFgaC9rz6Won7xbdhoHrd8IIhV7YEpHjreNUNkqCGkQ==",
|
||||
"open": {
|
||||
"version": "6.4.0",
|
||||
"resolved": "https://verdaccio.lossless.one/open/-/open-6.4.0.tgz",
|
||||
"integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==",
|
||||
"requires": {
|
||||
"is-wsl": "^1.1.0"
|
||||
}
|
||||
@ -1305,7 +1305,7 @@
|
||||
},
|
||||
"path-parse": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://verdaccio.lossless.one/path-parse/-/path-parse-1.0.6.tgz",
|
||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
|
||||
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
|
||||
"dev": true
|
||||
},
|
||||
@ -1451,7 +1451,7 @@
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://verdaccio.lossless.one/source-map/-/source-map-0.6.1.tgz",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true
|
||||
},
|
||||
@ -1597,7 +1597,7 @@
|
||||
},
|
||||
"tsutils": {
|
||||
"version": "2.29.0",
|
||||
"resolved": "https://verdaccio.lossless.one/tsutils/-/tsutils-2.29.0.tgz",
|
||||
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
|
||||
"integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -1662,7 +1662,7 @@
|
||||
},
|
||||
"which": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://verdaccio.lossless.one/which/-/which-1.3.1.tgz",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
||||
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@pushrocks/smartupdate",
|
||||
"version": "1.0.23",
|
||||
"version": "1.0.25",
|
||||
"private": false,
|
||||
"description": "update your tools in a smart way",
|
||||
"main": "dist/index.js",
|
||||
@ -25,7 +25,7 @@
|
||||
"@pushrocks/npmextra": "^3.0.5",
|
||||
"@pushrocks/smartlog": "^2.0.19",
|
||||
"@pushrocks/smartnpm": "^1.0.10",
|
||||
"@pushrocks/smartopen": "^1.0.21",
|
||||
"@pushrocks/smartopen": "^1.0.22",
|
||||
"@pushrocks/smarttime": "^3.0.12",
|
||||
"@pushrocks/smartversion": "^2.0.0"
|
||||
},
|
||||
|
29
ts/index.ts
29
ts/index.ts
@ -11,26 +11,26 @@ interface ICacheStatus {
|
||||
import { KeyValueStore } from '@pushrocks/npmextra';
|
||||
|
||||
export class SmartUpdate {
|
||||
kvStore = new plugins.npmextra.KeyValueStore('custom', 'global_smartupdate');
|
||||
public kvStore = new plugins.npmextra.KeyValueStore('custom', 'global_smartupdate');
|
||||
|
||||
async check(npmnameArg: string, compareVersion: string, changelogUrlArg?: string) {
|
||||
public async check(npmnameArg: string, compareVersion: string, changelogUrlArg?: string) {
|
||||
// the newData to write
|
||||
let timeStamp = new TimeStamp();
|
||||
let newData = {
|
||||
const timeStamp = new TimeStamp();
|
||||
const newData = {
|
||||
lastCheck: timeStamp.milliSeconds,
|
||||
latestVersion: 'x.x.x',
|
||||
performedUpgrade: false
|
||||
};
|
||||
|
||||
// the comparison data from the keyValue store
|
||||
let result: ICacheStatus = await this.kvStore.readKey(npmnameArg);
|
||||
const result: ICacheStatus = await this.kvStore.readKey(npmnameArg);
|
||||
|
||||
if (result) {
|
||||
let lastCheckTimeStamp = TimeStamp.fromMilliSeconds(result.lastCheck);
|
||||
let tresholdTime = plugins.smarttime.getMilliSecondsFromUnits({ hours: 1 });
|
||||
const lastCheckTimeStamp = TimeStamp.fromMilliSeconds(result.lastCheck);
|
||||
const tresholdTime = plugins.smarttime.getMilliSecondsFromUnits({ hours: 1 });
|
||||
if (!lastCheckTimeStamp.isOlderThan(timeStamp, tresholdTime)) {
|
||||
newData.lastCheck = lastCheckTimeStamp.milliSeconds;
|
||||
let nextCheckInMinutes =
|
||||
const nextCheckInMinutes =
|
||||
(tresholdTime - (timeStamp.milliSeconds - lastCheckTimeStamp.milliSeconds)) / 60000;
|
||||
console.log(
|
||||
`next update check in less than ${Math.floor(nextCheckInMinutes) + 1} minute(s): ` +
|
||||
@ -42,14 +42,14 @@ export class SmartUpdate {
|
||||
return;
|
||||
}
|
||||
}
|
||||
let npmPackage = await this.getNpmPackageFromRegistry(npmnameArg);
|
||||
const npmPackage = await this.getNpmPackageFromRegistry(npmnameArg);
|
||||
if (!npmPackage) {
|
||||
plugins.smartlog.defaultLogger.log('warn', 'failed to retrieve package information...');
|
||||
plugins.smartlog.defaultLogger.log('info', 'npms.io might be down');
|
||||
return;
|
||||
}
|
||||
newData.latestVersion = npmPackage.version;
|
||||
let upgradeBool = await this.checkIfUpgrade(npmPackage, compareVersion, changelogUrlArg);
|
||||
const upgradeBool = await this.checkIfUpgrade(npmPackage, compareVersion, changelogUrlArg);
|
||||
if (upgradeBool) {
|
||||
// TODO:
|
||||
}
|
||||
@ -63,9 +63,8 @@ export class SmartUpdate {
|
||||
'pink'
|
||||
)}...`
|
||||
);
|
||||
let npmRegistry = new plugins.smartnpm.NpmRegistry();
|
||||
let npmPackage: plugins.smartnpm.NpmPackage;
|
||||
npmPackage = (await npmRegistry.search({ name: npmnameArg, boostExact: true }))[0];
|
||||
const npmRegistry = new plugins.smartnpm.NpmRegistry();
|
||||
const npmPackage = (await npmRegistry.search({ name: npmnameArg, boostExact: true }))[0];
|
||||
return npmPackage;
|
||||
}
|
||||
|
||||
@ -75,8 +74,8 @@ export class SmartUpdate {
|
||||
changelogUrlArg?: string
|
||||
) {
|
||||
// create Version objects
|
||||
let versionNpm = new plugins.smartversion.SmartVersion(npmPackage.version);
|
||||
let versionLocal = new plugins.smartversion.SmartVersion(localVersionStringArg);
|
||||
const versionNpm = new plugins.smartversion.SmartVersion(npmPackage.version);
|
||||
const versionLocal = new plugins.smartversion.SmartVersion(localVersionStringArg);
|
||||
if (!versionNpm.greaterThan(versionLocal)) {
|
||||
console.log(
|
||||
`smartupdate: You are running the latest version of ${plugins.consolecolor.coloredString(
|
||||
|
Reference in New Issue
Block a user