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