initial working version
This commit is contained in:
parent
2214107cff
commit
032febc02b
10
dist/index.d.ts
vendored
10
dist/index.d.ts
vendored
@ -1,2 +1,8 @@
|
||||
export declare let check: (npmname: string) => void;
|
||||
export declare let standardExport: string;
|
||||
import { KeyValueStore } from 'npmextra';
|
||||
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";
|
||||
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 });
|
||||
const plugins = require("./smartupdate.plugins");
|
||||
const smarttime_1 = require("smarttime");
|
||||
class SmartUpdate {
|
||||
constructor() {
|
||||
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 npmPackage = yield this.getNpmPackageFromRegistry(npmnameArg);
|
||||
newData.latestVersion = npmPackage.version;
|
||||
let upgradeBool = yield this.checkIfUpgrade(npmPackage, compareVersion);
|
||||
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;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
let standardInstance = new SmartUpdate();
|
||||
exports.check = standardInstance.check;
|
||||
exports.standardExport = 'Hi there! :) This is a exported string';
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlEQUFnRDtBQUVoRDtJQUFBO1FBQ0UsWUFBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUE7SUFJOUUsQ0FBQztJQUhDLEtBQUssQ0FBRSxPQUFlO0lBRXRCLENBQUM7Q0FDRjtBQUNELElBQUksZ0JBQWdCLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQTtBQUU3QixRQUFBLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUE7QUFHOUIsUUFBQSxjQUFjLEdBQUcsd0NBQXdDLENBQUEifQ==
|
||||
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 * as beautylog from 'beautylog';
|
||||
import * as npmextra from 'npmextra';
|
||||
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";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
require("typings-global");
|
||||
const beautylog = require("beautylog");
|
||||
exports.beautylog = beautylog;
|
||||
const npmextra = require("npmextra");
|
||||
exports.npmextra = npmextra;
|
||||
const smartnpm = require("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": [
|
||||
"npmts"
|
||||
]
|
||||
},
|
||||
"npmts": {
|
||||
"coverageTreshold": 50
|
||||
}
|
||||
}
|
10
package.json
10
package.json
@ -10,11 +10,13 @@
|
||||
"test": "(npmts)"
|
||||
},
|
||||
"devDependencies": {
|
||||
"tapbundle": "^1.0.13"
|
||||
"tapbundle": "^1.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"npmextra": "^2.0.8",
|
||||
"smartnpm": "^1.0.3",
|
||||
"typings-global": "^1.0.16"
|
||||
"beautylog": "^6.1.10",
|
||||
"npmextra": "^2.0.9",
|
||||
"smartnpm": "^1.0.4",
|
||||
"smarttime": "^1.0.6",
|
||||
"typings-global": "^1.0.20"
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { expect, tap } from 'tapbundle'
|
||||
import * as smartupdate from '../ts/index'
|
||||
|
||||
tap.test('first test', async () => {
|
||||
console.log(smartupdate.standardExport)
|
||||
tap.test('should check for a npm module', async () => {
|
||||
await smartupdate.standardHandler.check('npmts', '8.0.5')
|
||||
})
|
||||
|
||||
tap.start()
|
||||
|
61
ts/index.ts
61
ts/index.ts
@ -1,25 +1,62 @@
|
||||
import * as plugins from './smartupdate.plugins'
|
||||
|
||||
import { TimeStamp } from 'smarttime'
|
||||
|
||||
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')
|
||||
|
||||
async checkCacheStatus () {
|
||||
let result: ICacheStatus = await this.kvStore.read(npmname)
|
||||
if(result && result) {
|
||||
async check (npmnameArg: string, compareVersion: string) {
|
||||
let result: ICacheStatus = await this.kvStore.readKey(npmnameArg)
|
||||
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 check = standardInstance.check
|
||||
|
||||
|
||||
export let standardExport = 'Hi there! :) This is a exported string'
|
||||
export let standardHandler = new SmartUpdate()
|
||||
|
@ -1,9 +1,13 @@
|
||||
import 'typings-global'
|
||||
|
||||
import * as beautylog from 'beautylog'
|
||||
import * as npmextra from 'npmextra'
|
||||
import * as smartnpm from 'smartnpm'
|
||||
import * as smarttime from 'smarttime'
|
||||
|
||||
export {
|
||||
beautylog,
|
||||
npmextra,
|
||||
smartnpm
|
||||
smartnpm,
|
||||
smarttime
|
||||
}
|
||||
|
46
yarn.lock
46
yarn.lock
@ -34,15 +34,15 @@
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/glob@*":
|
||||
version "5.0.30"
|
||||
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.30.tgz#1026409c5625a8689074602808d082b2867b8a51"
|
||||
version "5.0.31"
|
||||
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.31.tgz#6cb8500bd170750c1948f785cc5828e9cff0c36a"
|
||||
dependencies:
|
||||
"@types/minimatch" "*"
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/lodash@4.x.x", "@types/lodash@^4.14.55", "@types/lodash@^4.14.67", "@types/lodash@^4.14.68":
|
||||
version "4.14.72"
|
||||
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.72.tgz#f090cf6eb1fee1647a0efa1ebe18b0b78ed551c6"
|
||||
version "4.14.73"
|
||||
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.73.tgz#9837e47db8643ba5bcef2c7921f37d90f9c24213"
|
||||
|
||||
"@types/minimatch@*":
|
||||
version "3.0.0"
|
||||
@ -107,11 +107,12 @@ balanced-match@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
|
||||
|
||||
beautycolor@^1.0.7:
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/beautycolor/-/beautycolor-1.0.7.tgz#a4715738ac4c8221371e9cbeb5a6cc6d11ecbf7c"
|
||||
beautycolor@^1.0.7, beautycolor@^1.0.9:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/beautycolor/-/beautycolor-1.0.10.tgz#4b50758e59115839b3bb2bfe8aaaec9e29c747dd"
|
||||
dependencies:
|
||||
ansi-256-colors "^1.1.0"
|
||||
tapbundle "^1.1.1"
|
||||
typings-global "^1.0.14"
|
||||
|
||||
beautylog@^6.1.10:
|
||||
@ -459,17 +460,17 @@ nan@^2.3.2:
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
|
||||
|
||||
npmextra@^2.0.8:
|
||||
version "2.0.8"
|
||||
resolved "https://registry.yarnpkg.com/npmextra/-/npmextra-2.0.8.tgz#9fd3c451edee5a65da0e61df331be6f2313f4676"
|
||||
npmextra@^2.0.9:
|
||||
version "2.0.9"
|
||||
resolved "https://registry.yarnpkg.com/npmextra/-/npmextra-2.0.9.tgz#bd32b91590a8b3e2eabdfed26c324a1952758c2c"
|
||||
dependencies:
|
||||
beautylog "^6.1.10"
|
||||
smartfile "^4.2.17"
|
||||
smartfile "^4.2.20"
|
||||
smartlodash "^1.0.1"
|
||||
smartpath "^3.2.8"
|
||||
smartq "^1.1.6"
|
||||
taskbuffer "^1.0.22"
|
||||
typings-global "^1.0.19"
|
||||
typings-global "^1.0.20"
|
||||
|
||||
object-keys@^1.0.8:
|
||||
version "1.0.11"
|
||||
@ -550,8 +551,8 @@ rechoir@^0.6.2:
|
||||
resolve "^1.1.6"
|
||||
|
||||
remove-trailing-separator@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz#69b062d978727ad14dc6b56ba4ab772fd8d70511"
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
|
||||
|
||||
replace-ext@^1.0.0:
|
||||
version "1.0.0"
|
||||
@ -626,7 +627,7 @@ smartenv@^2.0.0:
|
||||
smartq "^1.1.1"
|
||||
typings-global "^1.0.14"
|
||||
|
||||
smartfile@^4.2.17:
|
||||
smartfile@^4.2.20:
|
||||
version "4.2.20"
|
||||
resolved "https://registry.yarnpkg.com/smartfile/-/smartfile-4.2.20.tgz#abc37c04fb7b3afea68fa295dfb80083361a8028"
|
||||
dependencies:
|
||||
@ -650,10 +651,11 @@ smartlodash@^1.0.1:
|
||||
"@types/node" "^8.0.10"
|
||||
lodash "^4.17.4"
|
||||
|
||||
smartnpm@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/smartnpm/-/smartnpm-1.0.3.tgz#62efa486d92f21d1299209ced5557e0796beccbd"
|
||||
smartnpm@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/smartnpm/-/smartnpm-1.0.4.tgz#026ce3b3f3b46ec546de51908a0d408848466c0d"
|
||||
dependencies:
|
||||
beautycolor "^1.0.9"
|
||||
beautylog "^6.1.10"
|
||||
smartrequest "^1.0.6"
|
||||
typings-global "^1.0.16"
|
||||
@ -690,6 +692,12 @@ smartshell@^1.0.6:
|
||||
typings-global "^1.0.19"
|
||||
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:
|
||||
version "1.0.3"
|
||||
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"
|
||||
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"
|
||||
resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-1.1.1.tgz#ec4172c0e82a77b1f6133fef2606311ede28a62d"
|
||||
dependencies:
|
||||
|
Loading…
Reference in New Issue
Block a user