Compare commits
37 Commits
Author | SHA1 | Date | |
---|---|---|---|
111ef1fe44 | |||
97b285be5c | |||
cc659a57f7 | |||
f5cb86b53e | |||
207f1e9d51 | |||
750b029ef8 | |||
710fd5ec2e | |||
d1315392a1 | |||
cf894d9e82 | |||
1da4e08ed2 | |||
66546a8b17 | |||
3c3275ece5 | |||
d43fbe6de6 | |||
16fd8be8be | |||
297e65ebe5 | |||
a5c019419b | |||
815694dd8b | |||
083786795e | |||
284f4753e0 | |||
335e9160a6 | |||
94c22b65e5 | |||
f1d07f968d | |||
ac53d801a6 | |||
a75bb09d3f | |||
01f70cf1a4 | |||
f9fccd2dff | |||
3fb0203bae | |||
5e7a5f26d4 | |||
51c0cdcd13 | |||
1622a30e05 | |||
429a8d1098 | |||
7bfdb8db5e | |||
bff9bafee4 | |||
7b3afa9d5a | |||
c0088699b8 | |||
6d5a463867 | |||
b54c13009d |
17
.gitignore
vendored
17
.gitignore
vendored
@ -1,5 +1,20 @@
|
|||||||
.nogit/
|
.nogit/
|
||||||
node_modules/
|
|
||||||
|
# artifacts
|
||||||
coverage/
|
coverage/
|
||||||
public/
|
public/
|
||||||
pages/
|
pages/
|
||||||
|
|
||||||
|
# installs
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
# caches
|
||||||
|
.yarn/
|
||||||
|
.cache/
|
||||||
|
.rpt2_cache
|
||||||
|
|
||||||
|
# builds
|
||||||
|
dist/
|
||||||
|
dist_*/
|
||||||
|
|
||||||
|
# custom
|
142
.gitlab-ci.yml
142
.gitlab-ci.yml
@ -1,16 +1,19 @@
|
|||||||
# gitzone standard
|
# gitzone ci_default
|
||||||
image: hosttoday/ht-docker-node:npmci
|
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
paths:
|
paths:
|
||||||
- .yarn/
|
- .npmci_cache/
|
||||||
key: "$CI_BUILD_STAGE"
|
key: '$CI_BUILD_STAGE'
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- security
|
- security
|
||||||
- test
|
- test
|
||||||
- release
|
- release
|
||||||
- metadata
|
- metadata
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- npm install -g @shipzone/npmci
|
||||||
|
|
||||||
# ====================
|
# ====================
|
||||||
# security stage
|
# security stage
|
||||||
@ -18,108 +21,114 @@ stages:
|
|||||||
mirror:
|
mirror:
|
||||||
stage: security
|
stage: security
|
||||||
script:
|
script:
|
||||||
- npmci git mirror
|
- npmci git mirror
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- lossless
|
||||||
- notpriv
|
- docker
|
||||||
|
- notpriv
|
||||||
|
|
||||||
snyk:
|
auditProductionDependencies:
|
||||||
|
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
||||||
stage: security
|
stage: security
|
||||||
script:
|
script:
|
||||||
- npmci command yarn global add snyk
|
- npmci npm prepare
|
||||||
- npmci command yarn install --ignore-scripts
|
- npmci command npm install --production --ignore-scripts
|
||||||
- npmci command snyk test
|
- npmci command npm config set registry https://registry.npmjs.org
|
||||||
|
- npmci command npm audit --audit-level=high --only=prod --production
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
- notpriv
|
allow_failure: true
|
||||||
|
|
||||||
|
auditDevDependencies:
|
||||||
|
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
||||||
|
stage: security
|
||||||
|
script:
|
||||||
|
- npmci npm prepare
|
||||||
|
- npmci command npm install --ignore-scripts
|
||||||
|
- npmci command npm config set registry https://registry.npmjs.org
|
||||||
|
- npmci command npm audit --audit-level=high --only=dev
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
# ====================
|
# ====================
|
||||||
# test stage
|
# test stage
|
||||||
# ====================
|
# ====================
|
||||||
testLEGACY:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npmci node install legacy
|
|
||||||
- npmci npm install
|
|
||||||
- npmci npm test
|
|
||||||
coverage: /\d+.?\d+?\%\s*coverage/
|
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
- notpriv
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
testLTS:
|
testStable:
|
||||||
stage: test
|
stage: test
|
||||||
script:
|
script:
|
||||||
- npmci node install lts
|
- npmci npm prepare
|
||||||
- npmci npm install
|
- npmci node install stable
|
||||||
- npmci npm test
|
- npmci npm install
|
||||||
|
- npmci npm test
|
||||||
coverage: /\d+.?\d+?\%\s*coverage/
|
coverage: /\d+.?\d+?\%\s*coverage/
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
- notpriv
|
|
||||||
|
|
||||||
testSTABLE:
|
testBuild:
|
||||||
stage: test
|
stage: test
|
||||||
script:
|
script:
|
||||||
- npmci node install stable
|
- npmci npm prepare
|
||||||
- npmci npm install
|
- npmci node install stable
|
||||||
- npmci npm test
|
- npmci npm install
|
||||||
|
- npmci command npm run build
|
||||||
coverage: /\d+.?\d+?\%\s*coverage/
|
coverage: /\d+.?\d+?\%\s*coverage/
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
- notpriv
|
|
||||||
|
|
||||||
release:
|
release:
|
||||||
stage: release
|
stage: release
|
||||||
script:
|
script:
|
||||||
- npmci node install stable
|
- npmci node install stable
|
||||||
- npmci npm publish
|
- npmci npm publish
|
||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- lossless
|
||||||
- notpriv
|
- docker
|
||||||
|
- notpriv
|
||||||
|
|
||||||
# ====================
|
# ====================
|
||||||
# metadata stage
|
# metadata stage
|
||||||
# ====================
|
# ====================
|
||||||
codequality:
|
codequality:
|
||||||
stage: metadata
|
stage: metadata
|
||||||
image: docker:stable
|
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
services:
|
only:
|
||||||
- docker:stable-dind
|
- tags
|
||||||
script:
|
script:
|
||||||
- export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
|
- npmci command npm install -g typescript
|
||||||
- docker run
|
- npmci npm prepare
|
||||||
--env SOURCE_CODE="$PWD"
|
- npmci npm install
|
||||||
--volume "$PWD":/code
|
|
||||||
--volume /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
"registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code
|
|
||||||
artifacts:
|
|
||||||
paths: [codeclimate.json]
|
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- lossless
|
||||||
- priv
|
- docker
|
||||||
|
- priv
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
stage: metadata
|
stage: metadata
|
||||||
script:
|
script:
|
||||||
- npmci trigger
|
- npmci trigger
|
||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- lossless
|
||||||
- notpriv
|
- docker
|
||||||
|
- notpriv
|
||||||
|
|
||||||
pages:
|
pages:
|
||||||
image: hosttoday/ht-docker-node:npmci
|
|
||||||
stage: metadata
|
stage: metadata
|
||||||
script:
|
script:
|
||||||
- npmci command yarn global add npmpage
|
- npmci node install lts
|
||||||
- npmci command npmpage
|
- npmci command npm install -g @gitzone/tsdoc
|
||||||
|
- npmci npm prepare
|
||||||
|
- npmci npm install
|
||||||
|
- npmci command tsdoc
|
||||||
tags:
|
tags:
|
||||||
|
- lossless
|
||||||
- docker
|
- docker
|
||||||
- notpriv
|
- notpriv
|
||||||
only:
|
only:
|
||||||
@ -127,4 +136,5 @@ pages:
|
|||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 1 week
|
expire_in: 1 week
|
||||||
paths:
|
paths:
|
||||||
- public
|
- public
|
||||||
|
allow_failure: true
|
||||||
|
11
.vscode/launch.json
vendored
Normal file
11
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"command": "npm test",
|
||||||
|
"name": "Run npm test",
|
||||||
|
"request": "launch",
|
||||||
|
"type": "node-terminal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
26
.vscode/settings.json
vendored
Normal file
26
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"json.schemas": [
|
||||||
|
{
|
||||||
|
"fileMatch": ["/npmextra.json"],
|
||||||
|
"schema": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"npmci": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "settings for npmci"
|
||||||
|
},
|
||||||
|
"gitzone": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "settings for gitzone",
|
||||||
|
"properties": {
|
||||||
|
"projectType": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": ["website", "element", "service", "npm", "wcc"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
8
dist/index.d.ts
vendored
8
dist/index.d.ts
vendored
@ -1,8 +0,0 @@
|
|||||||
import * as plugins from './smartupdate.plugins';
|
|
||||||
export declare class SmartUpdate {
|
|
||||||
kvStore: plugins.npmextra.KeyValueStore;
|
|
||||||
check(npmnameArg: string, compareVersion: string, changelogUrlArg?: string): Promise<void>;
|
|
||||||
private getNpmPackageFromRegistry(npmnameArg);
|
|
||||||
private checkIfUpgrade(npmPackage, localVersionStringArg, changelogUrlArg?);
|
|
||||||
}
|
|
||||||
export declare let standardHandler: SmartUpdate;
|
|
85
dist/index.js
vendored
85
dist/index.js
vendored
@ -1,85 +0,0 @@
|
|||||||
"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(npmnameArg, compareVersion, changelogUrlArg) {
|
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
|
||||||
// the newData to write
|
|
||||||
let timeStamp = new smarttime_1.TimeStamp();
|
|
||||||
let newData = {
|
|
||||||
lastCheck: timeStamp.milliSeconds,
|
|
||||||
latestVersion: 'x.x.x',
|
|
||||||
performedUpgrade: false
|
|
||||||
};
|
|
||||||
// the comparison data from the keyValue store
|
|
||||||
let result = yield this.kvStore.readKey(npmnameArg);
|
|
||||||
if (result) {
|
|
||||||
let lastCheckTimeStamp = smarttime_1.TimeStamp.fromMilliSeconds(result.lastCheck);
|
|
||||||
let tresholdTime = plugins.smarttime.getMilliSecondsFromUnits({ hours: 1 });
|
|
||||||
if (!lastCheckTimeStamp.isOlderThan(timeStamp, tresholdTime)) {
|
|
||||||
newData.lastCheck = lastCheckTimeStamp.milliSeconds;
|
|
||||||
let nextCheckInMinutes = (tresholdTime - (timeStamp.milliSeconds - lastCheckTimeStamp.milliSeconds)) / 60000;
|
|
||||||
plugins.beautylog.log(`next update check in less than ${Math.floor(nextCheckInMinutes) + 1} minute(s): ` +
|
|
||||||
`${plugins.beautycolor.coloredString(`${npmnameArg} has already been checked within the last hour.`, 'pink')}`);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let npmPackage = yield this.getNpmPackageFromRegistry(npmnameArg);
|
|
||||||
if (!npmPackage) {
|
|
||||||
plugins.beautylog.warn('failed to retrieve package information...');
|
|
||||||
plugins.beautylog.info('npms.io might be down');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
newData.latestVersion = npmPackage.version;
|
|
||||||
let upgradeBool = yield this.checkIfUpgrade(npmPackage, compareVersion, changelogUrlArg);
|
|
||||||
if (upgradeBool) {
|
|
||||||
// TODO:
|
|
||||||
}
|
|
||||||
this.kvStore.writeKey(npmnameArg, newData);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
getNpmPackageFromRegistry(npmnameArg) {
|
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
|
||||||
plugins.beautylog.log(`smartupdate: checking for newer version of ${plugins.beautycolor.coloredString(npmnameArg, 'pink')}...`);
|
|
||||||
let npmRegistry = new plugins.smartnpm.NpmRegistry();
|
|
||||||
let npmPackage;
|
|
||||||
npmPackage = (yield npmRegistry.search({ name: npmnameArg, boostExact: true }))[0];
|
|
||||||
return npmPackage;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
checkIfUpgrade(npmPackage, localVersionStringArg, changelogUrlArg) {
|
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
|
||||||
// create Version objects
|
|
||||||
let versionNpm = new plugins.smartversion.SmartVersion(npmPackage.version);
|
|
||||||
let versionLocal = new plugins.smartversion.SmartVersion(localVersionStringArg);
|
|
||||||
if (!versionNpm.greaterThan(versionLocal)) {
|
|
||||||
plugins.beautylog.ok(`smartupdate: You are running the latest version of ${plugins.beautycolor.coloredString(npmPackage.name, 'pink')}`);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
plugins.beautylog.warn(`There is a newer version of ${npmPackage.name} available on npm.`);
|
|
||||||
plugins.beautylog.warn(`Your version: ${versionLocal.versionString} | version on npm: ${versionNpm.versionString}`);
|
|
||||||
if (!process.env.CI && changelogUrlArg) {
|
|
||||||
plugins.beautylog.log('trying to open changelog...');
|
|
||||||
plugins.smartopen.openUrl(changelogUrlArg);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.SmartUpdate = SmartUpdate;
|
|
||||||
exports.standardHandler = new SmartUpdate();
|
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsaURBQWlEO0FBRWpELHlDQUFzQztBQVV0QztJQUFBO1FBQ0UsWUFBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFzRi9FLENBQUM7SUFwRk8sS0FBSyxDQUFDLFVBQWtCLEVBQUUsY0FBc0IsRUFBRSxlQUF3Qjs7WUFDOUUsdUJBQXVCO1lBQ3ZCLElBQUksU0FBUyxHQUFHLElBQUkscUJBQVMsRUFBRSxDQUFDO1lBQ2hDLElBQUksT0FBTyxHQUFHO2dCQUNaLFNBQVMsRUFBRSxTQUFTLENBQUMsWUFBWTtnQkFDakMsYUFBYSxFQUFFLE9BQU87Z0JBQ3RCLGdCQUFnQixFQUFFLEtBQUs7YUFDeEIsQ0FBQztZQUVGLDhDQUE4QztZQUM5QyxJQUFJLE1BQU0sR0FBaUIsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVsRSxJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFJLGtCQUFrQixHQUFHLHFCQUFTLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN0RSxJQUFJLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzVFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxFQUFFO29CQUM1RCxPQUFPLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQztvQkFDcEQsSUFBSSxrQkFBa0IsR0FDcEIsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUN0RixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FDbkIsa0NBQWtDLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGNBQWM7d0JBQ2hGLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQ2xDLEdBQUcsVUFBVSxpREFBaUQsRUFDOUQsTUFBTSxDQUNQLEVBQUUsQ0FDTixDQUFDO29CQUNGLE9BQU87aUJBQ1I7YUFDRjtZQUNELElBQUksVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2YsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsMkNBQTJDLENBQUMsQ0FBQztnQkFDcEUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFDaEQsT0FBTzthQUNSO1lBQ0QsT0FBTyxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzNDLElBQUksV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQ3pGLElBQUksV0FBVyxFQUFFO2dCQUNmLFFBQVE7YUFDVDtZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3QyxDQUFDO0tBQUE7SUFFYSx5QkFBeUIsQ0FBQyxVQUFVOztZQUNoRCxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FDbkIsOENBQThDLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUM3RSxVQUFVLEVBQ1YsTUFBTSxDQUNQLEtBQUssQ0FDUCxDQUFDO1lBQ0YsSUFBSSxXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JELElBQUksVUFBdUMsQ0FBQztZQUM1QyxVQUFVLEdBQUcsQ0FBQyxNQUFNLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkYsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztLQUFBO0lBRWEsY0FBYyxDQUMxQixVQUF1QyxFQUN2QyxxQkFBNkIsRUFDN0IsZUFBd0I7O1lBRXhCLHlCQUF5QjtZQUN6QixJQUFJLFVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRSxJQUFJLFlBQVksR0FBRyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQ3pDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUNsQixzREFBc0QsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQ3JGLFVBQVUsQ0FBQyxJQUFJLEVBQ2YsTUFBTSxDQUNQLEVBQUUsQ0FDSixDQUFDO2dCQUNGLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsK0JBQStCLFVBQVUsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLENBQUM7Z0JBQzNGLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNwQixpQkFBaUIsWUFBWSxDQUFDLGFBQWEsc0JBQXNCLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FDNUYsQ0FBQztnQkFDRixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksZUFBZSxFQUFFO29CQUN0QyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO29CQUNyRCxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztpQkFDNUM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtDQUNGO0FBdkZELGtDQXVGQztBQUNVLFFBQUEsZUFBZSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMifQ==
|
|
8
dist/smartupdate.plugins.d.ts
vendored
8
dist/smartupdate.plugins.d.ts
vendored
@ -1,8 +0,0 @@
|
|||||||
import * as beautylog from 'beautylog';
|
|
||||||
import * as beautycolor from 'beautycolor';
|
|
||||||
import * as npmextra from 'npmextra';
|
|
||||||
import * as smartnpm from 'smartnpm';
|
|
||||||
import * as smartopen from '@pushrocks/smartopen';
|
|
||||||
import * as smarttime from 'smarttime';
|
|
||||||
import * as smartversion from 'smartversion';
|
|
||||||
export { beautylog, beautycolor, npmextra, smartnpm, smartopen, smarttime, smartversion };
|
|
17
dist/smartupdate.plugins.js
vendored
17
dist/smartupdate.plugins.js
vendored
@ -1,17 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
const beautylog = require("beautylog");
|
|
||||||
exports.beautylog = beautylog;
|
|
||||||
const beautycolor = require("beautycolor");
|
|
||||||
exports.beautycolor = beautycolor;
|
|
||||||
const npmextra = require("npmextra");
|
|
||||||
exports.npmextra = npmextra;
|
|
||||||
const smartnpm = require("smartnpm");
|
|
||||||
exports.smartnpm = smartnpm;
|
|
||||||
const smartopen = require("@pushrocks/smartopen");
|
|
||||||
exports.smartopen = smartopen;
|
|
||||||
const smarttime = require("smarttime");
|
|
||||||
exports.smarttime = smarttime;
|
|
||||||
const smartversion = require("smartversion");
|
|
||||||
exports.smartversion = smartversion;
|
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1cGRhdGUucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0dXBkYXRlLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx1Q0FBdUM7QUFROUIsOEJBQVM7QUFQbEIsMkNBQTJDO0FBT3ZCLGtDQUFXO0FBTi9CLHFDQUFxQztBQU1KLDRCQUFRO0FBTHpDLHFDQUFxQztBQUtNLDRCQUFRO0FBSm5ELGtEQUFrRDtBQUlHLDhCQUFTO0FBSDlELHVDQUF1QztBQUd5Qiw4QkFBUztBQUZ6RSw2Q0FBNkM7QUFFOEIsb0NBQVkifQ==
|
|
@ -1,33 +0,0 @@
|
|||||||
# smartupdate
|
|
||||||
|
|
||||||
update your tools in a smart way
|
|
||||||
|
|
||||||
## Availabililty
|
|
||||||
|
|
||||||
[](https://www.npmjs.com/package/smartupdate)
|
|
||||||
[](https://GitLab.com/pushrocks/smartupdate)
|
|
||||||
[](https://github.com/pushrocks/smartupdate)
|
|
||||||
[](https://pushrocks.gitlab.io/smartupdate/)
|
|
||||||
|
|
||||||
## Status for master
|
|
||||||
|
|
||||||
[](https://GitLab.com/pushrocks/smartupdate/commits/master)
|
|
||||||
[](https://GitLab.com/pushrocks/smartupdate/commits/master)
|
|
||||||
[](https://www.npmjs.com/package/smartupdate)
|
|
||||||
[](https://david-dm.org/pushrocks/smartupdate)
|
|
||||||
[](https://www.bithound.io/github/pushrocks/smartupdate/master/dependencies/npm)
|
|
||||||
[](https://www.bithound.io/github/pushrocks/smartupdate)
|
|
||||||
[](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
|
||||||
[](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
|
||||||
[](http://standardjs.com/)
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
Use TypeScript for best in class instellisense.
|
|
||||||
|
|
||||||
For further information read the linked docs at the top of this README.
|
|
||||||
|
|
||||||
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
|
||||||
> | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
|
|
||||||
|
|
||||||
[](https://push.rocks)
|
|
@ -1,11 +1,17 @@
|
|||||||
{
|
{
|
||||||
"npmci": {
|
"npmci": {
|
||||||
"npmGlobalTools": [
|
"npmGlobalTools": [],
|
||||||
"npmts"
|
|
||||||
],
|
|
||||||
"npmAccessLevel": "public"
|
"npmAccessLevel": "public"
|
||||||
},
|
},
|
||||||
"npmts": {
|
"gitzone": {
|
||||||
"coverageTreshold": 50
|
"projectType": "npm",
|
||||||
|
"module": {
|
||||||
|
"githost": "gitlab.com",
|
||||||
|
"gitscope": "pushrocks",
|
||||||
|
"gitrepo": "smartupdate",
|
||||||
|
"description": "update your tools in a smart way",
|
||||||
|
"npmPackagename": "@pushrocks/smartupdate",
|
||||||
|
"license": "MIT"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
13585
package-lock.json
generated
Normal file
13585
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
48
package.json
48
package.json
@ -1,25 +1,45 @@
|
|||||||
{
|
{
|
||||||
"name": "@pushrocks/smartupdate",
|
"name": "@pushrocks/smartupdate",
|
||||||
"version": "1.0.17",
|
"version": "2.0.4",
|
||||||
|
"private": false,
|
||||||
"description": "update your tools in a smart way",
|
"description": "update your tools in a smart way",
|
||||||
"main": "dist/index.js",
|
"main": "dist_ts/index.js",
|
||||||
"typings": "dist/index.d.ts",
|
"typings": "dist_ts/index.d.ts",
|
||||||
|
"type": "module",
|
||||||
"author": "Lossless GmbH",
|
"author": "Lossless GmbH",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "(npmts)",
|
"test": "(tstest test/)",
|
||||||
"build": "(npmts)"
|
"build": "(tsbuild --web --allowimplicitany)"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"tapbundle": "^2.0.0"
|
"@gitzone/tsbuild": "^2.1.63",
|
||||||
|
"@gitzone/tsrun": "^1.2.34",
|
||||||
|
"@gitzone/tstest": "^1.0.71",
|
||||||
|
"@pushrocks/tapbundle": "^5.0.3",
|
||||||
|
"@types/node": "^17.0.38"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@pushrocks/smartopen": "^1.0.7",
|
"@pushrocks/consolecolor": "^2.0.1",
|
||||||
"beautycolor": "^1.0.11",
|
"@pushrocks/npmextra": "^3.0.9",
|
||||||
"beautylog": "^6.1.10",
|
"@pushrocks/smartnpm": "^2.0.0",
|
||||||
"npmextra": "^2.0.9",
|
"@pushrocks/smartopen": "^2.0.0",
|
||||||
"smartnpm": "^1.0.6",
|
"@pushrocks/smarttime": "^3.0.45",
|
||||||
"smarttime": "^2.0.0",
|
"@pushrocks/smartversion": "^3.0.2"
|
||||||
"smartversion": "^1.0.3"
|
},
|
||||||
}
|
"files": [
|
||||||
|
"ts/**/*",
|
||||||
|
"ts_web/**/*",
|
||||||
|
"dist/**/*",
|
||||||
|
"dist_*/**/*",
|
||||||
|
"dist_ts/**/*",
|
||||||
|
"dist_ts_web/**/*",
|
||||||
|
"assets/**/*",
|
||||||
|
"cli.js",
|
||||||
|
"npmextra.json",
|
||||||
|
"readme.md"
|
||||||
|
],
|
||||||
|
"browserslist": [
|
||||||
|
"last 1 chrome versions"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
46
readme.md
46
readme.md
@ -1,25 +1,27 @@
|
|||||||
# smartupdate
|
# @pushrocks/smartupdate
|
||||||
|
|
||||||
update your tools in a smart way
|
update your tools in a smart way
|
||||||
|
|
||||||
## Availabililty
|
## Availabililty and Links
|
||||||
|
* [npmjs.org (npm package)](https://www.npmjs.com/package/@pushrocks/smartupdate)
|
||||||
[](https://www.npmjs.com/package/smartupdate)
|
* [gitlab.com (source)](https://gitlab.com/pushrocks/smartupdate)
|
||||||
[](https://GitLab.com/pushrocks/smartupdate)
|
* [github.com (source mirror)](https://github.com/pushrocks/smartupdate)
|
||||||
[](https://github.com/pushrocks/smartupdate)
|
* [docs (typedoc)](https://pushrocks.gitlab.io/smartupdate/)
|
||||||
[](https://pushrocks.gitlab.io/smartupdate/)
|
|
||||||
|
|
||||||
## Status for master
|
## Status for master
|
||||||
|
|
||||||
[](https://GitLab.com/pushrocks/smartupdate/commits/master)
|
Status Category | Status Badge
|
||||||
[](https://GitLab.com/pushrocks/smartupdate/commits/master)
|
-- | --
|
||||||
[](https://www.npmjs.com/package/smartupdate)
|
GitLab Pipelines | [](https://lossless.cloud)
|
||||||
[](https://david-dm.org/pushrocks/smartupdate)
|
GitLab Pipline Test Coverage | [](https://lossless.cloud)
|
||||||
[](https://www.bithound.io/github/pushrocks/smartupdate/master/dependencies/npm)
|
npm | [](https://lossless.cloud)
|
||||||
[](https://www.bithound.io/github/pushrocks/smartupdate)
|
Snyk | [](https://lossless.cloud)
|
||||||
[](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
TypeScript Support | [](https://lossless.cloud)
|
||||||
[](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
node Support | [](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
||||||
[](http://standardjs.com/)
|
Code Style | [](https://lossless.cloud)
|
||||||
|
PackagePhobia (total standalone install weight) | [](https://lossless.cloud)
|
||||||
|
PackagePhobia (package size on registry) | [](https://lossless.cloud)
|
||||||
|
BundlePhobia (total size when bundled) | [](https://lossless.cloud)
|
||||||
|
Platform support | [](https://lossless.cloud) [](https://lossless.cloud)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@ -39,9 +41,13 @@ await smartupdate.standardHandler.check(
|
|||||||
);
|
);
|
||||||
```
|
```
|
||||||
|
|
||||||
For further information read the linked docs at the top of this README.
|
## Contribution
|
||||||
|
|
||||||
|
We are always happy for code contributions. If you are not the code contributing type that is ok. Still, maintaining Open Source repositories takes considerable time and thought. If you like the quality of what we do and our modules are useful to you we would appreciate a little monthly contribution: You can [contribute one time](https://lossless.link/contribute-onetime) or [contribute monthly](https://lossless.link/contribute). :)
|
||||||
|
|
||||||
|
For further information read the linked docs at the top of this readme.
|
||||||
|
|
||||||
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
||||||
> | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
|
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy)
|
||||||
|
|
||||||
[](https://push.rocks)
|
[](https://maintainedby.lossless.com)
|
||||||
|
17
test/test.ts
17
test/test.ts
@ -1,12 +1,15 @@
|
|||||||
import { expect, tap } from 'tapbundle';
|
import { expect, tap } from '@pushrocks/tapbundle';
|
||||||
import * as smartupdate from '../ts/index';
|
import * as smartupdate from '../ts/index.js';
|
||||||
|
|
||||||
|
let testSmartUpdate: smartupdate.SmartUpdate;
|
||||||
|
|
||||||
|
tap.test('should create an instance of SmartUpdate', async () => {
|
||||||
|
testSmartUpdate = new smartupdate.SmartUpdate();
|
||||||
|
});
|
||||||
|
|
||||||
tap.test('should check for a npm module', async () => {
|
tap.test('should check for a npm module', async () => {
|
||||||
await smartupdate.standardHandler.check(
|
const result = await testSmartUpdate.check('lodash', '1.0.5');
|
||||||
'lodash',
|
expect(result).toBeTrue();
|
||||||
'1.0.5',
|
|
||||||
'http://gitzone.gitlab.io/npmts/changelog.html'
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.start();
|
tap.start();
|
||||||
|
8
ts/00_commitinfo_data.ts
Normal file
8
ts/00_commitinfo_data.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/**
|
||||||
|
* autocreated commitinfo by @pushrocks/commitinfo
|
||||||
|
*/
|
||||||
|
export const commitinfo = {
|
||||||
|
name: '@pushrocks/smartupdate',
|
||||||
|
version: '2.0.4',
|
||||||
|
description: 'update your tools in a smart way'
|
||||||
|
}
|
102
ts/index.ts
102
ts/index.ts
@ -1,101 +1 @@
|
|||||||
import * as plugins from './smartupdate.plugins';
|
export { SmartUpdate } from './smartupdate.classes.smartupdate.js';
|
||||||
|
|
||||||
import { TimeStamp } from 'smarttime';
|
|
||||||
|
|
||||||
interface ICacheStatus {
|
|
||||||
lastCheck: number;
|
|
||||||
latestVersion: string;
|
|
||||||
performedUpgrade: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
import { KeyValueStore } from 'npmextra';
|
|
||||||
|
|
||||||
export class SmartUpdate {
|
|
||||||
kvStore = new plugins.npmextra.KeyValueStore('custom', 'global_smartupdate');
|
|
||||||
|
|
||||||
async check(npmnameArg: string, compareVersion: string, changelogUrlArg?: string) {
|
|
||||||
// the newData to write
|
|
||||||
let timeStamp = new TimeStamp();
|
|
||||||
let 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);
|
|
||||||
|
|
||||||
if (result) {
|
|
||||||
let lastCheckTimeStamp = TimeStamp.fromMilliSeconds(result.lastCheck);
|
|
||||||
let tresholdTime = plugins.smarttime.getMilliSecondsFromUnits({ hours: 1 });
|
|
||||||
if (!lastCheckTimeStamp.isOlderThan(timeStamp, tresholdTime)) {
|
|
||||||
newData.lastCheck = lastCheckTimeStamp.milliSeconds;
|
|
||||||
let nextCheckInMinutes =
|
|
||||||
(tresholdTime - (timeStamp.milliSeconds - lastCheckTimeStamp.milliSeconds)) / 60000;
|
|
||||||
plugins.beautylog.log(
|
|
||||||
`next update check in less than ${Math.floor(nextCheckInMinutes) + 1} minute(s): ` +
|
|
||||||
`${plugins.beautycolor.coloredString(
|
|
||||||
`${npmnameArg} has already been checked within the last hour.`,
|
|
||||||
'pink'
|
|
||||||
)}`
|
|
||||||
);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let npmPackage = await this.getNpmPackageFromRegistry(npmnameArg);
|
|
||||||
if (!npmPackage) {
|
|
||||||
plugins.beautylog.warn('failed to retrieve package information...');
|
|
||||||
plugins.beautylog.info('npms.io might be down');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
newData.latestVersion = npmPackage.version;
|
|
||||||
let upgradeBool = await this.checkIfUpgrade(npmPackage, compareVersion, changelogUrlArg);
|
|
||||||
if (upgradeBool) {
|
|
||||||
// TODO:
|
|
||||||
}
|
|
||||||
this.kvStore.writeKey(npmnameArg, newData);
|
|
||||||
}
|
|
||||||
|
|
||||||
private async getNpmPackageFromRegistry(npmnameArg): Promise<plugins.smartnpm.NpmPackage> {
|
|
||||||
plugins.beautylog.log(
|
|
||||||
`smartupdate: checking for newer version of ${plugins.beautycolor.coloredString(
|
|
||||||
npmnameArg,
|
|
||||||
'pink'
|
|
||||||
)}...`
|
|
||||||
);
|
|
||||||
let npmRegistry = new plugins.smartnpm.NpmRegistry();
|
|
||||||
let npmPackage: plugins.smartnpm.NpmPackage;
|
|
||||||
npmPackage = (await npmRegistry.search({ name: npmnameArg, boostExact: true }))[0];
|
|
||||||
return npmPackage;
|
|
||||||
}
|
|
||||||
|
|
||||||
private async checkIfUpgrade(
|
|
||||||
npmPackage: plugins.smartnpm.NpmPackage,
|
|
||||||
localVersionStringArg: string,
|
|
||||||
changelogUrlArg?: string
|
|
||||||
) {
|
|
||||||
// create Version objects
|
|
||||||
let versionNpm = new plugins.smartversion.SmartVersion(npmPackage.version);
|
|
||||||
let versionLocal = new plugins.smartversion.SmartVersion(localVersionStringArg);
|
|
||||||
if (!versionNpm.greaterThan(versionLocal)) {
|
|
||||||
plugins.beautylog.ok(
|
|
||||||
`smartupdate: You are running the latest version of ${plugins.beautycolor.coloredString(
|
|
||||||
npmPackage.name,
|
|
||||||
'pink'
|
|
||||||
)}`
|
|
||||||
);
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
plugins.beautylog.warn(`There is a newer version of ${npmPackage.name} available on npm.`);
|
|
||||||
plugins.beautylog.warn(
|
|
||||||
`Your version: ${versionLocal.versionString} | version on npm: ${versionNpm.versionString}`
|
|
||||||
);
|
|
||||||
if (!process.env.CI && changelogUrlArg) {
|
|
||||||
plugins.beautylog.log('trying to open changelog...');
|
|
||||||
plugins.smartopen.openUrl(changelogUrlArg);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
export let standardHandler = new SmartUpdate();
|
|
||||||
|
107
ts/smartupdate.classes.smartupdate.ts
Normal file
107
ts/smartupdate.classes.smartupdate.ts
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
import * as plugins from './smartupdate.plugins.js';
|
||||||
|
|
||||||
|
import { TimeStamp } from '@pushrocks/smarttime';
|
||||||
|
|
||||||
|
interface ICacheStatus {
|
||||||
|
lastCheck: number;
|
||||||
|
latestVersion: string;
|
||||||
|
performedUpgrade: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
import { KeyValueStore } from '@pushrocks/npmextra';
|
||||||
|
|
||||||
|
export class SmartUpdate {
|
||||||
|
public npmRegistry: plugins.smartnpm.NpmRegistry;
|
||||||
|
public kvStore = new plugins.npmextra.KeyValueStore('custom', 'global_smartupdate');
|
||||||
|
|
||||||
|
constructor(optionsArg: plugins.smartnpm.INpmRegistryConstructorOptions = {}) {
|
||||||
|
this.npmRegistry = new plugins.smartnpm.NpmRegistry(optionsArg);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async checkForCli(npmnameArg: string, compareVersion: string, changelogUrlArg?: string) {
|
||||||
|
// the newData to write
|
||||||
|
const timeStamp = new TimeStamp();
|
||||||
|
const newCacheData: ICacheStatus = {
|
||||||
|
lastCheck: timeStamp.milliSeconds,
|
||||||
|
latestVersion: 'x.x.x',
|
||||||
|
performedUpgrade: false,
|
||||||
|
};
|
||||||
|
|
||||||
|
// the comparison data from the keyValue store
|
||||||
|
const retrievedCacheData: ICacheStatus = await this.kvStore.readKey(npmnameArg);
|
||||||
|
|
||||||
|
if (retrievedCacheData) {
|
||||||
|
const lastCheckTimeStamp = TimeStamp.fromMilliSeconds(retrievedCacheData.lastCheck);
|
||||||
|
const tresholdTime = plugins.smarttime.getMilliSecondsFromUnits({ hours: 1 });
|
||||||
|
if (!lastCheckTimeStamp.isOlderThan(timeStamp, tresholdTime)) {
|
||||||
|
newCacheData.lastCheck = lastCheckTimeStamp.milliSeconds;
|
||||||
|
const nextCheckInMinutes =
|
||||||
|
(tresholdTime - (timeStamp.milliSeconds - lastCheckTimeStamp.milliSeconds)) / 60000;
|
||||||
|
console.log(
|
||||||
|
`next update check in less than ${Math.floor(nextCheckInMinutes) + 1} minute(s): ` +
|
||||||
|
`${plugins.consolecolor.coloredString(
|
||||||
|
`${npmnameArg} has already been checked within the last hour.`,
|
||||||
|
'pink'
|
||||||
|
)}`
|
||||||
|
);
|
||||||
|
return false; // don't upgrade if checked within reasonable time
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const upgradeBool = await this.check(npmnameArg, compareVersion, changelogUrlArg);
|
||||||
|
if (upgradeBool) {
|
||||||
|
const npmPackage = await this.npmRegistry.getPackageInfo(npmnameArg);
|
||||||
|
newCacheData.latestVersion = npmPackage.version;
|
||||||
|
this.kvStore.writeKey(npmnameArg, newCacheData);
|
||||||
|
}
|
||||||
|
|
||||||
|
return upgradeBool;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async getNpmPackageFromRegistry(npmnameArg): Promise<plugins.smartnpm.NpmPackage> {
|
||||||
|
console.log(
|
||||||
|
`smartupdate: checking for newer version of ${plugins.consolecolor.coloredString(
|
||||||
|
npmnameArg,
|
||||||
|
'pink'
|
||||||
|
)}...`
|
||||||
|
);
|
||||||
|
const npmPackage = this.npmRegistry.getPackageInfo(npmnameArg);
|
||||||
|
return npmPackage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async check(
|
||||||
|
npmPackageName: string,
|
||||||
|
localVersionStringArg: string,
|
||||||
|
changelogUrlArg?: string
|
||||||
|
) {
|
||||||
|
const npmPackage = await this.getNpmPackageFromRegistry(npmPackageName);
|
||||||
|
if (!npmPackage) {
|
||||||
|
console.log('warn: failed to retrieve package information...');
|
||||||
|
console.log('info: is the registry down?');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// create Version objects
|
||||||
|
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(
|
||||||
|
npmPackage.name,
|
||||||
|
'pink'
|
||||||
|
)}`
|
||||||
|
);
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
console.log(`warn: There is a newer version of ${npmPackage.name} available on npm.`);
|
||||||
|
console.log(
|
||||||
|
`warn: Your version: ${versionLocal.versionString} | version on npm: ${versionNpm.versionString}`
|
||||||
|
);
|
||||||
|
if (!process.env.CI && changelogUrlArg) {
|
||||||
|
console.log('trying to open changelog...');
|
||||||
|
plugins.smartopen.openUrl(changelogUrlArg);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,9 +1,8 @@
|
|||||||
import * as beautylog from 'beautylog';
|
import * as consolecolor from '@pushrocks/consolecolor';
|
||||||
import * as beautycolor from 'beautycolor';
|
import * as npmextra from '@pushrocks/npmextra';
|
||||||
import * as npmextra from 'npmextra';
|
import * as smartnpm from '@pushrocks/smartnpm';
|
||||||
import * as smartnpm from 'smartnpm';
|
|
||||||
import * as smartopen from '@pushrocks/smartopen';
|
import * as smartopen from '@pushrocks/smartopen';
|
||||||
import * as smarttime from 'smarttime';
|
import * as smarttime from '@pushrocks/smarttime';
|
||||||
import * as smartversion from 'smartversion';
|
import * as smartversion from '@pushrocks/smartversion';
|
||||||
|
|
||||||
export { beautylog, beautycolor, npmextra, smartnpm, smartopen, smarttime, smartversion };
|
export { consolecolor, npmextra, smartnpm, smartopen, smarttime, smartversion };
|
||||||
|
9
tsconfig.json
Normal file
9
tsconfig.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"experimentalDecorators": true,
|
||||||
|
"useDefineForClassFields": false,
|
||||||
|
"target": "ES2022",
|
||||||
|
"module": "ES2022",
|
||||||
|
"moduleResolution": "nodenext"
|
||||||
|
}
|
||||||
|
}
|
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "tslint-config-standard"
|
|
||||||
}
|
|
783
yarn.lock
783
yarn.lock
@ -1,783 +0,0 @@
|
|||||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
||||||
# yarn lockfile v1
|
|
||||||
|
|
||||||
|
|
||||||
"@pushrocks/smartopen@^1.0.7":
|
|
||||||
version "1.0.7"
|
|
||||||
resolved "https://registry.yarnpkg.com/@pushrocks/smartopen/-/smartopen-1.0.7.tgz#c8fd6b5b9788ae83df14a611e9ba9b7bceccc12a"
|
|
||||||
dependencies:
|
|
||||||
"@types/open" "^0.0.29"
|
|
||||||
"@types/opn" "^5.1.0"
|
|
||||||
opn "^5.3.0"
|
|
||||||
|
|
||||||
"@types/chai-as-promised@^7.1.0":
|
|
||||||
version "7.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.0.tgz#010b04cde78eacfb6e72bfddb3e58fe23c2e78b9"
|
|
||||||
dependencies:
|
|
||||||
"@types/chai" "*"
|
|
||||||
|
|
||||||
"@types/chai-string@^1.4.0":
|
|
||||||
version "1.4.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/chai-string/-/chai-string-1.4.1.tgz#3a9d22716c27f2759bf272a4dbbdb593f18399e3"
|
|
||||||
dependencies:
|
|
||||||
"@types/chai" "*"
|
|
||||||
|
|
||||||
"@types/chai@*", "@types/chai@^4.1.2":
|
|
||||||
version "4.1.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.3.tgz#b8a74352977a23b604c01aa784f5b793443fb7dc"
|
|
||||||
|
|
||||||
"@types/cron@^1.2.1":
|
|
||||||
version "1.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/cron/-/cron-1.3.0.tgz#0bb4bc0bd8f493b81b5599a3719520d1d633e669"
|
|
||||||
|
|
||||||
"@types/fs-extra@5.0.0":
|
|
||||||
version "5.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.0.tgz#d3e225b35eb5c6d3a5a782c28219df365c781413"
|
|
||||||
dependencies:
|
|
||||||
"@types/node" "*"
|
|
||||||
|
|
||||||
"@types/lodash@4.x.x", "@types/lodash@^4.14.55", "@types/lodash@^4.14.68", "@types/lodash@^4.14.74":
|
|
||||||
version "4.14.109"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.109.tgz#b1c4442239730bf35cabaf493c772b18c045886d"
|
|
||||||
|
|
||||||
"@types/minimatch@3.x.x":
|
|
||||||
version "3.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
|
|
||||||
|
|
||||||
"@types/node@*":
|
|
||||||
version "10.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.1.2.tgz#1b928a0baa408fc8ae3ac012cc81375addc147c6"
|
|
||||||
|
|
||||||
"@types/node@^8.0.10":
|
|
||||||
version "8.10.17"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.17.tgz#d48cf10f0dc6dcf59f827f5a3fc7a4a6004318d3"
|
|
||||||
|
|
||||||
"@types/open@^0.0.29":
|
|
||||||
version "0.0.29"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/open/-/open-0.0.29.tgz#3de910012674909db14d608d1fde44ffa7a9ecea"
|
|
||||||
|
|
||||||
"@types/opn@^5.1.0":
|
|
||||||
version "5.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/opn/-/opn-5.1.0.tgz#bff7bc371677f4bdbb37884400e03fd81f743927"
|
|
||||||
dependencies:
|
|
||||||
"@types/node" "*"
|
|
||||||
|
|
||||||
"@types/semver@^5.3.33":
|
|
||||||
version "5.5.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45"
|
|
||||||
|
|
||||||
"@types/vinyl@^2.0.2":
|
|
||||||
version "2.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/vinyl/-/vinyl-2.0.2.tgz#4f3b8dae8f5828d3800ef709b0cff488ee852de3"
|
|
||||||
dependencies:
|
|
||||||
"@types/node" "*"
|
|
||||||
|
|
||||||
ansi-256-colors@^1.1.0:
|
|
||||||
version "1.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/ansi-256-colors/-/ansi-256-colors-1.1.0.tgz#910de50efcc7c09e3d82f2f87abd6b700c18818a"
|
|
||||||
|
|
||||||
ansi-styles@^3.2.1:
|
|
||||||
version "3.2.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
|
|
||||||
dependencies:
|
|
||||||
color-convert "^1.9.0"
|
|
||||||
|
|
||||||
argparse@^1.0.7:
|
|
||||||
version "1.0.10"
|
|
||||||
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
|
|
||||||
dependencies:
|
|
||||||
sprintf-js "~1.0.2"
|
|
||||||
|
|
||||||
assertion-error@^1.0.1:
|
|
||||||
version "1.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
|
|
||||||
|
|
||||||
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.11, beautycolor@^1.0.7:
|
|
||||||
version "1.0.11"
|
|
||||||
resolved "https://registry.yarnpkg.com/beautycolor/-/beautycolor-1.0.11.tgz#71c5568d5a7ed5c144d3a54f753ad1b08862aea5"
|
|
||||||
dependencies:
|
|
||||||
ansi-256-colors "^1.1.0"
|
|
||||||
typings-global "^1.0.14"
|
|
||||||
|
|
||||||
beautylog@^6.1.10:
|
|
||||||
version "6.1.10"
|
|
||||||
resolved "https://registry.yarnpkg.com/beautylog/-/beautylog-6.1.10.tgz#9c27e566937684cb689f9372d98cfa5415d50b72"
|
|
||||||
dependencies:
|
|
||||||
"@types/lodash" "^4.14.55"
|
|
||||||
beautycolor "^1.0.7"
|
|
||||||
figlet "^1.2.0"
|
|
||||||
lodash "^4.17.4"
|
|
||||||
ora "^1.1.0"
|
|
||||||
smartenv "^2.0.0"
|
|
||||||
smartq "^1.1.1"
|
|
||||||
typings-global "^1.0.14"
|
|
||||||
|
|
||||||
bindings@^1.2.1:
|
|
||||||
version "1.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7"
|
|
||||||
|
|
||||||
brace-expansion@^1.1.7:
|
|
||||||
version "1.1.11"
|
|
||||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
|
||||||
dependencies:
|
|
||||||
balanced-match "^1.0.0"
|
|
||||||
concat-map "0.0.1"
|
|
||||||
|
|
||||||
chai-as-promised@^7.1.1:
|
|
||||||
version "7.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0"
|
|
||||||
dependencies:
|
|
||||||
check-error "^1.0.2"
|
|
||||||
|
|
||||||
chai-string@^1.4.0:
|
|
||||||
version "1.4.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/chai-string/-/chai-string-1.4.0.tgz#359140c051d36a4e4b1a5fc6b910152f438a8d49"
|
|
||||||
|
|
||||||
chai@^4.1.2:
|
|
||||||
version "4.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c"
|
|
||||||
dependencies:
|
|
||||||
assertion-error "^1.0.1"
|
|
||||||
check-error "^1.0.1"
|
|
||||||
deep-eql "^3.0.0"
|
|
||||||
get-func-name "^2.0.0"
|
|
||||||
pathval "^1.0.0"
|
|
||||||
type-detect "^4.0.0"
|
|
||||||
|
|
||||||
chalk@^2.0.1, chalk@^2.1.0:
|
|
||||||
version "2.4.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
|
|
||||||
dependencies:
|
|
||||||
ansi-styles "^3.2.1"
|
|
||||||
escape-string-regexp "^1.0.5"
|
|
||||||
supports-color "^5.3.0"
|
|
||||||
|
|
||||||
check-error@^1.0.1, check-error@^1.0.2:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
|
|
||||||
|
|
||||||
cli-cursor@^2.1.0:
|
|
||||||
version "2.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
|
|
||||||
dependencies:
|
|
||||||
restore-cursor "^2.0.0"
|
|
||||||
|
|
||||||
cli-spinners@^1.0.1:
|
|
||||||
version "1.3.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a"
|
|
||||||
|
|
||||||
clone-buffer@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
|
|
||||||
|
|
||||||
clone-stats@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
|
|
||||||
|
|
||||||
clone@^2.1.1:
|
|
||||||
version "2.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb"
|
|
||||||
|
|
||||||
cloneable-readable@^1.0.0:
|
|
||||||
version "1.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65"
|
|
||||||
dependencies:
|
|
||||||
inherits "^2.0.1"
|
|
||||||
process-nextick-args "^2.0.0"
|
|
||||||
readable-stream "^2.3.5"
|
|
||||||
|
|
||||||
color-convert@^1.9.0:
|
|
||||||
version "1.9.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
|
|
||||||
dependencies:
|
|
||||||
color-name "^1.1.1"
|
|
||||||
|
|
||||||
color-name@^1.1.1:
|
|
||||||
version "1.1.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
|
|
||||||
|
|
||||||
concat-map@0.0.1:
|
|
||||||
version "0.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
|
||||||
|
|
||||||
core-util-is@~1.0.0:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
|
||||||
|
|
||||||
cron@^1.2.1:
|
|
||||||
version "1.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/cron/-/cron-1.3.0.tgz#7e459968eaf94e1a445be796ce402166c234659d"
|
|
||||||
dependencies:
|
|
||||||
moment-timezone "^0.5.x"
|
|
||||||
|
|
||||||
deep-eql@^3.0.0:
|
|
||||||
version "3.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
|
|
||||||
dependencies:
|
|
||||||
type-detect "^4.0.0"
|
|
||||||
|
|
||||||
define-properties@^1.1.2:
|
|
||||||
version "1.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
|
|
||||||
dependencies:
|
|
||||||
foreach "^2.0.5"
|
|
||||||
object-keys "^1.0.8"
|
|
||||||
|
|
||||||
early@^2.1.1:
|
|
||||||
version "2.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/early/-/early-2.1.1.tgz#841e23254ea5dc54d8afaeee82f5ab65c00ee23c"
|
|
||||||
dependencies:
|
|
||||||
beautycolor "^1.0.7"
|
|
||||||
smartq "^1.1.1"
|
|
||||||
typings-global "^1.0.16"
|
|
||||||
|
|
||||||
es-abstract@^1.5.1:
|
|
||||||
version "1.11.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681"
|
|
||||||
dependencies:
|
|
||||||
es-to-primitive "^1.1.1"
|
|
||||||
function-bind "^1.1.1"
|
|
||||||
has "^1.0.1"
|
|
||||||
is-callable "^1.1.3"
|
|
||||||
is-regex "^1.0.4"
|
|
||||||
|
|
||||||
es-to-primitive@^1.1.1:
|
|
||||||
version "1.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
|
|
||||||
dependencies:
|
|
||||||
is-callable "^1.1.1"
|
|
||||||
is-date-object "^1.0.1"
|
|
||||||
is-symbol "^1.0.1"
|
|
||||||
|
|
||||||
es6-error@^4.0.2:
|
|
||||||
version "4.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
|
|
||||||
|
|
||||||
escape-string-regexp@^1.0.5:
|
|
||||||
version "1.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
|
||||||
|
|
||||||
esprima@^4.0.0:
|
|
||||||
version "4.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
|
|
||||||
|
|
||||||
figlet@^1.2.0:
|
|
||||||
version "1.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.2.0.tgz#6c46537378fab649146b5a6143dda019b430b410"
|
|
||||||
|
|
||||||
first-chunk-stream@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70"
|
|
||||||
dependencies:
|
|
||||||
readable-stream "^2.0.2"
|
|
||||||
|
|
||||||
foreach@^2.0.5:
|
|
||||||
version "2.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
|
|
||||||
|
|
||||||
fs-extra@^5.0.0:
|
|
||||||
version "5.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd"
|
|
||||||
dependencies:
|
|
||||||
graceful-fs "^4.1.2"
|
|
||||||
jsonfile "^4.0.0"
|
|
||||||
universalify "^0.1.0"
|
|
||||||
|
|
||||||
fs.realpath@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
|
||||||
|
|
||||||
function-bind@^1.0.2, function-bind@^1.1.1:
|
|
||||||
version "1.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
|
|
||||||
|
|
||||||
get-func-name@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
|
|
||||||
|
|
||||||
glob@^7.1.2:
|
|
||||||
version "7.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
|
|
||||||
dependencies:
|
|
||||||
fs.realpath "^1.0.0"
|
|
||||||
inflight "^1.0.4"
|
|
||||||
inherits "2"
|
|
||||||
minimatch "^3.0.4"
|
|
||||||
once "^1.3.0"
|
|
||||||
path-is-absolute "^1.0.0"
|
|
||||||
|
|
||||||
graceful-fs@^4.1.2, graceful-fs@^4.1.6:
|
|
||||||
version "4.1.11"
|
|
||||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
|
|
||||||
|
|
||||||
has-flag@^3.0.0:
|
|
||||||
version "3.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
|
|
||||||
|
|
||||||
has@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
|
|
||||||
dependencies:
|
|
||||||
function-bind "^1.0.2"
|
|
||||||
|
|
||||||
home@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/home/-/home-1.0.1.tgz#96a423ceb49b98378ff5ef3ceae059a557f9dd35"
|
|
||||||
dependencies:
|
|
||||||
os-homedir "^1.0.1"
|
|
||||||
|
|
||||||
inflight@^1.0.4:
|
|
||||||
version "1.0.6"
|
|
||||||
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
|
|
||||||
dependencies:
|
|
||||||
once "^1.3.0"
|
|
||||||
wrappy "1"
|
|
||||||
|
|
||||||
inherits@2, inherits@^2.0.1, inherits@~2.0.3:
|
|
||||||
version "2.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
|
|
||||||
|
|
||||||
is-callable@^1.1.1, is-callable@^1.1.3:
|
|
||||||
version "1.1.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
|
|
||||||
|
|
||||||
is-date-object@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
|
|
||||||
|
|
||||||
is-regex@^1.0.4:
|
|
||||||
version "1.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
|
|
||||||
dependencies:
|
|
||||||
has "^1.0.1"
|
|
||||||
|
|
||||||
is-symbol@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
|
|
||||||
|
|
||||||
is-utf8@^0.2.0, is-utf8@^0.2.1:
|
|
||||||
version "0.2.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
|
|
||||||
|
|
||||||
is-wsl@^1.1.0:
|
|
||||||
version "1.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
|
|
||||||
|
|
||||||
isarray@~1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
|
||||||
|
|
||||||
js-yaml@^3.10.0:
|
|
||||||
version "3.11.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef"
|
|
||||||
dependencies:
|
|
||||||
argparse "^1.0.7"
|
|
||||||
esprima "^4.0.0"
|
|
||||||
|
|
||||||
jsonfile@^4.0.0:
|
|
||||||
version "4.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
|
|
||||||
optionalDependencies:
|
|
||||||
graceful-fs "^4.1.6"
|
|
||||||
|
|
||||||
leakage@^0.3.0:
|
|
||||||
version "0.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/leakage/-/leakage-0.3.0.tgz#15d698abdc76bbc6439601f4f3020e77e2d50c39"
|
|
||||||
dependencies:
|
|
||||||
es6-error "^4.0.2"
|
|
||||||
left-pad "^1.1.3"
|
|
||||||
memwatch-next "^0.3.0"
|
|
||||||
minimist "^1.2.0"
|
|
||||||
pretty-bytes "^4.0.2"
|
|
||||||
|
|
||||||
left-pad@^1.1.3:
|
|
||||||
version "1.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
|
|
||||||
|
|
||||||
lik@^1.0.38:
|
|
||||||
version "1.0.43"
|
|
||||||
resolved "https://registry.yarnpkg.com/lik/-/lik-1.0.43.tgz#e81709290fb85ff61dabfa008791ba9ffed0c666"
|
|
||||||
dependencies:
|
|
||||||
"@types/lodash" "^4.14.74"
|
|
||||||
"@types/minimatch" "3.x.x"
|
|
||||||
lodash "^4.17.4"
|
|
||||||
minimatch "^3.0.4"
|
|
||||||
rxjs "^5.4.3"
|
|
||||||
smartq "^1.1.6"
|
|
||||||
typings-global "^1.0.20"
|
|
||||||
|
|
||||||
lodash@^4.17.4:
|
|
||||||
version "4.17.10"
|
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
|
|
||||||
|
|
||||||
log-symbols@^2.1.0:
|
|
||||||
version "2.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
|
|
||||||
dependencies:
|
|
||||||
chalk "^2.0.1"
|
|
||||||
|
|
||||||
memwatch-next@^0.3.0:
|
|
||||||
version "0.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/memwatch-next/-/memwatch-next-0.3.0.tgz#2111050f9a906e0aa2d72a4ec0f0089c78726f8f"
|
|
||||||
dependencies:
|
|
||||||
bindings "^1.2.1"
|
|
||||||
nan "^2.3.2"
|
|
||||||
|
|
||||||
mimic-fn@^1.0.0:
|
|
||||||
version "1.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
|
|
||||||
|
|
||||||
minimatch@^3.0.4:
|
|
||||||
version "3.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
|
||||||
dependencies:
|
|
||||||
brace-expansion "^1.1.7"
|
|
||||||
|
|
||||||
minimist@^1.2.0:
|
|
||||||
version "1.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
|
||||||
|
|
||||||
moment-timezone@^0.5.x:
|
|
||||||
version "0.5.17"
|
|
||||||
resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.17.tgz#3c8fef32051d84c3af174d91dc52977dcb0ad7e5"
|
|
||||||
dependencies:
|
|
||||||
moment ">= 2.9.0"
|
|
||||||
|
|
||||||
"moment@>= 2.9.0", moment@^2.21.0:
|
|
||||||
version "2.22.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.1.tgz#529a2e9bf973f259c9643d237fda84de3a26e8ad"
|
|
||||||
|
|
||||||
nan@^2.3.2:
|
|
||||||
version "2.10.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
|
|
||||||
|
|
||||||
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.20"
|
|
||||||
smartlodash "^1.0.1"
|
|
||||||
smartpath "^3.2.8"
|
|
||||||
smartq "^1.1.6"
|
|
||||||
taskbuffer "^1.0.22"
|
|
||||||
typings-global "^1.0.20"
|
|
||||||
|
|
||||||
object-keys@^1.0.8:
|
|
||||||
version "1.0.11"
|
|
||||||
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
|
|
||||||
|
|
||||||
object.getownpropertydescriptors@^2.0.3:
|
|
||||||
version "2.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
|
|
||||||
dependencies:
|
|
||||||
define-properties "^1.1.2"
|
|
||||||
es-abstract "^1.5.1"
|
|
||||||
|
|
||||||
once@^1.3.0:
|
|
||||||
version "1.4.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
|
||||||
dependencies:
|
|
||||||
wrappy "1"
|
|
||||||
|
|
||||||
onetime@^2.0.0:
|
|
||||||
version "2.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
|
|
||||||
dependencies:
|
|
||||||
mimic-fn "^1.0.0"
|
|
||||||
|
|
||||||
opn@^5.3.0:
|
|
||||||
version "5.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz#64871565c863875f052cfdf53d3e3cb5adb53b1c"
|
|
||||||
dependencies:
|
|
||||||
is-wsl "^1.1.0"
|
|
||||||
|
|
||||||
ora@^1.1.0:
|
|
||||||
version "1.4.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/ora/-/ora-1.4.0.tgz#884458215b3a5d4097592285f93321bb7a79e2e5"
|
|
||||||
dependencies:
|
|
||||||
chalk "^2.1.0"
|
|
||||||
cli-cursor "^2.1.0"
|
|
||||||
cli-spinners "^1.0.1"
|
|
||||||
log-symbols "^2.1.0"
|
|
||||||
|
|
||||||
os-homedir@^1.0.1:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
|
|
||||||
|
|
||||||
path-is-absolute@^1.0.0:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
|
|
||||||
|
|
||||||
pathval@^1.0.0:
|
|
||||||
version "1.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
|
|
||||||
|
|
||||||
pify@^2.3.0:
|
|
||||||
version "2.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
|
|
||||||
|
|
||||||
pretty-bytes@^4.0.2:
|
|
||||||
version "4.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9"
|
|
||||||
|
|
||||||
process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
|
|
||||||
|
|
||||||
readable-stream@^2.0.2, readable-stream@^2.3.5:
|
|
||||||
version "2.3.6"
|
|
||||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
|
|
||||||
dependencies:
|
|
||||||
core-util-is "~1.0.0"
|
|
||||||
inherits "~2.0.3"
|
|
||||||
isarray "~1.0.0"
|
|
||||||
process-nextick-args "~2.0.0"
|
|
||||||
safe-buffer "~5.1.1"
|
|
||||||
string_decoder "~1.1.1"
|
|
||||||
util-deprecate "~1.0.1"
|
|
||||||
|
|
||||||
remove-trailing-separator@^1.0.1:
|
|
||||||
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"
|
|
||||||
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
|
|
||||||
|
|
||||||
require-reload@0.2.2:
|
|
||||||
version "0.2.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/require-reload/-/require-reload-0.2.2.tgz#29a7591846caf91b6e8a3cda991683f95f8d7d42"
|
|
||||||
|
|
||||||
restore-cursor@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
|
|
||||||
dependencies:
|
|
||||||
onetime "^2.0.0"
|
|
||||||
signal-exit "^3.0.2"
|
|
||||||
|
|
||||||
rxjs@^5.4.2, rxjs@^5.4.3:
|
|
||||||
version "5.5.10"
|
|
||||||
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.10.tgz#fde02d7a614f6c8683d0d1957827f492e09db045"
|
|
||||||
dependencies:
|
|
||||||
symbol-observable "1.0.1"
|
|
||||||
|
|
||||||
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
|
|
||||||
version "5.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
|
||||||
|
|
||||||
semver@^5.4.1:
|
|
||||||
version "5.5.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
|
|
||||||
|
|
||||||
signal-exit@^3.0.2:
|
|
||||||
version "3.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
|
||||||
|
|
||||||
smartchai@^2.0.0:
|
|
||||||
version "2.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/smartchai/-/smartchai-2.0.1.tgz#d20f17221f0e3c6c3473600b78ddfba0ab0ea762"
|
|
||||||
dependencies:
|
|
||||||
"@types/chai" "^4.1.2"
|
|
||||||
"@types/chai-as-promised" "^7.1.0"
|
|
||||||
"@types/chai-string" "^1.4.0"
|
|
||||||
chai "^4.1.2"
|
|
||||||
chai-as-promised "^7.1.1"
|
|
||||||
chai-string "^1.4.0"
|
|
||||||
|
|
||||||
smartdelay@^1.0.3, smartdelay@^1.0.4:
|
|
||||||
version "1.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/smartdelay/-/smartdelay-1.0.4.tgz#791c1a4ee6770494064c10b1d2d2b8e6f3105b82"
|
|
||||||
dependencies:
|
|
||||||
smartq "^1.1.1"
|
|
||||||
typings-global "^1.0.16"
|
|
||||||
|
|
||||||
smartenv@^2.0.0:
|
|
||||||
version "2.0.6"
|
|
||||||
resolved "https://registry.yarnpkg.com/smartenv/-/smartenv-2.0.6.tgz#b38c679b0c151b9af548f68c3a072c29d1417e8d"
|
|
||||||
dependencies:
|
|
||||||
lodash "^4.17.4"
|
|
||||||
smartq "^1.1.1"
|
|
||||||
typings-global "^1.0.14"
|
|
||||||
|
|
||||||
smartfile@^4.2.20:
|
|
||||||
version "4.2.28"
|
|
||||||
resolved "https://registry.yarnpkg.com/smartfile/-/smartfile-4.2.28.tgz#ab089e0bad63dec5feddb5f3d1cd5d99b76da118"
|
|
||||||
dependencies:
|
|
||||||
"@types/fs-extra" "5.0.0"
|
|
||||||
"@types/vinyl" "^2.0.2"
|
|
||||||
fs-extra "^5.0.0"
|
|
||||||
glob "^7.1.2"
|
|
||||||
js-yaml "^3.10.0"
|
|
||||||
require-reload "0.2.2"
|
|
||||||
smartpath "^3.2.8"
|
|
||||||
smartq "^1.1.6"
|
|
||||||
smartrequest "^1.0.8"
|
|
||||||
vinyl-file "^3.0.0"
|
|
||||||
|
|
||||||
smartlodash@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/smartlodash/-/smartlodash-1.0.1.tgz#8ddb41f3247d6d9856c63d1ea1ffccb78415a9c6"
|
|
||||||
dependencies:
|
|
||||||
"@types/lodash" "^4.14.68"
|
|
||||||
"@types/node" "^8.0.10"
|
|
||||||
lodash "^4.17.4"
|
|
||||||
|
|
||||||
smartnpm@^1.0.6:
|
|
||||||
version "1.0.6"
|
|
||||||
resolved "https://registry.yarnpkg.com/smartnpm/-/smartnpm-1.0.6.tgz#9ba48c9aa8f84c8ea03c9ed1a8f8d13dda7ffcdf"
|
|
||||||
dependencies:
|
|
||||||
beautycolor "^1.0.11"
|
|
||||||
beautylog "^6.1.10"
|
|
||||||
smartrequest "^1.0.8"
|
|
||||||
|
|
||||||
smartpath@^3.2.8:
|
|
||||||
version "3.2.8"
|
|
||||||
resolved "https://registry.yarnpkg.com/smartpath/-/smartpath-3.2.8.tgz#4834bd3a8bae2295baacadba23c87a501952f940"
|
|
||||||
dependencies:
|
|
||||||
home "^1.0.1"
|
|
||||||
typings-global "^1.0.14"
|
|
||||||
|
|
||||||
smartq@^1.1.1, smartq@^1.1.6:
|
|
||||||
version "1.1.8"
|
|
||||||
resolved "https://registry.yarnpkg.com/smartq/-/smartq-1.1.8.tgz#7e2f3b9739eb5d6c9f45f2a86e339ec81e49e8d2"
|
|
||||||
dependencies:
|
|
||||||
util.promisify "^1.0.0"
|
|
||||||
|
|
||||||
smartrequest@^1.0.8:
|
|
||||||
version "1.0.8"
|
|
||||||
resolved "https://registry.yarnpkg.com/smartrequest/-/smartrequest-1.0.8.tgz#9af18dde34efa7d43b4ecfc92ccb157a98eda3b1"
|
|
||||||
dependencies:
|
|
||||||
smartq "^1.1.1"
|
|
||||||
|
|
||||||
smarttime@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/smarttime/-/smarttime-2.0.0.tgz#fefa32a5087174c4f32fbd3a862176aa9b774b93"
|
|
||||||
dependencies:
|
|
||||||
moment "^2.21.0"
|
|
||||||
smartdelay "^1.0.4"
|
|
||||||
smartq "^1.1.6"
|
|
||||||
|
|
||||||
smartversion@^1.0.3:
|
|
||||||
version "1.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/smartversion/-/smartversion-1.0.3.tgz#8b6b1553594a4df7fac8495bc2802b4a6f84a27c"
|
|
||||||
dependencies:
|
|
||||||
"@types/semver" "^5.3.33"
|
|
||||||
semver "^5.4.1"
|
|
||||||
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"
|
|
||||||
|
|
||||||
string_decoder@~1.1.1:
|
|
||||||
version "1.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
|
|
||||||
dependencies:
|
|
||||||
safe-buffer "~5.1.0"
|
|
||||||
|
|
||||||
strip-bom-buf@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572"
|
|
||||||
dependencies:
|
|
||||||
is-utf8 "^0.2.1"
|
|
||||||
|
|
||||||
strip-bom-stream@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca"
|
|
||||||
dependencies:
|
|
||||||
first-chunk-stream "^2.0.0"
|
|
||||||
strip-bom "^2.0.0"
|
|
||||||
|
|
||||||
strip-bom@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
|
|
||||||
dependencies:
|
|
||||||
is-utf8 "^0.2.0"
|
|
||||||
|
|
||||||
supports-color@^5.3.0:
|
|
||||||
version "5.4.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54"
|
|
||||||
dependencies:
|
|
||||||
has-flag "^3.0.0"
|
|
||||||
|
|
||||||
symbol-observable@1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4"
|
|
||||||
|
|
||||||
tapbundle@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-2.0.0.tgz#79fce68ff185c786fabaf6eb589a4afc7d2714b7"
|
|
||||||
dependencies:
|
|
||||||
early "^2.1.1"
|
|
||||||
leakage "^0.3.0"
|
|
||||||
smartchai "^2.0.0"
|
|
||||||
smartdelay "^1.0.3"
|
|
||||||
smartq "^1.1.1"
|
|
||||||
|
|
||||||
taskbuffer@^1.0.22:
|
|
||||||
version "1.0.22"
|
|
||||||
resolved "https://registry.yarnpkg.com/taskbuffer/-/taskbuffer-1.0.22.tgz#05d498d157d79dd897e11e6225fd447ba2f2fa3e"
|
|
||||||
dependencies:
|
|
||||||
"@types/cron" "^1.2.1"
|
|
||||||
"@types/lodash" "4.x.x"
|
|
||||||
beautylog "^6.1.10"
|
|
||||||
cron "^1.2.1"
|
|
||||||
lik "^1.0.38"
|
|
||||||
lodash "^4.17.4"
|
|
||||||
rxjs "^5.4.2"
|
|
||||||
smartdelay "^1.0.3"
|
|
||||||
smartq "^1.1.6"
|
|
||||||
typings-global "^1.0.19"
|
|
||||||
|
|
||||||
type-detect@^4.0.0:
|
|
||||||
version "4.0.8"
|
|
||||||
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
|
|
||||||
|
|
||||||
typings-global@^1.0.14, typings-global@^1.0.16, typings-global@^1.0.19, typings-global@^1.0.20:
|
|
||||||
version "1.0.28"
|
|
||||||
resolved "https://registry.yarnpkg.com/typings-global/-/typings-global-1.0.28.tgz#e28cc965476564cbc00e438739e0aa0735d323d4"
|
|
||||||
|
|
||||||
universalify@^0.1.0:
|
|
||||||
version "0.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7"
|
|
||||||
|
|
||||||
util-deprecate@~1.0.1:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
|
||||||
|
|
||||||
util.promisify@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
|
|
||||||
dependencies:
|
|
||||||
define-properties "^1.1.2"
|
|
||||||
object.getownpropertydescriptors "^2.0.3"
|
|
||||||
|
|
||||||
vinyl-file@^3.0.0:
|
|
||||||
version "3.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-3.0.0.tgz#b104d9e4409ffa325faadd520642d0a3b488b365"
|
|
||||||
dependencies:
|
|
||||||
graceful-fs "^4.1.2"
|
|
||||||
pify "^2.3.0"
|
|
||||||
strip-bom-buf "^1.0.0"
|
|
||||||
strip-bom-stream "^2.0.0"
|
|
||||||
vinyl "^2.0.1"
|
|
||||||
|
|
||||||
vinyl@^2.0.1:
|
|
||||||
version "2.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.1.0.tgz#021f9c2cf951d6b939943c89eb5ee5add4fd924c"
|
|
||||||
dependencies:
|
|
||||||
clone "^2.1.1"
|
|
||||||
clone-buffer "^1.0.0"
|
|
||||||
clone-stats "^1.0.0"
|
|
||||||
cloneable-readable "^1.0.0"
|
|
||||||
remove-trailing-separator "^1.0.1"
|
|
||||||
replace-ext "^1.0.0"
|
|
||||||
|
|
||||||
wrappy@1:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
|
Reference in New Issue
Block a user