flow: so much
This commit is contained in:
parent
9fae1224d0
commit
0588afa741
|
@ -3,6 +3,7 @@
|
|||
"private": true,
|
||||
"scripts": {
|
||||
"build": "lerna run build",
|
||||
"clean": "lerna exec rm yarn.lock",
|
||||
"forcedev": "lerna run dev && lerna run forcepub",
|
||||
"lint": "lerna run lint",
|
||||
"test": "lerna run test",
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -5,7 +5,9 @@ const {Latus} = require('@latus/core');
|
|||
return;
|
||||
}
|
||||
const latus = new Latus(window.$$latus);
|
||||
await Promise.all(latus.invokeFlat('@latus/http/client/up'));
|
||||
await latus.invokeSequential('@latus/http/client/up');
|
||||
// eslint-disable-next-line no-console
|
||||
console.log('Latus up!\n');
|
||||
})();
|
||||
|
||||
export default {};
|
||||
|
|
|
@ -14,6 +14,9 @@ export default {
|
|||
configs.client = require('./build/.neutrinorc');
|
||||
},
|
||||
'@latus/core/up': (latus) => createHttpServer(latus),
|
||||
'@latus/http/plugins': (req, {config: {'@latus/http': {'client.up': up}}}) => ({
|
||||
'@latus/http/client': {up},
|
||||
}),
|
||||
'@latus/repl/context': (latus) => ({
|
||||
httpServer: latus.config['%http'],
|
||||
}),
|
||||
|
|
|
@ -22,14 +22,29 @@ const common = (latus, req) => {
|
|||
neutrino.config
|
||||
.entry('latus')
|
||||
.add(`${__dirname}/client/latus`);
|
||||
const {config: {'@latus/http': {plugins}}} = latus;
|
||||
const config = latus.invokeReduce('@latus/http/plugins', undefined, undefined, req);
|
||||
const defaults = Object.keys(latus.config)
|
||||
.map((plugin) => {
|
||||
try {
|
||||
const client = `${plugin}/client`;
|
||||
// eslint-disable-next-line no-eval
|
||||
eval('require.resolve')(client);
|
||||
return {
|
||||
[client]: {},
|
||||
};
|
||||
}
|
||||
catch (error) {
|
||||
return {};
|
||||
}
|
||||
})
|
||||
.reduce((r, o) => ({...r, ...o}), {});
|
||||
neutrino.config
|
||||
.plugin('WebpackPlugin')
|
||||
.use(WebpackPlugin, [
|
||||
plugins.reduce(
|
||||
(r, plugin) => ({...r, ...latus.invokePlugin('@latus/http/plugins', plugin, req)}),
|
||||
{},
|
||||
),
|
||||
{
|
||||
...defaults,
|
||||
...config,
|
||||
},
|
||||
]);
|
||||
},
|
||||
(neutrino) => {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@ const splitConfig = require('../../config/split-config');
|
|||
const pkg = require('./package.json');
|
||||
|
||||
const clientMains = [
|
||||
'entry',
|
||||
'client',
|
||||
];
|
||||
|
||||
module.exports = splitConfig(pkg, clientMains);
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
"files": [
|
||||
"index.js",
|
||||
"index.js.map",
|
||||
"entry.js",
|
||||
"entry.js.map"
|
||||
"client.js",
|
||||
"client.js.map"
|
||||
],
|
||||
"dependencies": {
|
||||
"@neutrinojs/react": "^9.4.0",
|
||||
|
|
20
packages/react/src/client.js
Normal file
20
packages/react/src/client.js
Normal file
|
@ -0,0 +1,20 @@
|
|||
import React from 'react';
|
||||
import {render} from 'react-dom';
|
||||
|
||||
import LatusContext from './context';
|
||||
|
||||
export {LatusContext};
|
||||
|
||||
export default {
|
||||
hooks: {
|
||||
'@latus/http/client/up': (latus) => {
|
||||
const Components = latus.invoke('@latus/react/components');
|
||||
const children = Object.entries(Components)
|
||||
.map(([key, Component]) => React.createElement(Component, {key}));
|
||||
return render(
|
||||
React.createElement(LatusContext.Provider, {value: latus}, children),
|
||||
window.document.getElementById('root'),
|
||||
);
|
||||
},
|
||||
},
|
||||
};
|
3
packages/react/src/context.js
Normal file
3
packages/react/src/context.js
Normal file
|
@ -0,0 +1,3 @@
|
|||
import {createContext} from 'react';
|
||||
|
||||
export default createContext(undefined);
|
|
@ -1,17 +0,0 @@
|
|||
import React from 'react';
|
||||
import {render} from 'react-dom';
|
||||
|
||||
export default {
|
||||
hooks: {
|
||||
'@latus/http/client/up': (latus) => {
|
||||
const Components = latus.invoke('@latus/react/components');
|
||||
const heated = React.createElement(
|
||||
React.Fragment,
|
||||
{},
|
||||
Object.entries(Components)
|
||||
.map(([key, Component]) => React.createElement(Component, {key})),
|
||||
);
|
||||
return render(heated, window.document.getElementById('root'));
|
||||
},
|
||||
},
|
||||
};
|
|
@ -22,7 +22,6 @@ export default {
|
|||
}),
|
||||
'@latus/http/build': () => middleware,
|
||||
'@latus/http/plugins': (req, {config: {'@latus/react': {entry}}}) => ({
|
||||
'@latus/react/entry': {},
|
||||
[entry]: {},
|
||||
}),
|
||||
},
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -16,7 +16,9 @@
|
|||
"client.js",
|
||||
"client.js.map",
|
||||
"index.js",
|
||||
"index.js.map"
|
||||
"index.js.map",
|
||||
"packets.js",
|
||||
"packets.js.map"
|
||||
],
|
||||
"dependencies": {
|
||||
"@latus/core": "^1.0.0",
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
import gatherPackets from '../packet/gather';
|
||||
import SocketClient from './socket';
|
||||
|
||||
export default {
|
||||
hooks: {
|
||||
'@latus/http/client/up': (latus) => {
|
||||
gatherPackets(latus);
|
||||
const socket = new SocketClient(latus);
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
latus.config['%socket'] = socket;
|
||||
socket.connect();
|
||||
},
|
||||
},
|
||||
|
|
|
@ -31,9 +31,6 @@ export default class SocketClient extends decorate(Class) {
|
|||
};
|
||||
this.latus = latus;
|
||||
this.socket = null;
|
||||
const Packets = latus.invokeReduce('@latus/socket/packets');
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
latus.config['%packets'] = latus.invokeComposed('@latus/socket/packets.decorate', Packets);
|
||||
}
|
||||
|
||||
connect(address) {
|
||||
|
|
|
@ -1,41 +1,41 @@
|
|||
import {createSocketServer} from './lifecycle';
|
||||
import LatusPacket from './packet';
|
||||
import gatherPackets from './packet/gather';
|
||||
|
||||
const badPacketsCheck = (Packets, type) => {
|
||||
const badPackets = Object.fromEntries(
|
||||
Object.entries(Packets).filter(([, Packet]) => !(Packet instanceof LatusPacket)),
|
||||
);
|
||||
if (badPackets.length > 0) {
|
||||
const badKeys = Object.keys(badPackets);
|
||||
throw new Error([
|
||||
`Implementations of ${type}`,
|
||||
"need to return a map of subclasses derived from '@latus/socket/packet'. The following",
|
||||
'packets were not:',
|
||||
`'${badKeys.join("', '")}'`,
|
||||
].join(' '));
|
||||
}
|
||||
};
|
||||
export {default as Packet, ValidationError} from './packet';
|
||||
|
||||
export default {
|
||||
hooks: {
|
||||
'@latus/core/config': () => ({
|
||||
connection: [],
|
||||
}),
|
||||
'@latus/http/plugins': () => ({
|
||||
'@latus/socket/client': {},
|
||||
authenticate: [],
|
||||
connect: [],
|
||||
}),
|
||||
'@latus/http/server/up': async (httpServer, latus) => {
|
||||
const Packets = latus.invokeReduce('@latus/socket/packets');
|
||||
badPacketsCheck(Packets, '@latus/socket/packets');
|
||||
const composed = latus.invokeComposed('@latus/socket/packets.decorate', Packets);
|
||||
badPacketsCheck(composed, '@latus/socket/packets.decorate');
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
latus.config['%packets'] = composed;
|
||||
gatherPackets(latus);
|
||||
createSocketServer(httpServer, latus);
|
||||
},
|
||||
'@latus/repl/context': (latus) => ({
|
||||
Packets: latus.config['%packets'],
|
||||
sockets: latus.config['%sockets'],
|
||||
}),
|
||||
'@latus/socket/connect': (socket) => {
|
||||
socket.on('packet', async (packet, fn) => {
|
||||
const Packet = packet.constructor;
|
||||
try {
|
||||
await Packet.validate(packet, socket);
|
||||
fn(undefined, await Packet.respond(packet, socket));
|
||||
}
|
||||
catch (error) {
|
||||
if (error.payload) {
|
||||
fn(error.payload);
|
||||
return;
|
||||
}
|
||||
if (error instanceof Error) {
|
||||
fn({code: 500});
|
||||
throw error;
|
||||
}
|
||||
fn(error);
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
16
packages/socket/src/packet/bad-packets-check.js
Normal file
16
packages/socket/src/packet/bad-packets-check.js
Normal file
|
@ -0,0 +1,16 @@
|
|||
import LatusPacket from './packet';
|
||||
|
||||
export default (Packets, type) => {
|
||||
const badPackets = Object.fromEntries(
|
||||
Object.entries(Packets).filter(([, Packet]) => !(Packet instanceof LatusPacket)),
|
||||
);
|
||||
if (badPackets.length > 0) {
|
||||
const badKeys = Object.keys(badPackets);
|
||||
throw new Error([
|
||||
`Implementations of ${type}`,
|
||||
"need to return a map of subclasses derived from '@latus/socket/packet'. The following",
|
||||
'packets were not:',
|
||||
`'${badKeys.join("', '")}'`,
|
||||
].join(' '));
|
||||
}
|
||||
};
|
22
packages/socket/src/packet/gather.js
Normal file
22
packages/socket/src/packet/gather.js
Normal file
|
@ -0,0 +1,22 @@
|
|||
import badPacketsCheck from './bad-packets-check';
|
||||
|
||||
export default (latus) => {
|
||||
const Packets = latus.invokeReduce('@latus/socket/packets');
|
||||
badPacketsCheck(Packets, '@latus/socket/packets');
|
||||
const composed = latus.invokeComposed('@latus/socket/packets.decorate', Packets);
|
||||
badPacketsCheck(composed, '@latus/socket/packets.decorate');
|
||||
let uid = 1;
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
latus.config['%packets'] = Object.fromEntries(
|
||||
Object.entries(composed).map(([name, Packet]) => [
|
||||
name,
|
||||
class IdPacket extends Packet {
|
||||
|
||||
static id = uid++;
|
||||
|
||||
static name = name;
|
||||
|
||||
},
|
||||
]),
|
||||
);
|
||||
};
|
|
@ -1 +1,2 @@
|
|||
export {default} from './packet';
|
||||
export {default as ValidationError} from './validation-error';
|
||||
|
|
|
@ -9,14 +9,13 @@ export default class Packet {
|
|||
|
||||
static get builder() {
|
||||
if (!this._builder) {
|
||||
const {schema} = this;
|
||||
if (!schema._id) {
|
||||
throw new Error([
|
||||
`No packet id found in '${this.name}.schema'. This is usually due to forgetting to`,
|
||||
'inherit from Packet.schema within your packet subclass schema definition.',
|
||||
].join(' '));
|
||||
}
|
||||
this._builder = schemapack.build(schema);
|
||||
this._builder = schemapack.build({
|
||||
_id: 'uint8',
|
||||
id: 'uint32',
|
||||
nsp: 'string',
|
||||
type: 'uint8',
|
||||
data: this.data || {},
|
||||
});
|
||||
}
|
||||
return this._builder;
|
||||
}
|
||||
|
@ -38,17 +37,20 @@ export default class Packet {
|
|||
});
|
||||
}
|
||||
|
||||
static get schema() {
|
||||
return {
|
||||
_id: 'uint16',
|
||||
id: 'uint32',
|
||||
nsp: 'string',
|
||||
type: 'uint8',
|
||||
};
|
||||
static respond(packet, socket) {
|
||||
if (packet.respond) {
|
||||
packet.respond(socket);
|
||||
}
|
||||
}
|
||||
|
||||
static unpack(packet) {
|
||||
return this.builder.decode(packet);
|
||||
}
|
||||
|
||||
static validate(packet, socket) {
|
||||
if (packet.validate) {
|
||||
packet.validate(socket);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ const Encoder = (latus) => class Encoder {
|
|||
// eslint-disable-next-line class-methods-use-this
|
||||
pack(packet) {
|
||||
const packetId = packet.data[0];
|
||||
const {default: Packet} = fromId(latus, packetId);
|
||||
const Packet = fromId(latus, packetId);
|
||||
return deflate(Packet.pack(packet));
|
||||
}
|
||||
|
||||
|
@ -69,7 +69,7 @@ const Decoder = (latus) => class Decoder extends decorate(class {}) {
|
|||
const packet = inflate(Buffer.from(binary));
|
||||
const view = new Uint8Array(packet);
|
||||
const packetId = view[0];
|
||||
const {default: Packet} = fromId(latus, packetId);
|
||||
const Packet = fromId(latus, packetId);
|
||||
const unpacked = Packet.unpack(packet);
|
||||
const {data} = unpacked;
|
||||
this.emit('decoded', {
|
||||
|
|
9
packages/socket/src/packet/validation-error.js
Normal file
9
packages/socket/src/packet/validation-error.js
Normal file
|
@ -0,0 +1,9 @@
|
|||
export default class ValidationError extends Error {
|
||||
|
||||
constructor(...args) {
|
||||
const [payload, ...after] = args;
|
||||
super(...after);
|
||||
this.payload = payload;
|
||||
}
|
||||
|
||||
}
|
1
packages/socket/src/packets.js
Normal file
1
packages/socket/src/packets.js
Normal file
|
@ -0,0 +1 @@
|
|||
export {default as Packet, ValidationError} from './packet';
|
|
@ -14,9 +14,9 @@ export default class ServerSocket extends decorate(Class) {
|
|||
constructor(socket, latus) {
|
||||
super();
|
||||
this.socket = socket;
|
||||
const Packets = all(latus);
|
||||
const Packets = Object.entries(all(latus));
|
||||
for (let i = 0; i < Packets.length; i++) {
|
||||
const Packet = Packets[i];
|
||||
const Packet = Packets[i][1];
|
||||
const {id} = Packet;
|
||||
debug('Registering packet %s(id: %s)', Packet.name, id);
|
||||
this.socket.on(id, (data, fn) => {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -21,11 +21,14 @@
|
|||
"models.js.map",
|
||||
"passport.js",
|
||||
"passport.js.map",
|
||||
"passport/client.js",
|
||||
"passport/client.js.map",
|
||||
"session.js",
|
||||
"session.js.map"
|
||||
],
|
||||
"dependencies": {
|
||||
"@latus/db": "^1.0.0",
|
||||
"@latus/socket": "^1.0.0",
|
||||
"bcrypt": "^5.0.0",
|
||||
"debug": "4.3.1",
|
||||
"express": "^4.17.1",
|
||||
|
|
200
packages/user/passport/client.js
Normal file
200
packages/user/passport/client.js
Normal file
|
@ -0,0 +1,200 @@
|
|||
(function webpackUniversalModuleDefinition(root, factory) {
|
||||
if(typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = factory();
|
||||
else if(typeof define === 'function' && define.amd)
|
||||
define("@latus/user", [], factory);
|
||||
else if(typeof exports === 'object')
|
||||
exports["@latus/user"] = factory();
|
||||
else
|
||||
root["@latus/user"] = factory();
|
||||
})(global, function() {
|
||||
return /******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId]) {
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = function(exports) {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // create a fake namespace object
|
||||
/******/ // mode & 1: value is a module id, require it
|
||||
/******/ // mode & 2: merge all properties of value into the ns
|
||||
/******/ // mode & 4: return value when already ns object
|
||||
/******/ // mode & 8|1: behave like require
|
||||
/******/ __webpack_require__.t = function(value, mode) {
|
||||
/******/ if(mode & 1) value = __webpack_require__(value);
|
||||
/******/ if(mode & 8) return value;
|
||||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
||||
/******/ var ns = Object.create(null);
|
||||
/******/ __webpack_require__.r(ns);
|
||||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
||||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
||||
/******/ return ns;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "";
|
||||
/******/
|
||||
/******/
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ return __webpack_require__(__webpack_require__.s = 4);
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ({
|
||||
|
||||
/***/ "./src/packets/index.js":
|
||||
/*!******************************!*\
|
||||
!*** ./src/packets/index.js ***!
|
||||
\******************************/
|
||||
/*! exports provided: Logout */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _logout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logout */ "./src/packets/logout.js");
|
||||
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Logout", function() { return _logout__WEBPACK_IMPORTED_MODULE_0__["default"]; });
|
||||
|
||||
// eslint-disable-next-line import/prefer-default-export
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/packets/logout.js":
|
||||
/*!*******************************!*\
|
||||
!*** ./src/packets/logout.js ***!
|
||||
\*******************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _latus_socket_packets__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @latus/socket/packets */ "@latus/socket/packets");
|
||||
/* harmony import */ var _latus_socket_packets__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_latus_socket_packets__WEBPACK_IMPORTED_MODULE_0__);
|
||||
|
||||
/* harmony default export */ __webpack_exports__["default"] = (() => class Logout extends _latus_socket_packets__WEBPACK_IMPORTED_MODULE_0__["Packet"] {
|
||||
static respond(packet, _ref) {
|
||||
var {
|
||||
req
|
||||
} = _ref;
|
||||
req.logout();
|
||||
return new Promise((r, e) => req.session.save(error => error ? e(error) : r()));
|
||||
}
|
||||
|
||||
static validate(packet, _ref2) {
|
||||
var {
|
||||
req
|
||||
} = _ref2;
|
||||
|
||||
if (!req.user) {
|
||||
throw new _latus_socket_packets__WEBPACK_IMPORTED_MODULE_0__["ValidationError"]({
|
||||
code: 400,
|
||||
reason: 'anonymous'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/passport/client.js":
|
||||
/*!********************************!*\
|
||||
!*** ./src/passport/client.js ***!
|
||||
\********************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _packets__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../packets */ "./src/packets/index.js");
|
||||
|
||||
/* harmony default export */ __webpack_exports__["default"] = ({
|
||||
hooks: {
|
||||
'@latus/socket/packets': latus => ({
|
||||
Logout: Object(_packets__WEBPACK_IMPORTED_MODULE_0__["Logout"])(latus)
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 4:
|
||||
/*!***********************************!*\
|
||||
!*** multi ./src/passport/client ***!
|
||||
\***********************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
module.exports = __webpack_require__(/*! /sync/src/code/latus/packages/user/src/passport/client */"./src/passport/client.js");
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "@latus/socket/packets":
|
||||
/*!****************************************!*\
|
||||
!*** external "@latus/socket/packets" ***!
|
||||
\****************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = require("@latus/socket/packets");
|
||||
|
||||
/***/ })
|
||||
|
||||
/******/ });
|
||||
});
|
||||
//# sourceMappingURL=client.js.map
|
1
packages/user/passport/client.js.map
Normal file
1
packages/user/passport/client.js.map
Normal file
File diff suppressed because one or more lines are too long
|
@ -1,32 +1,14 @@
|
|||
import {randomBytes} from 'crypto';
|
||||
|
||||
import {ModelMap, Types} from '@latus/db';
|
||||
import bcrypt from 'bcrypt';
|
||||
import {ModelMap} from '@latus/db';
|
||||
import passport from 'passport';
|
||||
import LocalStrategy from 'passport-local';
|
||||
|
||||
const LocalUser = (User) => class LocalUser extends User {
|
||||
import UserLocal from './models';
|
||||
|
||||
static saltRounds = 10;
|
||||
|
||||
static get attributes() {
|
||||
return {
|
||||
...super.attributes,
|
||||
email: Types.STRING,
|
||||
hash: Types.STRING,
|
||||
};
|
||||
}
|
||||
|
||||
async addHashedPassword(plaintext) {
|
||||
this.hash = await bcrypt.hash(plaintext, this.constructor.saltRounds);
|
||||
return this;
|
||||
}
|
||||
|
||||
validatePassword(plaintext) {
|
||||
return bcrypt.compare(plaintext, this.hash);
|
||||
}
|
||||
|
||||
};
|
||||
const {
|
||||
SIDE,
|
||||
} = process.env;
|
||||
|
||||
export default {
|
||||
hooks: {
|
||||
|
@ -47,7 +29,7 @@ export default {
|
|||
},
|
||||
'@latus/db/models.decorate': (Models) => ({
|
||||
...Models,
|
||||
User: LocalUser(Models.User),
|
||||
User: UserLocal(Models.User),
|
||||
}),
|
||||
'@latus/repl/commands': (latus) => {
|
||||
const {User} = ModelMap(latus);
|
||||
|
@ -70,5 +52,14 @@ export default {
|
|||
},
|
||||
};
|
||||
},
|
||||
// '@latus/socket/packets': (latus) => ({
|
||||
// LoginLocal: (
|
||||
// 'server' === SIDE
|
||||
// // eslint-disable-next-line global-require
|
||||
// ? require('./packets/login-local.server')
|
||||
// // eslint-disable-next-line global-require
|
||||
// : require('./packets/login-local')
|
||||
// ).default(latus),
|
||||
// }),
|
||||
},
|
||||
};
|
||||
|
|
25
packages/user/src/models/user-local.js
Normal file
25
packages/user/src/models/user-local.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
import {Types} from '@latus/db';
|
||||
import bcrypt from 'bcrypt';
|
||||
|
||||
export default (User) => class UserLocal extends User {
|
||||
|
||||
static saltRounds = 10;
|
||||
|
||||
static get attributes() {
|
||||
return {
|
||||
...super.attributes,
|
||||
email: Types.STRING,
|
||||
hash: Types.STRING,
|
||||
};
|
||||
}
|
||||
|
||||
async addHashedPassword(plaintext) {
|
||||
this.hash = await bcrypt.hash(plaintext, this.constructor.saltRounds);
|
||||
return this;
|
||||
}
|
||||
|
||||
validatePassword(plaintext) {
|
||||
return bcrypt.compare(plaintext, this.hash);
|
||||
}
|
||||
|
||||
};
|
2
packages/user/src/packets/index.js
Normal file
2
packages/user/src/packets/index.js
Normal file
|
@ -0,0 +1,2 @@
|
|||
// eslint-disable-next-line import/prefer-default-export
|
||||
export {default as Logout} from './logout';
|
17
packages/user/src/packets/login-local.js
Normal file
17
packages/user/src/packets/login-local.js
Normal file
|
@ -0,0 +1,17 @@
|
|||
import {Packet} from '@latus/socket';
|
||||
|
||||
export default () => class LoginLocal extends Packet {
|
||||
|
||||
static get data() {
|
||||
return {
|
||||
password: 'string',
|
||||
username: 'string',
|
||||
};
|
||||
}
|
||||
|
||||
static limit = {
|
||||
points: 3,
|
||||
duration: 15,
|
||||
};
|
||||
|
||||
};
|
38
packages/user/src/packets/login-local.server.js
Normal file
38
packages/user/src/packets/login-local.server.js
Normal file
|
@ -0,0 +1,38 @@
|
|||
import {ValidationError} from '@latus/socket';
|
||||
import passport from 'passport';
|
||||
|
||||
import LoginLocal from './login-local';
|
||||
|
||||
export default () => class LoginLocalServer extends LoginLocal {
|
||||
|
||||
respond({req}) {
|
||||
const {password, username} = this.data;
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
req.query = {
|
||||
...req.query,
|
||||
password,
|
||||
username,
|
||||
};
|
||||
return new Promise((r, e) => passport.authenticate('local', (error, user) => {
|
||||
if (error) {
|
||||
e(error);
|
||||
return;
|
||||
}
|
||||
if (!user) {
|
||||
e(new ValidationError({
|
||||
code: 403,
|
||||
reason: 'invalid',
|
||||
}));
|
||||
return;
|
||||
}
|
||||
req.logIn(user, (error) => {
|
||||
if (error) {
|
||||
e(error);
|
||||
return;
|
||||
}
|
||||
r();
|
||||
});
|
||||
})(req, null, () => {}));
|
||||
}
|
||||
|
||||
};
|
16
packages/user/src/packets/logout.js
Normal file
16
packages/user/src/packets/logout.js
Normal file
|
@ -0,0 +1,16 @@
|
|||
import {Packet, ValidationError} from '@latus/socket/packets';
|
||||
|
||||
export default () => class Logout extends Packet {
|
||||
|
||||
static respond(packet, {req}) {
|
||||
req.logout();
|
||||
return new Promise((r, e) => req.session.save((error) => (error ? e(error) : r())));
|
||||
}
|
||||
|
||||
static validate(packet, {req}) {
|
||||
if (!req.user) {
|
||||
throw new ValidationError({code: 400, reason: 'anonymous'});
|
||||
}
|
||||
}
|
||||
|
||||
};
|
9
packages/user/src/passport/client.js
Normal file
9
packages/user/src/passport/client.js
Normal file
|
@ -0,0 +1,9 @@
|
|||
import {Logout} from '../packets';
|
||||
|
||||
export default {
|
||||
hooks: {
|
||||
'@latus/socket/packets': (latus) => ({
|
||||
Logout: Logout(latus),
|
||||
}),
|
||||
},
|
||||
};
|
|
@ -3,6 +3,8 @@ import D from 'debug';
|
|||
import passport from 'passport';
|
||||
import LogOps from 'passport/lib/http/request';
|
||||
|
||||
import {Logout} from '../packets';
|
||||
|
||||
const debug = D('@latus/user/passport');
|
||||
|
||||
export default {
|
||||
|
@ -45,5 +47,8 @@ export default {
|
|||
});
|
||||
});
|
||||
},
|
||||
'@latus/socket/packets': (latus) => ({
|
||||
Logout: Logout(latus),
|
||||
}),
|
||||
},
|
||||
};
|
File diff suppressed because it is too large
Load Diff
|
@ -4,18 +4,20 @@
|
|||
"license": "MIT",
|
||||
"scripts": {
|
||||
"build": "webpack --mode production",
|
||||
"dev": "webpack --mode development",
|
||||
"forcebuild": "rm yarn.lock && yarn && yarn run build",
|
||||
"forcelatus": "pkgs=$(find node_modules/@latus -maxdepth 1 -mindepth 1 -printf '@latus/%f '); yarn remove $pkgs; yarn add $pkgs && yarn run build",
|
||||
"forcerun": "yarn run forcelatus && yarn run devrun",
|
||||
"forcelatus": "pkgs=$(find node_modules/@latus -maxdepth 1 -mindepth 1 -printf '@latus/%f '); yarn remove $pkgs; yarn add $pkgs",
|
||||
"forcedev": "yarn run forcelatus && yarn run dev && yarn run devrun",
|
||||
"devrun": "DEBUG=* HTTP_HOST=0.0.0.0 HTTP_PORT=32340 NODE_ENV=development node build/index.js",
|
||||
"lint": "eslint --cache --format codeframe --ext mjs,jsx,js src",
|
||||
"repl": "rlwrap -C qmp socat STDIO UNIX:$(ls /tmp/latus-*.sock | tail -n 1)",
|
||||
"test": "NODE_PRESERVE_SYMLINKS=1 mocha --watch src",
|
||||
"watch": "NODE_PRESERVE_SYMLINKS=1 webpack --watch --mode development"
|
||||
"test": "mocha --watch src",
|
||||
"watch": "webpack --watch --mode development"
|
||||
},
|
||||
"dependencies": {
|
||||
"@latus/core": "^1.0.0",
|
||||
"@latus/db": "^1.0.0",
|
||||
"@latus/governor": "^1.0.0",
|
||||
"@latus/http": "^1.0.0",
|
||||
"@latus/react": "^1.0.0",
|
||||
"@latus/redis": "^1.0.0",
|
||||
|
|
|
@ -913,17 +913,17 @@
|
|||
|
||||
"@latus/core@1.0.0", "@latus/core@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2fcore/-/core-1.0.0.tgz#c2d842fe69ba361563b8317838d1f77bb18dfa5f"
|
||||
integrity sha512-KFchzfh2lOEgAey5mViHN6vk/kOMol4wSO7ytQ2azUovFDtNaNhHLmV09jSTyLJJG5sOZ/j5Q4eaYRkpZBn0eQ==
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2fcore/-/core-1.0.0.tgz#d549ba1169ac744101943403f2f97484b8860877"
|
||||
integrity sha512-yXwmiXCxzkNVIx0XbDJ9b3eNZe+IU/jnL9XDeNvK90EHY4V1JFaYmYOBG0NUfi4TODNHaZKlWnJbAiEFCk7dbw==
|
||||
dependencies:
|
||||
debug "4.3.1"
|
||||
js-yaml "3.14.0"
|
||||
webpack-virtual-modules "0.3.2"
|
||||
|
||||
"@latus/db@1.0.0", "@latus/db@^1.0.0":
|
||||
"@latus/db@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2fdb/-/db-1.0.0.tgz#4742873172fe947fe94d9bc7b66f2570cc33a48a"
|
||||
integrity sha512-nEZsCVlqVcXLURsF9ga8EduBwwzku1UQT+oizIM3bo6jUl0MuOvNBQ0B8m4u7Dv4BOnkM+hcdyl9spVgCfS2Hg==
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2fdb/-/db-1.0.0.tgz#265817c7d5f909811100eaa9ee6f7d7231d82ce7"
|
||||
integrity sha512-GGxzCGgEARL8nkoI1MTfEn+Y7qXggvbbdKMZpffTVa5H4IkKooJ/cY0ywL3yAovn97zIyyxOTXvT0hgf0EUPbg==
|
||||
dependencies:
|
||||
"@latus/core" "^1.0.0"
|
||||
debug "4.3.1"
|
||||
|
@ -931,10 +931,20 @@
|
|||
mysql2 "^2.2.5"
|
||||
sequelize "^6.3.5"
|
||||
|
||||
"@latus/http@1.0.0", "@latus/http@^1.0.0":
|
||||
"@latus/governor@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2fhttp/-/http-1.0.0.tgz#180f5e704fff6918c6a0362c3bc5dea517d04d41"
|
||||
integrity sha512-IwQVg8LsBakAnsUhS7tcmQldfLqTcCr50X3ZjZ77Qho5h/IuF3vB+srQxd9SFmfnvD8zyzDJzGBnDNRs7Jj6rg==
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2fgovernor/-/governor-1.0.0.tgz#6dbcc13f95af91c46c3b3ad44e66f9d0eb5f5a63"
|
||||
integrity sha512-cJ0nw9fMfzAV8kGRg4Vj3gNP8x/27+BcPjAfI1i6izh16ZrqDWqSfh0F29hIG/oMh8sYCXuM5ocUlrWHjNK2KA==
|
||||
dependencies:
|
||||
"@latus/redis" "^1.0.0"
|
||||
"@latus/socket" "^1.0.0"
|
||||
debug "4.3.1"
|
||||
rate-limiter-flexible "^2.1.13"
|
||||
|
||||
"@latus/http@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2fhttp/-/http-1.0.0.tgz#e85b7671d5068adf225bc2bed4f57d6660a0b18d"
|
||||
integrity sha512-W/PG64P35k2YVeIbfrY/sPTRLrm0EPwKK7mKA+JX1/+if+zOn2nOhcjmS9t5kcK33f/Wljv1N0f6sZTY3lw/nA==
|
||||
dependencies:
|
||||
"@latus/core" "1.0.0"
|
||||
"@neutrinojs/web" "^9.1.0"
|
||||
|
@ -946,10 +956,10 @@
|
|||
webpack-dev-middleware "^4.0.2"
|
||||
webpack-hot-middleware "^2.25.0"
|
||||
|
||||
"@latus/react@1.0.0":
|
||||
"@latus/react@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2freact/-/react-1.0.0.tgz#42d77f5fff221419a2341f332c1d1e2c901fcd94"
|
||||
integrity sha512-0KzY/MwPVMuYY3fBILWiMdor2eJeTuLMXpSIqqKXv25lCyRCNzxNcRJ8ipH1oAGsZth6nhr84/z3hGnkxFOjFw==
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2freact/-/react-1.0.0.tgz#04c282317d362c48bebe454a777f8eb29fc11be4"
|
||||
integrity sha512-LSBbtrsCuZM0idC9ZU7lRo+6Z/L3KF7XhucnGBYA3gFY0cOn6Jb4kfgRTjp0VveZdSYDyaKuJH0RNtDiYNOs+A==
|
||||
dependencies:
|
||||
"@neutrinojs/react" "^9.4.0"
|
||||
debug "4.3.1"
|
||||
|
@ -957,10 +967,10 @@
|
|||
react-dom "^17.0.1"
|
||||
react-hot-loader "^4.13.0"
|
||||
|
||||
"@latus/redis@1.0.0":
|
||||
"@latus/redis@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2fredis/-/redis-1.0.0.tgz#1a749fb3e9ac2da44a2a0926c15e72de548429c1"
|
||||
integrity sha512-qElakdbB0unX8U6kiMbs1VCgJngPlJNh+V1KConlupHMJsTxl+ck2FyiUMDdVPffCscHnneFudWgCYYVFeXqAQ==
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2fredis/-/redis-1.0.0.tgz#c55fc0df24a3db90853e84de92bb9fafe9a8b318"
|
||||
integrity sha512-0qVpeEWdQFOGb+LhLCHEimF68Mb2zScyoWXiP/HXPBtKGzlAgzR7sJyGXsFmfW48rQI0+C58fHjb6mObM8P1Zg==
|
||||
dependencies:
|
||||
connect-redis "^5.0.0"
|
||||
debug "4.3.1"
|
||||
|
@ -969,31 +979,33 @@
|
|||
redis "^3.0.2"
|
||||
socket.io-redis "^6.0.1"
|
||||
|
||||
"@latus/repl@1.0.0":
|
||||
"@latus/repl@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2frepl/-/repl-1.0.0.tgz#12bee7bbfec08b6e5625671fb691def4ed7ec553"
|
||||
integrity sha512-pvrpipjYPrCycwkz5ufjetDAshPxbpvHC+m1YUQM6ayLBYHFsuN/vszM2bMyAD4srR++Iz9z6wl+iRf7rXyzMA==
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2frepl/-/repl-1.0.0.tgz#244497633be5fb90fb7ae0d496a7c1f21cf05c97"
|
||||
integrity sha512-PuUsG0eL/+zha2Rswh0rM1KwdhpYSkt/ikFWHDaTl5cvOkDE7PXZRrOTmBj7q5xwLt2q4EH9gIbxhUf5Yw1k7g==
|
||||
dependencies:
|
||||
debug "4.3.1"
|
||||
|
||||
"@latus/socket@1.0.0":
|
||||
"@latus/socket@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2fsocket/-/socket-1.0.0.tgz#46b764c3bfd9d1198c17a0f4e603cd7312c78500"
|
||||
integrity sha512-2Iyqh+uEJuc9eYNAW19CmGdqhJ8McW5pWpcEOhne3XObU4DCZw69E2z5ONxSSadZBt9FvnvfO4LJXl27Pb/2Og==
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2fsocket/-/socket-1.0.0.tgz#f91b432a143b301adc2b4353434ee08b70b54c41"
|
||||
integrity sha512-J+cy/vpwD5p9ieoBpwbQwlNF1IhsdA8ta8p6cbuMcU97GCIWNHaRy0kZ4Q8izZq41vdu5CEMVQHWS7ZaxnZYFQ==
|
||||
dependencies:
|
||||
"@latus/core" "^1.0.0"
|
||||
"@latus/http" "^1.0.0"
|
||||
buffer "^6.0.3"
|
||||
debug "4.3.1"
|
||||
schemapack "^1.4.2"
|
||||
socket.io "2.3.0"
|
||||
socket.io-client "2.3.0"
|
||||
|
||||
"@latus/user@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2fuser/-/user-1.0.0.tgz#24048fbd3ad09178893acdde4a875a4083bde704"
|
||||
integrity sha512-uE4z8Sp0I65orXGHJ7FBMnxmAY96K390b2YCAaAg8mCFX869afRM1g0TTxrGLWenGLfMPw6YTXB1ix8ccu/QXw==
|
||||
resolved "https://npm.i12e.cha0s.io/@latus%2fuser/-/user-1.0.0.tgz#e9e42052f91dfbfa2d3b58b12f104a811a5bfb1a"
|
||||
integrity sha512-3YWRIpi5CTUQZpzzM9NhaoA5tsgvQ3MJpFgfUw0r3IdesXJF2RRG8Bw3pthApA681Pyr8X7RY6kxq6lto2EV1A==
|
||||
dependencies:
|
||||
"@latus/db" "^1.0.0"
|
||||
"@latus/socket" "^1.0.0"
|
||||
bcrypt "^5.0.0"
|
||||
debug "4.3.1"
|
||||
express "^4.17.1"
|
||||
|
@ -1937,7 +1949,7 @@ browserify-zlib@^0.2.0:
|
|||
dependencies:
|
||||
pako "~1.0.5"
|
||||
|
||||
browserslist@^4.14.5, browserslist@^4.14.7:
|
||||
browserslist@^4.14.5, browserslist@^4.15.0:
|
||||
version "4.15.0"
|
||||
resolved "https://npm.i12e.cha0s.io/browserslist/-/browserslist-4.15.0.tgz#3d48bbca6a3f378e86102ffd017d9a03f122bdb0"
|
||||
integrity sha512-IJ1iysdMkGmjjYeRlDU8PQejVwxvVO5QOfXH7ylW31GO6LwNRSmm/SgRXtNsEXqMLl2e+2H5eEJ7sfynF8TCaQ==
|
||||
|
@ -2392,11 +2404,11 @@ copy-descriptor@^0.1.0:
|
|||
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
|
||||
|
||||
core-js-compat@^3.7.0:
|
||||
version "3.8.0"
|
||||
resolved "https://npm.i12e.cha0s.io/core-js-compat/-/core-js-compat-3.8.0.tgz#3248c6826f4006793bd637db608bca6e4cd688b1"
|
||||
integrity sha512-o9QKelQSxQMYWHXc/Gc4L8bx/4F7TTraE5rhuN8I7mKBt5dBIUpXpIR3omv70ebr8ST5R3PqbDQr+ZI3+Tt1FQ==
|
||||
version "3.8.1"
|
||||
resolved "https://npm.i12e.cha0s.io/core-js-compat/-/core-js-compat-3.8.1.tgz#8d1ddd341d660ba6194cbe0ce60f4c794c87a36e"
|
||||
integrity sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==
|
||||
dependencies:
|
||||
browserslist "^4.14.7"
|
||||
browserslist "^4.15.0"
|
||||
semver "7.0.0"
|
||||
|
||||
core-js@^2.4.0:
|
||||
|
@ -5815,6 +5827,11 @@ range-parser@^1.2.1, range-parser@~1.2.1:
|
|||
resolved "https://npm.i12e.cha0s.io/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
|
||||
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
|
||||
|
||||
rate-limiter-flexible@^2.1.13:
|
||||
version "2.1.13"
|
||||
resolved "https://npm.i12e.cha0s.io/rate-limiter-flexible/-/rate-limiter-flexible-2.1.13.tgz#2fcbb786921518beb8aba44b44fe04a7c141db2b"
|
||||
integrity sha512-EDzvV/ee/rCBKNL5Jw0Rr0rjneT/L4zLGgVS9xB6ShfVMkV5iviWKr+2tjzgBg5kd9by5F08C9DfXfH6v/kz3w==
|
||||
|
||||
raw-body@2.4.0:
|
||||
version "2.4.0"
|
||||
resolved "https://npm.i12e.cha0s.io/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
|
||||
|
@ -5868,7 +5885,7 @@ react-lifecycles-compat@^3.0.4:
|
|||
resolved "https://npm.i12e.cha0s.io/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
|
||||
integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
|
||||
|
||||
react@17.0.1, react@^17.0.1:
|
||||
react@^17.0.1:
|
||||
version "17.0.1"
|
||||
resolved "https://npm.i12e.cha0s.io/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127"
|
||||
integrity sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==
|
||||
|
@ -6249,6 +6266,11 @@ schema-utils@^3.0.0:
|
|||
ajv "^6.12.5"
|
||||
ajv-keywords "^3.5.2"
|
||||
|
||||
schemapack@^1.4.2:
|
||||
version "1.4.2"
|
||||
resolved "https://npm.i12e.cha0s.io/schemapack/-/schemapack-1.4.2.tgz#8b582a55e128e345854ce3fb380371c58264f349"
|
||||
integrity sha1-i1gqVeEo40WFTOP7OANxxYJk80k=
|
||||
|
||||
"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.1:
|
||||
version "5.7.1"
|
||||
resolved "https://npm.i12e.cha0s.io/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
||||
|
|
240
yarn.lock
240
yarn.lock
|
@ -826,10 +826,10 @@
|
|||
lodash "^4.17.19"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@eslint/eslintrc@^0.2.1":
|
||||
version "0.2.1"
|
||||
resolved "https://npm.i12e.cha0s.io/@eslint%2feslintrc/-/eslintrc-0.2.1.tgz#f72069c330461a06684d119384435e12a5d76e3c"
|
||||
integrity sha512-XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA==
|
||||
"@eslint/eslintrc@^0.2.2":
|
||||
version "0.2.2"
|
||||
resolved "https://npm.i12e.cha0s.io/@eslint%2feslintrc/-/eslintrc-0.2.2.tgz#d01fc791e2fc33e88a29d6f3dc7e93d0cd784b76"
|
||||
integrity sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==
|
||||
dependencies:
|
||||
ajv "^6.12.4"
|
||||
debug "^4.1.1"
|
||||
|
@ -1680,21 +1680,26 @@
|
|||
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
|
||||
|
||||
"@octokit/auth-token@^2.4.0":
|
||||
version "2.4.3"
|
||||
resolved "https://npm.i12e.cha0s.io/@octokit%2fauth-token/-/auth-token-2.4.3.tgz#b868b5f2366533a7e62933eaa1181a8924228cc4"
|
||||
integrity sha512-fdGoOQ3kQJh+hrilc0Plg50xSfaCKOeYN9t6dpJKXN9BxhhfquL0OzoQXg3spLYymL5rm29uPeI3KEXRaZQ9zg==
|
||||
version "2.4.4"
|
||||
resolved "https://npm.i12e.cha0s.io/@octokit%2fauth-token/-/auth-token-2.4.4.tgz#ee31c69b01d0378c12fd3ffe406030f3d94d3b56"
|
||||
integrity sha512-LNfGu3Ro9uFAYh10MUZVaT7X2CnNm2C8IDQmabx+3DygYIQjs9FwzFAHN/0t6mu5HEPhxcb1XOuxdpY82vCg2Q==
|
||||
dependencies:
|
||||
"@octokit/types" "^5.0.0"
|
||||
"@octokit/types" "^6.0.0"
|
||||
|
||||
"@octokit/endpoint@^6.0.1":
|
||||
version "6.0.9"
|
||||
resolved "https://npm.i12e.cha0s.io/@octokit%2fendpoint/-/endpoint-6.0.9.tgz#c6a772e024202b1bd19ab69f90e0536a2598b13e"
|
||||
integrity sha512-3VPLbcCuqji4IFTclNUtGdp9v7g+nspWdiCUbK3+iPMjJCZ6LEhn1ts626bWLOn0GiDb6j+uqGvPpqLnY7pBgw==
|
||||
version "6.0.10"
|
||||
resolved "https://npm.i12e.cha0s.io/@octokit%2fendpoint/-/endpoint-6.0.10.tgz#741ce1fa2f4fb77ce8ebe0c6eaf5ce63f565f8e8"
|
||||
integrity sha512-9+Xef8nT7OKZglfkOMm7IL6VwxXUQyR7DUSU0LH/F7VNqs8vyd7es5pTfz9E7DwUIx7R3pGscxu1EBhYljyu7Q==
|
||||
dependencies:
|
||||
"@octokit/types" "^5.0.0"
|
||||
"@octokit/types" "^6.0.0"
|
||||
is-plain-object "^5.0.0"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/openapi-types@^2.0.0":
|
||||
version "2.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/@octokit%2fopenapi-types/-/openapi-types-2.0.0.tgz#6d8f8ad9db3b75a39115f5def2654df8bed39f28"
|
||||
integrity sha512-J4bfM7lf8oZvEAdpS71oTvC1ofKxfEZgU5vKVwzZKi4QPiL82udjpseJwxPid9Pu2FNmyRQOX4iEj6W1iOSnPw==
|
||||
|
||||
"@octokit/plugin-enterprise-rest@^6.0.1":
|
||||
version "6.0.1"
|
||||
resolved "https://npm.i12e.cha0s.io/@octokit%2fplugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437"
|
||||
|
@ -1730,22 +1735,22 @@
|
|||
once "^1.4.0"
|
||||
|
||||
"@octokit/request-error@^2.0.0":
|
||||
version "2.0.3"
|
||||
resolved "https://npm.i12e.cha0s.io/@octokit%2frequest-error/-/request-error-2.0.3.tgz#b51b200052bf483f6fa56c9e7e3aa51ead36ecd8"
|
||||
integrity sha512-GgD5z8Btm301i2zfvJLk/mkhvGCdjQ7wT8xF9ov5noQY8WbKZDH9cOBqXzoeKd1mLr1xH2FwbtGso135zGBgTA==
|
||||
version "2.0.4"
|
||||
resolved "https://npm.i12e.cha0s.io/@octokit%2frequest-error/-/request-error-2.0.4.tgz#07dd5c0521d2ee975201274c472a127917741262"
|
||||
integrity sha512-LjkSiTbsxIErBiRh5wSZvpZqT4t0/c9+4dOe0PII+6jXR+oj/h66s7E4a/MghV7iT8W9ffoQ5Skoxzs96+gBPA==
|
||||
dependencies:
|
||||
"@octokit/types" "^5.0.1"
|
||||
"@octokit/types" "^6.0.0"
|
||||
deprecation "^2.0.0"
|
||||
once "^1.4.0"
|
||||
|
||||
"@octokit/request@^5.2.0":
|
||||
version "5.4.10"
|
||||
resolved "https://npm.i12e.cha0s.io/@octokit%2frequest/-/request-5.4.10.tgz#402d2c53768bde12b99348329ba4129746aebb9c"
|
||||
integrity sha512-egA49HkqEORVGDZGav1mh+VD+7uLgOxtn5oODj6guJk0HCy+YBSYapFkSLFgeYj3Fr18ZULKGURkjyhkAChylw==
|
||||
version "5.4.12"
|
||||
resolved "https://npm.i12e.cha0s.io/@octokit%2frequest/-/request-5.4.12.tgz#b04826fa934670c56b135a81447be2c1723a2ffc"
|
||||
integrity sha512-MvWYdxengUWTGFpfpefBBpVmmEYfkwMoxonIB3sUGp5rhdgwjXL1ejo6JbgzG/QD9B/NYt/9cJX1pxXeSIUCkg==
|
||||
dependencies:
|
||||
"@octokit/endpoint" "^6.0.1"
|
||||
"@octokit/request-error" "^2.0.0"
|
||||
"@octokit/types" "^5.0.0"
|
||||
"@octokit/types" "^6.0.3"
|
||||
deprecation "^2.0.0"
|
||||
is-plain-object "^5.0.0"
|
||||
node-fetch "^2.6.1"
|
||||
|
@ -1781,11 +1786,12 @@
|
|||
dependencies:
|
||||
"@types/node" ">= 8"
|
||||
|
||||
"@octokit/types@^5.0.0", "@octokit/types@^5.0.1":
|
||||
version "5.5.0"
|
||||
resolved "https://npm.i12e.cha0s.io/@octokit%2ftypes/-/types-5.5.0.tgz#e5f06e8db21246ca102aa28444cdb13ae17a139b"
|
||||
integrity sha512-UZ1pErDue6bZNjYOotCNveTXArOMZQFG6hKJfOnGnulVCMcVVi7YIIuuR4WfBhjo7zgpmzn/BkPDnUXtNx+PcQ==
|
||||
"@octokit/types@^6.0.0", "@octokit/types@^6.0.3":
|
||||
version "6.1.1"
|
||||
resolved "https://npm.i12e.cha0s.io/@octokit%2ftypes/-/types-6.1.1.tgz#bc88b3eb5f447b025a2a1a8177a72db216e8d4ca"
|
||||
integrity sha512-btm3D6S7VkRrgyYF31etUtVY/eQ1KzrNRqhFt25KSe2mKlXuLXJilglRC6eDA2P6ou94BUnk/Kz5MPEolXgoiw==
|
||||
dependencies:
|
||||
"@octokit/openapi-types" "^2.0.0"
|
||||
"@types/node" ">= 8"
|
||||
|
||||
"@types/anymatch@*":
|
||||
|
@ -1849,9 +1855,9 @@
|
|||
source-map "^0.6.1"
|
||||
|
||||
"@types/webpack-sources@*":
|
||||
version "2.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/@types%2fwebpack-sources/-/webpack-sources-2.0.0.tgz#08216ab9be2be2e1499beaebc4d469cec81e82a7"
|
||||
integrity sha512-a5kPx98CNFRKQ+wqawroFunvFqv7GHm/3KOI52NY9xWADgc8smu4R6prt4EU/M4QfVjvgBkMqU4fBhw3QfMVkg==
|
||||
version "2.1.0"
|
||||
resolved "https://npm.i12e.cha0s.io/@types%2fwebpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10"
|
||||
integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
"@types/source-list-map" "*"
|
||||
|
@ -2051,7 +2057,7 @@ abbrev@1:
|
|||
resolved "https://npm.i12e.cha0s.io/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
|
||||
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
|
||||
|
||||
acorn-jsx@^5.2.0:
|
||||
acorn-jsx@^5.3.1:
|
||||
version "5.3.1"
|
||||
resolved "https://npm.i12e.cha0s.io/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
|
||||
integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==
|
||||
|
@ -2565,16 +2571,16 @@ browserify-zlib@^0.2.0:
|
|||
dependencies:
|
||||
pako "~1.0.5"
|
||||
|
||||
browserslist@^4.14.5, browserslist@^4.14.7:
|
||||
version "4.14.7"
|
||||
resolved "https://npm.i12e.cha0s.io/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6"
|
||||
integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==
|
||||
browserslist@^4.14.5, browserslist@^4.15.0:
|
||||
version "4.15.0"
|
||||
resolved "https://npm.i12e.cha0s.io/browserslist/-/browserslist-4.15.0.tgz#3d48bbca6a3f378e86102ffd017d9a03f122bdb0"
|
||||
integrity sha512-IJ1iysdMkGmjjYeRlDU8PQejVwxvVO5QOfXH7ylW31GO6LwNRSmm/SgRXtNsEXqMLl2e+2H5eEJ7sfynF8TCaQ==
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30001157"
|
||||
caniuse-lite "^1.0.30001164"
|
||||
colorette "^1.2.1"
|
||||
electron-to-chromium "^1.3.591"
|
||||
electron-to-chromium "^1.3.612"
|
||||
escalade "^3.1.1"
|
||||
node-releases "^1.1.66"
|
||||
node-releases "^1.1.67"
|
||||
|
||||
btoa-lite@^1.0.0:
|
||||
version "1.0.0"
|
||||
|
@ -2739,10 +2745,10 @@ camelcase@^6.0.0:
|
|||
resolved "https://npm.i12e.cha0s.io/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
|
||||
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
|
||||
|
||||
caniuse-lite@^1.0.30001157:
|
||||
version "1.0.30001161"
|
||||
resolved "https://npm.i12e.cha0s.io/caniuse-lite/-/caniuse-lite-1.0.30001161.tgz#64f7ffe79ee780b8c92843ff34feb36cea4651e0"
|
||||
integrity sha512-JharrCDxOqPLBULF9/SPa6yMcBRTjZARJ6sc3cuKrPfyIk64JN6kuMINWqA99Xc8uElMFcROliwtz0n9pYej+g==
|
||||
caniuse-lite@^1.0.30001164:
|
||||
version "1.0.30001165"
|
||||
resolved "https://npm.i12e.cha0s.io/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz#32955490d2f60290bb186bb754f2981917fa744f"
|
||||
integrity sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==
|
||||
|
||||
caseless@~0.12.0:
|
||||
version "0.12.0"
|
||||
|
@ -3146,11 +3152,11 @@ copy-descriptor@^0.1.0:
|
|||
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
|
||||
|
||||
core-js-compat@^3.7.0:
|
||||
version "3.8.0"
|
||||
resolved "https://npm.i12e.cha0s.io/core-js-compat/-/core-js-compat-3.8.0.tgz#3248c6826f4006793bd637db608bca6e4cd688b1"
|
||||
integrity sha512-o9QKelQSxQMYWHXc/Gc4L8bx/4F7TTraE5rhuN8I7mKBt5dBIUpXpIR3omv70ebr8ST5R3PqbDQr+ZI3+Tt1FQ==
|
||||
version "3.8.1"
|
||||
resolved "https://npm.i12e.cha0s.io/core-js-compat/-/core-js-compat-3.8.1.tgz#8d1ddd341d660ba6194cbe0ce60f4c794c87a36e"
|
||||
integrity sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==
|
||||
dependencies:
|
||||
browserslist "^4.14.7"
|
||||
browserslist "^4.15.0"
|
||||
semver "7.0.0"
|
||||
|
||||
core-util-is@1.0.2, core-util-is@~1.0.0:
|
||||
|
@ -3525,10 +3531,10 @@ ecc-jsbn@~0.1.1:
|
|||
jsbn "~0.1.0"
|
||||
safer-buffer "^2.1.0"
|
||||
|
||||
electron-to-chromium@^1.3.591:
|
||||
version "1.3.608"
|
||||
resolved "https://npm.i12e.cha0s.io/electron-to-chromium/-/electron-to-chromium-1.3.608.tgz#e1f962beeaa008698fb89b7e5387535251610eb4"
|
||||
integrity sha512-dZsqCe7WgOcFse1QxIrm3eR+ebF13f0HfzM5QW9WtP1XVsQVrl/6R3DjexfVdupfwaS6znEDcP0NTBlJii7sOA==
|
||||
electron-to-chromium@^1.3.612:
|
||||
version "1.3.616"
|
||||
resolved "https://npm.i12e.cha0s.io/electron-to-chromium/-/electron-to-chromium-1.3.616.tgz#de63d1c79bb8eb61168774df0c11c9e1af69f9e8"
|
||||
integrity sha512-CI8L38UN2BEnqXw3/oRIQTmde0LiSeqWSRlPA42ZTYgJQ8fYenzAM2Z3ni+jtILTcrs5aiXZCGJ96Pm+3/yGyQ==
|
||||
|
||||
elliptic@^6.5.3:
|
||||
version "6.5.3"
|
||||
|
@ -3621,23 +3627,6 @@ error-ex@^1.2.0, error-ex@^1.3.1:
|
|||
dependencies:
|
||||
is-arrayish "^0.2.1"
|
||||
|
||||
es-abstract@^1.17.0-next.1:
|
||||
version "1.17.7"
|
||||
resolved "https://npm.i12e.cha0s.io/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c"
|
||||
integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==
|
||||
dependencies:
|
||||
es-to-primitive "^1.2.1"
|
||||
function-bind "^1.1.1"
|
||||
has "^1.0.3"
|
||||
has-symbols "^1.0.1"
|
||||
is-callable "^1.2.2"
|
||||
is-regex "^1.1.1"
|
||||
object-inspect "^1.8.0"
|
||||
object-keys "^1.1.1"
|
||||
object.assign "^4.1.1"
|
||||
string.prototype.trimend "^1.0.1"
|
||||
string.prototype.trimstart "^1.0.1"
|
||||
|
||||
es-abstract@^1.18.0-next.1:
|
||||
version "1.18.0-next.1"
|
||||
resolved "https://npm.i12e.cha0s.io/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68"
|
||||
|
@ -3809,12 +3798,12 @@ eslint-visitor-keys@^2.0.0:
|
|||
integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
|
||||
|
||||
eslint@^7:
|
||||
version "7.14.0"
|
||||
resolved "https://npm.i12e.cha0s.io/eslint/-/eslint-7.14.0.tgz#2d2cac1d28174c510a97b377f122a5507958e344"
|
||||
integrity sha512-5YubdnPXrlrYAFCKybPuHIAH++PINe1pmKNc5wQRB9HSbqIK1ywAnntE3Wwua4giKu0bjligf1gLF6qxMGOYRA==
|
||||
version "7.15.0"
|
||||
resolved "https://npm.i12e.cha0s.io/eslint/-/eslint-7.15.0.tgz#eb155fb8ed0865fcf5d903f76be2e5b6cd7e0bc7"
|
||||
integrity sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.0.0"
|
||||
"@eslint/eslintrc" "^0.2.1"
|
||||
"@eslint/eslintrc" "^0.2.2"
|
||||
ajv "^6.10.0"
|
||||
chalk "^4.0.0"
|
||||
cross-spawn "^7.0.2"
|
||||
|
@ -3824,10 +3813,10 @@ eslint@^7:
|
|||
eslint-scope "^5.1.1"
|
||||
eslint-utils "^2.1.0"
|
||||
eslint-visitor-keys "^2.0.0"
|
||||
espree "^7.3.0"
|
||||
espree "^7.3.1"
|
||||
esquery "^1.2.0"
|
||||
esutils "^2.0.2"
|
||||
file-entry-cache "^5.0.1"
|
||||
file-entry-cache "^6.0.0"
|
||||
functional-red-black-tree "^1.0.1"
|
||||
glob-parent "^5.0.0"
|
||||
globals "^12.1.0"
|
||||
|
@ -3851,13 +3840,13 @@ eslint@^7:
|
|||
text-table "^0.2.0"
|
||||
v8-compile-cache "^2.0.3"
|
||||
|
||||
espree@^7.3.0:
|
||||
version "7.3.0"
|
||||
resolved "https://npm.i12e.cha0s.io/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348"
|
||||
integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==
|
||||
espree@^7.3.0, espree@^7.3.1:
|
||||
version "7.3.1"
|
||||
resolved "https://npm.i12e.cha0s.io/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
|
||||
integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
|
||||
dependencies:
|
||||
acorn "^7.4.0"
|
||||
acorn-jsx "^5.2.0"
|
||||
acorn-jsx "^5.3.1"
|
||||
eslint-visitor-keys "^1.3.0"
|
||||
|
||||
esprima@^4.0.0:
|
||||
|
@ -4037,12 +4026,12 @@ figures@^2.0.0:
|
|||
dependencies:
|
||||
escape-string-regexp "^1.0.5"
|
||||
|
||||
file-entry-cache@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://npm.i12e.cha0s.io/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
|
||||
integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
|
||||
file-entry-cache@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a"
|
||||
integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==
|
||||
dependencies:
|
||||
flat-cache "^2.0.1"
|
||||
flat-cache "^3.0.4"
|
||||
|
||||
file-uri-to-path@1.0.0:
|
||||
version "1.0.0"
|
||||
|
@ -4137,24 +4126,23 @@ findup-sync@^3.0.0:
|
|||
micromatch "^3.0.4"
|
||||
resolve-dir "^1.0.1"
|
||||
|
||||
flat-cache@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://npm.i12e.cha0s.io/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
|
||||
integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
|
||||
flat-cache@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://npm.i12e.cha0s.io/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
|
||||
integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
|
||||
dependencies:
|
||||
flatted "^2.0.0"
|
||||
rimraf "2.6.3"
|
||||
write "1.0.3"
|
||||
flatted "^3.1.0"
|
||||
rimraf "^3.0.2"
|
||||
|
||||
flat@^5.0.2:
|
||||
version "5.0.2"
|
||||
resolved "https://npm.i12e.cha0s.io/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
|
||||
integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
|
||||
|
||||
flatted@^2.0.0:
|
||||
version "2.0.2"
|
||||
resolved "https://npm.i12e.cha0s.io/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
|
||||
integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
|
||||
flatted@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://npm.i12e.cha0s.io/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067"
|
||||
integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==
|
||||
|
||||
flush-write-stream@^1.0.0:
|
||||
version "1.1.1"
|
||||
|
@ -4985,9 +4973,9 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
|
|||
is-extglob "^2.1.1"
|
||||
|
||||
is-negative-zero@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461"
|
||||
integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=
|
||||
version "2.0.1"
|
||||
resolved "https://npm.i12e.cha0s.io/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
|
||||
integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
|
||||
|
||||
is-number@^3.0.0:
|
||||
version "3.0.0"
|
||||
|
@ -5985,7 +5973,7 @@ node-modules-regexp@^1.0.0:
|
|||
resolved "https://npm.i12e.cha0s.io/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
|
||||
integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
|
||||
|
||||
node-releases@^1.1.66:
|
||||
node-releases@^1.1.67:
|
||||
version "1.1.67"
|
||||
resolved "https://npm.i12e.cha0s.io/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12"
|
||||
integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==
|
||||
|
@ -6136,9 +6124,9 @@ object-hash@^2.0.3:
|
|||
integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg==
|
||||
|
||||
object-inspect@^1.8.0:
|
||||
version "1.8.0"
|
||||
resolved "https://npm.i12e.cha0s.io/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0"
|
||||
integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==
|
||||
version "1.9.0"
|
||||
resolved "https://npm.i12e.cha0s.io/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a"
|
||||
integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==
|
||||
|
||||
object-keys@^1.0.12, object-keys@^1.1.1:
|
||||
version "1.1.1"
|
||||
|
@ -6173,12 +6161,13 @@ object.entries@^1.1.2:
|
|||
has "^1.0.3"
|
||||
|
||||
object.getownpropertydescriptors@^2.0.3:
|
||||
version "2.1.0"
|
||||
resolved "https://npm.i12e.cha0s.io/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649"
|
||||
integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==
|
||||
version "2.1.1"
|
||||
resolved "https://npm.i12e.cha0s.io/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz#0dfda8d108074d9c563e80490c883b6661091544"
|
||||
integrity sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==
|
||||
dependencies:
|
||||
call-bind "^1.0.0"
|
||||
define-properties "^1.1.3"
|
||||
es-abstract "^1.17.0-next.1"
|
||||
es-abstract "^1.18.0-next.1"
|
||||
|
||||
object.omit@^3.0.0:
|
||||
version "3.0.0"
|
||||
|
@ -7131,13 +7120,6 @@ retry@^0.10.0:
|
|||
resolved "https://npm.i12e.cha0s.io/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4"
|
||||
integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=
|
||||
|
||||
rimraf@2.6.3:
|
||||
version "2.6.3"
|
||||
resolved "https://npm.i12e.cha0s.io/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
|
||||
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
|
||||
dependencies:
|
||||
glob "^7.1.3"
|
||||
|
||||
rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3:
|
||||
version "2.7.1"
|
||||
resolved "https://npm.i12e.cha0s.io/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
|
||||
|
@ -7145,6 +7127,13 @@ rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3:
|
|||
dependencies:
|
||||
glob "^7.1.3"
|
||||
|
||||
rimraf@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://npm.i12e.cha0s.io/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
|
||||
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
|
||||
dependencies:
|
||||
glob "^7.1.3"
|
||||
|
||||
ripemd160@^2.0.0, ripemd160@^2.0.1:
|
||||
version "2.0.2"
|
||||
resolved "https://npm.i12e.cha0s.io/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
|
||||
|
@ -7228,9 +7217,11 @@ semver@^6.0.0, semver@^6.2.0:
|
|||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||
|
||||
semver@^7.2.1, semver@^7.3.2:
|
||||
version "7.3.2"
|
||||
resolved "https://npm.i12e.cha0s.io/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
|
||||
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
|
||||
version "7.3.4"
|
||||
resolved "https://npm.i12e.cha0s.io/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97"
|
||||
integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
serialize-javascript@5.0.1:
|
||||
version "5.0.1"
|
||||
|
@ -7453,9 +7444,9 @@ spdx-expression-parse@^3.0.0:
|
|||
spdx-license-ids "^3.0.0"
|
||||
|
||||
spdx-license-ids@^3.0.0:
|
||||
version "3.0.6"
|
||||
resolved "https://npm.i12e.cha0s.io/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce"
|
||||
integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==
|
||||
version "3.0.7"
|
||||
resolved "https://npm.i12e.cha0s.io/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65"
|
||||
integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==
|
||||
|
||||
split-string@^3.0.1, split-string@^3.0.2:
|
||||
version "3.1.0"
|
||||
|
@ -7987,9 +7978,9 @@ typedarray@^0.0.6:
|
|||
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
|
||||
|
||||
uglify-js@^3.1.4:
|
||||
version "3.12.0"
|
||||
resolved "https://npm.i12e.cha0s.io/uglify-js/-/uglify-js-3.12.0.tgz#b943f129275c41d435eb54b643bbffee71dccf57"
|
||||
integrity sha512-8lBMSkFZuAK7gGF8LswsXmir8eX8d2AAMOnxSDWjKBx/fBR6MypQjs78m6ML9zQVp1/hD4TBdfeMZMC7nW1TAA==
|
||||
version "3.12.1"
|
||||
resolved "https://npm.i12e.cha0s.io/uglify-js/-/uglify-js-3.12.1.tgz#78307f539f7b9ca5557babb186ea78ad30cc0375"
|
||||
integrity sha512-o8lHP20KjIiQe5b/67Rh68xEGRrc2SRsCuuoYclXXoC74AfSRGblU1HKzJWH3HxPZ+Ort85fWHpSX7KwBUC9CQ==
|
||||
|
||||
uid-number@0.0.6:
|
||||
version "0.0.6"
|
||||
|
@ -8384,22 +8375,15 @@ write-pkg@^3.1.0:
|
|||
sort-keys "^2.0.0"
|
||||
write-json-file "^2.2.0"
|
||||
|
||||
write@1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://npm.i12e.cha0s.io/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
|
||||
integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
|
||||
dependencies:
|
||||
mkdirp "^0.5.1"
|
||||
|
||||
xtend@^4.0.0, xtend@~4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://npm.i12e.cha0s.io/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
|
||||
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
|
||||
|
||||
y18n@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://npm.i12e.cha0s.io/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
|
||||
integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
|
||||
version "4.0.1"
|
||||
resolved "https://npm.i12e.cha0s.io/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4"
|
||||
integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==
|
||||
|
||||
yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:
|
||||
version "3.1.1"
|
||||
|
|
Loading…
Reference in New Issue
Block a user