Add avatar support
* Default generated for new users (oputil.js tool to come) * Defaults to setting ActivityPub image/icon * Allows ops to configure the look, extend, etc.
This commit is contained in:
parent
468f1486c0
commit
3f2dcee5a7
|
@ -108,8 +108,8 @@ module.exports = class Actor extends ActivityPubObject {
|
|||
// ],
|
||||
};
|
||||
|
||||
addImage('icon');
|
||||
addImage('image');
|
||||
addImage(obj, 'icon');
|
||||
addImage(obj, 'image');
|
||||
|
||||
const publicKeyPem = user.getProperty(UserProps.PublicActivityPubSigningKey);
|
||||
if (!_.isEmpty(publicKeyPem)) {
|
||||
|
@ -187,362 +187,4 @@ module.exports = class Actor extends ActivityPubObject {
|
|||
const parsed = JSON.parse(json);
|
||||
return new Actor(parsed);
|
||||
}
|
||||
|
||||
// :TODO: persist()?
|
||||
// create(cb) {
|
||||
// assert(0 === this.actorId);
|
||||
|
||||
// if (_.isEmpty(this.actorUrl)) {
|
||||
// return cb(Errors.Invalid('Blank actor url'));
|
||||
// }
|
||||
|
||||
// const self = this;
|
||||
|
||||
// async.waterfall(
|
||||
// [
|
||||
// function beginTransaction(callback) {
|
||||
// return actorDb.beginTransaction(callback);
|
||||
// },
|
||||
// function createActorRec(trans, callback) {
|
||||
// trans.run(
|
||||
// `INSERT INTO actor (actor_url)
|
||||
// VALUES (?);`,
|
||||
// [self.actorUrl],
|
||||
// function inserted(err) {
|
||||
// // use classic function for |this|
|
||||
// if (err) {
|
||||
// return callback(err);
|
||||
// }
|
||||
|
||||
// self.actorId = this.lastID;
|
||||
|
||||
// return callback(null, trans);
|
||||
// }
|
||||
// );
|
||||
// },
|
||||
// function saveAll(trans, callback) {
|
||||
// self.persistWithTransaction(trans, err => {
|
||||
// return callback(err, trans);
|
||||
// });
|
||||
// },
|
||||
// function sendEvent(trans, callback) {
|
||||
// Events.emit(Events.getSystemEvents().NewActor, {
|
||||
// actor: Object.assign({}, self, {}),
|
||||
// });
|
||||
// return callback(null, trans);
|
||||
// },
|
||||
// ],
|
||||
// (err, trans) => {
|
||||
// if (trans) {
|
||||
// trans[err ? 'rollback' : 'commit'](transErr => {
|
||||
// return cb(err ? err : transErr);
|
||||
// });
|
||||
// } else {
|
||||
// return cb(err);
|
||||
// }
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
|
||||
// persistWithTransaction(trans, cb) {
|
||||
// assert(this.actorId > 0);
|
||||
|
||||
// const self = this;
|
||||
|
||||
// async.series(
|
||||
// [
|
||||
// function saveProps(callback) {
|
||||
// self.persistProperties(self.properties, trans, err => {
|
||||
// return callback(err);
|
||||
// });
|
||||
// },
|
||||
// ],
|
||||
// err => {
|
||||
// return cb(err);
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
|
||||
// static persistPropertyByActorId(actorId, propName, propValue, cb) {
|
||||
// actorDb.run(
|
||||
// `REPLACE INTO activitypub_actor_property (actor_id, prop_name, prop_value)
|
||||
// VALUES (?, ?, ?);`,
|
||||
// [actorId, propName, propValue],
|
||||
// err => {
|
||||
// if (cb) {
|
||||
// return cb(err, propValue);
|
||||
// }
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
|
||||
// setProperty(propName, propValue) {
|
||||
// this.properties[propName] = propValue;
|
||||
// }
|
||||
|
||||
// incrementProperty(propName, incrementBy) {
|
||||
// incrementBy = incrementBy || 1;
|
||||
// let newValue = parseInt(this.getProperty(propName));
|
||||
// if (newValue) {
|
||||
// newValue += incrementBy;
|
||||
// } else {
|
||||
// newValue = incrementBy;
|
||||
// }
|
||||
// this.setProperty(propName, newValue);
|
||||
// return newValue;
|
||||
// }
|
||||
|
||||
// getProperty(propName) {
|
||||
// return this.properties[propName];
|
||||
// }
|
||||
|
||||
// getPropertyAsNumber(propName) {
|
||||
// return parseInt(this.getProperty(propName), 10);
|
||||
// }
|
||||
|
||||
// persistProperty(propName, propValue, cb) {
|
||||
// // update live props
|
||||
// this.properties[propName] = propValue;
|
||||
|
||||
// return Actor.persistPropertyByActorId(this.actorId, propName, propValue, cb);
|
||||
// }
|
||||
|
||||
// removeProperty(propName, cb) {
|
||||
// // update live
|
||||
// delete this.properties[propName];
|
||||
|
||||
// actorDb.run(
|
||||
// `DELETE FROM activitypub_actor_property
|
||||
// WHERE activity_id = ? AND prop_name = ?;`,
|
||||
// [this.actorId, propName],
|
||||
// err => {
|
||||
// if (cb) {
|
||||
// return cb(err);
|
||||
// }
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
|
||||
// removeProperties(propNames, cb) {
|
||||
// async.each(
|
||||
// propNames,
|
||||
// (name, next) => {
|
||||
// return this.removeProperty(name, next);
|
||||
// },
|
||||
// err => {
|
||||
// if (cb) {
|
||||
// return cb(err);
|
||||
// }
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
|
||||
// persistProperties(properties, transOrDb, cb) {
|
||||
// if (!_.isFunction(cb) && _.isFunction(transOrDb)) {
|
||||
// cb = transOrDb;
|
||||
// transOrDb = actorDb;
|
||||
// }
|
||||
|
||||
// const self = this;
|
||||
|
||||
// // update live props
|
||||
// _.merge(this.properties, properties);
|
||||
|
||||
// const stmt = transOrDb.prepare(
|
||||
// `REPLACE INTO activitypub_actor_property (actor_id, prop_name, prop_value)
|
||||
// VALUES (?, ?, ?);`
|
||||
// );
|
||||
|
||||
// async.each(
|
||||
// Object.keys(properties),
|
||||
// (propName, nextProp) => {
|
||||
// stmt.run(self.actorId, propName, properties[propName], err => {
|
||||
// return nextProp(err);
|
||||
// });
|
||||
// },
|
||||
// err => {
|
||||
// if (err) {
|
||||
// return cb(err);
|
||||
// }
|
||||
|
||||
// stmt.finalize(() => {
|
||||
// return cb(null);
|
||||
// });
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
|
||||
// static getActor(actorId, cb) {
|
||||
// async.waterfall(
|
||||
// [
|
||||
// function fetchActorId(callback) {
|
||||
// Actor.getActorUrl(actorId, (err, actorUrl) => {
|
||||
// return callback(null, actorUrl);
|
||||
// });
|
||||
// },
|
||||
// function initProps(actorUrl, callback) {
|
||||
// Actor.loadProperties(actorId, (err, properties) => {
|
||||
// return callback(err, actorUrl, properties);
|
||||
// });
|
||||
// },
|
||||
// ],
|
||||
// (err, actorUrl, properties) => {
|
||||
// const actor = new Actor();
|
||||
// actor.actorId = actorId;
|
||||
// actor.actorUrl = actorUrl;
|
||||
// actor.properties = properties;
|
||||
|
||||
// return cb(err, actor);
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
|
||||
// // FIXME
|
||||
// static getActorInfo(actorId, propsList, cb) {
|
||||
// if (!cb && _.isFunction(propsList)) {
|
||||
// cb = propsList;
|
||||
// propsList = [
|
||||
// ActorProps.Type,
|
||||
// ActorProps.PreferredUsername,
|
||||
// ActorProps.Name,
|
||||
// ActorProps.Summary,
|
||||
// ActorProps.IconUrl,
|
||||
// ActorProps.BannerUrl,
|
||||
// ActorProps.PublicActivityPubSigningKey,
|
||||
// ];
|
||||
// }
|
||||
|
||||
// async.waterfall(
|
||||
// [
|
||||
// callback => {
|
||||
// return Actor.getActorUrl(actorId, callback);
|
||||
// },
|
||||
// (actorUrl, callback) => {
|
||||
// Actor.loadProperties(actorId, { names: propsList }, (err, props) => {
|
||||
// return callback(
|
||||
// err,
|
||||
// Object.assign({}, props, { actor_url: actorUrl })
|
||||
// );
|
||||
// });
|
||||
// },
|
||||
// ],
|
||||
// (err, actorProps) => {
|
||||
// if (err) {
|
||||
// return cb(err);
|
||||
// }
|
||||
|
||||
// const actorInfo = {};
|
||||
// Object.keys(actorProps).forEach(key => {
|
||||
// actorInfo[_.camelCase(key)] = actorProps[key] || 'N/A';
|
||||
// });
|
||||
|
||||
// return cb(null, actorInfo);
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
|
||||
// static getActorIdAndUrl(actorUrl, cb) {
|
||||
// actorDb.get(
|
||||
// `SELECT id, actor_url
|
||||
// FROM activitypub_actor
|
||||
// WHERE actor_url LIKE ?;`,
|
||||
// [actorUrl],
|
||||
// (err, row) => {
|
||||
// if (err) {
|
||||
// return cb(err);
|
||||
// }
|
||||
|
||||
// if (row) {
|
||||
// return cb(null, row.id, row.actor_url);
|
||||
// }
|
||||
|
||||
// return cb(Errors.DoesNotExist('No matching actorUrl'));
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
|
||||
// static getActorUrl(actorId, cb) {
|
||||
// actorDb.get(
|
||||
// `SELECT actor_url
|
||||
// FROM activitypub_actor
|
||||
// WHERE id = ?;`,
|
||||
// [actorId],
|
||||
// (err, row) => {
|
||||
// if (err) {
|
||||
// return cb(err);
|
||||
// }
|
||||
|
||||
// if (row) {
|
||||
// return cb(null, row.actor_url);
|
||||
// }
|
||||
|
||||
// return cb(Errors.DoesNotExist('No matching actor ID'));
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
|
||||
// static loadProperties(actorId, options, cb) {
|
||||
// if (!cb && _.isFunction(options)) {
|
||||
// cb = options;
|
||||
// options = {};
|
||||
// }
|
||||
|
||||
// let sql = `SELECT prop_name, prop_value
|
||||
// FROM activitypub_actor_property
|
||||
// WHERE actor_id = ?`;
|
||||
|
||||
// if (options.names) {
|
||||
// sql += ` AND prop_name IN("${options.names.join('","')}");`;
|
||||
// } else {
|
||||
// sql += ';';
|
||||
// }
|
||||
|
||||
// let properties = {};
|
||||
// actorDb.each(
|
||||
// sql,
|
||||
// [actorId],
|
||||
// (err, row) => {
|
||||
// if (err) {
|
||||
// return cb(err);
|
||||
// }
|
||||
// properties[row.prop_name] = row.prop_value;
|
||||
// },
|
||||
// err => {
|
||||
// return cb(err, err ? null : properties);
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
|
||||
// // :TODO: make this much more flexible - propValue should allow for case-insensitive compare, etc.
|
||||
// static getActorIdsWithProperty(propName, propValue, cb) {
|
||||
// let actorIds = [];
|
||||
|
||||
// actorDb.each(
|
||||
// `SELECT actor_id
|
||||
// FROM activitypub_actor_property
|
||||
// WHERE prop_name = ? AND prop_value = ?;`,
|
||||
// [propName, propValue],
|
||||
// (err, row) => {
|
||||
// if (row) {
|
||||
// actorIds.push(row.actor_id);
|
||||
// }
|
||||
// },
|
||||
// () => {
|
||||
// return cb(null, actorIds);
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
|
||||
// static getActorCount(cb) {
|
||||
// actorDb.get(
|
||||
// `SELECT count() AS actor_count
|
||||
// FROM activitypub_actor;`,
|
||||
// (err, row) => {
|
||||
// if (err) {
|
||||
// return cb(err);
|
||||
// }
|
||||
// return cb(null, row.actor_count);
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
};
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
/* jslint node: true */
|
||||
'use strict';
|
||||
|
||||
//
|
||||
// Common Activitypub actor properties used throughout the system.
|
||||
//
|
||||
// This IS NOT a full list. For example, custom modules
|
||||
// can utilize their own properties as well!
|
||||
//
|
||||
exports.ActorProps = {
|
||||
Type: 'type',
|
||||
PreferredUsername: 'preferred_user_name',
|
||||
Name: 'name',
|
||||
Summary: 'summary',
|
||||
IconUrl: 'icon_url',
|
||||
BannerUrl: 'banner_url',
|
||||
PublicActivityPubSigningKey: 'public_key_activitypub_sign_rsa_pem', // RSA public key for user
|
||||
};
|
||||
|
||||
exports.AllActorProperties = Object.values(exports.ActorProps);
|
|
@ -130,6 +130,12 @@ module.exports = () => {
|
|||
),
|
||||
},
|
||||
},
|
||||
|
||||
// path to avatar generation parts
|
||||
avatars: {
|
||||
storagePath: paths.join(__dirname, '../userdata/avatars/'),
|
||||
spritesPath: paths.join(__dirname, '../misc/avatar-sprites/'),
|
||||
},
|
||||
},
|
||||
|
||||
theme: {
|
||||
|
|
|
@ -17,6 +17,9 @@ const _ = require('lodash');
|
|||
const enigma_assert = require('../../../enigma_assert');
|
||||
const httpSignature = require('http-signature');
|
||||
const async = require('async');
|
||||
const paths = require('path');
|
||||
const fs = require('fs');
|
||||
const mimeTypes = require('mime-types');
|
||||
|
||||
exports.moduleInfo = {
|
||||
name: 'ActivityPub',
|
||||
|
@ -58,7 +61,7 @@ exports.getModule = class ActivityPubWebHandler extends WebHandlerModule {
|
|||
|
||||
this.webServer.addRoute({
|
||||
method: 'GET',
|
||||
path: /^\/_enig\/ap\/users\/.+\/outbox$/,
|
||||
path: /^\/_enig\/ap\/users\/.+\/outbox(\?page=[0-9]+)?$/,
|
||||
handler: (req, resp) => {
|
||||
return this._enforceSigningPolicy(
|
||||
req,
|
||||
|
@ -92,6 +95,13 @@ exports.getModule = class ActivityPubWebHandler extends WebHandlerModule {
|
|||
},
|
||||
});
|
||||
|
||||
// default avatar routing
|
||||
this.webServer.addRoute({
|
||||
method: 'GET',
|
||||
path: /^\/_enig\/ap\/users\/.+\/avatar\/.+$/,
|
||||
handler: this._avatarGetHandler.bind(this),
|
||||
});
|
||||
|
||||
// :TODO: NYI
|
||||
// this.webServer.addRoute({
|
||||
// method: 'GET',
|
||||
|
@ -257,6 +267,37 @@ exports.getModule = class ActivityPubWebHandler extends WebHandlerModule {
|
|||
return this._getCollectionHandler('outbox', req, resp, signature);
|
||||
}
|
||||
|
||||
_avatarGetHandler(req, resp) {
|
||||
const url = new URL(req.url, `https://${req.headers.host}`);
|
||||
const filename = paths.basename(url.pathname);
|
||||
if (!filename) {
|
||||
return this.webServer.fileNotFound(resp);
|
||||
}
|
||||
|
||||
const storagePath = _.get(Config(), 'users.avatars.storagePath');
|
||||
if (!storagePath) {
|
||||
return this.webServer.fileNotFound(resp);
|
||||
}
|
||||
|
||||
const localPath = paths.join(storagePath, filename);
|
||||
fs.stat(localPath, (err, stats) => {
|
||||
if (err || !stats.isFile()) {
|
||||
return this.webServer.accessDenied(resp);
|
||||
}
|
||||
|
||||
const headers = {
|
||||
'Content-Type':
|
||||
mimeTypes.contentType(paths.basename(localPath)) ||
|
||||
mimeTypes.contentType('.png'),
|
||||
'Content-Length': stats.size,
|
||||
};
|
||||
|
||||
const readStream = fs.createReadStream(localPath);
|
||||
resp.writeHead(200, headers);
|
||||
readStream.pipe(resp);
|
||||
});
|
||||
}
|
||||
|
||||
_accountNameFromUserPath(url, suffix) {
|
||||
const re = new RegExp(`^/_enig/ap/users/(.+)/${suffix}(\\?page=[0-9]+)?$`);
|
||||
const m = url.pathname.match(re);
|
||||
|
|
111
core/user.js
111
core/user.js
|
@ -19,6 +19,10 @@ const _ = require('lodash');
|
|||
const moment = require('moment');
|
||||
const sanatizeFilename = require('sanitize-filename');
|
||||
const ssh2 = require('ssh2');
|
||||
const AvatarGenerator = require('avatar-generator');
|
||||
const paths = require('path');
|
||||
const fse = require('fs-extra');
|
||||
const ActivityPubSettings = require('./activitypub/settings');
|
||||
|
||||
module.exports = class User {
|
||||
constructor() {
|
||||
|
@ -508,6 +512,41 @@ module.exports = class User {
|
|||
return callback(err, trans);
|
||||
});
|
||||
},
|
||||
function defaultAvatar(trans, callback) {
|
||||
self.generateNewRandomAvatar((err, outPath) => {
|
||||
return callback(err, outPath, trans);
|
||||
});
|
||||
},
|
||||
function defaultActivityPubSettings(outPath, trans, callback) {
|
||||
// we have to late import this crap :D
|
||||
const getServer = require('./listening_server.js').getServer;
|
||||
const WebServerPackageName = require('./servers/content/web')
|
||||
.moduleInfo.packageName;
|
||||
const webServer = getServer(WebServerPackageName);
|
||||
|
||||
// :TODO: fetch over +op default overrides here, e.g. 'enabled'
|
||||
const apSettings = ActivityPubSettings.fromUser(self);
|
||||
|
||||
// convert |outPath| of avatar to a URL, that, with the web
|
||||
// server enabled, can be fetched
|
||||
if (webServer) {
|
||||
const { makeUserUrl } = require('./activitypub/util');
|
||||
const filename = paths.basename(outPath);
|
||||
const url =
|
||||
makeUserUrl(webServer.instance, self, '/ap/users/') +
|
||||
`/avatar/${filename}`;
|
||||
|
||||
apSettings.image = url;
|
||||
apSettings.icon = url;
|
||||
}
|
||||
|
||||
self.setProperty(
|
||||
UserProps.ActivityPubSettings,
|
||||
JSON.stringify(apSettings)
|
||||
);
|
||||
|
||||
return callback(null, trans);
|
||||
},
|
||||
function setInitialGroupMembership(trans, callback) {
|
||||
// Assign initial groups. Must perform a clone: #235 - All users are sysops (and I can't un-sysop them)
|
||||
self.groups = [...config.users.defaultGroups];
|
||||
|
@ -667,6 +706,78 @@ module.exports = class User {
|
|||
);
|
||||
}
|
||||
|
||||
generateNewRandomAvatar(cb) {
|
||||
const spritesPath = _.get(Config(), 'users.avatars.spritesPath');
|
||||
const storagePath = _.get(Config(), 'users.avatars.storagePath');
|
||||
|
||||
if (!spritesPath || !storagePath) {
|
||||
return cb(
|
||||
Errors.MissingConfig(
|
||||
'Cannot generate new avatar: Missing path(s) in configuration'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
async.waterfall(
|
||||
[
|
||||
callback => {
|
||||
return fse.mkdirs(storagePath, err => {
|
||||
return callback(err);
|
||||
});
|
||||
},
|
||||
callback => {
|
||||
const avatar = new AvatarGenerator({
|
||||
parts: [
|
||||
'background',
|
||||
'face',
|
||||
'clothes',
|
||||
'head',
|
||||
'hair',
|
||||
'eye',
|
||||
'mouth',
|
||||
],
|
||||
partsLocation: spritesPath,
|
||||
imageExtension: '.png',
|
||||
});
|
||||
|
||||
const userSex = (
|
||||
this.getProperty(UserProps.Sex) || 'M'
|
||||
).toUpperCase();
|
||||
|
||||
const variant = userSex[0] === 'M' ? 'male' : 'female';
|
||||
const stableId = `user#${this.userId.toString()}`;
|
||||
|
||||
avatar
|
||||
.generate(stableId, variant)
|
||||
.then(image => {
|
||||
const filename = `user-avatar-${this.userId}.png`;
|
||||
const outPath = paths.join(storagePath, filename);
|
||||
image.resize(640, 640);
|
||||
image.toFile(outPath, err => {
|
||||
if (!err) {
|
||||
Log.info(
|
||||
{
|
||||
userId: this.userId,
|
||||
username: this.username,
|
||||
outPath,
|
||||
},
|
||||
`New avatar generated for ${this.username}`
|
||||
);
|
||||
}
|
||||
return callback(err, outPath);
|
||||
});
|
||||
})
|
||||
.catch(err => {
|
||||
return callback(err);
|
||||
});
|
||||
},
|
||||
],
|
||||
(err, outPath) => {
|
||||
return cb(err, outPath);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
persistProperties(properties, transOrDb, cb) {
|
||||
if (!_.isFunction(cb) && _.isFunction(transOrDb)) {
|
||||
cb = transOrDb;
|
||||
|
|
|
@ -8,7 +8,7 @@ module.exports = class WebHandlerModule extends PluginModule {
|
|||
|
||||
init(webServer, cb) {
|
||||
// to be implemented!
|
||||
this.webServer = webHandler;
|
||||
this.webServer = webServer;
|
||||
return cb(null);
|
||||
}
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"dependencies": {
|
||||
"@breejs/later": "4.1.0",
|
||||
"async": "3.2.4",
|
||||
"avatar-generator": "^2.0.4",
|
||||
"binary-parser": "2.1.0",
|
||||
"buffers": "github:NuSkooler/node-buffers",
|
||||
"bunyan": "1.8.15",
|
||||
|
|
413
yarn.lock
413
yarn.lock
|
@ -172,6 +172,11 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.0:
|
|||
dependencies:
|
||||
type-fest "^0.21.3"
|
||||
|
||||
ansi-regex@^2.0.0:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
|
||||
integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==
|
||||
|
||||
ansi-regex@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
|
||||
|
@ -203,6 +208,11 @@ anymatch@^3.1.1:
|
|||
normalize-path "^3.0.0"
|
||||
picomatch "^2.0.4"
|
||||
|
||||
aproba@^1.0.3:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
|
||||
integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
|
||||
|
||||
"aproba@^1.0.3 || ^2.0.0":
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz"
|
||||
|
@ -224,6 +234,14 @@ are-we-there-yet@^3.0.0:
|
|||
delegates "^1.0.0"
|
||||
readable-stream "^3.6.0"
|
||||
|
||||
are-we-there-yet@~1.1.2:
|
||||
version "1.1.7"
|
||||
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146"
|
||||
integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==
|
||||
dependencies:
|
||||
delegates "^1.0.0"
|
||||
readable-stream "^2.0.6"
|
||||
|
||||
argparse@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz"
|
||||
|
@ -263,6 +281,15 @@ async@3.2.4:
|
|||
resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz"
|
||||
integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
|
||||
|
||||
avatar-generator@^2.0.4:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/avatar-generator/-/avatar-generator-2.0.4.tgz#01d5db33b86ff32cf274f532ab9def0aaf49921a"
|
||||
integrity sha512-1XH0LAO6QwtOvv9ImVKr6O0DUtH+QX4B6ReBcfjbUPnFVZMfSgM18jkP8MDsrPxk9UmCGMddxBCxdizU7lbwrw==
|
||||
dependencies:
|
||||
commander "^5.1.0"
|
||||
seedrandom "^3.0.5"
|
||||
sharp "^0.25.2"
|
||||
|
||||
balanced-match@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"
|
||||
|
@ -290,7 +317,7 @@ binary-parser@2.1.0:
|
|||
resolved "https://registry.npmjs.org/binary-parser/-/binary-parser-2.1.0.tgz"
|
||||
integrity sha512-R6WS2W7a7UHAFYLm0vWlk5M2aTayOjiyBZp+bvUZPUteuU5hI9BaREHKAFLgpq/nKheMgSxZOzpe/x3NxddqiQ==
|
||||
|
||||
bl@^4.1.0:
|
||||
bl@^4.0.3, bl@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz"
|
||||
integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
|
||||
|
@ -409,6 +436,11 @@ chardet@^0.7.0:
|
|||
resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz"
|
||||
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
|
||||
|
||||
chownr@^1.1.1:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
|
||||
integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
|
||||
|
||||
chownr@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz"
|
||||
|
@ -457,11 +489,23 @@ clone@^1.0.2:
|
|||
resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz"
|
||||
integrity "sha1-2jCcwmPfFZlMaIypAheco8fNfH4= sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="
|
||||
|
||||
code-point-at@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
|
||||
integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==
|
||||
|
||||
coffee-script@^1.12.4:
|
||||
version "1.12.7"
|
||||
resolved "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz"
|
||||
integrity sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==
|
||||
|
||||
color-convert@^1.9.3:
|
||||
version "1.9.3"
|
||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
|
||||
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
|
||||
dependencies:
|
||||
color-name "1.1.3"
|
||||
|
||||
color-convert@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
|
||||
|
@ -469,21 +513,47 @@ color-convert@^2.0.1:
|
|||
dependencies:
|
||||
color-name "~1.1.4"
|
||||
|
||||
color-name@~1.1.4:
|
||||
color-name@1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
|
||||
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
|
||||
|
||||
color-name@^1.0.0, color-name@~1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
|
||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||
|
||||
color-string@^1.6.0:
|
||||
version "1.9.1"
|
||||
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4"
|
||||
integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
|
||||
dependencies:
|
||||
color-name "^1.0.0"
|
||||
simple-swizzle "^0.2.2"
|
||||
|
||||
color-support@^1.1.2, color-support@^1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz"
|
||||
integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
|
||||
|
||||
color@^3.1.2:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
|
||||
integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
|
||||
dependencies:
|
||||
color-convert "^1.9.3"
|
||||
color-string "^1.6.0"
|
||||
|
||||
colorette@^2.0.19:
|
||||
version "2.0.19"
|
||||
resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz"
|
||||
integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==
|
||||
|
||||
commander@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
|
||||
integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
|
||||
|
||||
commander@^9.4.1:
|
||||
version "9.5.0"
|
||||
resolved "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz"
|
||||
|
@ -494,7 +564,7 @@ concat-map@0.0.1:
|
|||
resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
|
||||
integrity "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
|
||||
|
||||
console-control-strings@^1.0.0, console-control-strings@^1.1.0:
|
||||
console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-strings@~1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz"
|
||||
integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
|
||||
|
@ -504,6 +574,11 @@ core-util-is@1.0.2:
|
|||
resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
|
||||
integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==
|
||||
|
||||
core-util-is@~1.0.0:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
|
||||
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
|
||||
|
||||
cpu-features@~0.0.4:
|
||||
version "0.0.4"
|
||||
resolved "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.4.tgz"
|
||||
|
@ -535,11 +610,30 @@ debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4:
|
|||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
decompress-response@^4.2.0:
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986"
|
||||
integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
|
||||
dependencies:
|
||||
mimic-response "^2.0.0"
|
||||
|
||||
decompress-response@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
|
||||
integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
|
||||
dependencies:
|
||||
mimic-response "^3.1.0"
|
||||
|
||||
deep-extend@^0.5.1:
|
||||
version "0.5.1"
|
||||
resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz"
|
||||
integrity sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==
|
||||
|
||||
deep-extend@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
||||
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
|
||||
|
||||
deep-is@^0.1.3:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz"
|
||||
|
@ -587,6 +681,11 @@ depd@^1.1.2:
|
|||
resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
|
||||
integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
|
||||
|
||||
detect-libc@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
|
||||
integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==
|
||||
|
||||
detect-libc@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz"
|
||||
|
@ -652,6 +751,13 @@ end-of-stream@^1.1.0:
|
|||
dependencies:
|
||||
once "^1.4.0"
|
||||
|
||||
end-of-stream@^1.4.1:
|
||||
version "1.4.4"
|
||||
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
|
||||
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
|
||||
dependencies:
|
||||
once "^1.4.0"
|
||||
|
||||
env-paths@^2.2.0:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz"
|
||||
|
@ -828,6 +934,11 @@ exiftool@^0.0.3:
|
|||
resolved "https://registry.npmjs.org/exiftool/-/exiftool-0.0.3.tgz"
|
||||
integrity "sha1-9YqSvXcnCtxU8xUc7WGko6tp1wc= sha512-7xq/yI+ESuZEApWOTxp7bJ12XRjt+3LDqkCBLBkfrYDF3hQE65Lid/U2xYf7iCZ2LUBRWqsix1fXEfGvn9oTGw=="
|
||||
|
||||
expand-template@^2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
|
||||
integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
|
||||
|
||||
external-editor@^3.0.3:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz"
|
||||
|
@ -913,6 +1024,11 @@ flatted@^3.1.0:
|
|||
resolved "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz"
|
||||
integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==
|
||||
|
||||
fs-constants@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
|
||||
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
|
||||
|
||||
fs-extra@10.1.0:
|
||||
version "10.1.0"
|
||||
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz"
|
||||
|
@ -963,6 +1079,20 @@ gauge@^4.0.3:
|
|||
strip-ansi "^6.0.1"
|
||||
wide-align "^1.1.5"
|
||||
|
||||
gauge@~2.7.3:
|
||||
version "2.7.4"
|
||||
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
|
||||
integrity sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==
|
||||
dependencies:
|
||||
aproba "^1.0.3"
|
||||
console-control-strings "^1.0.0"
|
||||
has-unicode "^2.0.0"
|
||||
object-assign "^4.1.0"
|
||||
signal-exit "^3.0.0"
|
||||
string-width "^1.0.1"
|
||||
strip-ansi "^3.0.1"
|
||||
wide-align "^1.1.0"
|
||||
|
||||
get-stream@^5.0.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz"
|
||||
|
@ -982,6 +1112,11 @@ getpass@^0.1.1:
|
|||
dependencies:
|
||||
assert-plus "^1.0.0"
|
||||
|
||||
github-from-package@0.0.0:
|
||||
version "0.0.0"
|
||||
resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
|
||||
integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==
|
||||
|
||||
glob-parent@^6.0.2:
|
||||
version "6.0.2"
|
||||
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz"
|
||||
|
@ -1080,7 +1215,7 @@ has-flag@^4.0.0:
|
|||
resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
|
||||
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
|
||||
|
||||
has-unicode@^2.0.1:
|
||||
has-unicode@^2.0.0, has-unicode@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz"
|
||||
integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
|
||||
|
@ -1203,7 +1338,7 @@ inflight@^1.0.4:
|
|||
once "^1.3.0"
|
||||
wrappy "1"
|
||||
|
||||
inherits@2, inherits@^2.0.3, inherits@^2.0.4:
|
||||
inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
|
||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||
|
@ -1217,6 +1352,11 @@ ini-config-parser@^1.0.4:
|
|||
deep-extend "^0.5.1"
|
||||
rimraf "^2.6.1"
|
||||
|
||||
ini@~1.3.0:
|
||||
version "1.3.8"
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
|
||||
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
|
||||
|
||||
inquirer@^8.2.2:
|
||||
version "8.2.2"
|
||||
resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.2.tgz"
|
||||
|
@ -1242,11 +1382,23 @@ ip@^2.0.0:
|
|||
resolved "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz"
|
||||
integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==
|
||||
|
||||
is-arrayish@^0.3.1:
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
|
||||
integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
|
||||
|
||||
is-extglob@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
|
||||
integrity "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
|
||||
|
||||
is-fullwidth-code-point@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
|
||||
integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==
|
||||
dependencies:
|
||||
number-is-nan "^1.0.0"
|
||||
|
||||
is-fullwidth-code-point@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
|
||||
|
@ -1318,6 +1470,11 @@ is-unicode-supported@^0.1.0:
|
|||
resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz"
|
||||
integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
|
||||
|
||||
isarray@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
||||
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
|
||||
|
||||
isexe@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
|
||||
|
@ -1548,6 +1705,16 @@ mimic-fn@^4.0.0:
|
|||
resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz"
|
||||
integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
|
||||
|
||||
mimic-response@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"
|
||||
integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
|
||||
|
||||
mimic-response@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
|
||||
integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
|
||||
|
||||
"minimatch@2 || 3", minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
|
||||
|
@ -1567,6 +1734,11 @@ minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.6:
|
|||
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz"
|
||||
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
|
||||
|
||||
minimist@^1.2.3:
|
||||
version "1.2.7"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
|
||||
integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
|
||||
|
||||
minipass-collect@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz"
|
||||
|
@ -1621,6 +1793,11 @@ minizlib@^2.0.0, minizlib@^2.1.1:
|
|||
minipass "^3.0.0"
|
||||
yallist "^4.0.0"
|
||||
|
||||
mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
|
||||
version "0.5.3"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
|
||||
integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
|
||||
|
||||
mkdirp@^1.0.3, mkdirp@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"
|
||||
|
@ -1662,6 +1839,11 @@ nan@^2.10.0, nan@^2.14.0, nan@^2.15.0, nan@^2.16.0:
|
|||
resolved "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz"
|
||||
integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==
|
||||
|
||||
napi-build-utils@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806"
|
||||
integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
|
||||
|
||||
natural-compare@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
|
||||
|
@ -1687,6 +1869,18 @@ nntp-server@3.1.0:
|
|||
serialize-error "^8.1.0"
|
||||
split2 "^4.1.0"
|
||||
|
||||
node-abi@^2.7.0:
|
||||
version "2.30.1"
|
||||
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf"
|
||||
integrity sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==
|
||||
dependencies:
|
||||
semver "^5.4.1"
|
||||
|
||||
node-addon-api@^3.0.0:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161"
|
||||
integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==
|
||||
|
||||
node-addon-api@^4.2.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz"
|
||||
|
@ -1732,6 +1926,11 @@ nodemailer@6.7.7:
|
|||
resolved "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.7.tgz"
|
||||
integrity sha512-pOLC/s+2I1EXuSqO5Wa34i3kXZG3gugDssH+ZNCevHad65tc8vQlCQpOLaUjopvkRQKm2Cki2aME7fEOPRy3bA==
|
||||
|
||||
noop-logger@^0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2"
|
||||
integrity sha512-6kM8CLXvuW5crTxsAtva2YLrRrDaiTIkIePWs9moLHqbFWT94WpNFjwS/5dfLfECg5i/lkmw3aoqVidxt23TEQ==
|
||||
|
||||
nopt@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz"
|
||||
|
@ -1758,6 +1957,16 @@ npm-run-path@^5.1.0:
|
|||
dependencies:
|
||||
path-key "^4.0.0"
|
||||
|
||||
npmlog@^4.0.1, npmlog@^4.1.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
|
||||
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
|
||||
dependencies:
|
||||
are-we-there-yet "~1.1.2"
|
||||
console-control-strings "~1.1.0"
|
||||
gauge "~2.7.3"
|
||||
set-blocking "~2.0.0"
|
||||
|
||||
npmlog@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz"
|
||||
|
@ -1778,7 +1987,12 @@ npmlog@^6.0.0:
|
|||
gauge "^4.0.3"
|
||||
set-blocking "^2.0.0"
|
||||
|
||||
object-assign@^4.0.1, object-assign@^4.1.1:
|
||||
number-is-nan@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
|
||||
integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==
|
||||
|
||||
object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
|
||||
integrity "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
|
||||
|
@ -1938,6 +2152,27 @@ pinkie@^2.0.0:
|
|||
resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
|
||||
integrity "sha1-clVrgM+g1IqXToDnckjoDtT3+HA= sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg=="
|
||||
|
||||
prebuild-install@^5.3.4:
|
||||
version "5.3.6"
|
||||
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.3.6.tgz#7c225568d864c71d89d07f8796042733a3f54291"
|
||||
integrity sha512-s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg==
|
||||
dependencies:
|
||||
detect-libc "^1.0.3"
|
||||
expand-template "^2.0.3"
|
||||
github-from-package "0.0.0"
|
||||
minimist "^1.2.3"
|
||||
mkdirp-classic "^0.5.3"
|
||||
napi-build-utils "^1.0.1"
|
||||
node-abi "^2.7.0"
|
||||
noop-logger "^0.1.1"
|
||||
npmlog "^4.0.1"
|
||||
pump "^3.0.0"
|
||||
rc "^1.2.7"
|
||||
simple-get "^3.0.3"
|
||||
tar-fs "^2.0.0"
|
||||
tunnel-agent "^0.6.0"
|
||||
which-pm-runs "^1.0.0"
|
||||
|
||||
prelude-ls@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
|
||||
|
@ -1948,6 +2183,11 @@ prettier@2.8.1:
|
|||
resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz"
|
||||
integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==
|
||||
|
||||
process-nextick-args@~2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
||||
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
|
||||
|
||||
promise-inflight@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz"
|
||||
|
@ -1984,7 +2224,30 @@ queue-microtask@^1.2.2:
|
|||
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
|
||||
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
||||
|
||||
readable-stream@^3.4.0, readable-stream@^3.6.0:
|
||||
rc@^1.2.7:
|
||||
version "1.2.8"
|
||||
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
|
||||
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
|
||||
dependencies:
|
||||
deep-extend "^0.6.0"
|
||||
ini "~1.3.0"
|
||||
minimist "^1.2.0"
|
||||
strip-json-comments "~2.0.1"
|
||||
|
||||
readable-stream@^2.0.6:
|
||||
version "2.3.7"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
|
||||
integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
|
||||
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"
|
||||
|
||||
readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
|
||||
version "3.6.0"
|
||||
resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"
|
||||
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
|
||||
|
@ -2076,7 +2339,12 @@ rxjs@^7.5.5, rxjs@^7.5.7:
|
|||
dependencies:
|
||||
tslib "^2.1.0"
|
||||
|
||||
safe-buffer@~5.1.0:
|
||||
safe-buffer@^5.0.1:
|
||||
version "5.2.1"
|
||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
|
||||
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
|
||||
|
||||
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
|
||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||
|
@ -2113,11 +2381,28 @@ sanitize-filename@^1.6.3:
|
|||
dependencies:
|
||||
truncate-utf8-bytes "^1.0.0"
|
||||
|
||||
seedrandom@^3.0.5:
|
||||
version "3.0.5"
|
||||
resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.5.tgz#54edc85c95222525b0c7a6f6b3543d8e0b3aa0a7"
|
||||
integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==
|
||||
|
||||
semver@^5.4.1:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
||||
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
|
||||
|
||||
semver@^6.0.0:
|
||||
version "6.3.0"
|
||||
resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
|
||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||
|
||||
semver@^7.3.2:
|
||||
version "7.3.8"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
|
||||
integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
semver@^7.3.5:
|
||||
version "7.3.7"
|
||||
resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz"
|
||||
|
@ -2132,11 +2417,26 @@ serialize-error@^8.1.0:
|
|||
dependencies:
|
||||
type-fest "^0.20.2"
|
||||
|
||||
set-blocking@^2.0.0:
|
||||
set-blocking@^2.0.0, set-blocking@~2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
|
||||
integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
|
||||
|
||||
sharp@^0.25.2:
|
||||
version "0.25.4"
|
||||
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.25.4.tgz#1a8e542144a07ab7e9316ab89de80182b827c363"
|
||||
integrity sha512-umSzJJ1oBwIOfwFFt/fJ7JgCva9FvrEU2cbbm7u/3hSDZhXvkME8WE5qpaJqLIe2Har5msF5UG4CzYlEg5o3BQ==
|
||||
dependencies:
|
||||
color "^3.1.2"
|
||||
detect-libc "^1.0.3"
|
||||
node-addon-api "^3.0.0"
|
||||
npmlog "^4.1.2"
|
||||
prebuild-install "^5.3.4"
|
||||
semver "^7.3.2"
|
||||
simple-get "^4.0.0"
|
||||
tar "^6.0.2"
|
||||
tunnel-agent "^0.6.0"
|
||||
|
||||
shebang-command@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
|
||||
|
@ -2154,6 +2454,36 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.7:
|
|||
resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz"
|
||||
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
|
||||
|
||||
simple-concat@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
|
||||
integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
|
||||
|
||||
simple-get@^3.0.3:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.1.tgz#cc7ba77cfbe761036fbfce3d021af25fc5584d55"
|
||||
integrity sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==
|
||||
dependencies:
|
||||
decompress-response "^4.2.0"
|
||||
once "^1.3.1"
|
||||
simple-concat "^1.0.0"
|
||||
|
||||
simple-get@^4.0.0:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543"
|
||||
integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==
|
||||
dependencies:
|
||||
decompress-response "^6.0.0"
|
||||
once "^1.3.1"
|
||||
simple-concat "^1.0.0"
|
||||
|
||||
simple-swizzle@^0.2.2:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
|
||||
integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==
|
||||
dependencies:
|
||||
is-arrayish "^0.3.1"
|
||||
|
||||
slice-ansi@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz"
|
||||
|
@ -2263,6 +2593,15 @@ string-argv@^0.3.1:
|
|||
resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz"
|
||||
integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
|
||||
|
||||
string-width@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
|
||||
integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==
|
||||
dependencies:
|
||||
code-point-at "^1.0.0"
|
||||
is-fullwidth-code-point "^1.0.0"
|
||||
strip-ansi "^3.0.0"
|
||||
|
||||
"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
|
||||
version "4.2.3"
|
||||
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
|
||||
|
@ -2288,6 +2627,20 @@ string_decoder@^1.1.1:
|
|||
dependencies:
|
||||
safe-buffer "~5.1.0"
|
||||
|
||||
string_decoder@~1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
|
||||
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
|
||||
dependencies:
|
||||
safe-buffer "~5.1.0"
|
||||
|
||||
strip-ansi@^3.0.0, strip-ansi@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
|
||||
integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==
|
||||
dependencies:
|
||||
ansi-regex "^2.0.0"
|
||||
|
||||
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
|
||||
|
@ -2317,6 +2670,11 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
|
|||
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
|
||||
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
|
||||
|
||||
strip-json-comments@~2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
|
||||
integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==
|
||||
|
||||
supports-color@^7.1.0:
|
||||
version "7.1.0"
|
||||
resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz"
|
||||
|
@ -2329,6 +2687,27 @@ systeminformation@5.12.3:
|
|||
resolved "https://registry.npmjs.org/systeminformation/-/systeminformation-5.12.3.tgz"
|
||||
integrity sha512-aPyTDzK/VjEheGEODprxFTMahIWTHGyWXxTsh9EOHjeekVltrIWrle4dOZouOlOYgtKM1pDoHkrR+IssgYCK/A==
|
||||
|
||||
tar-fs@^2.0.0:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
|
||||
integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
|
||||
dependencies:
|
||||
chownr "^1.1.1"
|
||||
mkdirp-classic "^0.5.2"
|
||||
pump "^3.0.0"
|
||||
tar-stream "^2.1.4"
|
||||
|
||||
tar-stream@^2.1.4:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
|
||||
integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
|
||||
dependencies:
|
||||
bl "^4.0.3"
|
||||
end-of-stream "^1.4.1"
|
||||
fs-constants "^1.0.0"
|
||||
inherits "^2.0.3"
|
||||
readable-stream "^3.1.1"
|
||||
|
||||
tar@^6.0.2, tar@^6.1.11, tar@^6.1.2:
|
||||
version "6.1.11"
|
||||
resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz"
|
||||
|
@ -2407,6 +2786,13 @@ tslib@^2.1.0:
|
|||
resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz"
|
||||
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
|
||||
|
||||
tunnel-agent@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
|
||||
integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==
|
||||
dependencies:
|
||||
safe-buffer "^5.0.1"
|
||||
|
||||
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
|
||||
version "0.14.5"
|
||||
resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
|
||||
|
@ -2465,7 +2851,7 @@ utf8-byte-length@^1.0.1:
|
|||
resolved "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz"
|
||||
integrity "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E= sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA=="
|
||||
|
||||
util-deprecate@^1.0.1:
|
||||
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
|
||||
integrity "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
|
||||
|
@ -2547,6 +2933,11 @@ whatwg-url@^5.0.0:
|
|||
tr46 "~0.0.3"
|
||||
webidl-conversions "^3.0.0"
|
||||
|
||||
which-pm-runs@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35"
|
||||
integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==
|
||||
|
||||
which@^2.0.1, which@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
|
||||
|
@ -2554,7 +2945,7 @@ which@^2.0.1, which@^2.0.2:
|
|||
dependencies:
|
||||
isexe "^2.0.0"
|
||||
|
||||
wide-align@^1.1.2, wide-align@^1.1.5:
|
||||
wide-align@^1.1.0, wide-align@^1.1.2, wide-align@^1.1.5:
|
||||
version "1.1.5"
|
||||
resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz"
|
||||
integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
|
||||
|
|
Loading…
Reference in New Issue