From 4ca28cf80a1a31c28e368e39de2748bdb25c6366 Mon Sep 17 00:00:00 2001 From: Yulong Date: Sat, 30 Jun 2018 09:08:23 +0800 Subject: [PATCH] demo lsp hover method results (#31) --- kibana-extra/castro/package.json | 4 +- .../public/components/main/FileCode.tsx | 110 ++++ .../castro/public/components/main/code.css | 24 +- .../castro/public/components/main/code.tsx | 8 +- .../castro/public/components/main/main.tsx | 44 +- kibana-extra/castro/server/highlights.ts | 27 +- kibana-extra/castro/server/lsp/LspClient.ts | 69 --- kibana-extra/castro/server/routes/example.ts | 102 ++-- kibana-extra/castro/server/routes/lsp.ts | 18 +- kibana-extra/castro/yarn.lock | 515 ++---------------- 10 files changed, 243 insertions(+), 678 deletions(-) create mode 100644 kibana-extra/castro/public/components/main/FileCode.tsx delete mode 100644 kibana-extra/castro/server/lsp/LspClient.ts diff --git a/kibana-extra/castro/package.json b/kibana-extra/castro/package.json index 2f5bf059c5e04..aaebc61f8b0b8 100644 --- a/kibana-extra/castro/package.json +++ b/kibana-extra/castro/package.json @@ -24,6 +24,7 @@ "@types/hapi": "^15.0.0", "@types/nodegit": "^0.18.8", "@types/react": "^16.3.16", + "@types/react-dom": "^16.0.6", "@types/react-redux": "^6.0.2", "@types/redux-actions": "^2.3.0", "babel-eslint": "^8.0.2", @@ -41,7 +42,8 @@ "highlights": "^3.1.1", "javascript-typescript-langserver": "^2.10.0", "lsp-proxy": "link:../../lsp-proxy", - "nodegit": "^0.22.1", + "popper.js": "^1.14.3", + "react-dom": "^16.4.1", "react-redux": "^5.0.7", "redux": "^4.0.0", "redux-actions": "^2.4.0", diff --git a/kibana-extra/castro/public/components/main/FileCode.tsx b/kibana-extra/castro/public/components/main/FileCode.tsx new file mode 100644 index 0000000000000..c02a50ddfb8d9 --- /dev/null +++ b/kibana-extra/castro/public/components/main/FileCode.tsx @@ -0,0 +1,110 @@ +import React, {DOMElement} from "react"; +import ReactDOM from 'react-dom'; + +import { + EuiCode, + EuiGlobalToastList +} from '@elastic/eui'; +import {LspRestClient, TextDocumentMethods} from "../../../common/LspClient"; + +interface Props { + file: string, + html: string +} + +interface Toast { + title: string, + text: string +} + +interface State { + toasts: Toast[], +} + +let toastId = 0; + +export default class FileCode extends React.Component { + + private lspMethods: TextDocumentMethods; + + + constructor(props: Props, context: any) { + super(props, context); + let lspClient = new LspRestClient("/lsp", {"kbn-xsrf": "1"}) + this.lspMethods = new TextDocumentMethods(lspClient); + this.mouseOut = this.mouseOut.bind(this); + this.mouseOver = this.mouseOver.bind(this); + this.state = { + toasts : [] + } + } + addToast = (toast) => { + this.setState({ + toasts: this.state.toasts.concat(toast), + }); + }; + + mouseOver(e: Event) { + const target = e.target as Element; + let lineNum = target.getAttribute("data-line"); + let range = target.getAttribute("data-range"); + if (lineNum && range) { + + + this.lspMethods.hover.send({ + position: { + line: parseInt(lineNum), + character: parseInt(range.split(",")[0]) + }, + textDocument: { + uri: `file://${this.props.file}` + } + }).then(hover => { + if(hover.contents.length >0) { + let content = hover.contents[0]; + this.addToast({ + id: toastId ++, + title: content.language, + text: content.value + }) + } + + }, err => { + + }); + } + } + + + + mouseOut(e: Event) { + this.setState({ + toasts: [] + }) + } + removeToast = (removedToast) => { + this.setState(prevState => ({ + toasts: prevState.toasts.filter(toast => toast.id !== removedToast.id), + })); + }; + + componentDidMount(): void { + const el = ReactDOM.findDOMNode(this) as Element; + el.querySelectorAll(".code-line span").forEach(el => { + el.addEventListener('mouseover', this.mouseOver); + el.addEventListener('mouseout', this.mouseOut); + }) + + } + + render() { + return
+ + +
+ } +} \ No newline at end of file diff --git a/kibana-extra/castro/public/components/main/code.css b/kibana-extra/castro/public/components/main/code.css index c1ab860d7885b..cc1bf396fd0cd 100644 --- a/kibana-extra/castro/public/components/main/code.css +++ b/kibana-extra/castro/public/components/main/code.css @@ -6,32 +6,36 @@ -.string { +.code .string { color: #DD0A73; } -.numeric, -.variable { +.code .numeric, +.code .variable { color: #00A69B; } -.keyword, -.primitive, -.modifier { +.code .keyword, +.code .primitive, +.code .modifier { color: #333; font-weight: bold; } -.type, -.class { +.code .type, +.code .class { color: #0079a5; font-weight: bold; } -.symbol { +.code .symbol { text-decoration: underline; } +.code .annotation { + position: relative; + display: inline; +} -.parameter { +.code .parameter { color: inherit; } diff --git a/kibana-extra/castro/public/components/main/code.tsx b/kibana-extra/castro/public/components/main/code.tsx index acd660c7abd96..1dc2241143bab 100644 --- a/kibana-extra/castro/public/components/main/code.tsx +++ b/kibana-extra/castro/public/components/main/code.tsx @@ -14,13 +14,13 @@ import { EuiCode, EuiCodeBlock, } from '@elastic/eui'; - +import FileCode from './FileCode'; import "./code.css" interface State { path: string content: string, - html? : string + html?: string } export default class Code extends React.Component { @@ -81,8 +81,8 @@ export default class Code extends React.Component { - { this.state.html && - + {this.state.html && + } diff --git a/kibana-extra/castro/public/components/main/main.tsx b/kibana-extra/castro/public/components/main/main.tsx index 610a86a0cc828..f88b04b551785 100644 --- a/kibana-extra/castro/public/components/main/main.tsx +++ b/kibana-extra/castro/public/components/main/main.tsx @@ -16,7 +16,7 @@ import { } from "@elastic/eui"; import { Commit, Entry } from '../../../../../model/build/swagger-code-tsClient/api'; - +import FileCode from './FileCode'; import Code from './code'; import Counter from '../counter'; @@ -26,15 +26,15 @@ interface MainProps { } interface MainState { + workspace: string, entries: Entry[], - commitInfo: Array<{title: string, description?: string | null }> } export class Main extends React.Component { constructor(props: MainProps) { super(props); this.state = { - commitInfo: [], + workspace: "", entries: [] }; } @@ -46,28 +46,7 @@ export class Main extends React.Component { */ const {httpClient} = this.props; httpClient.get("../api/castro/example").then((resp: any) => { - const data: Commit = resp.data; - const commitInfo = [ - { - title: "Commit", - description: data.commit - }, - { - title: "Date", - description: data.date - }, - { - title: "Committer", - description: data.committer - }, - { - title: "Message", - description: data.message - } - ]; - let entries = data.entries || []; - - this.setState({commitInfo, entries: entries}); + this.setState({...resp.data}); }); } @@ -84,22 +63,16 @@ export class Main extends React.Component { -

Current Commit

+

{this.state.workspace}

- - -

Changed files

+

Files

{ @@ -107,11 +80,10 @@ export class Main extends React.Component { + buttonContent={entry.path}> { entry.html && - + } ) diff --git a/kibana-extra/castro/server/highlights.ts b/kibana-extra/castro/server/highlights.ts index 9efc0efc5626e..9a1a04613538a 100644 --- a/kibana-extra/castro/server/highlights.ts +++ b/kibana-extra/castro/server/highlights.ts @@ -1,7 +1,6 @@ const Highlights = require('highlights'); const highlighter = new Highlights(); const Selector = require('first-mate-select-grammar'); -import {DocumentSymbolParams, SymbolInformation} from "vscode-languageserver"; highlighter.loadGrammarsSync(); @@ -22,6 +21,10 @@ interface Range { pos?: number // position in file } +interface Node { + token: Token + children: Token[] +} export function tokenizeLines(filePath: string, fileContents: string): CodeLine[] { const grammar = selector.selectGrammar(highlighter.registry, filePath, fileContents); @@ -33,10 +36,11 @@ export function tokenizeLines(filePath: string, fileContents: string): CodeLine[ } export function computeRanges(lines: CodeLine[]) { + let pos = 0; for (let line of lines) { - let start = 0; + let start = 0; for (let token of line) { let len = token.value.length; token.range = { @@ -51,30 +55,19 @@ export function computeRanges(lines: CodeLine[]) { } } -export function mergeSymbols(codeLines: CodeLine[], symbols: SymbolInformation[]) { - for (const symbol of symbols) { - const {start, end} = symbol.location.range; - const codeLine = codeLines[start.line]; - if (codeLine) { - for (const token of codeLine) { - if (token.range.start == start.character && token.range.end == end.character) { - token.scopes.push('symbol') - } - } - } - } -} - export function render(lines: CodeLine[]) : string{ let output = "
";
+    let lineNum = 0;
     for(let line of lines) {
+
         output += "
"; for(let token of line){ let lastScope = token.scopes[token.scopes.length - 1]; const clazz = lastScope.replace(/\./g, " "); - output += `${highlighter.escapeString(token.value)}` + output += `${highlighter.escapeString(token.value)}` } output += "\n
"; + lineNum ++; } return output + "
" diff --git a/kibana-extra/castro/server/lsp/LspClient.ts b/kibana-extra/castro/server/lsp/LspClient.ts deleted file mode 100644 index 2acf243a22df3..0000000000000 --- a/kibana-extra/castro/server/lsp/LspClient.ts +++ /dev/null @@ -1,69 +0,0 @@ -import {ResponseMessage, ResponseErrorLiteral, ResponseError} from "vscode-jsonrpc/lib/messages"; -import {DocumentSymbolParams, SymbolInformation} from "vscode-languageserver"; -import {LanguageServerProxy} from "lsp-proxy"; - -export interface LspClient { - sendRequest(method: string, params: any): Promise -} - -export class LspProxyClient { - private proxy: LanguageServerProxy; - constructor(proxy: LanguageServerProxy) { - this.proxy = proxy; - } - - sendRequest(method: string, params: any): Promise { - return this.proxy.receiveRequest(method, params) as Promise - } -} - -export class LspRestClient implements LspClient{ - private _baseUri: string; - private _customHeaders: { [header: string]: string }; - - constructor(baseUri: string, customHeaders: { [header: string]: string } = {}) { - this._baseUri = baseUri; - this._customHeaders = customHeaders; - } - - async sendRequest(method: string, params: any): Promise { - const headers = new Headers(this._customHeaders); - - const response = await fetch(`${this._baseUri}/${method}`, { - method: "POST", - headers, - body: JSON.stringify(params) - }); - if (response.ok) { - return await response.json() as ResponseMessage; - } else { - const error = await response.json() as ResponseErrorLiteral; - throw new ResponseError(error.code, error.message, error.data); - } - } -} - -export class LspMethod { - private client: LspClient; - private method: string; - - constructor(method: string,client: LspClient) { - this.client = client; - this.method = method; - } - - async send(input: INPUT): Promise { - return await this.client.sendRequest(this.method, input).then(result => result.result as OUTPUT) - } -} - -export class TextDocumentMethods { - private readonly _client: LspClient; - public documentSymbol: LspMethod; - - constructor(client: LspClient) { - this._client = client; - this.documentSymbol = new LspMethod("textDocument/documentSymbol", this._client) - } - -} \ No newline at end of file diff --git a/kibana-extra/castro/server/routes/example.ts b/kibana-extra/castro/server/routes/example.ts index 53d05475eacdb..c438dceda3aea 100644 --- a/kibana-extra/castro/server/routes/example.ts +++ b/kibana-extra/castro/server/routes/example.ts @@ -1,70 +1,52 @@ -import {TreeEntry} from "nodegit"; import * as Hapi from 'hapi'; -import {Commit, Entry} from '../../../../model/build/swagger-code-tsClient/api'; +import {Entry} from '../../../../model/build/swagger-code-tsClient/api'; -import {computeRanges, mergeSymbols, render, tokenizeLines} from '../highlights'; -import {LspProxyClient, TextDocumentMethods} from "../lsp/LspClient"; +import {computeRanges, render, tokenizeLines} from '../highlights'; -import {proxy} from './lsp' - -const Git = require("nodegit"); const Path = require("path"); +const fs = require('fs'); -const repodir = Path.join(__dirname, "../../../../"); - -const lspClient = new LspProxyClient(proxy); -const documentMethods = new TextDocumentMethods(lspClient); - - -async function getHeadCommit(): Promise { - - const repo = await Git.Repository.open(repodir); - const commit = await repo.getHeadCommit(); - - const result: Commit = { - commit: commit.id().tostrS(), - committer: commit.committer().toString(), - message: commit.message(), - date: commit.date().toLocaleDateString(), - entries: [] - }; - const tree = await commit.getTree(); - const walker = tree.walk(true); - walker.on("entry", async (entry: TreeEntry) => { - const blob = await entry.getBlob(); - const isBinary = blob.isBinary() === 1; - let e: Entry = { - path: entry.path(), - isBinary: isBinary, - blob: isBinary ? "binary" : blob.toString() - }; - if (!isBinary) { - const lines = tokenizeLines(e.path, e.blob); - computeRanges(lines); - const result = render(lines); - e.html = result; - if (e.path.startsWith("kibana-extra/castro") && (e.path.endsWith(".ts") ||e.path.endsWith(".tsx") || e.path.endsWith(".js"))) { - try { - const symbols = await documentMethods.documentSymbol.send({ - textDocument: { - uri: `file://${repodir}/${e.path}` - } - }); - mergeSymbols(lines, symbols) - } catch (e) { - console.error(e) +const repodir = Path.join(__dirname, "../../"); +async function getFiles() { + const files = []; + try { + const walk = function (dir: string, callback: (file: string) => void) { + let list = fs.readdirSync(dir); + list.forEach(function (file) { + let path = Path.join(dir, file); + const stat = fs.statSync(path); + if (stat && stat.isDirectory()) { + /* Recurse into a subdirectory */ + walk(path, callback); + } else { + /* Is a file */ + callback(path) } + }); + }; + walk(repodir, path => { + if (!path.includes("node_modules") && (path.endsWith(".ts") || path.endsWith(".js") || path.endsWith(".tsx"))) { + console.log(path); + const blob = fs.readFileSync(path, "utf8"); + const lines = tokenizeLines(path, blob); + computeRanges(lines); + let e: Entry = { + path: Path.relative(repodir, path), + isBinary: false, + blob, + html: render(lines) + }; + files.push(e); } - } - result.entries.push(e) - }); - walker.start(); - return await (new Promise(function (resolve, reject) { - walker.on("end", () => { - resolve(result) - }) - })); + }); + } catch (e) { + console.log(e) + } + return { + workspace: repodir, + entries: files + }; } export default function (server: Hapi.Server) { @@ -72,7 +54,7 @@ export default function (server: Hapi.Server) { path: '/api/castro/example', method: 'GET', handler(req: Hapi.Request, reply: any) { - getHeadCommit().then((result: Commit) => reply(result)) + getFiles().then((result) => reply(result), err => reply(err).code(500)) } }); server.route({ diff --git a/kibana-extra/castro/server/routes/lsp.ts b/kibana-extra/castro/server/routes/lsp.ts index 7789b338e23e3..2bc74fc5b6340 100644 --- a/kibana-extra/castro/server/routes/lsp.ts +++ b/kibana-extra/castro/server/routes/lsp.ts @@ -1,12 +1,14 @@ import * as Hapi from "hapi"; import {serve} from "javascript-typescript-langserver/lib/server"; +import {ResponseMessage} from "vscode-jsonrpc/lib/messages"; import {LanguageServerProxy} from "lsp-proxy"; + const Path = require("path"); const lspPort = 20000; -export const proxy = new LanguageServerProxy(lspPort,"127.0.0.1" , console); +export const proxy = new LanguageServerProxy(lspPort, "127.0.0.1", console); export default async function (server: Hapi.Server) { @@ -51,4 +53,18 @@ export default async function (server: Hapi.Server) { } } }) +} + + +// a lsp client used in server +export class LspProxyClient { + private proxy: LanguageServerProxy; + + constructor(proxy: LanguageServerProxy) { + this.proxy = proxy; + } + + sendRequest(method: string, params: any): Promise { + return this.proxy.receiveRequest(method, params) as Promise + } } \ No newline at end of file diff --git a/kibana-extra/castro/yarn.lock b/kibana-extra/castro/yarn.lock index 742f5c174c341..6d64fc0fea89b 100644 --- a/kibana-extra/castro/yarn.lock +++ b/kibana-extra/castro/yarn.lock @@ -143,6 +143,13 @@ "@types/events" "*" "@types/node" "*" +"@types/react-dom@^16.0.6": + version "16.0.6" + resolved "http://registry.npm.taobao.org/@types/react-dom/download/@types/react-dom-16.0.6.tgz#f1a65a4e7be8ed5d123f8b3b9eacc913e35a1a3c" + dependencies: + "@types/node" "*" + "@types/react" "*" + "@types/react-redux@^6.0.2": version "6.0.2" resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-6.0.2.tgz#10069b53db8e0920fd8656e068dcf10c53c9ad2a" @@ -205,14 +212,7 @@ ajv-keywords@^2.0.0, ajv-keywords@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" -ajv@^4.9.1: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -ajv@^5.1.0, ajv@^5.1.5, ajv@^5.2.3, ajv@^5.3.0: +ajv@^5.1.5, ajv@^5.2.3, ajv@^5.3.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" dependencies: @@ -398,18 +398,6 @@ asn1.js@^4.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -438,26 +426,10 @@ async@^2.1.2: dependencies: lodash "^4.17.10" -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - atob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - -aws4@^1.2.1, aws4@^1.6.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" - b64@3.x.x: version "3.0.3" resolved "http://registry.npm.taobao.org/b64/download/b64-3.0.3.tgz#36afeee0d9345f046387ce6de8a6702afe5bb56e" @@ -545,12 +517,6 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" - dependencies: - tweetnacl "^0.14.3" - big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" @@ -559,22 +525,10 @@ binary-extensions@^1.0.0: version "1.11.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - boom@3.x.x: version "3.2.2" resolved "http://registry.npm.taobao.org/boom/download/boom-3.2.2.tgz#0f0cc5d04adc5003b8c7d71f42cca7271fef0e78" @@ -810,10 +764,6 @@ capture-stack-trace@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - catbox-memory@2.x.x: version "2.0.4" resolved "http://registry.npm.taobao.org/catbox-memory/download/catbox-memory-2.0.4.tgz#433e255902caf54233d1286429c8f4df14e822d5" @@ -1017,12 +967,6 @@ color-name@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" -combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" - dependencies: - delayed-stream "~1.0.0" - commander@2.15.1, commander@^2.9.0: version "2.15.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" @@ -1095,7 +1039,7 @@ core-js@^2.4.0, core-js@^2.5.1: version "2.5.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -1148,12 +1092,6 @@ cross-spawn@^5.0.1, cross-spawn@^5.1.0: shebang-command "^1.2.0" which "^1.2.9" -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - cryptiles@3.x.x: version "3.1.2" resolved "http://registry.npm.taobao.org/cryptiles/download/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" @@ -1208,12 +1146,6 @@ d@~0.1.1: dependencies: es5-ext "~0.10.2" -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" @@ -1294,10 +1226,6 @@ del@^2.0.2, del@^2.2.2: pinkie-promise "^2.0.0" rimraf "^2.2.8" -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -1389,12 +1317,6 @@ duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" - elliptic@^6.0.0: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" @@ -1829,7 +1751,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: +extend@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" @@ -1862,14 +1784,6 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - fast-deep-equal@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" @@ -2000,42 +1914,12 @@ foreach@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -form-data@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" - dependencies: - asynckit "^0.4.0" - combined-stream "1.0.6" - mime-types "^2.1.12" - fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" dependencies: map-cache "^0.2.2" -fs-extra@~0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.27.0.tgz#66d4c25d1d2c6a8dafed7718cfcffe930f13b2c0" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" - fs-minipass@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" @@ -2069,23 +1953,6 @@ fsevents@^1.1.2: nan "^2.9.2" node-pre-gyp "^0.10.0" -fstream-ignore@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" - -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -2127,12 +1994,6 @@ get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - dependencies: - assert-plus "^1.0.0" - giturl@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/giturl/-/giturl-1.0.0.tgz#9732a81e9e25c457a22f0e2ca1c9c51dbbb5325f" @@ -2257,7 +2118,7 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -2309,28 +2170,6 @@ hapi@^14.2.0: subtext "4.x.x" topo "2.x.x" -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" - dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" - -har-validator@~5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" - dependencies: - ajv "^5.1.0" - har-schema "^2.0.0" - has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -2400,15 +2239,6 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.0" -hawk@3.1.3, hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - he@1.1.1: version "1.1.1" resolved "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -2453,10 +2283,6 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - hoek@4.x.x: version "4.2.1" resolved "http://registry.npm.taobao.org/hoek/download/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" @@ -2481,22 +2307,6 @@ html@^1.0.0: dependencies: concat-stream "^1.4.7" -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" @@ -2546,7 +2356,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -2869,10 +2679,6 @@ is-symbol@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - is-unc-path@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" @@ -2930,10 +2736,6 @@ isomorphic-fetch@^2.1.1: node-fetch "^1.0.1" whatwg-fetch ">=0.10.0" -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - items@2.x.x: version "2.1.1" resolved "http://registry.npm.taobao.org/items/download/items-2.1.1.tgz#8bd16d9c83b19529de5aea321acaada78364a198" @@ -3005,10 +2807,6 @@ js-yaml@^3.4.2, js-yaml@^3.9.1: argparse "^1.0.7" esprima "^4.0.0" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - jsesc@^2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" @@ -3021,47 +2819,24 @@ json-schema-traverse@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: +json-stable-stringify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: jsonify "~0.0.0" -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - json5@^0.5.0, json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - optionalDependencies: - graceful-fs "^4.1.6" - jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - jsx-ast-utils@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" @@ -3102,12 +2877,6 @@ kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" -klaw@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - optionalDependencies: - graceful-fs "^4.1.9" - latest-version@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" @@ -3358,16 +3127,6 @@ mime-db@1.x.x: version "1.34.0" resolved "http://registry.npm.taobao.org/mime-db/download/mime-db-1.34.0.tgz#452d0ecff5c30346a6dc1e64b1eaee0d3719ff9a" -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" - -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.7: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" - dependencies: - mime-db "~1.33.0" - mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" @@ -3387,7 +3146,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -3429,7 +3188,7 @@ mixto@1.x: version "1.0.0" resolved "http://registry.npm.taobao.org/mixto/download/mixto-1.0.0.tgz#c320ef61b52f2898f522e17d8bbc6d506d8425b6" -mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: +mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -3479,7 +3238,7 @@ mz@^2.6.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nan@^2.0.9, nan@^2.10.0, nan@^2.9.2: +nan@^2.0.9, nan@^2.9.2: version "2.10.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" @@ -3540,24 +3299,6 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" -node-gyp@^3.6.2: - version "3.6.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" - dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - minimatch "^3.0.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "2" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" - node-int64@^0.4.0: version "0.4.0" resolved "http://registry.npm.taobao.org/node-int64/download/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -3605,45 +3346,6 @@ node-pre-gyp@^0.10.0: semver "^5.3.0" tar "^4" -node-pre-gyp@~0.6.39: - version "0.6.39" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" - dependencies: - detect-libc "^1.0.2" - hawk "3.1.3" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.0.2" - rc "^1.1.7" - request "2.81.0" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" - -nodegit-promise@~4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/nodegit-promise/-/nodegit-promise-4.0.0.tgz#5722b184f2df7327161064a791d2e842c9167b34" - dependencies: - asap "~2.0.3" - -nodegit@^0.22.1: - version "0.22.1" - resolved "https://registry.yarnpkg.com/nodegit/-/nodegit-0.22.1.tgz#a4b45797815631c9ed1a8d671a49738258a6d8a3" - dependencies: - fs-extra "~0.27.0" - lodash "^4.13.1" - nan "^2.10.0" - node-gyp "^3.6.2" - node-pre-gyp "~0.6.39" - promisify-node "~0.3.0" - -"nopt@2 || 3": - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -3725,7 +3427,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.2: +npmlog@^4.0.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" dependencies: @@ -3742,10 +3444,6 @@ numeral@^2.0.6: version "2.0.6" resolved "http://registry.npm.taobao.org/numeral/download/numeral-2.0.6.tgz#4ad080936d443c2561aed9f2197efffe25f4e506" -oauth-sign@~0.8.1, oauth-sign@~0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -3787,7 +3485,7 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.3.3, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: @@ -3873,7 +3571,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" -osenv@0, osenv@^0.1.4: +osenv@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" dependencies: @@ -4007,14 +3705,6 @@ peekaboo@2.x.x: version "2.0.2" resolved "http://registry.npm.taobao.org/peekaboo/download/peekaboo-2.0.2.tgz#fc42e139efd698c6ff2870a6b20c047cd9aa29ff" -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - pez@2.x.x: version "2.1.5" resolved "http://registry.npm.taobao.org/pez/download/pez-2.1.5.tgz#5ec2cc62500cc3eb4236d4a414cf5a17b5eb5007" @@ -4063,7 +3753,7 @@ pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" -popper.js@^1.14.1: +popper.js@^1.14.1, popper.js@^1.14.3: version "1.14.3" resolved "http://registry.npm.taobao.org/popper.js/download/popper.js-1.14.3.tgz#1438f98d046acf7b4d78cd502bf418ac64d4f095" @@ -4097,12 +3787,6 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -promisify-node@~0.3.0: - version "0.3.0" - resolved "http://registry.npmjs.org/promisify-node/-/promisify-node-0.3.0.tgz#b4b55acf90faa7d2b8b90ca396899086c03060cf" - dependencies: - nodegit-promise "~4.0.0" - prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1: version "15.6.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca" @@ -4155,18 +3839,10 @@ punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.2.4: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" -qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - -qs@~6.5.1: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -4229,6 +3905,15 @@ react-datepicker@v1.4.1: react-onclickoutside "^6.7.1" react-popper "^0.9.1" +react-dom@^16.4.1: + version "16.4.1" + resolved "http://registry.npm.taobao.org/react-dom/download/react-dom-16.4.1.tgz#7f8b0223b3a5fbe205116c56deb85de32685dad6" + dependencies: + fbjs "^0.8.16" + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.0" + react-input-autosize@^2.2.1: version "2.2.1" resolved "http://registry.npm.taobao.org/react-input-autosize/download/react-input-autosize-2.2.1.tgz#ec428fa15b1592994fb5f9aa15bb1eb6baf420f8" @@ -4308,7 +3993,7 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6: +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" dependencies: @@ -4433,58 +4118,6 @@ replace-ext@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" -request@2: - version "2.87.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.6.0" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.1" - forever-agent "~0.6.1" - form-data "~2.3.1" - har-validator "~5.0.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" - performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - tough-cookie "~2.3.3" - tunnel-agent "^0.6.0" - uuid "^3.1.0" - -request@2.81.0: - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -4555,7 +4188,7 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.6.1: +rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.6.1: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: @@ -4614,7 +4247,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2: +"safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -4644,10 +4277,6 @@ semver-diff@^2.0.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -4739,12 +4368,6 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - source-list-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" @@ -4810,21 +4433,6 @@ sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" -sshpk@^1.7.0: - version "1.14.2" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - safer-buffer "^2.0.2" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - stackframe@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4" @@ -4899,10 +4507,6 @@ string_decoder@^1.0.0, string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringstream@~0.0.4: - version "0.0.6" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72" - 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" @@ -4996,27 +4600,6 @@ tapable@^0.2.7: version "0.2.8" resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" -tar-pack@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" - dependencies: - debug "^2.2.0" - fstream "^1.0.10" - fstream-ignore "^1.0.5" - once "^1.3.3" - readable-stream "^2.1.4" - rimraf "^2.5.1" - tar "^2.2.1" - uid-number "^0.0.6" - -tar@^2.0.0, tar@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - tar@^4: version "4.4.4" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.4.tgz#ec8409fae9f665a4355cc3b4087d0820232bb8cd" @@ -5167,12 +4750,6 @@ topo@2.x.x: dependencies: hoek "4.x.x" -tough-cookie@~2.3.0, tough-cookie@~2.3.3: - version "2.3.4" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" - dependencies: - punycode "^1.4.1" - trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -5185,16 +4762,6 @@ tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -5238,10 +4805,6 @@ uglifyjs-webpack-plugin@^0.4.6: uglify-js "^2.8.29" webpack-sources "^1.0.1" -uid-number@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - unc-path-regex@^0.1.0, unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" @@ -5347,7 +4910,7 @@ util@^0.10.3: dependencies: inherits "2.0.3" -uuid@^3.0.0, uuid@^3.1.0: +uuid@^3.1.0: version "3.2.1" resolved "http://registry.npm.taobao.org/uuid/download/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" @@ -5362,14 +4925,6 @@ value-or-function@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - vinyl-fs@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" @@ -5515,7 +5070,7 @@ which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" -which@1, which@^1.2.14, which@^1.2.8, which@^1.2.9: +which@^1.2.14, which@^1.2.8, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" dependencies: