├── .editorconfig ├── .gitignore ├── .vscode ├── launch.json ├── settings.json └── tasks.json ├── .vscodeignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── assets └── demo.gif ├── example └── simple-redux │ ├── index.html │ ├── index.js │ ├── package.json │ ├── redux-devtools.js │ ├── store.js │ └── yarn.lock ├── externals ├── react-dom.production.min.js ├── react.production.min.js └── redux-devtools-core.min.js ├── logo ├── 128x128.png ├── 16x16.png ├── 38x38.png ├── 48x48.png ├── error.png └── scalable.png ├── package.json ├── src ├── extension.ts └── webview │ └── reduxDevtools.ts ├── test.html ├── test ├── extension.test.ts └── index.ts ├── tsconfig.json ├── tslint.json ├── vsc-extension-quickstart.md └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | out 2 | node_modules 3 | dist 4 | .cache 5 | .DS_Store 6 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that compiles the extension and then opens it inside a new window 2 | { 3 | "version": "0.1.0", 4 | "configurations": [ 5 | { 6 | "name": "Launch Extension", 7 | "type": "extensionHost", 8 | "request": "launch", 9 | "runtimeExecutable": "${execPath}", 10 | "args": ["--extensionDevelopmentPath=${workspaceRoot}" ], 11 | "stopOnEntry": false, 12 | "sourceMaps": true, 13 | "outFiles": [ "${workspaceRoot}/out/src/**/*.js" ], 14 | "preLaunchTask": "npm" 15 | }, 16 | { 17 | "name": "Launch Tests", 18 | "type": "extensionHost", 19 | "request": "launch", 20 | "runtimeExecutable": "${execPath}", 21 | "args": ["--extensionDevelopmentPath=${workspaceRoot}", "--extensionTestsPath=${workspaceRoot}/out/test" ], 22 | "stopOnEntry": false, 23 | "sourceMaps": true, 24 | "outFiles": [ "${workspaceRoot}/out/test/**/*.js" ], 25 | "preLaunchTask": "npm" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | // Place your settings in this file to overwrite default and user settings. 2 | { 3 | "files.exclude": { 4 | "out": false // set this to true to hide the "out" folder with the compiled JS files 5 | }, 6 | "search.exclude": { 7 | "out": true // set this to false to include "out" folder in search results 8 | }, 9 | "editor.tabSize": 2 10 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | // Available variables which can be used inside of strings. 2 | // ${workspaceRoot}: the root folder of the team 3 | // ${file}: the current opened file 4 | // ${fileBasename}: the current opened file's basename 5 | // ${fileDirname}: the current opened file's dirname 6 | // ${fileExtname}: the current opened file's extension 7 | // ${cwd}: the current working directory of the spawned process 8 | 9 | // A task runner that calls a custom npm script that compiles the extension. 10 | { 11 | "version": "0.1.0", 12 | 13 | // we want to run npm 14 | "command": "npm", 15 | 16 | // the command is a shell script 17 | "isShellCommand": true, 18 | 19 | // show the output window only if unrecognized errors occur. 20 | "showOutput": "silent", 21 | 22 | // we run the custom script "compile" as defined in package.json 23 | "args": ["run", "compile", "--loglevel", "silent"], 24 | 25 | // The tsc compiler is started in watching mode 26 | "isWatching": true, 27 | 28 | // use the standard tsc in watch mode problem matcher to find compile problems in the output. 29 | "problemMatcher": "$tsc-watch" 30 | } -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .vscode/** 2 | .vscode-test/** 3 | out/test/** 4 | test/** 5 | src/** 6 | example/** 7 | **/*.map 8 | .gitignore 9 | tsconfig.json 10 | vsc-extension-quickstart.md 11 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | ## 1.0.0 4 | ### Changed 5 | - refactor: use vscode WebView API instead of `vscode.previewHtml` [@jkzing](https://github.com/jkzing) 6 | - refactor: use `redux-devtools-core` insteadof `remotedev-app` [@jkzing](https://github.com/jkzing) 7 | - refactor: load resouce (script) locally [@jkzing](https://github.com/jkzing) 8 | - fix: read and load user settings properly, close #5 [@jkzing](https://github.com/jkzing) 9 | 10 | ### Added 11 | - docs: add a simple redux app for example [@jkzing](https://github.com/jkzing) 12 | 13 | ### BREAKING CHANGES 14 | - `reduxdev.socketPort` is renamed to `reduxdev.port` 15 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Jingkai Zhao 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Redux DevTools for VSCode 2 | 3 | Visual Studio Code extension to integrate Redux Devtools into editor. 4 | 5 | ## Features 6 | 7 | Inspect redux store of your app. Like the one you may use in Chrome. 8 | 9 |  10 | 11 | ## Quick Start 12 | 13 | * Install the extension 14 | 15 | * `CMD + Shift + P` to open **Command Palette** and type in `Redux Devtools`, select command `Open Devtool to the Side`. 16 | 17 | * In devtool pannel, click settings to set listening port and host to your remotedev server. 18 | 19 | * Optional, if you don't have an remotedev server running, you need to start one. (Find documentation [here](https://github.com/reduxjs/redux-devtools/tree/master/packages/redux-devtools-cli) or see our [example](/example/simple-redux)) 20 | 21 | * Additionally, you also need to compose remote redux devtool middleware into your redux store: 22 | 23 | ```javascript 24 | import { createStore, applyMiddleware } from 'redux' 25 | import { composeWithDevTools } from 'remote-redux-devtools' 26 | 27 | const composeEnhancers = composeWithDevTools({ 28 | realtime: true, 29 | name: 'Your Instance Name', 30 | hostname: 'localhost', 31 | port: 1024 // the port your remotedev server is running at 32 | }) 33 | 34 | const store = createStore( 35 | yourReducer, 36 | composeEnhancers( 37 | applyMiddleware(/* put your middlewares here */) 38 | ) 39 | ) 40 | ``` 41 | 42 | 43 | 44 | ## Extension Settings 45 | 46 | Redux Devtools contributes the following settings: 47 | 48 | > Note that these settings are used when launching the devtool. 49 | > You can also set those configurations manually by click `settings` in the top of the devtool. (after it is launched) 50 | 51 | * `reduxdev.hostname`: The hostname your remotedev server started on. 52 | * `reduxdev.port`: The socket port for Redux Devtools to listen. 53 | 54 | ## Known Issues 55 | 56 | * redux-devtools-core can not persist settings inside vscode webview 57 | 58 | ## License 59 | MIT 60 | 61 | *powered by redux-devtools.* 62 | -------------------------------------------------------------------------------- /assets/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkzing/vscode-redux-devtools/b6e0cf686a23dbd331041dbd5ccb84a15bb4fcac/assets/demo.gif -------------------------------------------------------------------------------- /example/simple-redux/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 |component higher in the tree to provide a loading indicator or placeholder to display."+Yc(k))}Jd=!0;l=jc(l,k);g=h;do{switch(g.tag){case 3:g.effectTag|=2048;g.expirationTime=f;f=Hd(g,l,f);sf(g,f);break a;case 1:if(n=l,q=g.type,p=g.stateNode,0===(g.effectTag& 130 | 64)&&("function"===typeof q.getDerivedStateFromError||null!==p&&"function"===typeof p.componentDidCatch&&(null===ta||!ta.has(p)))){g.effectTag|=2048;g.expirationTime=f;f=Yf(g,n,f);sf(g,f);break a}}g=g.return}while(null!==g)}u=bg(e);continue}}}break}while(1);ua=!1;sb=ya=rb=qc.currentDispatcher=null;if(d)V=null,a.finishedWork=null;else if(null!==u)a.finishedWork=null;else{d=a.current.alternate;null===d?m("281"):void 0;V=null;if(Jd){e=a.latestPendingTime;f=a.latestSuspendedTime;g=a.latestPingedTime; 131 | if(0!==e&&eb?0:b)):(a.pendingCommitExpirationTime=c,a.finishedWork=d)}}function Wa(a,b){for(var c=a.return;null!==c;){switch(c.tag){case 1:var d=c.stateNode;if("function"===typeof c.type.getDerivedStateFromError|| 132 | "function"===typeof d.componentDidCatch&&(null===ta||!ta.has(d))){a=jc(b,a);a=Yf(c,a,1073741823);da(c,a);Da(c,1073741823);return}break;case 3:a=jc(b,a);a=Hd(c,a,1073741823);da(c,a);Da(c,1073741823);return}c=c.return}3===a.tag&&(c=jc(b,a),c=Hd(a,c,1073741823),da(a,c),Da(a,1073741823))}function Ab(a,b){0!==Bb?a=Bb:ua?a=sc?1073741823:M:b.mode&1?(a=Xa?1073741822-10*(((1073741822-a+15)/10|0)+1):1073741822-25*(((1073741822-a+500)/25|0)+1),null!==V&&a===M&&--a):a=1073741823;Xa&&(0===fa||a =d){a.didError=!1;b=a.latestPingedTime;if(0===b||b>c)a.latestPingedTime=c;gc(c,a);c=a.expirationTime;0!==c&&Md(a,c)}}function uh(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=sa();b=Ab(b,a);a=hg(a,b);null!==a&&(pb(a,b),b=a.expirationTime,0!==b&&Md(a,b))}function hg(a,b){a.expirationTimeM&&Zf(),pb(a,b),ua&&!sc&&V===a||Md(a,a.expirationTime),Cb>Ah&&(Cb=0,m("185")))}function ig(a,b,c,d,e){var f=Bb;Bb=1073741823;try{return a(b,c,d,e)}finally{Bb= 135 | f}}function Db(){W=1073741822-((Nd()-Od)/10|0)}function jg(a,b){if(0!==tc){if(b a.expirationTime&&(a.expirationTime=b);Q||(I?wc&&(Y=a,A=1073741823,xc(a,1073741823,!1)):1073741823===b?ha(1073741823,!1):jg(a,b))}function vc(){var a=0,b=null;if(null!==H)for(var c=H,d=X;null!==d;){var e=d.expirationTime;if(0===e){null===c||null===H?m("244"):void 0;if(d===d.nextScheduledRoot){X=H=d.nextScheduledRoot=null;break}else if(d===X)X=e=d.nextScheduledRoot,H.nextScheduledRoot=e,d.nextScheduledRoot= 137 | null;else if(d===H){H=c;H.nextScheduledRoot=X;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{e>a&&(a=e,b=d);if(d===H)break;if(1073741823===a)break;c=d;d=d.nextScheduledRoot}}Y=b;A=a}function rc(){return yc?!0:Fh()?yc=!0:!1}function Ch(){try{if(!rc()&&null!==X){Db();var a=X;do{var b=a.expirationTime;0!==b&&W<=b&&(a.nextExpirationTimeToWorkOn=W);a=a.nextScheduledRoot}while(a!==X)}ha(0,!0)}finally{yc=!1}}function ha(a,b){vc(); 138 | if(b)for(Db(),Ya=W;null!==Y&&0!==A&&a<=A&&!(yc&&W>A);)xc(Y,A,W>A),vc(),Db(),Ya=W;else for(;null!==Y&&0!==A&&a<=A;)xc(Y,A,!1),vc();b&&(tc=0,uc=null);0!==A&&jg(Y,A);Cb=0;Pd=null;if(null!==Za)for(a=Za,Za=null,b=0;b =c&&(null===Za?Za=[d]:Za.push(d),d._defer)){a.finishedWork=b;a.expirationTime=0;return}a.finishedWork=null;a===Pd?Cb++:(Pd=a,Cb=0);sc=ua=!0;a.current=== 140 | b?m("177"):void 0;c=a.pendingCommitExpirationTime;0===c?m("261"):void 0;a.pendingCommitExpirationTime=0;d=b.expirationTime;var e=b.childExpirationTime;d=e>d?e:d;a.didError=!1;0===d?(a.earliestPendingTime=0,a.latestPendingTime=0,a.earliestSuspendedTime=0,a.latestSuspendedTime=0,a.latestPingedTime=0):(d d?a.earliestPendingTime=a.latestPendingTime=0:a.earliestPendingTime>d&&(a.earliestPendingTime=a.latestPendingTime)),e=a.earliestSuspendedTime, 141 | 0===e?pb(a,d):d e&&pb(a,d));gc(0,a);qc.current=null;1 r&&(v=r,r=P,P=v),v=Ye(w,P),K=Ye(w,r),v&&K&&(1!==t.rangeCount||t.anchorNode!==v.node||t.anchorOffset!==v.offset||t.focusNode!==K.node||t.focusOffset!==K.offset)&&(B=B.createRange(),B.setStart(v.node,v.offset),t.removeAllRanges(),P>r?(t.addRange(B),t.extend(K.node,K.offset)):(B.setEnd(K.node,K.offset),t.addRange(B))))));B=[];for(t=w;t=t.parentNode;)1===t.nodeType&&B.push({element:t,left:t.scrollLeft, 147 | top:t.scrollTop});"function"===typeof w.focus&&w.focus();for(w=0;w C?b:C;0===b&&(ta=null);a.expirationTime=b;a.finishedWork=null}function Id(a){null===Y?m("246"):void 0;Y.expirationTime=0;$a||($a=!0,zc=a)}function mg(a,b){var c=I;I=!0;try{return a(b)}finally{(I=c)||Q||ha(1073741823,!1)}}function ng(a,b){if(I&& 150 | !wc){wc=!0;try{return a(b)}finally{wc=!1}}return a(b)}function og(a,b,c){if(Xa)return a(b,c);I||Q||0===fa||(ha(fa,!1),fa=0);var d=Xa,e=I;I=Xa=!0;try{return a(b,c)}finally{Xa=d,(I=e)||Q||ha(1073741823,!1)}}function pg(a,b,c,d,e){var f=b.current;a:if(c){c=c._reactInternalFiber;b:{2===kb(c)&&1===c.tag?void 0:m("170");var g=c;do{switch(g.tag){case 3:g=g.stateNode.context;break b;case 1:if(D(g.type)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}}g=g.return}while(null!==g);m("171");g= 151 | void 0}if(1===c.tag){var h=c.type;if(D(h)){c=mf(c,h,g);break a}}c=g}else c=oa;null===b.context?b.context=c:b.pendingContext=c;b=e;e=qa(d);e.payload={element:a};b=void 0===b?null:b;null!==b&&(e.callback=b);zb();da(f,e);Da(f,d);return d}function Sd(a,b,c,d){var e=b.current,f=sa();e=Ab(f,e);return pg(a,b,c,e,d)}function Td(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function Gh(a,b,c){var d=3 =Ud&&(b=Ud-1);this._expirationTime=Ud=b;this._root=a;this._callbacks=this._next=null;this._hasChildren=this._didComplete=!1;this._children=null;this._defer=!0}function bb(){this._callbacks=null;this._didCommit=!1;this._onCommit=this._onCommit.bind(this)}function cb(a,b,c){b=T(3,null,null,b?3:0);a={current:b,containerInfo:a, 153 | pendingChildren:null,pingCache:null,earliestPendingTime:0,latestPendingTime:0,earliestSuspendedTime:0,latestSuspendedTime:0,latestPingedTime:0,didError:!1,pendingCommitExpirationTime:0,finishedWork:null,timeoutHandle:-1,context:null,pendingContext:null,hydrate:c,nextExpirationTimeToWorkOn:0,expirationTime:0,firstBatch:null,nextScheduledRoot:null};this._internalRoot=b.stateNode=a}function Bc(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||" react-mount-point-unstable "!== 154 | a.nodeValue))}function Hh(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute("data-reactroot")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new cb(a,!1,b)}function Cc(a,b,c,d,e){Bc(c)?void 0:m("200");var f=c._reactRootContainer;if(f){if("function"===typeof e){var g=e;e=function(){var a=Td(f._internalRoot);g.call(a)}}null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)}else{f=c._reactRootContainer=Hh(c,d);if("function"=== 155 | typeof e){var h=e;e=function(){var a=Td(f._internalRoot);h.call(a)}}ng(function(){null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)})}return Td(f._internalRoot)}function qg(a,b){var c=2 =Fb),me=String.fromCharCode(32),ia={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput", 162 | captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate", 163 | captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},le=!1,Ja=!1,Lh={eventTypes:ia,extractEvents:function(a,b,c,d){var e=void 0;var f=void 0;if(Pc)b:{switch(a){case "compositionstart":e=ia.compositionStart;break b;case "compositionend":e=ia.compositionEnd;break b;case "compositionupdate":e=ia.compositionUpdate;break b}e=void 0}else Ja?je(a,c)&&(e=ia.compositionEnd):"keydown"===a&&229===c.keyCode&&(e=ia.compositionStart);e?(ne&& 164 | "ko"!==c.locale&&(Ja||e!==ia.compositionStart?e===ia.compositionEnd&&Ja&&(f=he()):(ja=d,Oc="value"in ja?ja.value:ja.textContent,Ja=!0)),e=Ih.getPooled(e,b,c,d),f?e.data=f:(f=ke(c),null!==f&&(e.data=f)),Ha(e),f=e):f=null;(a=Kh?Pg(a,c):Qg(a,c))?(b=Jh.getPooled(ia.beforeInput,b,c,d),b.data=a,Ha(b)):b=null;return null===f?b:null===b?f:[f,b]}},Qc=null,Ka=null,La=null,te=function(a,b){return a(b)},Ue=function(a,b,c){return a(b,c)},ue=function(){},Rc=!1,Rg={color:!0,date:!0,datetime:!0,"datetime-local":!0, 165 | email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},Wd=Z.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Tg=/^(.*)[\\\/]/,R="function"===typeof Symbol&&Symbol.for,oc=R?Symbol.for("react.element"):60103,Ma=R?Symbol.for("react.portal"):60106,ma=R?Symbol.for("react.fragment"):60107,Uc=R?Symbol.for("react.strict_mode"):60108,Vb=R?Symbol.for("react.profiler"):60114,Be=R?Symbol.for("react.provider"):60109,Ae=R?Symbol.for("react.context"):60110,Tc=R?Symbol.for("react.concurrent_mode"): 166 | 60111,Wc=R?Symbol.for("react.forward_ref"):60112,Vc=R?Symbol.for("react.suspense"):60113,Xc=R?Symbol.for("react.memo"):60115,Ce=R?Symbol.for("react.lazy"):60116,ze="function"===typeof Symbol&&Symbol.iterator,Vg=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, 167 | De=Object.prototype.hasOwnProperty,Fe={},Ee={},x={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){x[a]=new N(a,0,!1,a,null)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];x[b]=new N(b,1,!1,a[1],null)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){x[a]=new N(a,2,!1, 168 | a.toLowerCase(),null)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){x[a]=new N(a,2,!1,a,null)});"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){x[a]=new N(a,3,!1,a.toLowerCase(),null)});["checked","multiple","muted","selected"].forEach(function(a){x[a]=new N(a,3,!0,a,null)});["capture", 169 | "download"].forEach(function(a){x[a]=new N(a,4,!1,a,null)});["cols","rows","size","span"].forEach(function(a){x[a]=new N(a,6,!1,a,null)});["rowSpan","start"].forEach(function(a){x[a]=new N(a,5,!1,a.toLowerCase(),null)});var Xd=/[\-:]([a-z])/g,Yd=function(a){return a[1].toUpperCase()};"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b= 170 | a.replace(Xd,Yd);x[b]=new N(b,1,!1,a,null)});"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(Xd,Yd);x[b]=new N(b,1,!1,a,"http://www.w3.org/1999/xlink")});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(Xd,Yd);x[b]=new N(b,1,!1,a,"http://www.w3.org/XML/1998/namespace")});x.tabIndex=new N("tabIndex",1,!1,"tabindex",null);var Ke={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"}, 171 | dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}},hb=null,ib=null,Zd=!1;ka&&(Zd=we("input")&&(!document.documentMode||9 =document.documentMode,bf={select:{phasedRegistrationNames:{bubbled:"onSelect", 187 | captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},Na=null,hd=null,lb=null,gd=!1,$h={eventTypes:bf,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Ve(e);f=Hc.onSelect;for(var g=0;g "+b+"";for(b=Dc.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}}), 190 | ob=function(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b},mb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0, 191 | lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ai=["Webkit","ms","Moz","O"];Object.keys(mb).forEach(function(a){ai.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);mb[b]=mb[a]})});var kh=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0, 192 | source:!0,track:!0,wbr:!0}),Ec=Z.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Scheduler,ag=Ec.unstable_cancelCallback,Nd=Ec.unstable_now,Bh=Ec.unstable_scheduleCallback,Fh=Ec.unstable_shouldYield,Qd=null,Rd=null,Dh="function"===typeof setTimeout?setTimeout:void 0,lg="function"===typeof clearTimeout?clearTimeout:void 0;new Set;var pd=[],Pa=-1,oa={},E={current:oa},O={current:!1},wa=oa,rd=null,sd=null,T=function(a,b,c,d){return new nh(a,b,c,d)},ra=!1,xd={current:null},rb=null,ya=null,sb=null,tb= 193 | {},U={current:tb},vb={current:tb},ub={current:tb},lc=Wd.ReactCurrentOwner,Df=(new Z.Component).refs,mc={isMounted:function(a){return(a=a._reactInternalFiber)?2===kb(a):!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=sa();d=Ab(d,a);var e=qa(d);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);zb();da(a,e);Da(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=sa();d=Ab(d,a);var e=qa(d);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);zb();da(a,e);Da(a,d)}, 194 | enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=sa();c=Ab(c,a);var d=qa(c);d.tag=2;void 0!==b&&null!==b&&(d.callback=b);zb();da(a,d);Da(a,c)}},pc=Array.isArray,Va=Ef(!0),Ed=Ef(!1),ea=null,Ua=null,Aa=!1,qh=Wd.ReactCurrentOwner,dg=void 0,Kd=void 0,cg=void 0,eg=void 0;dg=function(a,b,c,d){for(c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return|| 195 | c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Kd=function(a){};cg=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;za(U.current);a=null;switch(c){case "input":f=$c(g,f);d=$c(g,d);a=[];break;case "option":f=id(g,f);d=id(g,d);a=[];break;case "select":f=F({},f,{value:void 0});d=F({},d,{value:void 0});a=[];break;case "textarea":f=jd(g,f);d=jd(g,d);a=[];break;default:"function"!==typeof f.onClick&&"function"===typeof d.onClick&&(g.onclick=cc)}ld(c,d);g=c=void 0; 196 | var h=null;for(c in f)if(!d.hasOwnProperty(c)&&f.hasOwnProperty(c)&&null!=f[c])if("style"===c){var k=f[c];for(g in k)k.hasOwnProperty(g)&&(h||(h={}),h[g]="")}else"dangerouslySetInnerHTML"!==c&&"children"!==c&&"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(Fa.hasOwnProperty(c)?a||(a=[]):(a=a||[]).push(c,null));for(c in d){var l=d[c];k=null!=f?f[c]:void 0;if(d.hasOwnProperty(c)&&l!==k&&(null!=l||null!=k))if("style"===c)if(k){for(g in k)!k.hasOwnProperty(g)|| 197 | l&&l.hasOwnProperty(g)||(h||(h={}),h[g]="");for(g in l)l.hasOwnProperty(g)&&k[g]!==l[g]&&(h||(h={}),h[g]=l[g])}else h||(a||(a=[]),a.push(c,h)),h=l;else"dangerouslySetInnerHTML"===c?(l=l?l.__html:void 0,k=k?k.__html:void 0,null!=l&&k!==l&&(a=a||[]).push(c,""+l)):"children"===c?k===l||"string"!==typeof l&&"number"!==typeof l||(a=a||[]).push(c,""+l):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&(Fa.hasOwnProperty(c)?(null!=l&&ca(e,c),a||k===l||(a=[])):(a=a||[]).push(c,l))}h&& 198 | (a=a||[]).push("style",h);e=a;(b.updateQueue=e)&&yb(b)}};eg=function(a,b,c,d){c!==d&&yb(b)};var th="function"===typeof WeakSet?WeakSet:Set,yh="function"===typeof WeakMap?WeakMap:Map,xh={readContext:yf},qc=Wd.ReactCurrentOwner,Ud=1073741822,Bb=0,ua=!1,u=null,V=null,M=0,Ca=-1,Jd=!1,p=null,sc=!1,wh=null,$f=null,ta=null,X=null,H=null,tc=0,uc=void 0,Q=!1,Y=null,A=0,fa=0,$a=!1,zc=null,I=!1,wc=!1,Xa=!1,Za=null,Od=Nd(),W=1073741822-(Od/10|0),Ya=W,Ah=50,Cb=0,Pd=null,yc=!1;Qc=function(a,b,c){switch(b){case "input":ad(a, 199 | c);b=c.name;if("radio"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll("input[name="+JSON.stringify(""+b)+'][type="radio"]');for(b=0;b =b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};(function(a,b,c){te=a;Ue=b;ue=c})(mg,og,function(){Q||0===fa||(ha(fa,!1),fa=0)});var Cg={createPortal:qg,findDOMNode:function(a){if(null== 204 | a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;void 0===b&&("function"===typeof a.render?m("188"):m("268",Object.keys(a)));a=Pe(b);a=null===a?null:a.stateNode;return a},hydrate:function(a,b,c){return Cc(null,a,b,!0,c)},render:function(a,b,c){return Cc(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){null==a||void 0===a._reactInternalFiber?m("38"):void 0;return Cc(a,b,c,!1,d)},unmountComponentAtNode:function(a){Bc(a)?void 0:m("40");return a._reactRootContainer? 205 | (ng(function(){Cc(null,null,a,!1,function(){a._reactRootContainer=null})}),!0):!1},unstable_createPortal:function(){return qg.apply(void 0,arguments)},unstable_batchedUpdates:mg,unstable_interactiveUpdates:og,flushSync:function(a,b){Q?m("187"):void 0;var c=I;I=!0;try{return ig(a,b)}finally{I=c,ha(1073741823,!1)}},unstable_createRoot:function(a,b){Bc(a)?void 0:m("299","unstable_createRoot");return new cb(a,!0,null!=b&&!0===b.hydrate)},unstable_flushControlled:function(a){var b=I;I=!0;try{ig(a)}finally{(I= 206 | b)||Q||ha(1073741823,!1)}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[ee,va,Lc,Vd.injectEventPluginsByName,Gc,Ha,function(a){Ic(a,Lg)},qe,re,Yb,Kc]}};(function(a){var b=a.findFiberByHostInstance;return mh(F({},a,{overrideProps:null,findHostInstanceByFiber:function(a){a=Pe(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null}}))})({findFiberByHostInstance:Nb,bundleType:0,version:"16.7.0",rendererPackageName:"react-dom"});var Dg= 207 | {default:Cg},Eg=Dg&&Cg||Dg;return Eg.default||Eg}); 208 | -------------------------------------------------------------------------------- /externals/react.production.min.js: -------------------------------------------------------------------------------- 1 | /** @license React v16.7.0 2 | * react.production.min.js 3 | * 4 | * Copyright (c) Facebook, Inc. and its affiliates. 5 | * 6 | * This source code is licensed under the MIT license found in the 7 | * LICENSE file in the root directory of this source tree. 8 | */ 9 | 'use strict';(function(L,q){"object"===typeof exports&&"undefined"!==typeof module?module.exports=q():"function"===typeof define&&define.amd?define(q):L.React=q()})(this,function(){function L(a,b,d,f,p,c,e,h){if(!a){a=void 0;if(void 0===b)a=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var m=[d,f,p,c,e,h],ra=0;a=Error(b.replace(/%s/g,function(){return m[ra++]}));a.name="Invariant Violation"}a.framesToPop= 10 | 1;throw a;}}function q(a){for(var b=arguments.length-1,d="https://reactjs.org/docs/error-decoder.html?invariant="+a,f=0;f=b){d=a;break}a=a.next}while(a!==c);null===d?d= 12 | c:d===c&&(c=m,t());b=d.previous;b.next=d.previous=m;m.next=d;m.previous=b}}function P(){if(-1===l&&null!==c&&1===c.priorityLevel){w=!0;try{do O();while(null!==c&&1===c.priorityLevel)}finally{w=!1,null!==c?t():B=!1}}}function sa(a){w=!0;var b=E;E=a;try{if(a)for(;null!==c;){var d=k();if(c.expirationTime<=d){do O();while(null!==c&&c.expirationTime<=d)}else break}else if(null!==c){do O();while(null!==c&&!F())}}finally{w=!1,E=b,null!==c?t():B=!1,P()}}function da(a,b,d){var f=void 0,p={},c=null,e=null; 13 | if(null!=b)for(f in void 0!==b.ref&&(e=b.ref),void 0!==b.key&&(c=""+b.key),b)ea.call(b,f)&&!fa.hasOwnProperty(f)&&(p[f]=b[f]);var h=arguments.length-2;if(1===h)p.children=d;else if(1 G.length&&G.push(a)}function S(a,b,d,f){var c=typeof a;if("undefined"===c||"boolean"===c)a=null;var e=!1;if(null=== 15 | a)e=!0;else switch(c){case "string":case "number":e=!0;break;case "object":switch(a.$$typeof){case x:case va:e=!0}}if(e)return d(f,a,""===b?"."+T(a,0):b),1;e=0;b=""===b?".":b+":";if(Array.isArray(a))for(var g=0;g a;a++)b["_"+String.fromCharCode(a)]=a;if("0123456789"!==Object.getOwnPropertyNames(b).map(function(a){return b[a]}).join(""))return!1; 19 | var d={};"abcdefghijklmnopqrst".split("").forEach(function(a){d[a]=a});return"abcdefghijklmnopqrst"!==Object.keys(Object.assign({},d)).join("")?!1:!0}catch(f){return!1}}()?Object.assign:function(a,b){if(null===a||void 0===a)throw new TypeError("Object.assign cannot be called with null or undefined");var d=Object(a);for(var c,e=1;e =J-d)if(-1!==b&&b<=d)c=!0;else{z||(z=!0,X(Z));v=a;y=b;return}if(null!==a){Y=!0;try{a(c)}finally{Y=!1}}};var Z=function(a){if(null!==v){X(Z);var b=a-J+A;bb&&(b=8),A=b b?qa.postMessage(void 0):z||(z=!0,X(Z))};N=function(){v=null;I=!1;y=-1}}var Na=0,Q={current:null,currentDispatcher:null};e={ReactCurrentOwner:Q,assign:H};H(e,{Scheduler:{unstable_cancelCallback:function(a){var b= 25 | a.next;if(null!==b){if(b===a)c=null;else{a===c&&(c=b);var d=a.previous;d.next=b;b.previous=d}a.next=a.previous=null}},unstable_shouldYield:function(){return!E&&(null!==c&&c.expirationTime b){d=f;break}f=f.next}while(f!==c);null===d?d=c:d===c&&(c=a,t());b=d.previous;b.next=d.previous=a;a.next=d;a.previous=b}return a},unstable_runWithPriority:function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var d=g,c=l;g=a;l=k();try{return b()}finally{g=d,l=c,P()}},unstable_wrapCallback:function(a){var b=g;return function(){var d=g,c=l;g=b;l=k();try{return a.apply(this, 27 | arguments)}finally{g=d,l=c,P()}}},unstable_getFirstCallbackNode:function(){return c},unstable_pauseExecution:function(){},unstable_continueExecution:function(){null!==c&&t()},unstable_getCurrentPriorityLevel:function(){return g}},SchedulerTracing:{__interactionsRef:null,__subscriberRef:null,unstable_clear:function(a){return a()},unstable_getCurrent:function(){return null},unstable_getThreadID:function(){return++Na},unstable_subscribe:function(a){},unstable_trace:function(a,b,d){return d()},unstable_unsubscribe:function(a){}, 28 | unstable_wrap:function(a){return a}}});var ea=Object.prototype.hasOwnProperty,fa={key:!0,ref:!0,__self:!0,__source:!0},ka=/\/+/g,G=[];n={Children:{map:function(a,b,d){if(null==a)return a;var c=[];V(a,c,null,b,d);return c},forEach:function(a,b,d){if(null==a)return a;b=ha(null,null,b,d);U(a,wa,b);ia(b)},count:function(a){return U(a,function(){return null},null)},toArray:function(a){var b=[];V(a,b,null,function(a){return a});return b},only:function(a){R(a)?void 0:q("143");return a}},createRef:function(){return{current:null}}, 29 | Component:r,PureComponent:M,createContext:function(a,b){void 0===b&&(b=null);a={$$typeof:Aa,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:za,_context:a};return a.Consumer=a},forwardRef:function(a){return{$$typeof:Ca,render:a}},lazy:function(a){return{$$typeof:Fa,_ctor:a,_status:-1,_result:null}},memo:function(a,b){return{$$typeof:Ea,type:a,compare:void 0===b?null:b}},Fragment:n,StrictMode:W,Suspense:Da,createElement:da,cloneElement:function(a, 30 | b,d){null===a||void 0===a?q("267",a):void 0;var c=void 0,e=H({},a.props),g=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=Q.current);void 0!==b.key&&(g=""+b.key);var l=void 0;a.type&&a.type.defaultProps&&(l=a.type.defaultProps);for(c in b)ea.call(b,c)&&!fa.hasOwnProperty(c)&&(e[c]=void 0===b[c]&&void 0!==l?l[c]:b[c])}c=arguments.length-2;if(1===c)e.children=d;else if(1 { 10 | if (!devtoolsPanel) { 11 | devtoolsPanel = createReduxDevtoolsPanel(context) 12 | 13 | devtoolsPanel.onDidDispose( 14 | () => { devtoolsPanel = null }, 15 | null, 16 | context.subscriptions 17 | ) 18 | } else { 19 | devtoolsPanel.reveal() 20 | } 21 | }) 22 | ) 23 | } 24 | 25 | export function deactivate() {} 26 | -------------------------------------------------------------------------------- /src/webview/reduxDevtools.ts: -------------------------------------------------------------------------------- 1 | import * as vscode from 'vscode' 2 | import * as path from 'path' 3 | 4 | export interface Externals { 5 | react: vscode.Uri 6 | reactDom: vscode.Uri 7 | reduxDevtoolsCore: vscode.Uri 8 | } 9 | 10 | export interface SocketOptions { 11 | hostname: string 12 | port: string 13 | } 14 | 15 | export function createReduxDevtoolsPanel( 16 | context: vscode.ExtensionContext 17 | ): vscode.WebviewPanel { 18 | const settings = vscode.workspace.getConfiguration('reduxdev') 19 | const socketOptions: SocketOptions = { 20 | hostname: settings.hostname || 'localhost', 21 | port: settings.port || 8000 22 | } 23 | 24 | const panel = vscode.window.createWebviewPanel( 25 | 'vscode-redux-devtools', 26 | 'Remote Devtools', 27 | vscode.ViewColumn.Two, 28 | { enableScripts: true } 29 | ) 30 | 31 | const reduxDevtoolsCorePath = vscode.Uri.file( 32 | path.join(context.extensionPath, 'externals', 'redux-devtools-core.min.js') 33 | ) 34 | const reactPath = vscode.Uri.file( 35 | path.join(context.extensionPath, 'externals', 'react.production.min.js') 36 | ) 37 | const reactDomPath = vscode.Uri.file( 38 | path.join(context.extensionPath, 'externals', 'react-dom.production.min.js') 39 | ) 40 | 41 | const pathOpts = { scheme: 'vscode-resource' } 42 | const externalSrc = { 43 | react: reactPath.with(pathOpts), 44 | reactDom: reactDomPath.with(pathOpts), 45 | reduxDevtoolsCore: reduxDevtoolsCorePath.with(pathOpts) 46 | } 47 | 48 | panel.webview.html = getDevtoolContent(externalSrc, socketOptions) 49 | 50 | return panel 51 | } 52 | 53 | export function getDevtoolContent( 54 | externals: Externals, 55 | socketOptions: SocketOptions 56 | ) { 57 | return ` 58 | 59 | 60 | Remote Devtools 61 | 62 | 63 | 75 | 76 | 77 | 78 | 79 | 97 | 98 | 99 | 100 | 118 | ` 119 | } 120 | -------------------------------------------------------------------------------- /test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |Remote Devtools 5 | 6 | 7 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 39 | 40 | -------------------------------------------------------------------------------- /test/extension.test.ts: -------------------------------------------------------------------------------- 1 | // 2 | // Note: This example test is leveraging the Mocha test framework. 3 | // Please refer to their documentation on https://mochajs.org/ for help. 4 | // 5 | 6 | // The module 'assert' provides assertion methods from node 7 | import * as assert from 'assert' 8 | 9 | // You can import and use all API from the 'vscode' module 10 | // as well as import your extension to test it 11 | import * as vscode from 'vscode' 12 | import * as myExtension from '../src/extension' 13 | 14 | // Defines a Mocha test suite to group tests of similar kind together 15 | suite('Extension Tests', () => { 16 | // Defines a Mocha unit test 17 | test('Something 1', () => { 18 | assert.equal(-1, [1, 2, 3].indexOf(5)) 19 | assert.equal(-1, [1, 2, 3].indexOf(0)) 20 | }) 21 | }) 22 | -------------------------------------------------------------------------------- /test/index.ts: -------------------------------------------------------------------------------- 1 | // 2 | // PLEASE DO NOT MODIFY / DELETE UNLESS YOU KNOW WHAT YOU ARE DOING 3 | // 4 | // This file is providing the test runner to use when running extension tests. 5 | // By default the test runner in use is Mocha based. 6 | // 7 | // You can provide your own test runner if you want to override it by exporting 8 | // a function run(testRoot: string, clb: (error:Error) => void) that the extension 9 | // host can call to run the tests. The test runner is expected to use console.log 10 | // to report the results back to the caller. When the tests are finished, return 11 | // a possible error to the callback or null if none. 12 | 13 | var testRunner = require('vscode/lib/testrunner') 14 | 15 | // You can directly control Mocha options by uncommenting the following lines 16 | // See https://github.com/mochajs/mocha/wiki/Using-mocha-programmatically#set-options for more info 17 | testRunner.configure({ 18 | ui: 'tdd', // the TDD UI is being used in extension.test.ts (suite, test, etc.) 19 | useColors: true, // colored output from test results 20 | }) 21 | 22 | module.exports = testRunner 23 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es6", 5 | "outDir": "out", 6 | "lib": ["es6"], 7 | "sourceMap": true, 8 | "rootDir": "." 9 | }, 10 | "exclude": ["node_modules", ".vscode-test"] 11 | } 12 | -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "no-string-throw": true, 4 | "no-unused-expression": true, 5 | "no-duplicate-variable": true, 6 | "curly": true, 7 | "class-name": true, 8 | "semicolon": [ 9 | false, 10 | "always" 11 | ], 12 | "triple-equals": true 13 | }, 14 | "defaultSeverity": "warning" 15 | } 16 | -------------------------------------------------------------------------------- /vsc-extension-quickstart.md: -------------------------------------------------------------------------------- 1 | # Welcome to your first VS Code Extension 2 | 3 | ## What's in the folder 4 | * This folder contains all of the files necessary for your extension 5 | * `package.json` - this is the manifest file in which you declare your extension and command. 6 | The sample plugin registers a command and defines its title and command name. With this information 7 | VS Code can show the command in the command palette. It doesn’t yet need to load the plugin. 8 | * `src/extension.ts` - this is the main file where you will provide the implementation of your command. 9 | The file exports one function, `activate`, which is called the very first time your extension is 10 | activated (in this case by executing the command). Inside the `activate` function we call `registerCommand`. 11 | We pass the function containing the implementation of the command as the second parameter to 12 | `registerCommand`. 13 | 14 | ## Get up and running straight away 15 | * press `F5` to open a new window with your extension loaded 16 | * run your command from the command palette by pressing (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac) and typing `Hello World` 17 | * set breakpoints in your code inside `src/extension.ts` to debug your extension 18 | * find output from your extension in the debug console 19 | 20 | ## Make changes 21 | * you can relaunch the extension from the debug toolbar after changing code in `src/extension.ts` 22 | * you can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes 23 | 24 | ## Explore the API 25 | * you can open the full set of our API when you open the file `node_modules/vscode/vscode.d.ts` 26 | 27 | ## Run tests 28 | * open the debug viewlet (`Ctrl+Shift+D` or `Cmd+Shift+D` on Mac) and from the launch configuration dropdown pick `Launch Tests` 29 | * press `F5` to run the tests in a new window with your extension loaded 30 | * see the output of the test result in the debug console 31 | * make changes to `test/extension.test.ts` or create new test files inside the `test` folder 32 | * by convention, the test runner will only consider files matching the name pattern `**.test.ts` 33 | * you can create folders inside the `test` folder to structure your tests any way you want -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@types/mocha@^2.2.42": 6 | version "2.2.48" 7 | resolved "http://registry.npm.taobao.org/@types/mocha/download/@types/mocha-2.2.48.tgz#3523b126a0b049482e1c3c11877460f76622ffab" 8 | integrity sha1-NSOxJqCwSUguHDwRh3Rg92Yi/6s= 9 | 10 | "@types/node@^10.12.21": 11 | version "10.12.30" 12 | resolved "http://registry.npm.taobao.org/@types/node/download/@types/node-10.12.30.tgz#4c2b4f0015f214f8158a347350481322b3b29b2f" 13 | integrity sha1-TCtPABXyFPgVijRzUEgTIrOymy8= 14 | 15 | ajv@^6.5.5: 16 | version "6.10.0" 17 | resolved "http://registry.npm.taobao.org/ajv/download/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" 18 | integrity sha1-kNDVRDnaWHzX6EO/twRfUL0ivfE= 19 | dependencies: 20 | fast-deep-equal "^2.0.1" 21 | fast-json-stable-stringify "^2.0.0" 22 | json-schema-traverse "^0.4.1" 23 | uri-js "^4.2.2" 24 | 25 | ansi-cyan@^0.1.1: 26 | version "0.1.1" 27 | resolved "http://registry.npm.taobao.org/ansi-cyan/download/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873" 28 | integrity sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM= 29 | dependencies: 30 | ansi-wrap "0.1.0" 31 | 32 | ansi-red@^0.1.1: 33 | version "0.1.1" 34 | resolved "http://registry.npm.taobao.org/ansi-red/download/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" 35 | integrity sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw= 36 | dependencies: 37 | ansi-wrap "0.1.0" 38 | 39 | ansi-regex@^2.0.0: 40 | version "2.1.1" 41 | resolved "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 42 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 43 | 44 | ansi-styles@^2.2.1: 45 | version "2.2.1" 46 | resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 47 | integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= 48 | 49 | ansi-styles@^3.2.1: 50 | version "3.2.1" 51 | resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 52 | integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= 53 | dependencies: 54 | color-convert "^1.9.0" 55 | 56 | ansi-wrap@0.1.0: 57 | version "0.1.0" 58 | resolved "http://registry.npm.taobao.org/ansi-wrap/download/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" 59 | integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= 60 | 61 | append-buffer@^1.0.2: 62 | version "1.0.2" 63 | resolved "http://registry.npm.taobao.org/append-buffer/download/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" 64 | integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= 65 | dependencies: 66 | buffer-equal "^1.0.0" 67 | 68 | argparse@^1.0.7: 69 | version "1.0.10" 70 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 71 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 72 | dependencies: 73 | sprintf-js "~1.0.2" 74 | 75 | arr-diff@^1.0.1: 76 | version "1.1.0" 77 | resolved "http://registry.npm.taobao.org/arr-diff/download/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a" 78 | integrity sha1-aHwydYFjWI/vfeezb6vklesaOZo= 79 | dependencies: 80 | arr-flatten "^1.0.1" 81 | array-slice "^0.2.3" 82 | 83 | arr-flatten@^1.0.1: 84 | version "1.1.0" 85 | resolved "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 86 | integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= 87 | 88 | arr-union@^2.0.1: 89 | version "2.1.0" 90 | resolved "http://registry.npm.taobao.org/arr-union/download/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d" 91 | integrity sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0= 92 | 93 | array-differ@^1.0.0: 94 | version "1.0.0" 95 | resolved "http://registry.npm.taobao.org/array-differ/download/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" 96 | integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= 97 | 98 | array-slice@^0.2.3: 99 | version "0.2.3" 100 | resolved "http://registry.npm.taobao.org/array-slice/download/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" 101 | integrity sha1-3Tz7gO15c6dRF82sabC5nshhhvU= 102 | 103 | array-union@^1.0.1: 104 | version "1.0.2" 105 | resolved "http://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 106 | integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= 107 | dependencies: 108 | array-uniq "^1.0.1" 109 | 110 | array-uniq@^1.0.1: 111 | version "1.0.3" 112 | resolved "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 113 | integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= 114 | 115 | arrify@^1.0.0: 116 | version "1.0.1" 117 | resolved "http://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 118 | integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= 119 | 120 | asn1@~0.2.3: 121 | version "0.2.4" 122 | resolved "http://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" 123 | integrity sha1-jSR136tVO7M+d7VOWeiAu4ziMTY= 124 | dependencies: 125 | safer-buffer "~2.1.0" 126 | 127 | assert-plus@1.0.0, assert-plus@^1.0.0: 128 | version "1.0.0" 129 | resolved "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 130 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= 131 | 132 | asynckit@^0.4.0: 133 | version "0.4.0" 134 | resolved "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 135 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 136 | 137 | aws-sign2@~0.7.0: 138 | version "0.7.0" 139 | resolved "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 140 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 141 | 142 | aws4@^1.8.0: 143 | version "1.8.0" 144 | resolved "http://registry.npm.taobao.org/aws4/download/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" 145 | integrity sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8= 146 | 147 | babel-code-frame@^6.22.0: 148 | version "6.26.0" 149 | resolved "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 150 | integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= 151 | dependencies: 152 | chalk "^1.1.3" 153 | esutils "^2.0.2" 154 | js-tokens "^3.0.2" 155 | 156 | balanced-match@^1.0.0: 157 | version "1.0.0" 158 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 159 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 160 | 161 | bcrypt-pbkdf@^1.0.0: 162 | version "1.0.2" 163 | resolved "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 164 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= 165 | dependencies: 166 | tweetnacl "^0.14.3" 167 | 168 | block-stream@*: 169 | version "0.0.9" 170 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 171 | integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= 172 | dependencies: 173 | inherits "~2.0.0" 174 | 175 | brace-expansion@^1.1.7: 176 | version "1.1.11" 177 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 178 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 179 | dependencies: 180 | balanced-match "^1.0.0" 181 | concat-map "0.0.1" 182 | 183 | browser-stdout@1.3.0: 184 | version "1.3.0" 185 | resolved "http://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" 186 | integrity sha1-81HTKWnTL6XXpVZxVCY9korjvR8= 187 | 188 | buffer-crc32@~0.2.3: 189 | version "0.2.13" 190 | resolved "http://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" 191 | integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= 192 | 193 | buffer-equal@^1.0.0: 194 | version "1.0.0" 195 | resolved "http://registry.npm.taobao.org/buffer-equal/download/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" 196 | integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= 197 | 198 | buffer-from@^1.0.0: 199 | version "1.1.1" 200 | resolved "http://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 201 | integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= 202 | 203 | builtin-modules@^1.1.1: 204 | version "1.1.1" 205 | resolved "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 206 | integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= 207 | 208 | caseless@~0.12.0: 209 | version "0.12.0" 210 | resolved "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 211 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= 212 | 213 | chalk@^1.1.3: 214 | version "1.1.3" 215 | resolved "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 216 | integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= 217 | dependencies: 218 | ansi-styles "^2.2.1" 219 | escape-string-regexp "^1.0.2" 220 | has-ansi "^2.0.0" 221 | strip-ansi "^3.0.0" 222 | supports-color "^2.0.0" 223 | 224 | chalk@^2.3.0: 225 | version "2.4.2" 226 | resolved "http://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 227 | integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= 228 | dependencies: 229 | ansi-styles "^3.2.1" 230 | escape-string-regexp "^1.0.5" 231 | supports-color "^5.3.0" 232 | 233 | clone-buffer@^1.0.0: 234 | version "1.0.0" 235 | resolved "http://registry.npm.taobao.org/clone-buffer/download/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" 236 | integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= 237 | 238 | clone-stats@^0.0.1: 239 | version "0.0.1" 240 | resolved "http://registry.npm.taobao.org/clone-stats/download/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" 241 | integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE= 242 | 243 | clone-stats@^1.0.0: 244 | version "1.0.0" 245 | resolved "http://registry.npm.taobao.org/clone-stats/download/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" 246 | integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= 247 | 248 | clone@^0.2.0: 249 | version "0.2.0" 250 | resolved "http://registry.npm.taobao.org/clone/download/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" 251 | integrity sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8= 252 | 253 | clone@^1.0.0: 254 | version "1.0.4" 255 | resolved "http://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" 256 | integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= 257 | 258 | clone@^2.1.1: 259 | version "2.1.2" 260 | resolved "http://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" 261 | integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= 262 | 263 | cloneable-readable@^1.0.0: 264 | version "1.1.2" 265 | resolved "http://registry.npm.taobao.org/cloneable-readable/download/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" 266 | integrity sha1-1ZHe5Kj4vBXaQ86X3O66E9Q+KmU= 267 | dependencies: 268 | inherits "^2.0.1" 269 | process-nextick-args "^2.0.0" 270 | readable-stream "^2.3.5" 271 | 272 | color-convert@^1.9.0: 273 | version "1.9.3" 274 | resolved "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 275 | integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= 276 | dependencies: 277 | color-name "1.1.3" 278 | 279 | color-name@1.1.3: 280 | version "1.1.3" 281 | resolved "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 282 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 283 | 284 | combined-stream@^1.0.6, combined-stream@~1.0.6: 285 | version "1.0.7" 286 | resolved "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" 287 | integrity sha1-LR0kMXr7ir6V1tLAsHtXgTU52Cg= 288 | dependencies: 289 | delayed-stream "~1.0.0" 290 | 291 | commander@0.6.1: 292 | version "0.6.1" 293 | resolved "http://registry.npm.taobao.org/commander/download/commander-0.6.1.tgz#fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06" 294 | integrity sha1-+mihT2qUXVTbvlDYzbMyDp47GgY= 295 | 296 | commander@2.11.0: 297 | version "2.11.0" 298 | resolved "http://registry.npm.taobao.org/commander/download/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" 299 | integrity sha1-FXFS/R56bI2YpbcVzzdt+SgARWM= 300 | 301 | commander@2.3.0: 302 | version "2.3.0" 303 | resolved "http://registry.npm.taobao.org/commander/download/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873" 304 | integrity sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM= 305 | 306 | commander@^2.12.1: 307 | version "2.19.0" 308 | resolved "http://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" 309 | integrity sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So= 310 | 311 | concat-map@0.0.1: 312 | version "0.0.1" 313 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 314 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 315 | 316 | convert-source-map@^1.5.0: 317 | version "1.6.0" 318 | resolved "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" 319 | integrity sha1-UbU3qMQ+DwTewZk7/83VBOdYrCA= 320 | dependencies: 321 | safe-buffer "~5.1.1" 322 | 323 | core-util-is@1.0.2, core-util-is@~1.0.0: 324 | version "1.0.2" 325 | resolved "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 326 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 327 | 328 | dashdash@^1.12.0: 329 | version "1.14.1" 330 | resolved "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 331 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= 332 | dependencies: 333 | assert-plus "^1.0.0" 334 | 335 | debug@2.2.0: 336 | version "2.2.0" 337 | resolved "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" 338 | integrity sha1-+HBX6ZWxofauaklgZkE3vFbwOdo= 339 | dependencies: 340 | ms "0.7.1" 341 | 342 | debug@3.1.0: 343 | version "3.1.0" 344 | resolved "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 345 | integrity sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE= 346 | dependencies: 347 | ms "2.0.0" 348 | 349 | deep-assign@^1.0.0: 350 | version "1.0.0" 351 | resolved "http://registry.npm.taobao.org/deep-assign/download/deep-assign-1.0.0.tgz#b092743be8427dc621ea0067cdec7e70dd19f37b" 352 | integrity sha1-sJJ0O+hCfcYh6gBnzex+cN0Z83s= 353 | dependencies: 354 | is-obj "^1.0.0" 355 | 356 | define-properties@^1.1.2: 357 | version "1.1.3" 358 | resolved "http://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 359 | integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= 360 | dependencies: 361 | object-keys "^1.0.12" 362 | 363 | delayed-stream@~1.0.0: 364 | version "1.0.0" 365 | resolved "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 366 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 367 | 368 | diff@1.4.0: 369 | version "1.4.0" 370 | resolved "http://registry.npm.taobao.org/diff/download/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" 371 | integrity sha1-fyjS657nsVqX79ic5j3P2qPMur8= 372 | 373 | diff@3.3.1: 374 | version "3.3.1" 375 | resolved "http://registry.npm.taobao.org/diff/download/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" 376 | integrity sha1-qoVnpu7QPFMfyJ0/cRzQ5SWd7HU= 377 | 378 | diff@^3.2.0: 379 | version "3.5.0" 380 | resolved "http://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 381 | integrity sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI= 382 | 383 | duplexer@^0.1.1, duplexer@~0.1.1: 384 | version "0.1.1" 385 | resolved "http://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" 386 | integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= 387 | 388 | duplexify@^3.6.0: 389 | version "3.7.1" 390 | resolved "http://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" 391 | integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= 392 | dependencies: 393 | end-of-stream "^1.0.0" 394 | inherits "^2.0.1" 395 | readable-stream "^2.0.0" 396 | stream-shift "^1.0.0" 397 | 398 | ecc-jsbn@~0.1.1: 399 | version "0.1.2" 400 | resolved "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 401 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= 402 | dependencies: 403 | jsbn "~0.1.0" 404 | safer-buffer "^2.1.0" 405 | 406 | end-of-stream@^1.0.0, end-of-stream@^1.1.0: 407 | version "1.4.1" 408 | resolved "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 409 | integrity sha1-7SljTRm6ukY7bOa4CjchPqtx7EM= 410 | dependencies: 411 | once "^1.4.0" 412 | 413 | escape-string-regexp@1.0.2: 414 | version "1.0.2" 415 | resolved "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" 416 | integrity sha1-Tbwv5nTnGUnK8/smlc5/LcHZqNE= 417 | 418 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 419 | version "1.0.5" 420 | resolved "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 421 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 422 | 423 | esprima@^4.0.0: 424 | version "4.0.1" 425 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 426 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 427 | 428 | esutils@^2.0.2: 429 | version "2.0.2" 430 | resolved "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 431 | integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= 432 | 433 | event-stream@3.3.4: 434 | version "3.3.4" 435 | resolved "http://registry.npm.taobao.org/event-stream/download/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" 436 | integrity sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE= 437 | dependencies: 438 | duplexer "~0.1.1" 439 | from "~0" 440 | map-stream "~0.1.0" 441 | pause-stream "0.0.11" 442 | split "0.3" 443 | stream-combiner "~0.0.4" 444 | through "~2.3.1" 445 | 446 | event-stream@~3.3.4: 447 | version "3.3.5" 448 | resolved "http://registry.npm.taobao.org/event-stream/download/event-stream-3.3.5.tgz#e5dd8989543630d94c6cf4d657120341fa31636b" 449 | integrity sha1-5d2JiVQ2MNlMbPTWVxIDQfoxY2s= 450 | dependencies: 451 | duplexer "^0.1.1" 452 | from "^0.1.7" 453 | map-stream "0.0.7" 454 | pause-stream "^0.0.11" 455 | split "^1.0.1" 456 | stream-combiner "^0.2.2" 457 | through "^2.3.8" 458 | 459 | extend-shallow@^1.1.2: 460 | version "1.1.4" 461 | resolved "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071" 462 | integrity sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE= 463 | dependencies: 464 | kind-of "^1.1.0" 465 | 466 | extend@^3.0.0, extend@~3.0.2: 467 | version "3.0.2" 468 | resolved "http://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 469 | integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= 470 | 471 | extsprintf@1.3.0: 472 | version "1.3.0" 473 | resolved "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 474 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= 475 | 476 | extsprintf@^1.2.0: 477 | version "1.4.0" 478 | resolved "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 479 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= 480 | 481 | fast-deep-equal@^2.0.1: 482 | version "2.0.1" 483 | resolved "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 484 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 485 | 486 | fast-json-stable-stringify@^2.0.0: 487 | version "2.0.0" 488 | resolved "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 489 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 490 | 491 | fd-slicer@~1.1.0: 492 | version "1.1.0" 493 | resolved "http://registry.npm.taobao.org/fd-slicer/download/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" 494 | integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= 495 | dependencies: 496 | pend "~1.2.0" 497 | 498 | flush-write-stream@^1.0.2: 499 | version "1.1.1" 500 | resolved "http://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" 501 | integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= 502 | dependencies: 503 | inherits "^2.0.3" 504 | readable-stream "^2.3.6" 505 | 506 | forever-agent@~0.6.1: 507 | version "0.6.1" 508 | resolved "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 509 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 510 | 511 | form-data@~2.3.2: 512 | version "2.3.3" 513 | resolved "http://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 514 | integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= 515 | dependencies: 516 | asynckit "^0.4.0" 517 | combined-stream "^1.0.6" 518 | mime-types "^2.1.12" 519 | 520 | from@^0.1.7, from@~0: 521 | version "0.1.7" 522 | resolved "http://registry.npm.taobao.org/from/download/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" 523 | integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= 524 | 525 | fs-mkdirp-stream@^1.0.0: 526 | version "1.0.0" 527 | resolved "http://registry.npm.taobao.org/fs-mkdirp-stream/download/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" 528 | integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= 529 | dependencies: 530 | graceful-fs "^4.1.11" 531 | through2 "^2.0.3" 532 | 533 | fs.realpath@^1.0.0: 534 | version "1.0.0" 535 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 536 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 537 | 538 | fstream@^1.0.12: 539 | version "1.0.12" 540 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" 541 | integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== 542 | dependencies: 543 | graceful-fs "^4.1.2" 544 | inherits "~2.0.0" 545 | mkdirp ">=0.5 0" 546 | rimraf "2" 547 | 548 | function-bind@^1.1.1: 549 | version "1.1.1" 550 | resolved "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 551 | integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= 552 | 553 | getpass@^0.1.1: 554 | version "0.1.7" 555 | resolved "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 556 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= 557 | dependencies: 558 | assert-plus "^1.0.0" 559 | 560 | glob-parent@^3.1.0: 561 | version "3.1.0" 562 | resolved "http://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" 563 | integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= 564 | dependencies: 565 | is-glob "^3.1.0" 566 | path-dirname "^1.0.0" 567 | 568 | glob-stream@^6.1.0: 569 | version "6.1.0" 570 | resolved "http://registry.npm.taobao.org/glob-stream/download/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" 571 | integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= 572 | dependencies: 573 | extend "^3.0.0" 574 | glob "^7.1.1" 575 | glob-parent "^3.1.0" 576 | is-negated-glob "^1.0.0" 577 | ordered-read-streams "^1.0.0" 578 | pumpify "^1.3.5" 579 | readable-stream "^2.1.5" 580 | remove-trailing-separator "^1.0.1" 581 | to-absolute-glob "^2.0.0" 582 | unique-stream "^2.0.2" 583 | 584 | glob@3.2.11: 585 | version "3.2.11" 586 | resolved "http://registry.npm.taobao.org/glob/download/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" 587 | integrity sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0= 588 | dependencies: 589 | inherits "2" 590 | minimatch "0.3" 591 | 592 | glob@7.1.2: 593 | version "7.1.2" 594 | resolved "http://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 595 | integrity sha1-wZyd+aAocC1nhhI4SmVSQExjbRU= 596 | dependencies: 597 | fs.realpath "^1.0.0" 598 | inflight "^1.0.4" 599 | inherits "2" 600 | minimatch "^3.0.4" 601 | once "^1.3.0" 602 | path-is-absolute "^1.0.0" 603 | 604 | glob@^7.1.1, glob@^7.1.2: 605 | version "7.1.3" 606 | resolved "http://registry.npm.taobao.org/glob/download/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 607 | integrity sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE= 608 | dependencies: 609 | fs.realpath "^1.0.0" 610 | inflight "^1.0.4" 611 | inherits "2" 612 | minimatch "^3.0.4" 613 | once "^1.3.0" 614 | path-is-absolute "^1.0.0" 615 | 616 | glob@^7.1.3: 617 | version "7.1.4" 618 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" 619 | integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== 620 | dependencies: 621 | fs.realpath "^1.0.0" 622 | inflight "^1.0.4" 623 | inherits "2" 624 | minimatch "^3.0.4" 625 | once "^1.3.0" 626 | path-is-absolute "^1.0.0" 627 | 628 | graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: 629 | version "4.1.15" 630 | resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" 631 | integrity sha1-/7cD4QZuig7qpMi4C6klPu77+wA= 632 | 633 | growl@1.10.3: 634 | version "1.10.3" 635 | resolved "http://registry.npm.taobao.org/growl/download/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" 636 | integrity sha1-GSa6kM8+3+KttJJ/WIC8IsZseQ8= 637 | 638 | growl@1.9.2: 639 | version "1.9.2" 640 | resolved "http://registry.npm.taobao.org/growl/download/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" 641 | integrity sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8= 642 | 643 | gulp-chmod@^2.0.0: 644 | version "2.0.0" 645 | resolved "http://registry.npm.taobao.org/gulp-chmod/download/gulp-chmod-2.0.0.tgz#00c390b928a0799b251accf631aa09e01cc6299c" 646 | integrity sha1-AMOQuSigeZslGsz2MaoJ4BzGKZw= 647 | dependencies: 648 | deep-assign "^1.0.0" 649 | stat-mode "^0.2.0" 650 | through2 "^2.0.0" 651 | 652 | gulp-filter@^5.0.1: 653 | version "5.1.0" 654 | resolved "http://registry.npm.taobao.org/gulp-filter/download/gulp-filter-5.1.0.tgz#a05e11affb07cf7dcf41a7de1cb7b63ac3783e73" 655 | integrity sha1-oF4Rr/sHz33PQafeHLe2OsN4PnM= 656 | dependencies: 657 | multimatch "^2.0.0" 658 | plugin-error "^0.1.2" 659 | streamfilter "^1.0.5" 660 | 661 | gulp-gunzip@1.0.0: 662 | version "1.0.0" 663 | resolved "http://registry.npm.taobao.org/gulp-gunzip/download/gulp-gunzip-1.0.0.tgz#15b741145e83a9c6f50886241b57cc5871f151a9" 664 | integrity sha1-FbdBFF6Dqcb1CIYkG1fMWHHxUak= 665 | dependencies: 666 | through2 "~0.6.5" 667 | vinyl "~0.4.6" 668 | 669 | gulp-remote-src-vscode@^0.5.1: 670 | version "0.5.1" 671 | resolved "http://registry.npm.taobao.org/gulp-remote-src-vscode/download/gulp-remote-src-vscode-0.5.1.tgz#a528509457affff3ff30cc73a4a97afe31c41c1d" 672 | integrity sha1-pShQlFev//P/MMxzpKl6/jHEHB0= 673 | dependencies: 674 | event-stream "3.3.4" 675 | node.extend "^1.1.2" 676 | request "^2.79.0" 677 | through2 "^2.0.3" 678 | vinyl "^2.0.1" 679 | 680 | gulp-untar@^0.0.7: 681 | version "0.0.7" 682 | resolved "http://registry.npm.taobao.org/gulp-untar/download/gulp-untar-0.0.7.tgz#92067d79e0fa1e92d60562a100233a44a5aa08b4" 683 | integrity sha1-kgZ9eeD6HpLWBWKhACM6RKWqCLQ= 684 | dependencies: 685 | event-stream "~3.3.4" 686 | streamifier "~0.1.1" 687 | tar "^2.2.1" 688 | through2 "~2.0.3" 689 | vinyl "^1.2.0" 690 | 691 | gulp-vinyl-zip@^2.1.2: 692 | version "2.1.2" 693 | resolved "http://registry.npm.taobao.org/gulp-vinyl-zip/download/gulp-vinyl-zip-2.1.2.tgz#b79cc1a0e2c3b158ffee294590ade1e9caaf5e7b" 694 | integrity sha1-t5zBoOLDsVj/7ilFkK3h6cqvXns= 695 | dependencies: 696 | event-stream "3.3.4" 697 | queue "^4.2.1" 698 | through2 "^2.0.3" 699 | vinyl "^2.0.2" 700 | vinyl-fs "^3.0.3" 701 | yauzl "^2.2.1" 702 | yazl "^2.2.1" 703 | 704 | har-schema@^2.0.0: 705 | version "2.0.0" 706 | resolved "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 707 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 708 | 709 | har-validator@~5.1.0: 710 | version "5.1.3" 711 | resolved "http://registry.npm.taobao.org/har-validator/download/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" 712 | integrity sha1-HvievT5JllV2de7ZiTEQ3DUPoIA= 713 | dependencies: 714 | ajv "^6.5.5" 715 | har-schema "^2.0.0" 716 | 717 | has-ansi@^2.0.0: 718 | version "2.0.0" 719 | resolved "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 720 | integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= 721 | dependencies: 722 | ansi-regex "^2.0.0" 723 | 724 | has-flag@^2.0.0: 725 | version "2.0.0" 726 | resolved "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" 727 | integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= 728 | 729 | has-flag@^3.0.0: 730 | version "3.0.0" 731 | resolved "http://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 732 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 733 | 734 | has-symbols@^1.0.0: 735 | version "1.0.0" 736 | resolved "http://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" 737 | integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= 738 | 739 | has@^1.0.3: 740 | version "1.0.3" 741 | resolved "http://registry.npm.taobao.org/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 742 | integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= 743 | dependencies: 744 | function-bind "^1.1.1" 745 | 746 | he@1.1.1: 747 | version "1.1.1" 748 | resolved "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" 749 | integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= 750 | 751 | http-signature@~1.2.0: 752 | version "1.2.0" 753 | resolved "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 754 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= 755 | dependencies: 756 | assert-plus "^1.0.0" 757 | jsprim "^1.2.2" 758 | sshpk "^1.7.0" 759 | 760 | inflight@^1.0.4: 761 | version "1.0.6" 762 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 763 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 764 | dependencies: 765 | once "^1.3.0" 766 | wrappy "1" 767 | 768 | inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: 769 | version "2.0.3" 770 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 771 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 772 | 773 | is-absolute@^1.0.0: 774 | version "1.0.0" 775 | resolved "http://registry.npm.taobao.org/is-absolute/download/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" 776 | integrity sha1-OV4a6EsR8mrReV5zwXN45IowFXY= 777 | dependencies: 778 | is-relative "^1.0.0" 779 | is-windows "^1.0.1" 780 | 781 | is-buffer@^1.1.5: 782 | version "1.1.6" 783 | resolved "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 784 | integrity sha1-76ouqdqg16suoTqXsritUf776L4= 785 | 786 | is-extglob@^2.1.0: 787 | version "2.1.1" 788 | resolved "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 789 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 790 | 791 | is-glob@^3.1.0: 792 | version "3.1.0" 793 | resolved "http://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 794 | integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= 795 | dependencies: 796 | is-extglob "^2.1.0" 797 | 798 | is-negated-glob@^1.0.0: 799 | version "1.0.0" 800 | resolved "http://registry.npm.taobao.org/is-negated-glob/download/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" 801 | integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= 802 | 803 | is-obj@^1.0.0: 804 | version "1.0.1" 805 | resolved "http://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 806 | integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= 807 | 808 | is-relative@^1.0.0: 809 | version "1.0.0" 810 | resolved "http://registry.npm.taobao.org/is-relative/download/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" 811 | integrity sha1-obtpNc6MXboei5dUubLcwCDiJg0= 812 | dependencies: 813 | is-unc-path "^1.0.0" 814 | 815 | is-typedarray@~1.0.0: 816 | version "1.0.0" 817 | resolved "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 818 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 819 | 820 | is-unc-path@^1.0.0: 821 | version "1.0.0" 822 | resolved "http://registry.npm.taobao.org/is-unc-path/download/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" 823 | integrity sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0= 824 | dependencies: 825 | unc-path-regex "^0.1.2" 826 | 827 | is-utf8@^0.2.1: 828 | version "0.2.1" 829 | resolved "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 830 | integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= 831 | 832 | is-valid-glob@^1.0.0: 833 | version "1.0.0" 834 | resolved "http://registry.npm.taobao.org/is-valid-glob/download/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" 835 | integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= 836 | 837 | is-windows@^1.0.1: 838 | version "1.0.2" 839 | resolved "http://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 840 | integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= 841 | 842 | is@^3.2.1: 843 | version "3.3.0" 844 | resolved "http://registry.npm.taobao.org/is/download/is-3.3.0.tgz#61cff6dd3c4193db94a3d62582072b44e5645d79" 845 | integrity sha1-Yc/23TxBk9uUo9YlggcrROVkXXk= 846 | 847 | isarray@0.0.1: 848 | version "0.0.1" 849 | resolved "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 850 | integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= 851 | 852 | isarray@~1.0.0: 853 | version "1.0.0" 854 | resolved "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 855 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 856 | 857 | isstream@~0.1.2: 858 | version "0.1.2" 859 | resolved "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 860 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= 861 | 862 | jade@0.26.3: 863 | version "0.26.3" 864 | resolved "http://registry.npm.taobao.org/jade/download/jade-0.26.3.tgz#8f10d7977d8d79f2f6ff862a81b0513ccb25686c" 865 | integrity sha1-jxDXl32NefL2/4YqgbBRPMslaGw= 866 | dependencies: 867 | commander "0.6.1" 868 | mkdirp "0.3.0" 869 | 870 | js-tokens@^3.0.2: 871 | version "3.0.2" 872 | resolved "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 873 | integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= 874 | 875 | js-yaml@^3.7.0: 876 | version "3.13.1" 877 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 878 | integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== 879 | dependencies: 880 | argparse "^1.0.7" 881 | esprima "^4.0.0" 882 | 883 | jsbn@~0.1.0: 884 | version "0.1.1" 885 | resolved "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 886 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= 887 | 888 | json-schema-traverse@^0.4.1: 889 | version "0.4.1" 890 | resolved "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 891 | integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= 892 | 893 | json-schema@0.2.3: 894 | version "0.2.3" 895 | resolved "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 896 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= 897 | 898 | json-stable-stringify-without-jsonify@^1.0.1: 899 | version "1.0.1" 900 | resolved "http://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 901 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 902 | 903 | json-stringify-safe@~5.0.1: 904 | version "5.0.1" 905 | resolved "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 906 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 907 | 908 | jsprim@^1.2.2: 909 | version "1.4.1" 910 | resolved "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 911 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= 912 | dependencies: 913 | assert-plus "1.0.0" 914 | extsprintf "1.3.0" 915 | json-schema "0.2.3" 916 | verror "1.10.0" 917 | 918 | kind-of@^1.1.0: 919 | version "1.1.0" 920 | resolved "http://registry.npm.taobao.org/kind-of/download/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44" 921 | integrity sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ= 922 | 923 | lazystream@^1.0.0: 924 | version "1.0.0" 925 | resolved "http://registry.npm.taobao.org/lazystream/download/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" 926 | integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= 927 | dependencies: 928 | readable-stream "^2.0.5" 929 | 930 | lead@^1.0.0: 931 | version "1.0.0" 932 | resolved "http://registry.npm.taobao.org/lead/download/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" 933 | integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= 934 | dependencies: 935 | flush-write-stream "^1.0.2" 936 | 937 | lru-cache@2: 938 | version "2.7.3" 939 | resolved "http://registry.npm.taobao.org/lru-cache/download/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" 940 | integrity sha1-bUUk6LlV+V1PW1iFHOId1y+06VI= 941 | 942 | map-stream@0.0.7: 943 | version "0.0.7" 944 | resolved "http://registry.npm.taobao.org/map-stream/download/map-stream-0.0.7.tgz#8a1f07896d82b10926bd3744a2420009f88974a8" 945 | integrity sha1-ih8HiW2CsQkmvTdEokIACfiJdKg= 946 | 947 | map-stream@~0.1.0: 948 | version "0.1.0" 949 | resolved "http://registry.npm.taobao.org/map-stream/download/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" 950 | integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= 951 | 952 | mime-db@~1.38.0: 953 | version "1.38.0" 954 | resolved "http://registry.npm.taobao.org/mime-db/download/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad" 955 | integrity sha1-GiqrFtqesWe0nG5N8tnGjWPY4q0= 956 | 957 | mime-types@^2.1.12, mime-types@~2.1.19: 958 | version "2.1.22" 959 | resolved "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.22.tgz#fe6b355a190926ab7698c9a0556a11199b2199bd" 960 | integrity sha1-/ms1WhkJJqt2mMmgVWoRGZshmb0= 961 | dependencies: 962 | mime-db "~1.38.0" 963 | 964 | minimatch@0.3: 965 | version "0.3.0" 966 | resolved "http://registry.npm.taobao.org/minimatch/download/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" 967 | integrity sha1-J12O2qxPG7MyZHIInnlJyDlGmd0= 968 | dependencies: 969 | lru-cache "2" 970 | sigmund "~1.0.0" 971 | 972 | minimatch@^3.0.0, minimatch@^3.0.4: 973 | version "3.0.4" 974 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 975 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 976 | dependencies: 977 | brace-expansion "^1.1.7" 978 | 979 | minimist@0.0.8: 980 | version "0.0.8" 981 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 982 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 983 | 984 | mkdirp@0.3.0: 985 | version "0.3.0" 986 | resolved "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" 987 | integrity sha1-G79asbqCevI1dRQ0kEJkVfSB/h4= 988 | 989 | mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.1: 990 | version "0.5.1" 991 | resolved "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 992 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 993 | dependencies: 994 | minimist "0.0.8" 995 | 996 | mocha@^2.3.3: 997 | version "2.5.3" 998 | resolved "http://registry.npm.taobao.org/mocha/download/mocha-2.5.3.tgz#161be5bdeb496771eb9b35745050b622b5aefc58" 999 | integrity sha1-FhvlvetJZ3HrmzV0UFC2IrWu/Fg= 1000 | dependencies: 1001 | commander "2.3.0" 1002 | debug "2.2.0" 1003 | diff "1.4.0" 1004 | escape-string-regexp "1.0.2" 1005 | glob "3.2.11" 1006 | growl "1.9.2" 1007 | jade "0.26.3" 1008 | mkdirp "0.5.1" 1009 | supports-color "1.2.0" 1010 | to-iso-string "0.0.2" 1011 | 1012 | mocha@^4.0.1: 1013 | version "4.1.0" 1014 | resolved "http://registry.npm.taobao.org/mocha/download/mocha-4.1.0.tgz#7d86cfbcf35cb829e2754c32e17355ec05338794" 1015 | integrity sha1-fYbPvPNcuCnidUwy4XNV7AUzh5Q= 1016 | dependencies: 1017 | browser-stdout "1.3.0" 1018 | commander "2.11.0" 1019 | debug "3.1.0" 1020 | diff "3.3.1" 1021 | escape-string-regexp "1.0.5" 1022 | glob "7.1.2" 1023 | growl "1.10.3" 1024 | he "1.1.1" 1025 | mkdirp "0.5.1" 1026 | supports-color "4.4.0" 1027 | 1028 | ms@0.7.1: 1029 | version "0.7.1" 1030 | resolved "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" 1031 | integrity sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg= 1032 | 1033 | ms@2.0.0: 1034 | version "2.0.0" 1035 | resolved "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1036 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1037 | 1038 | multimatch@^2.0.0: 1039 | version "2.1.0" 1040 | resolved "http://registry.npm.taobao.org/multimatch/download/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" 1041 | integrity sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis= 1042 | dependencies: 1043 | array-differ "^1.0.0" 1044 | array-union "^1.0.1" 1045 | arrify "^1.0.0" 1046 | minimatch "^3.0.0" 1047 | 1048 | node.extend@^1.1.2: 1049 | version "1.1.8" 1050 | resolved "http://registry.npm.taobao.org/node.extend/download/node.extend-1.1.8.tgz#0aab3e63789f4e6d68b42bc00073ad1881243cf0" 1051 | integrity sha1-Cqs+Y3ifTm1otCvAAHOtGIEkPPA= 1052 | dependencies: 1053 | has "^1.0.3" 1054 | is "^3.2.1" 1055 | 1056 | normalize-path@^2.1.1: 1057 | version "2.1.1" 1058 | resolved "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 1059 | integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= 1060 | dependencies: 1061 | remove-trailing-separator "^1.0.1" 1062 | 1063 | now-and-later@^2.0.0: 1064 | version "2.0.0" 1065 | resolved "http://registry.npm.taobao.org/now-and-later/download/now-and-later-2.0.0.tgz#bc61cbb456d79cb32207ce47ca05136ff2e7d6ee" 1066 | integrity sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4= 1067 | dependencies: 1068 | once "^1.3.2" 1069 | 1070 | oauth-sign@~0.9.0: 1071 | version "0.9.0" 1072 | resolved "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 1073 | integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= 1074 | 1075 | object-keys@^1.0.11, object-keys@^1.0.12: 1076 | version "1.1.0" 1077 | resolved "http://registry.npm.taobao.org/object-keys/download/object-keys-1.1.0.tgz#11bd22348dd2e096a045ab06f6c85bcc340fa032" 1078 | integrity sha1-Eb0iNI3S4JagRasG9shbzDQPoDI= 1079 | 1080 | object.assign@^4.0.4: 1081 | version "4.1.0" 1082 | resolved "http://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 1083 | integrity sha1-lovxEA15Vrs8oIbwBvhGs7xACNo= 1084 | dependencies: 1085 | define-properties "^1.1.2" 1086 | function-bind "^1.1.1" 1087 | has-symbols "^1.0.0" 1088 | object-keys "^1.0.11" 1089 | 1090 | once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: 1091 | version "1.4.0" 1092 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1093 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1094 | dependencies: 1095 | wrappy "1" 1096 | 1097 | ordered-read-streams@^1.0.0: 1098 | version "1.0.1" 1099 | resolved "http://registry.npm.taobao.org/ordered-read-streams/download/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" 1100 | integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= 1101 | dependencies: 1102 | readable-stream "^2.0.1" 1103 | 1104 | path-dirname@^1.0.0: 1105 | version "1.0.2" 1106 | resolved "http://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" 1107 | integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= 1108 | 1109 | path-is-absolute@^1.0.0: 1110 | version "1.0.1" 1111 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1112 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1113 | 1114 | path-parse@^1.0.6: 1115 | version "1.0.6" 1116 | resolved "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 1117 | integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw= 1118 | 1119 | pause-stream@0.0.11, pause-stream@^0.0.11: 1120 | version "0.0.11" 1121 | resolved "http://registry.npm.taobao.org/pause-stream/download/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" 1122 | integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU= 1123 | dependencies: 1124 | through "~2.3" 1125 | 1126 | pend@~1.2.0: 1127 | version "1.2.0" 1128 | resolved "http://registry.npm.taobao.org/pend/download/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" 1129 | integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= 1130 | 1131 | performance-now@^2.1.0: 1132 | version "2.1.0" 1133 | resolved "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 1134 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= 1135 | 1136 | plugin-error@^0.1.2: 1137 | version "0.1.2" 1138 | resolved "http://registry.npm.taobao.org/plugin-error/download/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace" 1139 | integrity sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4= 1140 | dependencies: 1141 | ansi-cyan "^0.1.1" 1142 | ansi-red "^0.1.1" 1143 | arr-diff "^1.0.1" 1144 | arr-union "^2.0.1" 1145 | extend-shallow "^1.1.2" 1146 | 1147 | process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: 1148 | version "2.0.0" 1149 | resolved "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 1150 | integrity sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o= 1151 | 1152 | psl@^1.1.24: 1153 | version "1.1.31" 1154 | resolved "http://registry.npm.taobao.org/psl/download/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" 1155 | integrity sha1-6aqG0BAbWxBcvpOsa3hM1UcnYYQ= 1156 | 1157 | pump@^2.0.0: 1158 | version "2.0.1" 1159 | resolved "http://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" 1160 | integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= 1161 | dependencies: 1162 | end-of-stream "^1.1.0" 1163 | once "^1.3.1" 1164 | 1165 | pumpify@^1.3.5: 1166 | version "1.5.1" 1167 | resolved "http://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" 1168 | integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= 1169 | dependencies: 1170 | duplexify "^3.6.0" 1171 | inherits "^2.0.3" 1172 | pump "^2.0.0" 1173 | 1174 | punycode@^1.4.1: 1175 | version "1.4.1" 1176 | resolved "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1177 | integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= 1178 | 1179 | punycode@^2.1.0: 1180 | version "2.1.1" 1181 | resolved "http://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1182 | integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= 1183 | 1184 | qs@~6.5.2: 1185 | version "6.5.2" 1186 | resolved "http://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 1187 | integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY= 1188 | 1189 | querystringify@^2.0.0: 1190 | version "2.1.0" 1191 | resolved "http://registry.npm.taobao.org/querystringify/download/querystringify-2.1.0.tgz#7ded8dfbf7879dcc60d0a644ac6754b283ad17ef" 1192 | integrity sha1-fe2N+/eHncxg0KZErGdUsoOtF+8= 1193 | 1194 | queue@^4.2.1: 1195 | version "4.5.1" 1196 | resolved "http://registry.npm.taobao.org/queue/download/queue-4.5.1.tgz#6e4290a2d7e99dc75b34494431633fe5437b0dac" 1197 | integrity sha1-bkKQotfpncdbNElEMWM/5UN7Daw= 1198 | dependencies: 1199 | inherits "~2.0.0" 1200 | 1201 | "readable-stream@>=1.0.33-1 <1.1.0-0": 1202 | version "1.0.34" 1203 | resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" 1204 | integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= 1205 | dependencies: 1206 | core-util-is "~1.0.0" 1207 | inherits "~2.0.1" 1208 | isarray "0.0.1" 1209 | string_decoder "~0.10.x" 1210 | 1211 | readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: 1212 | version "2.3.6" 1213 | resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 1214 | integrity sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8= 1215 | dependencies: 1216 | core-util-is "~1.0.0" 1217 | inherits "~2.0.3" 1218 | isarray "~1.0.0" 1219 | process-nextick-args "~2.0.0" 1220 | safe-buffer "~5.1.1" 1221 | string_decoder "~1.1.1" 1222 | util-deprecate "~1.0.1" 1223 | 1224 | remove-bom-buffer@^3.0.0: 1225 | version "3.0.0" 1226 | resolved "http://registry.npm.taobao.org/remove-bom-buffer/download/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" 1227 | integrity sha1-wr8eN3Ug0yT2I4kuM8EMrCwlK1M= 1228 | dependencies: 1229 | is-buffer "^1.1.5" 1230 | is-utf8 "^0.2.1" 1231 | 1232 | remove-bom-stream@^1.2.0: 1233 | version "1.2.0" 1234 | resolved "http://registry.npm.taobao.org/remove-bom-stream/download/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" 1235 | integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= 1236 | dependencies: 1237 | remove-bom-buffer "^3.0.0" 1238 | safe-buffer "^5.1.0" 1239 | through2 "^2.0.3" 1240 | 1241 | remove-trailing-separator@^1.0.1: 1242 | version "1.1.0" 1243 | resolved "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 1244 | integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= 1245 | 1246 | replace-ext@0.0.1: 1247 | version "0.0.1" 1248 | resolved "http://registry.npm.taobao.org/replace-ext/download/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" 1249 | integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ= 1250 | 1251 | replace-ext@^1.0.0: 1252 | version "1.0.0" 1253 | resolved "http://registry.npm.taobao.org/replace-ext/download/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" 1254 | integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= 1255 | 1256 | request@^2.79.0, request@^2.88.0: 1257 | version "2.88.0" 1258 | resolved "http://registry.npm.taobao.org/request/download/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" 1259 | integrity sha1-nC/KT301tZLv5Xx/ClXoEFIST+8= 1260 | dependencies: 1261 | aws-sign2 "~0.7.0" 1262 | aws4 "^1.8.0" 1263 | caseless "~0.12.0" 1264 | combined-stream "~1.0.6" 1265 | extend "~3.0.2" 1266 | forever-agent "~0.6.1" 1267 | form-data "~2.3.2" 1268 | har-validator "~5.1.0" 1269 | http-signature "~1.2.0" 1270 | is-typedarray "~1.0.0" 1271 | isstream "~0.1.2" 1272 | json-stringify-safe "~5.0.1" 1273 | mime-types "~2.1.19" 1274 | oauth-sign "~0.9.0" 1275 | performance-now "^2.1.0" 1276 | qs "~6.5.2" 1277 | safe-buffer "^5.1.2" 1278 | tough-cookie "~2.4.3" 1279 | tunnel-agent "^0.6.0" 1280 | uuid "^3.3.2" 1281 | 1282 | requires-port@^1.0.0: 1283 | version "1.0.0" 1284 | resolved "http://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" 1285 | integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= 1286 | 1287 | resolve-options@^1.1.0: 1288 | version "1.1.0" 1289 | resolved "http://registry.npm.taobao.org/resolve-options/download/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" 1290 | integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= 1291 | dependencies: 1292 | value-or-function "^3.0.0" 1293 | 1294 | resolve@^1.3.2: 1295 | version "1.10.0" 1296 | resolved "http://registry.npm.taobao.org/resolve/download/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" 1297 | integrity sha1-O9qur0XMB/N1ZW39LlTtCBCxAbo= 1298 | dependencies: 1299 | path-parse "^1.0.6" 1300 | 1301 | rimraf@2: 1302 | version "2.6.3" 1303 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 1304 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 1305 | dependencies: 1306 | glob "^7.1.3" 1307 | 1308 | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1309 | version "5.1.2" 1310 | resolved "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1311 | integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= 1312 | 1313 | safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 1314 | version "2.1.2" 1315 | resolved "http://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1316 | integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= 1317 | 1318 | semver@^5.3.0, semver@^5.4.1: 1319 | version "5.6.0" 1320 | resolved "http://registry.npm.taobao.org/semver/download/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" 1321 | integrity sha1-fnQlb7qknHWqfHogXMInmcrIAAQ= 1322 | 1323 | sigmund@~1.0.0: 1324 | version "1.0.1" 1325 | resolved "http://registry.npm.taobao.org/sigmund/download/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" 1326 | integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= 1327 | 1328 | source-map-support@^0.5.0: 1329 | version "0.5.10" 1330 | resolved "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" 1331 | integrity sha1-IhQIC8nVGDJRHuK6uW48L5NTEgw= 1332 | dependencies: 1333 | buffer-from "^1.0.0" 1334 | source-map "^0.6.0" 1335 | 1336 | source-map@^0.6.0: 1337 | version "0.6.1" 1338 | resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1339 | integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= 1340 | 1341 | split@0.3: 1342 | version "0.3.3" 1343 | resolved "http://registry.npm.taobao.org/split/download/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" 1344 | integrity sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8= 1345 | dependencies: 1346 | through "2" 1347 | 1348 | split@^1.0.1: 1349 | version "1.0.1" 1350 | resolved "http://registry.npm.taobao.org/split/download/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" 1351 | integrity sha1-YFvZvjA6pZ+zX5Ip++oN3snqB9k= 1352 | dependencies: 1353 | through "2" 1354 | 1355 | sprintf-js@~1.0.2: 1356 | version "1.0.3" 1357 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1358 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1359 | 1360 | sshpk@^1.7.0: 1361 | version "1.16.1" 1362 | resolved "http://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" 1363 | integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc= 1364 | dependencies: 1365 | asn1 "~0.2.3" 1366 | assert-plus "^1.0.0" 1367 | bcrypt-pbkdf "^1.0.0" 1368 | dashdash "^1.12.0" 1369 | ecc-jsbn "~0.1.1" 1370 | getpass "^0.1.1" 1371 | jsbn "~0.1.0" 1372 | safer-buffer "^2.0.2" 1373 | tweetnacl "~0.14.0" 1374 | 1375 | stat-mode@^0.2.0: 1376 | version "0.2.2" 1377 | resolved "http://registry.npm.taobao.org/stat-mode/download/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502" 1378 | integrity sha1-5sgLYjEj19gM8TLOU480YokHJQI= 1379 | 1380 | stream-combiner@^0.2.2: 1381 | version "0.2.2" 1382 | resolved "http://registry.npm.taobao.org/stream-combiner/download/stream-combiner-0.2.2.tgz#aec8cbac177b56b6f4fa479ced8c1912cee52858" 1383 | integrity sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg= 1384 | dependencies: 1385 | duplexer "~0.1.1" 1386 | through "~2.3.4" 1387 | 1388 | stream-combiner@~0.0.4: 1389 | version "0.0.4" 1390 | resolved "http://registry.npm.taobao.org/stream-combiner/download/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" 1391 | integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ= 1392 | dependencies: 1393 | duplexer "~0.1.1" 1394 | 1395 | stream-shift@^1.0.0: 1396 | version "1.0.0" 1397 | resolved "http://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" 1398 | integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= 1399 | 1400 | streamfilter@^1.0.5: 1401 | version "1.0.7" 1402 | resolved "http://registry.npm.taobao.org/streamfilter/download/streamfilter-1.0.7.tgz#ae3e64522aa5a35c061fd17f67620c7653c643c9" 1403 | integrity sha1-rj5kUiqlo1wGH9F/Z2IMdlPGQ8k= 1404 | dependencies: 1405 | readable-stream "^2.0.2" 1406 | 1407 | streamifier@~0.1.1: 1408 | version "0.1.1" 1409 | resolved "http://registry.npm.taobao.org/streamifier/download/streamifier-0.1.1.tgz#97e98d8fa4d105d62a2691d1dc07e820db8dfc4f" 1410 | integrity sha1-l+mNj6TRBdYqJpHR3AfoINuN/E8= 1411 | 1412 | string_decoder@~0.10.x: 1413 | version "0.10.31" 1414 | resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 1415 | integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= 1416 | 1417 | string_decoder@~1.1.1: 1418 | version "1.1.1" 1419 | resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1420 | integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= 1421 | dependencies: 1422 | safe-buffer "~5.1.0" 1423 | 1424 | strip-ansi@^3.0.0: 1425 | version "3.0.1" 1426 | resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1427 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 1428 | dependencies: 1429 | ansi-regex "^2.0.0" 1430 | 1431 | supports-color@1.2.0: 1432 | version "1.2.0" 1433 | resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e" 1434 | integrity sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4= 1435 | 1436 | supports-color@4.4.0: 1437 | version "4.4.0" 1438 | resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" 1439 | integrity sha1-iD992rwWUUKyphQn8zUt7RldGj4= 1440 | dependencies: 1441 | has-flag "^2.0.0" 1442 | 1443 | supports-color@^2.0.0: 1444 | version "2.0.0" 1445 | resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 1446 | integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= 1447 | 1448 | supports-color@^5.3.0: 1449 | version "5.5.0" 1450 | resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1451 | integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= 1452 | dependencies: 1453 | has-flag "^3.0.0" 1454 | 1455 | tar@^2.2.1: 1456 | version "2.2.2" 1457 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" 1458 | integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== 1459 | dependencies: 1460 | block-stream "*" 1461 | fstream "^1.0.12" 1462 | inherits "2" 1463 | 1464 | through2-filter@^3.0.0: 1465 | version "3.0.0" 1466 | resolved "http://registry.npm.taobao.org/through2-filter/download/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" 1467 | integrity sha1-cA54bfI2fCyIzYqlvkz5weeDElQ= 1468 | dependencies: 1469 | through2 "~2.0.0" 1470 | xtend "~4.0.0" 1471 | 1472 | through2@^2.0.0, through2@^2.0.3, through2@~2.0.0, through2@~2.0.3: 1473 | version "2.0.5" 1474 | resolved "http://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" 1475 | integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= 1476 | dependencies: 1477 | readable-stream "~2.3.6" 1478 | xtend "~4.0.1" 1479 | 1480 | through2@~0.6.5: 1481 | version "0.6.5" 1482 | resolved "http://registry.npm.taobao.org/through2/download/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" 1483 | integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg= 1484 | dependencies: 1485 | readable-stream ">=1.0.33-1 <1.1.0-0" 1486 | xtend ">=4.0.0 <4.1.0-0" 1487 | 1488 | through@2, through@^2.3.8, through@~2.3, through@~2.3.1, through@~2.3.4: 1489 | version "2.3.8" 1490 | resolved "http://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1491 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 1492 | 1493 | to-absolute-glob@^2.0.0: 1494 | version "2.0.2" 1495 | resolved "http://registry.npm.taobao.org/to-absolute-glob/download/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" 1496 | integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= 1497 | dependencies: 1498 | is-absolute "^1.0.0" 1499 | is-negated-glob "^1.0.0" 1500 | 1501 | to-iso-string@0.0.2: 1502 | version "0.0.2" 1503 | resolved "http://registry.npm.taobao.org/to-iso-string/download/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1" 1504 | integrity sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE= 1505 | 1506 | to-through@^2.0.0: 1507 | version "2.0.0" 1508 | resolved "http://registry.npm.taobao.org/to-through/download/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" 1509 | integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= 1510 | dependencies: 1511 | through2 "^2.0.3" 1512 | 1513 | tough-cookie@~2.4.3: 1514 | version "2.4.3" 1515 | resolved "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" 1516 | integrity sha1-U/Nto/R3g7CSWvoG/587FlKA94E= 1517 | dependencies: 1518 | psl "^1.1.24" 1519 | punycode "^1.4.1" 1520 | 1521 | tslib@^1.8.0, tslib@^1.8.1: 1522 | version "1.9.3" 1523 | resolved "http://registry.npm.taobao.org/tslib/download/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" 1524 | integrity sha1-1+TdeSRdhUKMTX5IIqeZF5VMooY= 1525 | 1526 | tslint@^5.12.1: 1527 | version "5.13.1" 1528 | resolved "http://registry.npm.taobao.org/tslint/download/tslint-5.13.1.tgz#fbc0541c425647a33cd9108ce4fd4cd18d7904ed" 1529 | integrity sha1-+8BUHEJWR6M82RCM5P1M0Y15BO0= 1530 | dependencies: 1531 | babel-code-frame "^6.22.0" 1532 | builtin-modules "^1.1.1" 1533 | chalk "^2.3.0" 1534 | commander "^2.12.1" 1535 | diff "^3.2.0" 1536 | glob "^7.1.1" 1537 | js-yaml "^3.7.0" 1538 | minimatch "^3.0.4" 1539 | mkdirp "^0.5.1" 1540 | resolve "^1.3.2" 1541 | semver "^5.3.0" 1542 | tslib "^1.8.0" 1543 | tsutils "^2.27.2" 1544 | 1545 | tsutils@^2.27.2: 1546 | version "2.29.0" 1547 | resolved "http://registry.npm.taobao.org/tsutils/download/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" 1548 | integrity sha1-MrSIUBRnrL7dS4VJhnOggSrKC5k= 1549 | dependencies: 1550 | tslib "^1.8.1" 1551 | 1552 | tunnel-agent@^0.6.0: 1553 | version "0.6.0" 1554 | resolved "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 1555 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 1556 | dependencies: 1557 | safe-buffer "^5.0.1" 1558 | 1559 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 1560 | version "0.14.5" 1561 | resolved "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 1562 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= 1563 | 1564 | typescript@^3.3.1: 1565 | version "3.3.3333" 1566 | resolved "http://registry.npm.taobao.org/typescript/download/typescript-3.3.3333.tgz#171b2c5af66c59e9431199117a3bcadc66fdcfd6" 1567 | integrity sha1-FxssWvZsWelDEZkRejvK3Gb9z9Y= 1568 | 1569 | unc-path-regex@^0.1.2: 1570 | version "0.1.2" 1571 | resolved "http://registry.npm.taobao.org/unc-path-regex/download/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" 1572 | integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= 1573 | 1574 | unique-stream@^2.0.2: 1575 | version "2.3.1" 1576 | resolved "http://registry.npm.taobao.org/unique-stream/download/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" 1577 | integrity sha1-xl0RDppK35psWUiygFPZqNBMvqw= 1578 | dependencies: 1579 | json-stable-stringify-without-jsonify "^1.0.1" 1580 | through2-filter "^3.0.0" 1581 | 1582 | uri-js@^4.2.2: 1583 | version "4.2.2" 1584 | resolved "http://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 1585 | integrity sha1-lMVA4f93KVbiKZUHwBCupsiDjrA= 1586 | dependencies: 1587 | punycode "^2.1.0" 1588 | 1589 | url-parse@^1.4.3: 1590 | version "1.4.4" 1591 | resolved "http://registry.npm.taobao.org/url-parse/download/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8" 1592 | integrity sha1-ysFVbpX6oDA2kf7Fz51aG8NGSPg= 1593 | dependencies: 1594 | querystringify "^2.0.0" 1595 | requires-port "^1.0.0" 1596 | 1597 | util-deprecate@~1.0.1: 1598 | version "1.0.2" 1599 | resolved "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1600 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1601 | 1602 | uuid@^3.3.2: 1603 | version "3.3.2" 1604 | resolved "http://registry.npm.taobao.org/uuid/download/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" 1605 | integrity sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE= 1606 | 1607 | value-or-function@^3.0.0: 1608 | version "3.0.0" 1609 | resolved "http://registry.npm.taobao.org/value-or-function/download/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" 1610 | integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= 1611 | 1612 | verror@1.10.0: 1613 | version "1.10.0" 1614 | resolved "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 1615 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= 1616 | dependencies: 1617 | assert-plus "^1.0.0" 1618 | core-util-is "1.0.2" 1619 | extsprintf "^1.2.0" 1620 | 1621 | vinyl-fs@^3.0.3: 1622 | version "3.0.3" 1623 | resolved "http://registry.npm.taobao.org/vinyl-fs/download/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" 1624 | integrity sha1-yFhJQF9nQo/qu71cXb3WT0fTG8c= 1625 | dependencies: 1626 | fs-mkdirp-stream "^1.0.0" 1627 | glob-stream "^6.1.0" 1628 | graceful-fs "^4.0.0" 1629 | is-valid-glob "^1.0.0" 1630 | lazystream "^1.0.0" 1631 | lead "^1.0.0" 1632 | object.assign "^4.0.4" 1633 | pumpify "^1.3.5" 1634 | readable-stream "^2.3.3" 1635 | remove-bom-buffer "^3.0.0" 1636 | remove-bom-stream "^1.2.0" 1637 | resolve-options "^1.1.0" 1638 | through2 "^2.0.0" 1639 | to-through "^2.0.0" 1640 | value-or-function "^3.0.0" 1641 | vinyl "^2.0.0" 1642 | vinyl-sourcemap "^1.1.0" 1643 | 1644 | vinyl-source-stream@^1.1.0: 1645 | version "1.1.2" 1646 | resolved "http://registry.npm.taobao.org/vinyl-source-stream/download/vinyl-source-stream-1.1.2.tgz#62b53a135610a896e98ca96bee3a87f008a8e780" 1647 | integrity sha1-YrU6E1YQqJbpjKlr7jqH8Aio54A= 1648 | dependencies: 1649 | through2 "^2.0.3" 1650 | vinyl "^0.4.3" 1651 | 1652 | vinyl-sourcemap@^1.1.0: 1653 | version "1.1.0" 1654 | resolved "http://registry.npm.taobao.org/vinyl-sourcemap/download/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" 1655 | integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= 1656 | dependencies: 1657 | append-buffer "^1.0.2" 1658 | convert-source-map "^1.5.0" 1659 | graceful-fs "^4.1.6" 1660 | normalize-path "^2.1.1" 1661 | now-and-later "^2.0.0" 1662 | remove-bom-buffer "^3.0.0" 1663 | vinyl "^2.0.0" 1664 | 1665 | vinyl@^0.4.3, vinyl@~0.4.6: 1666 | version "0.4.6" 1667 | resolved "http://registry.npm.taobao.org/vinyl/download/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" 1668 | integrity sha1-LzVsh6VQolVGHza76ypbqL94SEc= 1669 | dependencies: 1670 | clone "^0.2.0" 1671 | clone-stats "^0.0.1" 1672 | 1673 | vinyl@^1.2.0: 1674 | version "1.2.0" 1675 | resolved "http://registry.npm.taobao.org/vinyl/download/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" 1676 | integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ= 1677 | dependencies: 1678 | clone "^1.0.0" 1679 | clone-stats "^0.0.1" 1680 | replace-ext "0.0.1" 1681 | 1682 | vinyl@^2.0.0, vinyl@^2.0.1, vinyl@^2.0.2: 1683 | version "2.2.0" 1684 | resolved "http://registry.npm.taobao.org/vinyl/download/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" 1685 | integrity sha1-2FsH2pbkWNJbL/4Z/s6fLKoT7YY= 1686 | dependencies: 1687 | clone "^2.1.1" 1688 | clone-buffer "^1.0.0" 1689 | clone-stats "^1.0.0" 1690 | cloneable-readable "^1.0.0" 1691 | remove-trailing-separator "^1.0.1" 1692 | replace-ext "^1.0.0" 1693 | 1694 | vscode@^1.1.28: 1695 | version "1.1.30" 1696 | resolved "http://registry.npm.taobao.org/vscode/download/vscode-1.1.30.tgz#700e54fd52e3d7eb757df6b60b030828c940b3a8" 1697 | integrity sha1-cA5U/VLj1+t1ffa2CwMIKMlAs6g= 1698 | dependencies: 1699 | glob "^7.1.2" 1700 | gulp-chmod "^2.0.0" 1701 | gulp-filter "^5.0.1" 1702 | gulp-gunzip "1.0.0" 1703 | gulp-remote-src-vscode "^0.5.1" 1704 | gulp-untar "^0.0.7" 1705 | gulp-vinyl-zip "^2.1.2" 1706 | mocha "^4.0.1" 1707 | request "^2.88.0" 1708 | semver "^5.4.1" 1709 | source-map-support "^0.5.0" 1710 | url-parse "^1.4.3" 1711 | vinyl-fs "^3.0.3" 1712 | vinyl-source-stream "^1.1.0" 1713 | 1714 | wrappy@1: 1715 | version "1.0.2" 1716 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1717 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1718 | 1719 | "xtend@>=4.0.0 <4.1.0-0", xtend@~4.0.0, xtend@~4.0.1: 1720 | version "4.0.1" 1721 | resolved "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 1722 | integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= 1723 | 1724 | yauzl@^2.2.1: 1725 | version "2.10.0" 1726 | resolved "http://registry.npm.taobao.org/yauzl/download/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" 1727 | integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= 1728 | dependencies: 1729 | buffer-crc32 "~0.2.3" 1730 | fd-slicer "~1.1.0" 1731 | 1732 | yazl@^2.2.1: 1733 | version "2.5.1" 1734 | resolved "http://registry.npm.taobao.org/yazl/download/yazl-2.5.1.tgz#a3d65d3dd659a5b0937850e8609f22fffa2b5c35" 1735 | integrity sha1-o9ZdPdZZpbCTeFDoYJ8i//orXDU= 1736 | dependencies: 1737 | buffer-crc32 "~0.2.3" 1738 | --------------------------------------------------------------------------------