Added pino logging
This commit is contained in:
parent
8a94875aee
commit
d6a4022528
@ -1,5 +1,5 @@
|
|||||||
import { MqttApiClient } from "@app/mqtt";
|
import { MqttApiClient } from "@app/mqtt";
|
||||||
import { ISprinklersApi, SprinklersDevice } from "@common/sprinklers";
|
import { ISprinklersApi } from "@common/sprinklers";
|
||||||
|
|
||||||
import { UiMessage, UiStore } from "./ui";
|
import { UiMessage, UiStore } from "./ui";
|
||||||
export { UiMessage, UiStore };
|
export { UiMessage, UiStore };
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
"watch:server": "yarn build:server --watch",
|
"watch:server": "yarn build:server --watch",
|
||||||
"start:dev-server": "webpack-dev-server --config ./app/webpack/dev.config.js",
|
"start:dev-server": "webpack-dev-server --config ./app/webpack/dev.config.js",
|
||||||
"start": "node dist/index.js",
|
"start": "node dist/index.js",
|
||||||
|
"start:pretty": "yarn start | node dist/logging/prettyPrint.js",
|
||||||
"lint:app": "tslint --project app --force --format verbose",
|
"lint:app": "tslint --project app --force --format verbose",
|
||||||
"lint:server": "tslint --project server --force --format verbose",
|
"lint:server": "tslint --project server --force --format verbose",
|
||||||
"lint": "run-p lint:*"
|
"lint": "run-p lint:*"
|
||||||
@ -27,12 +28,14 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/amikhalev/sprinklers3#readme",
|
"homepage": "https://github.com/amikhalev/sprinklers3#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@types/chalk": "^0.4.31",
|
||||||
"@types/classnames": "^2.2.0",
|
"@types/classnames": "^2.2.0",
|
||||||
"@types/core-js": "^0.9.43",
|
"@types/core-js": "^0.9.43",
|
||||||
"@types/express": "^4.0.37",
|
"@types/express": "^4.0.37",
|
||||||
"@types/node": "^8.0.6",
|
"@types/node": "^8.0.6",
|
||||||
"@types/object-assign": "^4.0.30",
|
"@types/object-assign": "^4.0.30",
|
||||||
"@types/paho-mqtt": "^1.0.0",
|
"@types/paho-mqtt": "^1.0.0",
|
||||||
|
"@types/pino": "^4.7.0",
|
||||||
"@types/prop-types": "^15.5.1",
|
"@types/prop-types": "^15.5.1",
|
||||||
"@types/react": "^16",
|
"@types/react": "^16",
|
||||||
"@types/react-dom": "^15.5.0",
|
"@types/react-dom": "^15.5.0",
|
||||||
@ -47,6 +50,7 @@
|
|||||||
"mobx-react": "^4.2.1",
|
"mobx-react": "^4.2.1",
|
||||||
"object-assign": "^4.1.1",
|
"object-assign": "^4.1.1",
|
||||||
"paho-mqtt": "^1.0.3",
|
"paho-mqtt": "^1.0.3",
|
||||||
|
"pino": "^4.7.2",
|
||||||
"prop-types": "^15.5.10",
|
"prop-types": "^15.5.10",
|
||||||
"react": ">=15.6.1 <16",
|
"react": ">=15.6.1 <16",
|
||||||
"react-dom": ">=15.6.1 <16",
|
"react-dom": ">=15.6.1 <16",
|
||||||
|
@ -3,28 +3,25 @@ import * as webpack from "webpack";
|
|||||||
import * as webpackMiddleware from "webpack-dev-middleware";
|
import * as webpackMiddleware from "webpack-dev-middleware";
|
||||||
import * as webpackHotMiddleware from "webpack-hot-middleware";
|
import * as webpackHotMiddleware from "webpack-hot-middleware";
|
||||||
|
|
||||||
|
import logger from "../log";
|
||||||
|
const log = logger.child({ source: "webpack" });
|
||||||
|
|
||||||
/* tslint:disable-next-line:no-var-requires */
|
/* tslint:disable-next-line:no-var-requires */
|
||||||
const webpackConfig = require("../../app/webpack/config.js");
|
const webpackConfig = require("../../app/webpack/config.js");
|
||||||
|
|
||||||
type Logger = (message?: any, ...optionalParams: any[]) => void;
|
|
||||||
|
|
||||||
function makeLogFunction(fn: Logger = console.log): Logger {
|
|
||||||
return (m, ...args) => fn("[webpack] " + m, ...args);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function serveApp(app: Express) {
|
export default function serveApp(app: Express) {
|
||||||
const compiler = webpack(webpackConfig);
|
const compiler = webpack(webpackConfig);
|
||||||
app.use(webpackMiddleware(compiler,
|
app.use(webpackMiddleware(compiler,
|
||||||
{
|
{
|
||||||
noInfo: true,
|
noInfo: true,
|
||||||
publicPath: webpackConfig.output.publicPath,
|
publicPath: webpackConfig.output.publicPath,
|
||||||
log: makeLogFunction(),
|
log: log.info.bind(log),
|
||||||
warn: makeLogFunction(console.warn),
|
warn: log.warn.bind(log),
|
||||||
error: makeLogFunction(console.error),
|
error: log.error.bind(log),
|
||||||
},
|
},
|
||||||
));
|
));
|
||||||
app.use(webpackHotMiddleware(compiler,
|
app.use(webpackHotMiddleware(compiler,
|
||||||
{
|
{
|
||||||
log: makeLogFunction(),
|
log: log.info.bind(log),
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import { Server } from "http";
|
import { Server } from "http";
|
||||||
import app from "./app";
|
import app from "./app";
|
||||||
|
import log from "./log";
|
||||||
|
|
||||||
const server = new Server(app);
|
const server = new Server(app);
|
||||||
|
|
||||||
@ -7,5 +8,5 @@ const port = +(process.env.PORT || 8080);
|
|||||||
const host = process.env.HOST || "0.0.0.0";
|
const host = process.env.HOST || "0.0.0.0";
|
||||||
|
|
||||||
server.listen(port, host, () => {
|
server.listen(port, host, () => {
|
||||||
console.log(`listening at ${host}:${port}`);
|
log.info(`listening at ${host}:${port}`);
|
||||||
});
|
});
|
||||||
|
5
server/log.ts
Normal file
5
server/log.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import * as pino from "pino";
|
||||||
|
|
||||||
|
const log = pino();
|
||||||
|
|
||||||
|
export default log;
|
22
server/logging/pino.d.ts
vendored
Normal file
22
server/logging/pino.d.ts
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
declare module "pino/pretty" {
|
||||||
|
import { Transform } from "stream";
|
||||||
|
|
||||||
|
interface Formatter {
|
||||||
|
(value: any): string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface PrettyOptions {
|
||||||
|
timeTransOnly?: boolean;
|
||||||
|
formatter?: Formatter;
|
||||||
|
levelFirst?: boolean;
|
||||||
|
messageKey?: string;
|
||||||
|
forceColor?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Pretty {
|
||||||
|
(opts: PrettyOptions): Transform;
|
||||||
|
}
|
||||||
|
|
||||||
|
const pretty: Pretty;
|
||||||
|
export = pretty;
|
||||||
|
}
|
111
server/logging/prettyPrint.ts
Normal file
111
server/logging/prettyPrint.ts
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
import * as chalk from "chalk";
|
||||||
|
|
||||||
|
import pretty = require("pino/pretty");
|
||||||
|
|
||||||
|
type Level = "default" | 60 | 50 | 40 | 30 | 20 | 10;
|
||||||
|
|
||||||
|
const levels = {
|
||||||
|
default: "USERLVL",
|
||||||
|
60: "FATAL",
|
||||||
|
50: "ERROR",
|
||||||
|
40: "WARN",
|
||||||
|
30: "INFO",
|
||||||
|
20: "DEBUG",
|
||||||
|
10: "TRACE",
|
||||||
|
};
|
||||||
|
|
||||||
|
const levelColors = {
|
||||||
|
default: chalk.white.underline,
|
||||||
|
60: chalk.bgRed.underline,
|
||||||
|
50: chalk.red.underline,
|
||||||
|
40: chalk.yellow.underline,
|
||||||
|
30: chalk.green.underline,
|
||||||
|
20: chalk.blue.underline,
|
||||||
|
10: chalk.grey.underline,
|
||||||
|
};
|
||||||
|
|
||||||
|
const standardKeys = ["pid", "hostname", "name", "level", "time", "v", "source", "msg"];
|
||||||
|
|
||||||
|
function formatter(value: any) {
|
||||||
|
let line = formatTime(value, " ");
|
||||||
|
line += formatSource(value);
|
||||||
|
line += asColoredLevel(value);
|
||||||
|
|
||||||
|
// line += " (";
|
||||||
|
// if (value.name) {
|
||||||
|
// line += value.name + "/";
|
||||||
|
// }
|
||||||
|
// line += value.pid + " on " + value.hostname + ")";
|
||||||
|
|
||||||
|
line += ": ";
|
||||||
|
if (value.msg) {
|
||||||
|
line += chalk.cyan(value.msg);
|
||||||
|
}
|
||||||
|
line += "\n";
|
||||||
|
if (value.type === "Error") {
|
||||||
|
line += " " + withSpaces(value.stack) + "\n";
|
||||||
|
} else {
|
||||||
|
line += filter(value);
|
||||||
|
}
|
||||||
|
return line;
|
||||||
|
}
|
||||||
|
|
||||||
|
function withSpaces(value: string): string {
|
||||||
|
const lines = value.split("\n");
|
||||||
|
for (let i = 1; i < lines.length; i++) {
|
||||||
|
lines[i] = " " + lines[i];
|
||||||
|
}
|
||||||
|
return lines.join("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
function filter(value: any) {
|
||||||
|
const keys = Object.keys(value);
|
||||||
|
const filteredKeys = standardKeys;
|
||||||
|
let result = "";
|
||||||
|
|
||||||
|
for (const key of keys) {
|
||||||
|
if (filteredKeys.indexOf(key) < 0) {
|
||||||
|
result += " " + key + ": " + withSpaces(JSON.stringify(value[key], null, 2)) + "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
function asISODate(time: string) {
|
||||||
|
return new Date(time).toISOString();
|
||||||
|
}
|
||||||
|
|
||||||
|
function formatTime(value: any, after?: string) {
|
||||||
|
after = after || "";
|
||||||
|
try {
|
||||||
|
if (!value || !value.time) {
|
||||||
|
return "";
|
||||||
|
} else {
|
||||||
|
return "[" + asISODate(value.time) + "]" + after;
|
||||||
|
}
|
||||||
|
} catch (_) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function formatSource(value: any) {
|
||||||
|
if (value.source) {
|
||||||
|
return chalk.magenta("(" + value.source + ") ");
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function asColoredLevel(value: any) {
|
||||||
|
const level = value.level as Level;
|
||||||
|
if (levelColors.hasOwnProperty(level)) {
|
||||||
|
return levelColors[level](levels[level]);
|
||||||
|
} else {
|
||||||
|
return levelColors.default(levels.default);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
process.stdin.pipe(pretty({
|
||||||
|
formatter,
|
||||||
|
})).pipe(process.stdout);
|
@ -14,7 +14,7 @@
|
|||||||
],
|
],
|
||||||
"strict": true
|
"strict": true
|
||||||
},
|
},
|
||||||
"files": [
|
"include": [
|
||||||
"./index.ts"
|
"./**/*.ts"
|
||||||
]
|
]
|
||||||
}
|
}
|
88
yarn.lock
88
yarn.lock
@ -2,6 +2,10 @@
|
|||||||
# yarn lockfile v1
|
# yarn lockfile v1
|
||||||
|
|
||||||
|
|
||||||
|
"@types/chalk@^0.4.31":
|
||||||
|
version "0.4.31"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/chalk/-/chalk-0.4.31.tgz#a31d74241a6b1edbb973cf36d97a2896834a51f9"
|
||||||
|
|
||||||
"@types/classnames@^2.2.0":
|
"@types/classnames@^2.2.0":
|
||||||
version "2.2.3"
|
version "2.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.3.tgz#3f0ff6873da793870e20a260cada55982f38a9e5"
|
resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.3.tgz#3f0ff6873da793870e20a260cada55982f38a9e5"
|
||||||
@ -38,8 +42,8 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.27.tgz#13fbe7e92afeecebb843d7cea6c15b521e0000e1"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.27.tgz#13fbe7e92afeecebb843d7cea6c15b521e0000e1"
|
||||||
|
|
||||||
"@types/node@^8.0.6":
|
"@types/node@^8.0.6":
|
||||||
version "8.0.28"
|
version "8.0.30"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.28.tgz#86206716f8d9251cf41692e384264cbd7058ad60"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.30.tgz#aa3c42946fc6357737eb215349fe728b38679d05"
|
||||||
|
|
||||||
"@types/object-assign@^4.0.30":
|
"@types/object-assign@^4.0.30":
|
||||||
version "4.0.30"
|
version "4.0.30"
|
||||||
@ -49,6 +53,12 @@
|
|||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@types/paho-mqtt/-/paho-mqtt-1.0.0.tgz#9dc7d4d98dac7940187f6ccb77aab649249d0799"
|
resolved "https://registry.yarnpkg.com/@types/paho-mqtt/-/paho-mqtt-1.0.0.tgz#9dc7d4d98dac7940187f6ccb77aab649249d0799"
|
||||||
|
|
||||||
|
"@types/pino@^4.7.0":
|
||||||
|
version "4.7.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/pino/-/pino-4.7.0.tgz#c95790496a82766a1b41050df9b322fe9639a129"
|
||||||
|
dependencies:
|
||||||
|
"@types/node" "*"
|
||||||
|
|
||||||
"@types/prop-types@^15.5.1":
|
"@types/prop-types@^15.5.1":
|
||||||
version "15.5.1"
|
version "15.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.5.1.tgz#1ecf52621299e65b855374337fb11fd2d1066fc1"
|
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.5.1.tgz#1ecf52621299e65b855374337fb11fd2d1066fc1"
|
||||||
@ -1309,6 +1319,12 @@ encoding@^0.1.11:
|
|||||||
dependencies:
|
dependencies:
|
||||||
iconv-lite "~0.4.13"
|
iconv-lite "~0.4.13"
|
||||||
|
|
||||||
|
end-of-stream@^1.1.0:
|
||||||
|
version "1.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206"
|
||||||
|
dependencies:
|
||||||
|
once "^1.4.0"
|
||||||
|
|
||||||
enhanced-resolve@3.3.0:
|
enhanced-resolve@3.3.0:
|
||||||
version "3.3.0"
|
version "3.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.3.0.tgz#950964ecc7f0332a42321b673b38dc8ff15535b3"
|
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.3.0.tgz#950964ecc7f0332a42321b673b38dc8ff15535b3"
|
||||||
@ -1605,6 +1621,14 @@ fast-deep-equal@^1.0.0:
|
|||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff"
|
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff"
|
||||||
|
|
||||||
|
fast-json-parse@^1.0.0:
|
||||||
|
version "1.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/fast-json-parse/-/fast-json-parse-1.0.3.tgz#43e5c61ee4efa9265633046b770fb682a7577c4d"
|
||||||
|
|
||||||
|
fast-safe-stringify@^1.0.8, fast-safe-stringify@^1.1.11:
|
||||||
|
version "1.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-1.2.0.tgz#ebd42666fd18fe4f2ba4f0d295065f3f85cade96"
|
||||||
|
|
||||||
fastparse@^1.1.1:
|
fastparse@^1.1.1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
|
resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
|
||||||
@ -1687,6 +1711,10 @@ find-up@^2.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
locate-path "^2.0.0"
|
locate-path "^2.0.0"
|
||||||
|
|
||||||
|
flatstr@^1.0.4:
|
||||||
|
version "1.0.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/flatstr/-/flatstr-1.0.5.tgz#5b451b08cbd48e2eac54a2bbe0bf46165aa14be3"
|
||||||
|
|
||||||
flatten@^1.0.2:
|
flatten@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
|
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
|
||||||
@ -2715,14 +2743,14 @@ mobx-react-devtools@^4.2.13:
|
|||||||
resolved "https://registry.yarnpkg.com/mobx-react-devtools/-/mobx-react-devtools-4.2.15.tgz#881c038fb83db4dffd1e72bbaf5374d26b2fdebb"
|
resolved "https://registry.yarnpkg.com/mobx-react-devtools/-/mobx-react-devtools-4.2.15.tgz#881c038fb83db4dffd1e72bbaf5374d26b2fdebb"
|
||||||
|
|
||||||
mobx-react@^4.2.1:
|
mobx-react@^4.2.1:
|
||||||
version "4.2.2"
|
version "4.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/mobx-react/-/mobx-react-4.2.2.tgz#db9cc3cafefbd830d0584c1149af5aae67829201"
|
resolved "https://registry.yarnpkg.com/mobx-react/-/mobx-react-4.3.2.tgz#1ecbffa5690cc6460db6bb16c0c11034f0b783da"
|
||||||
dependencies:
|
dependencies:
|
||||||
hoist-non-react-statics "^1.2.0"
|
hoist-non-react-statics "^1.2.0"
|
||||||
|
|
||||||
mobx@^3.1.11:
|
mobx@^3.1.11:
|
||||||
version "3.2.2"
|
version "3.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/mobx/-/mobx-3.2.2.tgz#aa671459bededfd9880c948889a3f62bce09279c"
|
resolved "https://registry.yarnpkg.com/mobx/-/mobx-3.3.0.tgz#1bc1dd7e78547065af04b49bdb7f2098cada47aa"
|
||||||
|
|
||||||
ms@2.0.0:
|
ms@2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
@ -2960,7 +2988,7 @@ on-headers@~1.0.1:
|
|||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
|
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
|
||||||
|
|
||||||
once@^1.3.0, once@^1.3.3:
|
once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -3162,6 +3190,18 @@ pinkie@^2.0.0:
|
|||||||
version "2.0.4"
|
version "2.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
|
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
|
||||||
|
|
||||||
|
pino@^4.7.2:
|
||||||
|
version "4.7.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/pino/-/pino-4.7.2.tgz#56e8e712637669095f0a61b27a15649d62dec8cd"
|
||||||
|
dependencies:
|
||||||
|
chalk "^2.0.1"
|
||||||
|
fast-json-parse "^1.0.0"
|
||||||
|
fast-safe-stringify "^1.1.11"
|
||||||
|
flatstr "^1.0.4"
|
||||||
|
pump "^1.0.2"
|
||||||
|
quick-format-unescaped "^1.1.1"
|
||||||
|
split2 "^2.0.1"
|
||||||
|
|
||||||
portfinder@^1.0.9:
|
portfinder@^1.0.9:
|
||||||
version "1.0.13"
|
version "1.0.13"
|
||||||
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9"
|
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9"
|
||||||
@ -3491,6 +3531,13 @@ public-encrypt@^4.0.0:
|
|||||||
parse-asn1 "^5.0.0"
|
parse-asn1 "^5.0.0"
|
||||||
randombytes "^2.0.1"
|
randombytes "^2.0.1"
|
||||||
|
|
||||||
|
pump@^1.0.2:
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.2.tgz#3b3ee6512f94f0e575538c17995f9f16990a5d51"
|
||||||
|
dependencies:
|
||||||
|
end-of-stream "^1.1.0"
|
||||||
|
once "^1.3.1"
|
||||||
|
|
||||||
punycode@1.3.2:
|
punycode@1.3.2:
|
||||||
version "1.3.2"
|
version "1.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
|
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
|
||||||
@ -3534,6 +3581,12 @@ querystringify@~1.0.0:
|
|||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb"
|
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb"
|
||||||
|
|
||||||
|
quick-format-unescaped@^1.1.1:
|
||||||
|
version "1.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-1.1.1.tgz#e77555ef3e66e105d4039e13ef79201284fee916"
|
||||||
|
dependencies:
|
||||||
|
fast-safe-stringify "^1.0.8"
|
||||||
|
|
||||||
randomatic@^1.1.3:
|
randomatic@^1.1.3:
|
||||||
version "1.1.7"
|
version "1.1.7"
|
||||||
resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
|
resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
|
||||||
@ -3645,7 +3698,7 @@ readable-stream@1.0, readable-stream@~1.0.2:
|
|||||||
isarray "0.0.1"
|
isarray "0.0.1"
|
||||||
string_decoder "~0.10.x"
|
string_decoder "~0.10.x"
|
||||||
|
|
||||||
readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.6, readable-stream@^2.2.9:
|
readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.6, readable-stream@^2.2.9:
|
||||||
version "2.3.3"
|
version "2.3.3"
|
||||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
|
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -3857,8 +3910,8 @@ semantic-ui-css@^2.2.10:
|
|||||||
jquery x.*
|
jquery x.*
|
||||||
|
|
||||||
semantic-ui-react@^0.73.0:
|
semantic-ui-react@^0.73.0:
|
||||||
version "0.73.0"
|
version "0.73.1"
|
||||||
resolved "https://registry.yarnpkg.com/semantic-ui-react/-/semantic-ui-react-0.73.0.tgz#4750473a51905b52a9745765b55c05582c93efb5"
|
resolved "https://registry.yarnpkg.com/semantic-ui-react/-/semantic-ui-react-0.73.1.tgz#37d6a35f6baf941f440c7543d53caf8843661cc3"
|
||||||
dependencies:
|
dependencies:
|
||||||
babel-runtime "^6.25.0"
|
babel-runtime "^6.25.0"
|
||||||
classnames "^2.2.5"
|
classnames "^2.2.5"
|
||||||
@ -4125,6 +4178,12 @@ split-string@^2.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
extend-shallow "^2.0.1"
|
extend-shallow "^2.0.1"
|
||||||
|
|
||||||
|
split2@^2.0.1:
|
||||||
|
version "2.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/split2/-/split2-2.1.1.tgz#7a1f551e176a90ecd3345f7246a0cfe175ef4fd0"
|
||||||
|
dependencies:
|
||||||
|
through2 "^2.0.2"
|
||||||
|
|
||||||
split@0.3:
|
split@0.3:
|
||||||
version "0.3.3"
|
version "0.3.3"
|
||||||
resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f"
|
resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f"
|
||||||
@ -4318,6 +4377,13 @@ tar@^2.2.1:
|
|||||||
fstream "^1.0.2"
|
fstream "^1.0.2"
|
||||||
inherits "2"
|
inherits "2"
|
||||||
|
|
||||||
|
through2@^2.0.2:
|
||||||
|
version "2.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
|
||||||
|
dependencies:
|
||||||
|
readable-stream "^2.1.5"
|
||||||
|
xtend "~4.0.1"
|
||||||
|
|
||||||
through@2, through@~2.3, through@~2.3.1:
|
through@2, through@~2.3, through@~2.3.1:
|
||||||
version "2.3.8"
|
version "2.3.8"
|
||||||
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
|
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
|
||||||
@ -4783,7 +4849,7 @@ xml-char-classes@^1.0.0:
|
|||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d"
|
resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d"
|
||||||
|
|
||||||
xtend@^4.0.0:
|
xtend@^4.0.0, xtend@~4.0.1:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
|
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user