├── .eslintrc.json ├── .gitignore ├── CHANGELOG.md ├── README.md ├── images ├── icon.png ├── old.png └── usage.png ├── jsconfig.json ├── out ├── config.js ├── config.js.map ├── extension.js ├── extension.js.map ├── index.js ├── index.js.map ├── util.js └── util.js.map ├── package-lock.json ├── package.json ├── src ├── config.ts ├── extension.ts ├── index.ts └── util.ts ├── tsconfig.json ├── tslint.json ├── vsc-extension-quickstart.md └── yarn.lock /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": false, 4 | "commonjs": true, 5 | "es6": true, 6 | "node": true 7 | }, 8 | "parserOptions": { 9 | "ecmaFeatures": { 10 | "jsx": true 11 | }, 12 | "sourceType": "module" 13 | }, 14 | "rules": { 15 | "no-const-assign": "warn", 16 | "no-this-before-super": "warn", 17 | "no-undef": "warn", 18 | "no-unreachable": "warn", 19 | "no-unused-vars": "warn", 20 | "constructor-super": "warn", 21 | "valid-typeof": "warn" 22 | } 23 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .vscode/ 3 | open-in-browser* 4 | .vscodeignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | ### [1.2.0] 3 | added context menu option to tab bar 4 | 5 | ### [1.1.1] 6 | add `opera` support 7 | 8 | change icon; beautiful, right? 9 | 10 | change Licence 11 | ### [1.0.0] 12 | add `default browser` configuration option 13 | 14 | add `open in other browsers` 15 | 16 | ### [0.0.3] 17 | add `open file by right click menu item` 18 | 19 | fix some bug 20 | 21 | ### [0.0.2] 22 | add shortcut `Alt + B` 23 | 24 | modify the command on linux... 25 | 26 | ### [0.0.1] 27 | 28 | BASIC SUPPORT... 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Open in Browser 4 | 5 | ## What's new? 6 | * rewrite the code with TypeScript, now it dependes on a tiny library [npm/opn](https://www.npmjs.com/package/opn) 7 | * support more browsers: **Chromium**(*Mac only*), **Firefox Developer Edition**(*Mac only*), **Edge**(*Windows only, __sometimes it won't work__*) 8 | * you can open *__any__* type of file with the default program, not only *__html__* file. 9 | 10 | ## How it works? 11 | * on *win32* uses `start` 12 | * on *darwin* uses `open` 13 | * otherwise uses the `xdg-open` script from [freedesktop.org](https://portland.freedesktop.org/doc/xdg-open.html) 14 | 15 | ## Usage 16 | use `Alt + B` shortcut to open current *html* file in default browser, or `Shift + Alt + B` to choose a browser. 17 | you could also right click just like the picture: 18 | ![img](https://i.loli.net/2018/08/12/5b6fb8f378e8b.jpg) 19 | 20 | when you choose `open in Other Browsers`, a browser list will display, and you could choose one to open current file. 21 | ![img](https://i.loli.net/2018/08/12/5b6fb86934f8f.png) 22 | 23 | when you choose `open in Default Browser`, it means *system default browser* by default. If you want to configure the default browser, you could override it like that: 24 | ![img](https://i.loli.net/2018/08/12/5b6fb86942af1.jpg) 25 | if you configured the default browser, when you choose `open in Default Browser`, your configured browser will works. 26 | 27 | you do not need to set `open-in-browser.default` a very accurate value, as long as the value matches any of the following terms, I will handle it: 28 | __*Chrome*__ values: *chrome*, *google chrome*, *google-chrome*, *gc* 29 | __*Firefox*__ values: *firefox*, *mozilla firefox*, *ff* 30 | __*IE*__ values: *ie*, *iexplore* 31 | __*Safari*__ values: *safari* 32 | __*Opera*__ values: *opera* 33 | __*Chromium*__ values: *chromium* 34 | __*Firefox Developer Edition*__ values: *firefox developer*, *fde*, *firefox developer edition* 35 | __*Edge*__ values: *edge*, *msedge*, *microsoftedge* 36 | 37 | ## Shortcuts 38 | 39 | |key|command| 40 | |------|------| 41 | |`Alt + B`|open in default browser| 42 | |`Shift + Alt + B`|open in specified browser| 43 | 44 | ## Changelog 45 | see [changelog](CHANGELOG.MD) for more infomation 46 | 47 | ## License 48 | [MIT](https://raw.githubusercontent.com/DonJayamanne/bowerVSCode/master/LICENSE) 49 | -------------------------------------------------------------------------------- /images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SudoKillMe/vscode-extensions-open-in-browser/93a1d8e027cfa66380eb723b1c783c73b524b6e6/images/icon.png -------------------------------------------------------------------------------- /images/old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SudoKillMe/vscode-extensions-open-in-browser/93a1d8e027cfa66380eb723b1c783c73b524b6e6/images/old.png -------------------------------------------------------------------------------- /images/usage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SudoKillMe/vscode-extensions-open-in-browser/93a1d8e027cfa66380eb723b1c783c73b524b6e6/images/usage.png -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es6", 5 | "lib": [ 6 | "es6" 7 | ] 8 | }, 9 | "exclude": [ 10 | "node_modules" 11 | ] 12 | } -------------------------------------------------------------------------------- /out/config.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const platform = process.platform; 4 | const chromeItem = { 5 | description: "Windows, Mac, Linux", 6 | detail: "A fast, secure, and free web browser built for the modern web", 7 | label: "Google Chrome", 8 | standardName: platform === 'win32' 9 | ? 'chrome' 10 | : (platform === 'darwin' 11 | ? 'google chrome' 12 | : 'google-chrome'), 13 | acceptName: ['chrome', 'google chrome', 'google-chrome', 'gc', '谷歌浏览器'] 14 | }; 15 | const chromiumItem = { 16 | description: "Mac", 17 | detail: "A fast, secure, and free web browser built for the modern web", 18 | label: "Google Chromium", 19 | standardName: "Chromium", 20 | acceptName: ['chromium'] 21 | }; 22 | const firefoxItem = { 23 | description: "Windows, Mac, Linux", 24 | detail: "A fast, smart and personal web browser", 25 | label: "Mozilla Firefox", 26 | standardName: "firefox", 27 | acceptName: ['firefox', 'ff', 'mozilla firefox', '火狐浏览器'] 28 | }; 29 | const firefoxDeveloperItem = { 30 | description: "Mac", 31 | detail: "A fast, smart and personal web browser", 32 | label: "Mozilla Firefox Developer Edition", 33 | standardName: "FirefoxDeveloperEdition", 34 | acceptName: ['firefox developer', 'fde', 'firefox developer edition'] 35 | }; 36 | const ieItem = { 37 | description: "Windows", 38 | detail: "A slightly outdated browser", 39 | label: "Microsoft IE", 40 | standardName: "iexplore", 41 | acceptName: ['ie', 'iexplore'] 42 | }; 43 | const edgeItem = { 44 | description: "Windows", 45 | detail: "A modern browser aiming to replace ie", 46 | label: "Microsoft Edge", 47 | standardName: "MicrosoftEdge", 48 | acceptName: ['edge', 'msedge', 'microsoftedge'] 49 | }; 50 | const safariItem = { 51 | description: "Mac", 52 | detail: "A fast, efficient browser on Mac", 53 | label: "Apple Safari", 54 | standardName: "safari", 55 | acceptName: ['safari'] 56 | }; 57 | const operaItem = { 58 | description: "Windows, Mac", 59 | detail: 'A fast, secure, easy-to-use browser', 60 | label: 'Opera', 61 | standardName: 'opera', 62 | acceptName: ['opera'] 63 | }; 64 | const browsers = [chromeItem, firefoxItem, operaItem]; 65 | if (process.platform === 'win32') { 66 | browsers.push(ieItem); 67 | browsers.push(edgeItem); 68 | } 69 | else if (process.platform === 'darwin') { 70 | browsers.push(safariItem); 71 | browsers.push(chromiumItem); 72 | browsers.push(firefoxDeveloperItem); 73 | } 74 | exports.default = { 75 | browsers: browsers, 76 | app: 'open-in-browser' 77 | }; 78 | //# sourceMappingURL=config.js.map -------------------------------------------------------------------------------- /out/config.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;AAMA,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAElC,MAAM,UAAU,GAAa;IAC3B,WAAW,EAAE,qBAAqB;IAClC,MAAM,EAAE,+DAA+D;IACvE,KAAK,EAAE,eAAe;IACtB,YAAY,EAAE,QAAQ,KAAK,OAAO;QAClB,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,CACA,QAAQ,KAAK,QAAQ;YACnB,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,eAAe,CAClB;IACnB,UAAU,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC;CACxE,CAAC;AAEF,MAAM,YAAY,GAAa;IAC7B,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,+DAA+D;IACvE,KAAK,EAAE,iBAAiB;IACxB,YAAY,EAAE,UAAU;IACxB,UAAU,EAAE,CAAC,UAAU,CAAC;CACzB,CAAC;AACF,MAAM,WAAW,GAAa;IAC5B,WAAW,EAAE,qBAAqB;IAClC,MAAM,EAAE,wCAAwC;IAChD,KAAK,EAAE,iBAAiB;IACxB,YAAY,EAAE,SAAS;IACvB,UAAU,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC;CAC1D,CAAC;AACF,MAAM,oBAAoB,GAAa;IACrC,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,wCAAwC;IAChD,KAAK,EAAE,mCAAmC;IAC1C,YAAY,EAAE,yBAAyB;IACvC,UAAU,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,2BAA2B,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,GAAa;IACvB,WAAW,EAAE,SAAS;IACtB,MAAM,EAAE,6BAA6B;IACrC,KAAK,EAAE,cAAc;IACrB,YAAY,EAAE,UAAU;IACxB,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;CAC/B,CAAC;AACF,MAAM,QAAQ,GAAa;IACzB,WAAW,EAAE,SAAS;IACtB,MAAM,EAAE,uCAAuC;IAC/C,KAAK,EAAE,gBAAgB;IACvB,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC;CAChD,CAAC;AAEF,MAAM,UAAU,GAAa;IAC3B,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,kCAAkC;IAC1C,KAAK,EAAE,cAAc;IACrB,YAAY,EAAE,QAAQ;IACtB,UAAU,EAAE,CAAC,QAAQ,CAAC;CACvB,CAAC;AAEF,MAAM,SAAS,GAAa;IAC1B,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,qCAAqC;IAC7C,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,OAAO;IACrB,UAAU,EAAE,CAAC,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAEtD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;IAChC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;CACzB;KAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;IACxC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;CACrC;AAED,kBAAe;IACb,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,iBAAiB;CACvB,CAAC"} -------------------------------------------------------------------------------- /out/extension.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const vscode = require("vscode"); 4 | const index_1 = require("./index"); 5 | function activate(context) { 6 | let openDefaultCommand = vscode.commands.registerCommand('extension.openInDefaultBrowser', (path) => { 7 | index_1.openDefault(path); 8 | }); 9 | let openBySpecifyCommand = vscode.commands.registerCommand('extension.openInSpecifyBrowser', (path) => { 10 | index_1.openBySpecify(path); 11 | }); 12 | context.subscriptions.push(openDefaultCommand); 13 | context.subscriptions.push(openBySpecifyCommand); 14 | } 15 | exports.activate = activate; 16 | function deactivate() { 17 | } 18 | exports.deactivate = deactivate; 19 | //# sourceMappingURL=extension.js.map -------------------------------------------------------------------------------- /out/extension.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,iCAAiC;AACjC,mCAGiB;AAEjB,kBAAyB,OAAgC;IAErD,IAAI,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,gCAAgC,EAAE,CAAC,IAAI,EAAE,EAAE;QAChG,mBAAW,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,IAAI,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,gCAAgC,EAAE,CAAC,IAAI,EAAE,EAAE;QAClG,qBAAa,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACrD,CAAC;AAXD,4BAWC;AAED;AACA,CAAC;AADD,gCACC"} -------------------------------------------------------------------------------- /out/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const util_1 = require("./util"); 4 | const config_1 = require("./config"); 5 | const vscode = require("vscode"); 6 | function currentPageUri() { 7 | return vscode.window.activeTextEditor 8 | && vscode.window.activeTextEditor.document 9 | && vscode.window.activeTextEditor.document.uri; 10 | } 11 | /** 12 | * open default browser 13 | * if you have specified browser in configuration file, 14 | * the browser you specified will work. 15 | * else the system default browser will work. 16 | */ 17 | exports.openDefault = (path) => { 18 | let uri; 19 | if (path) { 20 | uri = path.fsPath; 21 | } 22 | else { 23 | const _path = currentPageUri(); 24 | uri = _path && _path.fsPath; 25 | } 26 | const browser = util_1.standardizedBrowserName(util_1.defaultBrowser()); 27 | util_1.open(uri, browser); 28 | }; 29 | /** 30 | * open specify browser 31 | */ 32 | exports.openBySpecify = (path) => { 33 | vscode.window.showQuickPick(config_1.default.browsers).then(item => { 34 | if (!item) { 35 | return; 36 | } 37 | let uri; 38 | if (path) { 39 | uri = path.fsPath; 40 | } 41 | else { 42 | const _path = currentPageUri(); 43 | uri = _path && _path.fsPath; 44 | } 45 | util_1.open(uri, item.standardName); 46 | }); 47 | }; 48 | //# sourceMappingURL=index.js.map -------------------------------------------------------------------------------- /out/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,iCAAuE;AACvE,qCAA8B;AAC9B,iCAAiC;AAEjC;IACE,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB;WAC9B,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ;WACvC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACU,QAAA,WAAW,GAAG,CAAC,IAAS,EAAQ,EAAE;IAC7C,IAAI,GAAG,CAAC;IACR,IAAI,IAAI,EAAE;QACR,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;KACnB;SAAM;QACL,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAC/B,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;KAC7B;IACD,MAAM,OAAO,GAAG,8BAAuB,CAAC,qBAAc,EAAE,CAAC,CAAC;IAC1D,WAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF;;GAEG;AACU,QAAA,aAAa,GAAG,CAAC,IAAS,EAAQ,EAAE;IAC/C,MAAM,CAAC,MAAM,CAAC,aAAa,CACzB,gBAAM,CAAC,QAAQ,CAChB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACZ,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,IAAI,GAAG,CAAC;QACR,IAAI,IAAI,EAAE;YACR,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;SACnB;aAAM;YACL,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;SAC7B;QACD,WAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"} -------------------------------------------------------------------------------- /out/util.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const config_1 = require("./config"); 4 | const vscode = require("vscode"); 5 | const opn = require('opn'); 6 | /** 7 | * get standardized browser name 8 | * @param name String 9 | */ 10 | exports.standardizedBrowserName = (name = '') => { 11 | let _name = name.toLowerCase(); 12 | const browser = config_1.default.browsers.find(item => { 13 | return item.acceptName.indexOf(_name) !== -1; 14 | }); 15 | return browser ? browser.standardName : ''; 16 | }; 17 | /** 18 | * get default browser name 19 | */ 20 | exports.defaultBrowser = () => { 21 | const config = vscode.workspace.getConfiguration(config_1.default.app); 22 | return config ? config.default : ''; 23 | }; 24 | exports.open = (path, browser = '') => { 25 | // const name = browser ? browser : standardizedBrowserName(defaultBrowser()); 26 | // const name = standardizedBrowserName(browser); 27 | // console.log('path: ', path, ' name: ', name); 28 | opn(path, { app: browser }) 29 | .catch(_ => { 30 | vscode.window.showErrorMessage(`Open browser failed!! Please check if you have installed the browser ${browser} correctly!`); 31 | }); 32 | }; 33 | //# sourceMappingURL=util.js.map -------------------------------------------------------------------------------- /out/util.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;AAAA,qCAA8B;AAC9B,iCAAiC;AAEjC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAE3B;;;GAGG;AACU,QAAA,uBAAuB,GAAG,CAAC,OAAe,EAAE,EAAU,EAAE;IACnE,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,gBAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF;;GAEG;AACU,QAAA,cAAc,GAAG,GAAW,EAAE;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,gBAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC,CAAC;AAEW,QAAA,IAAI,GAAG,CAAC,IAAY,EAAE,UAAkB,EAAE,EAAE,EAAE;IACzD,8EAA8E;IAC9E,iDAAiD;IACjD,gDAAgD;IAChD,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;SACxB,KAAK,CAAC,CAAC,CAAC,EAAE;QACT,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,wEAAwE,OAAO,aAAa,CAAC,CAAC;IAC/H,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"} -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "open-in-browser", 3 | "version": "1.2.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@types/mocha": { 8 | "version": "2.2.48", 9 | "resolved": "http://registry.npm.taobao.org/@types/mocha/download/@types/mocha-2.2.48.tgz", 10 | "integrity": "sha1-NSOxJqCwSUguHDwRh3Rg92Yi/6s=", 11 | "dev": true 12 | }, 13 | "@types/node": { 14 | "version": "7.0.69", 15 | "resolved": "http://registry.npm.taobao.org/@types/node/download/@types/node-7.0.69.tgz", 16 | "integrity": "sha1-cJYpNAcI7A4YRVWb9cDIjSbTHco=", 17 | "dev": true 18 | }, 19 | "ajv": { 20 | "version": "5.5.2", 21 | "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz", 22 | "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", 23 | "dev": true, 24 | "requires": { 25 | "co": "4.6.0", 26 | "fast-deep-equal": "1.1.0", 27 | "fast-json-stable-stringify": "2.0.0", 28 | "json-schema-traverse": "0.3.1" 29 | } 30 | }, 31 | "ansi-cyan": { 32 | "version": "0.1.1", 33 | "resolved": "http://registry.npm.taobao.org/ansi-cyan/download/ansi-cyan-0.1.1.tgz", 34 | "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", 35 | "dev": true, 36 | "requires": { 37 | "ansi-wrap": "0.1.0" 38 | } 39 | }, 40 | "ansi-red": { 41 | "version": "0.1.1", 42 | "resolved": "http://registry.npm.taobao.org/ansi-red/download/ansi-red-0.1.1.tgz", 43 | "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", 44 | "dev": true, 45 | "requires": { 46 | "ansi-wrap": "0.1.0" 47 | } 48 | }, 49 | "ansi-regex": { 50 | "version": "2.1.1", 51 | "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", 52 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 53 | "dev": true 54 | }, 55 | "ansi-styles": { 56 | "version": "2.2.1", 57 | "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", 58 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 59 | "dev": true 60 | }, 61 | "ansi-wrap": { 62 | "version": "0.1.0", 63 | "resolved": "http://registry.npm.taobao.org/ansi-wrap/download/ansi-wrap-0.1.0.tgz", 64 | "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", 65 | "dev": true 66 | }, 67 | "argparse": { 68 | "version": "1.0.10", 69 | "resolved": "http://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", 70 | "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", 71 | "dev": true, 72 | "requires": { 73 | "sprintf-js": "1.0.3" 74 | } 75 | }, 76 | "arr-diff": { 77 | "version": "1.1.0", 78 | "resolved": "http://registry.npm.taobao.org/arr-diff/download/arr-diff-1.1.0.tgz", 79 | "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", 80 | "dev": true, 81 | "requires": { 82 | "arr-flatten": "1.1.0", 83 | "array-slice": "0.2.3" 84 | } 85 | }, 86 | "arr-flatten": { 87 | "version": "1.1.0", 88 | "resolved": "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", 89 | "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", 90 | "dev": true 91 | }, 92 | "arr-union": { 93 | "version": "2.1.0", 94 | "resolved": "http://registry.npm.taobao.org/arr-union/download/arr-union-2.1.0.tgz", 95 | "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", 96 | "dev": true 97 | }, 98 | "array-differ": { 99 | "version": "1.0.0", 100 | "resolved": "http://registry.npm.taobao.org/array-differ/download/array-differ-1.0.0.tgz", 101 | "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", 102 | "dev": true 103 | }, 104 | "array-slice": { 105 | "version": "0.2.3", 106 | "resolved": "http://registry.npm.taobao.org/array-slice/download/array-slice-0.2.3.tgz", 107 | "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", 108 | "dev": true 109 | }, 110 | "array-union": { 111 | "version": "1.0.2", 112 | "resolved": "http://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz", 113 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 114 | "dev": true, 115 | "requires": { 116 | "array-uniq": "1.0.3" 117 | } 118 | }, 119 | "array-uniq": { 120 | "version": "1.0.3", 121 | "resolved": "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz", 122 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 123 | "dev": true 124 | }, 125 | "array-unique": { 126 | "version": "0.2.1", 127 | "resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz", 128 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", 129 | "dev": true 130 | }, 131 | "arrify": { 132 | "version": "1.0.1", 133 | "resolved": "http://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz", 134 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 135 | "dev": true 136 | }, 137 | "asn1": { 138 | "version": "0.2.4", 139 | "resolved": "http://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", 140 | "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", 141 | "dev": true, 142 | "requires": { 143 | "safer-buffer": "2.1.2" 144 | } 145 | }, 146 | "assert-plus": { 147 | "version": "1.0.0", 148 | "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", 149 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 150 | "dev": true 151 | }, 152 | "asynckit": { 153 | "version": "0.4.0", 154 | "resolved": "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", 155 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 156 | "dev": true 157 | }, 158 | "aws-sign2": { 159 | "version": "0.7.0", 160 | "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", 161 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", 162 | "dev": true 163 | }, 164 | "aws4": { 165 | "version": "1.8.0", 166 | "resolved": "http://registry.npm.taobao.org/aws4/download/aws4-1.8.0.tgz", 167 | "integrity": "sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8=", 168 | "dev": true 169 | }, 170 | "babel-code-frame": { 171 | "version": "6.26.0", 172 | "resolved": "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz", 173 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 174 | "dev": true, 175 | "requires": { 176 | "chalk": "1.1.3", 177 | "esutils": "2.0.2", 178 | "js-tokens": "3.0.2" 179 | }, 180 | "dependencies": { 181 | "chalk": { 182 | "version": "1.1.3", 183 | "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", 184 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 185 | "dev": true, 186 | "requires": { 187 | "ansi-styles": "2.2.1", 188 | "escape-string-regexp": "1.0.5", 189 | "has-ansi": "2.0.0", 190 | "strip-ansi": "3.0.1", 191 | "supports-color": "2.0.0" 192 | } 193 | } 194 | } 195 | }, 196 | "balanced-match": { 197 | "version": "1.0.0", 198 | "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", 199 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 200 | "dev": true 201 | }, 202 | "bcrypt-pbkdf": { 203 | "version": "1.0.2", 204 | "resolved": "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", 205 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 206 | "dev": true, 207 | "optional": true, 208 | "requires": { 209 | "tweetnacl": "0.14.5" 210 | } 211 | }, 212 | "block-stream": { 213 | "version": "0.0.9", 214 | "resolved": "http://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz", 215 | "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", 216 | "dev": true, 217 | "requires": { 218 | "inherits": "2.0.3" 219 | } 220 | }, 221 | "brace-expansion": { 222 | "version": "1.1.11", 223 | "resolved": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", 224 | "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", 225 | "dev": true, 226 | "requires": { 227 | "balanced-match": "1.0.0", 228 | "concat-map": "0.0.1" 229 | } 230 | }, 231 | "braces": { 232 | "version": "1.8.5", 233 | "resolved": "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz", 234 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", 235 | "dev": true, 236 | "requires": { 237 | "expand-range": "1.8.2", 238 | "preserve": "0.2.0", 239 | "repeat-element": "1.1.2" 240 | } 241 | }, 242 | "browser-stdout": { 243 | "version": "1.3.0", 244 | "resolved": "http://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.0.tgz", 245 | "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", 246 | "dev": true 247 | }, 248 | "buffer-crc32": { 249 | "version": "0.2.13", 250 | "resolved": "http://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz", 251 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", 252 | "dev": true 253 | }, 254 | "buffer-from": { 255 | "version": "1.1.1", 256 | "resolved": "http://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", 257 | "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", 258 | "dev": true 259 | }, 260 | "builtin-modules": { 261 | "version": "1.1.1", 262 | "resolved": "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz", 263 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", 264 | "dev": true 265 | }, 266 | "caseless": { 267 | "version": "0.12.0", 268 | "resolved": "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", 269 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 270 | "dev": true 271 | }, 272 | "chalk": { 273 | "version": "2.4.1", 274 | "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz", 275 | "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=", 276 | "dev": true, 277 | "requires": { 278 | "ansi-styles": "3.2.1", 279 | "escape-string-regexp": "1.0.5", 280 | "supports-color": "5.4.0" 281 | }, 282 | "dependencies": { 283 | "ansi-styles": { 284 | "version": "3.2.1", 285 | "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", 286 | "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", 287 | "dev": true, 288 | "requires": { 289 | "color-convert": "1.9.2" 290 | } 291 | }, 292 | "supports-color": { 293 | "version": "5.4.0", 294 | "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz", 295 | "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", 296 | "dev": true, 297 | "requires": { 298 | "has-flag": "3.0.0" 299 | } 300 | } 301 | } 302 | }, 303 | "clone": { 304 | "version": "0.2.0", 305 | "resolved": "http://registry.npm.taobao.org/clone/download/clone-0.2.0.tgz", 306 | "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", 307 | "dev": true 308 | }, 309 | "clone-buffer": { 310 | "version": "1.0.0", 311 | "resolved": "http://registry.npm.taobao.org/clone-buffer/download/clone-buffer-1.0.0.tgz", 312 | "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", 313 | "dev": true 314 | }, 315 | "clone-stats": { 316 | "version": "0.0.1", 317 | "resolved": "http://registry.npm.taobao.org/clone-stats/download/clone-stats-0.0.1.tgz", 318 | "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", 319 | "dev": true 320 | }, 321 | "cloneable-readable": { 322 | "version": "1.1.2", 323 | "resolved": "http://registry.npm.taobao.org/cloneable-readable/download/cloneable-readable-1.1.2.tgz", 324 | "integrity": "sha1-1ZHe5Kj4vBXaQ86X3O66E9Q+KmU=", 325 | "dev": true, 326 | "requires": { 327 | "inherits": "2.0.3", 328 | "process-nextick-args": "2.0.0", 329 | "readable-stream": "2.3.6" 330 | } 331 | }, 332 | "co": { 333 | "version": "4.6.0", 334 | "resolved": "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz", 335 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", 336 | "dev": true 337 | }, 338 | "color-convert": { 339 | "version": "1.9.2", 340 | "resolved": "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.2.tgz", 341 | "integrity": "sha1-SYgbj7pn3xKpa98/VsCqueeRMUc=", 342 | "dev": true, 343 | "requires": { 344 | "color-name": "1.1.1" 345 | } 346 | }, 347 | "color-name": { 348 | "version": "1.1.1", 349 | "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.1.tgz", 350 | "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", 351 | "dev": true 352 | }, 353 | "combined-stream": { 354 | "version": "1.0.6", 355 | "resolved": "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.6.tgz", 356 | "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", 357 | "dev": true, 358 | "requires": { 359 | "delayed-stream": "1.0.0" 360 | } 361 | }, 362 | "commander": { 363 | "version": "2.17.1", 364 | "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz", 365 | "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", 366 | "dev": true 367 | }, 368 | "concat-map": { 369 | "version": "0.0.1", 370 | "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", 371 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 372 | "dev": true 373 | }, 374 | "convert-source-map": { 375 | "version": "1.5.1", 376 | "resolved": "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.1.tgz", 377 | "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", 378 | "dev": true 379 | }, 380 | "core-util-is": { 381 | "version": "1.0.2", 382 | "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", 383 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 384 | "dev": true 385 | }, 386 | "dashdash": { 387 | "version": "1.14.1", 388 | "resolved": "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz", 389 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 390 | "dev": true, 391 | "requires": { 392 | "assert-plus": "1.0.0" 393 | } 394 | }, 395 | "debug": { 396 | "version": "3.1.0", 397 | "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz", 398 | "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", 399 | "dev": true, 400 | "requires": { 401 | "ms": "2.0.0" 402 | } 403 | }, 404 | "deep-assign": { 405 | "version": "1.0.0", 406 | "resolved": "http://registry.npm.taobao.org/deep-assign/download/deep-assign-1.0.0.tgz", 407 | "integrity": "sha1-sJJ0O+hCfcYh6gBnzex+cN0Z83s=", 408 | "dev": true, 409 | "requires": { 410 | "is-obj": "1.0.1" 411 | } 412 | }, 413 | "delayed-stream": { 414 | "version": "1.0.0", 415 | "resolved": "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", 416 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 417 | "dev": true 418 | }, 419 | "diff": { 420 | "version": "3.5.0", 421 | "resolved": "http://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz", 422 | "integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=", 423 | "dev": true 424 | }, 425 | "duplexer": { 426 | "version": "0.1.1", 427 | "resolved": "http://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz", 428 | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", 429 | "dev": true 430 | }, 431 | "duplexify": { 432 | "version": "3.6.0", 433 | "resolved": "http://registry.npm.taobao.org/duplexify/download/duplexify-3.6.0.tgz", 434 | "integrity": "sha1-WSkD9dgLONA3IgVBJk1poZj7NBA=", 435 | "dev": true, 436 | "requires": { 437 | "end-of-stream": "1.4.1", 438 | "inherits": "2.0.3", 439 | "readable-stream": "2.3.6", 440 | "stream-shift": "1.0.0" 441 | } 442 | }, 443 | "ecc-jsbn": { 444 | "version": "0.1.2", 445 | "resolved": "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", 446 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 447 | "dev": true, 448 | "optional": true, 449 | "requires": { 450 | "jsbn": "0.1.1", 451 | "safer-buffer": "2.1.2" 452 | } 453 | }, 454 | "end-of-stream": { 455 | "version": "1.4.1", 456 | "resolved": "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.1.tgz", 457 | "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=", 458 | "dev": true, 459 | "requires": { 460 | "once": "1.4.0" 461 | } 462 | }, 463 | "escape-string-regexp": { 464 | "version": "1.0.5", 465 | "resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", 466 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 467 | "dev": true 468 | }, 469 | "esprima": { 470 | "version": "4.0.1", 471 | "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", 472 | "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", 473 | "dev": true 474 | }, 475 | "esutils": { 476 | "version": "2.0.2", 477 | "resolved": "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz", 478 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 479 | "dev": true 480 | }, 481 | "event-stream": { 482 | "version": "3.3.4", 483 | "resolved": "http://registry.npm.taobao.org/event-stream/download/event-stream-3.3.4.tgz", 484 | "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", 485 | "dev": true, 486 | "requires": { 487 | "duplexer": "0.1.1", 488 | "from": "0.1.7", 489 | "map-stream": "0.1.0", 490 | "pause-stream": "0.0.11", 491 | "split": "0.3.3", 492 | "stream-combiner": "0.0.4", 493 | "through": "2.3.8" 494 | } 495 | }, 496 | "expand-brackets": { 497 | "version": "0.1.5", 498 | "resolved": "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz", 499 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", 500 | "dev": true, 501 | "requires": { 502 | "is-posix-bracket": "0.1.1" 503 | } 504 | }, 505 | "expand-range": { 506 | "version": "1.8.2", 507 | "resolved": "http://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz", 508 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", 509 | "dev": true, 510 | "requires": { 511 | "fill-range": "2.2.4" 512 | } 513 | }, 514 | "extend": { 515 | "version": "3.0.2", 516 | "resolved": "http://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", 517 | "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", 518 | "dev": true 519 | }, 520 | "extend-shallow": { 521 | "version": "1.1.4", 522 | "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-1.1.4.tgz", 523 | "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", 524 | "dev": true, 525 | "requires": { 526 | "kind-of": "1.1.0" 527 | } 528 | }, 529 | "extglob": { 530 | "version": "0.3.2", 531 | "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz", 532 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", 533 | "dev": true, 534 | "requires": { 535 | "is-extglob": "1.0.0" 536 | }, 537 | "dependencies": { 538 | "is-extglob": { 539 | "version": "1.0.0", 540 | "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz", 541 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", 542 | "dev": true 543 | } 544 | } 545 | }, 546 | "extsprintf": { 547 | "version": "1.3.0", 548 | "resolved": "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", 549 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 550 | "dev": true 551 | }, 552 | "fast-deep-equal": { 553 | "version": "1.1.0", 554 | "resolved": "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz", 555 | "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", 556 | "dev": true 557 | }, 558 | "fast-json-stable-stringify": { 559 | "version": "2.0.0", 560 | "resolved": "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz", 561 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", 562 | "dev": true 563 | }, 564 | "fd-slicer": { 565 | "version": "1.1.0", 566 | "resolved": "http://registry.npm.taobao.org/fd-slicer/download/fd-slicer-1.1.0.tgz", 567 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", 568 | "dev": true, 569 | "requires": { 570 | "pend": "1.2.0" 571 | } 572 | }, 573 | "filename-regex": { 574 | "version": "2.0.1", 575 | "resolved": "http://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.1.tgz", 576 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", 577 | "dev": true 578 | }, 579 | "fill-range": { 580 | "version": "2.2.4", 581 | "resolved": "http://registry.npm.taobao.org/fill-range/download/fill-range-2.2.4.tgz", 582 | "integrity": "sha1-6x53OrsFbc2N8r/favWbizqTZWU=", 583 | "dev": true, 584 | "requires": { 585 | "is-number": "2.1.0", 586 | "isobject": "2.1.0", 587 | "randomatic": "3.1.0", 588 | "repeat-element": "1.1.2", 589 | "repeat-string": "1.6.1" 590 | } 591 | }, 592 | "first-chunk-stream": { 593 | "version": "1.0.0", 594 | "resolved": "http://registry.npm.taobao.org/first-chunk-stream/download/first-chunk-stream-1.0.0.tgz", 595 | "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", 596 | "dev": true 597 | }, 598 | "for-in": { 599 | "version": "1.0.2", 600 | "resolved": "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", 601 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 602 | "dev": true 603 | }, 604 | "for-own": { 605 | "version": "0.1.5", 606 | "resolved": "http://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz", 607 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", 608 | "dev": true, 609 | "requires": { 610 | "for-in": "1.0.2" 611 | } 612 | }, 613 | "forever-agent": { 614 | "version": "0.6.1", 615 | "resolved": "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", 616 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 617 | "dev": true 618 | }, 619 | "form-data": { 620 | "version": "2.3.2", 621 | "resolved": "http://registry.npm.taobao.org/form-data/download/form-data-2.3.2.tgz", 622 | "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", 623 | "dev": true, 624 | "requires": { 625 | "asynckit": "0.4.0", 626 | "combined-stream": "1.0.6", 627 | "mime-types": "2.1.19" 628 | } 629 | }, 630 | "from": { 631 | "version": "0.1.7", 632 | "resolved": "http://registry.npm.taobao.org/from/download/from-0.1.7.tgz", 633 | "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", 634 | "dev": true 635 | }, 636 | "fs.realpath": { 637 | "version": "1.0.0", 638 | "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", 639 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 640 | "dev": true 641 | }, 642 | "fstream": { 643 | "version": "1.0.11", 644 | "resolved": "http://registry.npm.taobao.org/fstream/download/fstream-1.0.11.tgz", 645 | "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", 646 | "dev": true, 647 | "requires": { 648 | "graceful-fs": "4.1.11", 649 | "inherits": "2.0.3", 650 | "mkdirp": "0.5.1", 651 | "rimraf": "2.6.2" 652 | } 653 | }, 654 | "getpass": { 655 | "version": "0.1.7", 656 | "resolved": "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", 657 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 658 | "dev": true, 659 | "requires": { 660 | "assert-plus": "1.0.0" 661 | } 662 | }, 663 | "glob": { 664 | "version": "7.1.2", 665 | "resolved": "http://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz", 666 | "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", 667 | "dev": true, 668 | "requires": { 669 | "fs.realpath": "1.0.0", 670 | "inflight": "1.0.6", 671 | "inherits": "2.0.3", 672 | "minimatch": "3.0.4", 673 | "once": "1.4.0", 674 | "path-is-absolute": "1.0.1" 675 | } 676 | }, 677 | "glob-base": { 678 | "version": "0.3.0", 679 | "resolved": "http://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz", 680 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", 681 | "dev": true, 682 | "requires": { 683 | "glob-parent": "2.0.0", 684 | "is-glob": "2.0.1" 685 | }, 686 | "dependencies": { 687 | "glob-parent": { 688 | "version": "2.0.0", 689 | "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz", 690 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", 691 | "dev": true, 692 | "requires": { 693 | "is-glob": "2.0.1" 694 | } 695 | }, 696 | "is-extglob": { 697 | "version": "1.0.0", 698 | "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz", 699 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", 700 | "dev": true 701 | }, 702 | "is-glob": { 703 | "version": "2.0.1", 704 | "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz", 705 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", 706 | "dev": true, 707 | "requires": { 708 | "is-extglob": "1.0.0" 709 | } 710 | } 711 | } 712 | }, 713 | "glob-parent": { 714 | "version": "3.1.0", 715 | "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", 716 | "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", 717 | "dev": true, 718 | "requires": { 719 | "is-glob": "3.1.0", 720 | "path-dirname": "1.0.2" 721 | } 722 | }, 723 | "glob-stream": { 724 | "version": "5.3.5", 725 | "resolved": "http://registry.npm.taobao.org/glob-stream/download/glob-stream-5.3.5.tgz", 726 | "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", 727 | "dev": true, 728 | "requires": { 729 | "extend": "3.0.2", 730 | "glob": "5.0.15", 731 | "glob-parent": "3.1.0", 732 | "micromatch": "2.3.11", 733 | "ordered-read-streams": "0.3.0", 734 | "through2": "0.6.5", 735 | "to-absolute-glob": "0.1.1", 736 | "unique-stream": "2.2.1" 737 | }, 738 | "dependencies": { 739 | "glob": { 740 | "version": "5.0.15", 741 | "resolved": "http://registry.npm.taobao.org/glob/download/glob-5.0.15.tgz", 742 | "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", 743 | "dev": true, 744 | "requires": { 745 | "inflight": "1.0.6", 746 | "inherits": "2.0.3", 747 | "minimatch": "3.0.4", 748 | "once": "1.4.0", 749 | "path-is-absolute": "1.0.1" 750 | } 751 | }, 752 | "isarray": { 753 | "version": "0.0.1", 754 | "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", 755 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 756 | "dev": true 757 | }, 758 | "readable-stream": { 759 | "version": "1.0.34", 760 | "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz", 761 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", 762 | "dev": true, 763 | "requires": { 764 | "core-util-is": "1.0.2", 765 | "inherits": "2.0.3", 766 | "isarray": "0.0.1", 767 | "string_decoder": "0.10.31" 768 | } 769 | }, 770 | "string_decoder": { 771 | "version": "0.10.31", 772 | "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", 773 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 774 | "dev": true 775 | }, 776 | "through2": { 777 | "version": "0.6.5", 778 | "resolved": "http://registry.npm.taobao.org/through2/download/through2-0.6.5.tgz", 779 | "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", 780 | "dev": true, 781 | "requires": { 782 | "readable-stream": "1.0.34", 783 | "xtend": "4.0.1" 784 | } 785 | } 786 | } 787 | }, 788 | "graceful-fs": { 789 | "version": "4.1.11", 790 | "resolved": "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz", 791 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 792 | "dev": true 793 | }, 794 | "growl": { 795 | "version": "1.10.3", 796 | "resolved": "http://registry.npm.taobao.org/growl/download/growl-1.10.3.tgz", 797 | "integrity": "sha1-GSa6kM8+3+KttJJ/WIC8IsZseQ8=", 798 | "dev": true 799 | }, 800 | "gulp-chmod": { 801 | "version": "2.0.0", 802 | "resolved": "http://registry.npm.taobao.org/gulp-chmod/download/gulp-chmod-2.0.0.tgz", 803 | "integrity": "sha1-AMOQuSigeZslGsz2MaoJ4BzGKZw=", 804 | "dev": true, 805 | "requires": { 806 | "deep-assign": "1.0.0", 807 | "stat-mode": "0.2.2", 808 | "through2": "2.0.3" 809 | } 810 | }, 811 | "gulp-filter": { 812 | "version": "5.1.0", 813 | "resolved": "http://registry.npm.taobao.org/gulp-filter/download/gulp-filter-5.1.0.tgz", 814 | "integrity": "sha1-oF4Rr/sHz33PQafeHLe2OsN4PnM=", 815 | "dev": true, 816 | "requires": { 817 | "multimatch": "2.1.0", 818 | "plugin-error": "0.1.2", 819 | "streamfilter": "1.0.7" 820 | } 821 | }, 822 | "gulp-gunzip": { 823 | "version": "1.0.0", 824 | "resolved": "http://registry.npm.taobao.org/gulp-gunzip/download/gulp-gunzip-1.0.0.tgz", 825 | "integrity": "sha1-FbdBFF6Dqcb1CIYkG1fMWHHxUak=", 826 | "dev": true, 827 | "requires": { 828 | "through2": "0.6.5", 829 | "vinyl": "0.4.6" 830 | }, 831 | "dependencies": { 832 | "isarray": { 833 | "version": "0.0.1", 834 | "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", 835 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 836 | "dev": true 837 | }, 838 | "readable-stream": { 839 | "version": "1.0.34", 840 | "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz", 841 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", 842 | "dev": true, 843 | "requires": { 844 | "core-util-is": "1.0.2", 845 | "inherits": "2.0.3", 846 | "isarray": "0.0.1", 847 | "string_decoder": "0.10.31" 848 | } 849 | }, 850 | "string_decoder": { 851 | "version": "0.10.31", 852 | "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", 853 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 854 | "dev": true 855 | }, 856 | "through2": { 857 | "version": "0.6.5", 858 | "resolved": "http://registry.npm.taobao.org/through2/download/through2-0.6.5.tgz", 859 | "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", 860 | "dev": true, 861 | "requires": { 862 | "readable-stream": "1.0.34", 863 | "xtend": "4.0.1" 864 | } 865 | } 866 | } 867 | }, 868 | "gulp-remote-src-vscode": { 869 | "version": "0.5.0", 870 | "resolved": "http://registry.npm.taobao.org/gulp-remote-src-vscode/download/gulp-remote-src-vscode-0.5.0.tgz", 871 | "integrity": "sha1-cXhVU7xJGIAIitlx+QkQxLLYCpk=", 872 | "dev": true, 873 | "requires": { 874 | "event-stream": "3.3.4", 875 | "node.extend": "1.1.6", 876 | "request": "2.87.0", 877 | "through2": "2.0.3", 878 | "vinyl": "2.2.0" 879 | }, 880 | "dependencies": { 881 | "clone": { 882 | "version": "2.1.2", 883 | "resolved": "http://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", 884 | "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", 885 | "dev": true 886 | }, 887 | "clone-stats": { 888 | "version": "1.0.0", 889 | "resolved": "http://registry.npm.taobao.org/clone-stats/download/clone-stats-1.0.0.tgz", 890 | "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", 891 | "dev": true 892 | }, 893 | "vinyl": { 894 | "version": "2.2.0", 895 | "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-2.2.0.tgz", 896 | "integrity": "sha1-2FsH2pbkWNJbL/4Z/s6fLKoT7YY=", 897 | "dev": true, 898 | "requires": { 899 | "clone": "2.1.2", 900 | "clone-buffer": "1.0.0", 901 | "clone-stats": "1.0.0", 902 | "cloneable-readable": "1.1.2", 903 | "remove-trailing-separator": "1.1.0", 904 | "replace-ext": "1.0.0" 905 | } 906 | } 907 | } 908 | }, 909 | "gulp-sourcemaps": { 910 | "version": "1.6.0", 911 | "resolved": "http://registry.npm.taobao.org/gulp-sourcemaps/download/gulp-sourcemaps-1.6.0.tgz", 912 | "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", 913 | "dev": true, 914 | "requires": { 915 | "convert-source-map": "1.5.1", 916 | "graceful-fs": "4.1.11", 917 | "strip-bom": "2.0.0", 918 | "through2": "2.0.3", 919 | "vinyl": "1.2.0" 920 | }, 921 | "dependencies": { 922 | "clone": { 923 | "version": "1.0.4", 924 | "resolved": "http://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz", 925 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", 926 | "dev": true 927 | }, 928 | "replace-ext": { 929 | "version": "0.0.1", 930 | "resolved": "http://registry.npm.taobao.org/replace-ext/download/replace-ext-0.0.1.tgz", 931 | "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", 932 | "dev": true 933 | }, 934 | "vinyl": { 935 | "version": "1.2.0", 936 | "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-1.2.0.tgz", 937 | "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", 938 | "dev": true, 939 | "requires": { 940 | "clone": "1.0.4", 941 | "clone-stats": "0.0.1", 942 | "replace-ext": "0.0.1" 943 | } 944 | } 945 | } 946 | }, 947 | "gulp-symdest": { 948 | "version": "1.1.0", 949 | "resolved": "http://registry.npm.taobao.org/gulp-symdest/download/gulp-symdest-1.1.0.tgz", 950 | "integrity": "sha1-wWUyBzLRks5W/ZQnH/oSMjS/KuA=", 951 | "dev": true, 952 | "requires": { 953 | "event-stream": "3.3.4", 954 | "mkdirp": "0.5.1", 955 | "queue": "3.1.0", 956 | "vinyl-fs": "2.4.4" 957 | } 958 | }, 959 | "gulp-untar": { 960 | "version": "0.0.7", 961 | "resolved": "http://registry.npm.taobao.org/gulp-untar/download/gulp-untar-0.0.7.tgz", 962 | "integrity": "sha1-kgZ9eeD6HpLWBWKhACM6RKWqCLQ=", 963 | "dev": true, 964 | "requires": { 965 | "event-stream": "3.3.4", 966 | "streamifier": "0.1.1", 967 | "tar": "2.2.1", 968 | "through2": "2.0.3", 969 | "vinyl": "1.2.0" 970 | }, 971 | "dependencies": { 972 | "clone": { 973 | "version": "1.0.4", 974 | "resolved": "http://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz", 975 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", 976 | "dev": true 977 | }, 978 | "replace-ext": { 979 | "version": "0.0.1", 980 | "resolved": "http://registry.npm.taobao.org/replace-ext/download/replace-ext-0.0.1.tgz", 981 | "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", 982 | "dev": true 983 | }, 984 | "vinyl": { 985 | "version": "1.2.0", 986 | "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-1.2.0.tgz", 987 | "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", 988 | "dev": true, 989 | "requires": { 990 | "clone": "1.0.4", 991 | "clone-stats": "0.0.1", 992 | "replace-ext": "0.0.1" 993 | } 994 | } 995 | } 996 | }, 997 | "gulp-vinyl-zip": { 998 | "version": "2.1.0", 999 | "resolved": "http://registry.npm.taobao.org/gulp-vinyl-zip/download/gulp-vinyl-zip-2.1.0.tgz", 1000 | "integrity": "sha1-JOQGhdwFtxSZlSRQmeBZAmO+ja0=", 1001 | "dev": true, 1002 | "requires": { 1003 | "event-stream": "3.3.4", 1004 | "queue": "4.4.2", 1005 | "through2": "2.0.3", 1006 | "vinyl": "2.2.0", 1007 | "vinyl-fs": "2.4.4", 1008 | "yauzl": "2.10.0", 1009 | "yazl": "2.4.3" 1010 | }, 1011 | "dependencies": { 1012 | "clone": { 1013 | "version": "2.1.2", 1014 | "resolved": "http://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", 1015 | "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", 1016 | "dev": true 1017 | }, 1018 | "clone-stats": { 1019 | "version": "1.0.0", 1020 | "resolved": "http://registry.npm.taobao.org/clone-stats/download/clone-stats-1.0.0.tgz", 1021 | "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", 1022 | "dev": true 1023 | }, 1024 | "queue": { 1025 | "version": "4.4.2", 1026 | "resolved": "http://registry.npm.taobao.org/queue/download/queue-4.4.2.tgz", 1027 | "integrity": "sha1-Wpcz2ai4vRs26TS8nFWribKOKcc=", 1028 | "dev": true, 1029 | "requires": { 1030 | "inherits": "2.0.3" 1031 | } 1032 | }, 1033 | "vinyl": { 1034 | "version": "2.2.0", 1035 | "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-2.2.0.tgz", 1036 | "integrity": "sha1-2FsH2pbkWNJbL/4Z/s6fLKoT7YY=", 1037 | "dev": true, 1038 | "requires": { 1039 | "clone": "2.1.2", 1040 | "clone-buffer": "1.0.0", 1041 | "clone-stats": "1.0.0", 1042 | "cloneable-readable": "1.1.2", 1043 | "remove-trailing-separator": "1.1.0", 1044 | "replace-ext": "1.0.0" 1045 | } 1046 | } 1047 | } 1048 | }, 1049 | "har-schema": { 1050 | "version": "2.0.0", 1051 | "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", 1052 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", 1053 | "dev": true 1054 | }, 1055 | "har-validator": { 1056 | "version": "5.0.3", 1057 | "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-5.0.3.tgz", 1058 | "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", 1059 | "dev": true, 1060 | "requires": { 1061 | "ajv": "5.5.2", 1062 | "har-schema": "2.0.0" 1063 | } 1064 | }, 1065 | "has-ansi": { 1066 | "version": "2.0.0", 1067 | "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz", 1068 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1069 | "dev": true, 1070 | "requires": { 1071 | "ansi-regex": "2.1.1" 1072 | } 1073 | }, 1074 | "has-flag": { 1075 | "version": "3.0.0", 1076 | "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", 1077 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 1078 | "dev": true 1079 | }, 1080 | "he": { 1081 | "version": "1.1.1", 1082 | "resolved": "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz", 1083 | "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", 1084 | "dev": true 1085 | }, 1086 | "http-signature": { 1087 | "version": "1.2.0", 1088 | "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz", 1089 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 1090 | "dev": true, 1091 | "requires": { 1092 | "assert-plus": "1.0.0", 1093 | "jsprim": "1.4.1", 1094 | "sshpk": "1.14.2" 1095 | } 1096 | }, 1097 | "inflight": { 1098 | "version": "1.0.6", 1099 | "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", 1100 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1101 | "dev": true, 1102 | "requires": { 1103 | "once": "1.4.0", 1104 | "wrappy": "1.0.2" 1105 | } 1106 | }, 1107 | "inherits": { 1108 | "version": "2.0.3", 1109 | "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", 1110 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1111 | "dev": true 1112 | }, 1113 | "is": { 1114 | "version": "3.2.1", 1115 | "resolved": "http://registry.npm.taobao.org/is/download/is-3.2.1.tgz", 1116 | "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=", 1117 | "dev": true 1118 | }, 1119 | "is-buffer": { 1120 | "version": "1.1.6", 1121 | "resolved": "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", 1122 | "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", 1123 | "dev": true 1124 | }, 1125 | "is-dotfile": { 1126 | "version": "1.0.3", 1127 | "resolved": "http://registry.npm.taobao.org/is-dotfile/download/is-dotfile-1.0.3.tgz", 1128 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", 1129 | "dev": true 1130 | }, 1131 | "is-equal-shallow": { 1132 | "version": "0.1.3", 1133 | "resolved": "http://registry.npm.taobao.org/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz", 1134 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", 1135 | "dev": true, 1136 | "requires": { 1137 | "is-primitive": "2.0.0" 1138 | } 1139 | }, 1140 | "is-extendable": { 1141 | "version": "0.1.1", 1142 | "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", 1143 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 1144 | "dev": true 1145 | }, 1146 | "is-extglob": { 1147 | "version": "2.1.1", 1148 | "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", 1149 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 1150 | "dev": true 1151 | }, 1152 | "is-glob": { 1153 | "version": "3.1.0", 1154 | "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", 1155 | "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", 1156 | "dev": true, 1157 | "requires": { 1158 | "is-extglob": "2.1.1" 1159 | } 1160 | }, 1161 | "is-number": { 1162 | "version": "2.1.0", 1163 | "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz", 1164 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", 1165 | "dev": true, 1166 | "requires": { 1167 | "kind-of": "3.2.2" 1168 | }, 1169 | "dependencies": { 1170 | "kind-of": { 1171 | "version": "3.2.2", 1172 | "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", 1173 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1174 | "dev": true, 1175 | "requires": { 1176 | "is-buffer": "1.1.6" 1177 | } 1178 | } 1179 | } 1180 | }, 1181 | "is-obj": { 1182 | "version": "1.0.1", 1183 | "resolved": "http://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz", 1184 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", 1185 | "dev": true 1186 | }, 1187 | "is-posix-bracket": { 1188 | "version": "0.1.1", 1189 | "resolved": "http://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz", 1190 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", 1191 | "dev": true 1192 | }, 1193 | "is-primitive": { 1194 | "version": "2.0.0", 1195 | "resolved": "http://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz", 1196 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", 1197 | "dev": true 1198 | }, 1199 | "is-stream": { 1200 | "version": "1.1.0", 1201 | "resolved": "http://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", 1202 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", 1203 | "dev": true 1204 | }, 1205 | "is-typedarray": { 1206 | "version": "1.0.0", 1207 | "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", 1208 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 1209 | "dev": true 1210 | }, 1211 | "is-utf8": { 1212 | "version": "0.2.1", 1213 | "resolved": "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz", 1214 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", 1215 | "dev": true 1216 | }, 1217 | "is-valid-glob": { 1218 | "version": "0.3.0", 1219 | "resolved": "http://registry.npm.taobao.org/is-valid-glob/download/is-valid-glob-0.3.0.tgz", 1220 | "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=", 1221 | "dev": true 1222 | }, 1223 | "is-wsl": { 1224 | "version": "1.1.0", 1225 | "resolved": "http://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz", 1226 | "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" 1227 | }, 1228 | "isarray": { 1229 | "version": "1.0.0", 1230 | "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", 1231 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1232 | "dev": true 1233 | }, 1234 | "isobject": { 1235 | "version": "2.1.0", 1236 | "resolved": "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", 1237 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 1238 | "dev": true, 1239 | "requires": { 1240 | "isarray": "1.0.0" 1241 | } 1242 | }, 1243 | "isstream": { 1244 | "version": "0.1.2", 1245 | "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", 1246 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 1247 | "dev": true 1248 | }, 1249 | "js-tokens": { 1250 | "version": "3.0.2", 1251 | "resolved": "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz", 1252 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 1253 | "dev": true 1254 | }, 1255 | "js-yaml": { 1256 | "version": "3.12.0", 1257 | "resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.12.0.tgz", 1258 | "integrity": "sha1-6u1lbsg0TxD1J8a/obbiJE3hZ9E=", 1259 | "dev": true, 1260 | "requires": { 1261 | "argparse": "1.0.10", 1262 | "esprima": "4.0.1" 1263 | } 1264 | }, 1265 | "jsbn": { 1266 | "version": "0.1.1", 1267 | "resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", 1268 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 1269 | "dev": true, 1270 | "optional": true 1271 | }, 1272 | "json-schema": { 1273 | "version": "0.2.3", 1274 | "resolved": "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz", 1275 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 1276 | "dev": true 1277 | }, 1278 | "json-schema-traverse": { 1279 | "version": "0.3.1", 1280 | "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz", 1281 | "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", 1282 | "dev": true 1283 | }, 1284 | "json-stable-stringify": { 1285 | "version": "1.0.1", 1286 | "resolved": "http://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz", 1287 | "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", 1288 | "dev": true, 1289 | "requires": { 1290 | "jsonify": "0.0.0" 1291 | } 1292 | }, 1293 | "json-stringify-safe": { 1294 | "version": "5.0.1", 1295 | "resolved": "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", 1296 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 1297 | "dev": true 1298 | }, 1299 | "jsonify": { 1300 | "version": "0.0.0", 1301 | "resolved": "http://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz", 1302 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", 1303 | "dev": true 1304 | }, 1305 | "jsprim": { 1306 | "version": "1.4.1", 1307 | "resolved": "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", 1308 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 1309 | "dev": true, 1310 | "requires": { 1311 | "assert-plus": "1.0.0", 1312 | "extsprintf": "1.3.0", 1313 | "json-schema": "0.2.3", 1314 | "verror": "1.10.0" 1315 | } 1316 | }, 1317 | "kind-of": { 1318 | "version": "1.1.0", 1319 | "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-1.1.0.tgz", 1320 | "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", 1321 | "dev": true 1322 | }, 1323 | "lazystream": { 1324 | "version": "1.0.0", 1325 | "resolved": "http://registry.npm.taobao.org/lazystream/download/lazystream-1.0.0.tgz", 1326 | "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", 1327 | "dev": true, 1328 | "requires": { 1329 | "readable-stream": "2.3.6" 1330 | } 1331 | }, 1332 | "lodash.isequal": { 1333 | "version": "4.5.0", 1334 | "resolved": "http://registry.npm.taobao.org/lodash.isequal/download/lodash.isequal-4.5.0.tgz", 1335 | "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", 1336 | "dev": true 1337 | }, 1338 | "map-stream": { 1339 | "version": "0.1.0", 1340 | "resolved": "http://registry.npm.taobao.org/map-stream/download/map-stream-0.1.0.tgz", 1341 | "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", 1342 | "dev": true 1343 | }, 1344 | "math-random": { 1345 | "version": "1.0.1", 1346 | "resolved": "http://registry.npm.taobao.org/math-random/download/math-random-1.0.1.tgz", 1347 | "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", 1348 | "dev": true 1349 | }, 1350 | "merge-stream": { 1351 | "version": "1.0.1", 1352 | "resolved": "http://registry.npm.taobao.org/merge-stream/download/merge-stream-1.0.1.tgz", 1353 | "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", 1354 | "dev": true, 1355 | "requires": { 1356 | "readable-stream": "2.3.6" 1357 | } 1358 | }, 1359 | "micromatch": { 1360 | "version": "2.3.11", 1361 | "resolved": "http://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz", 1362 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", 1363 | "dev": true, 1364 | "requires": { 1365 | "arr-diff": "2.0.0", 1366 | "array-unique": "0.2.1", 1367 | "braces": "1.8.5", 1368 | "expand-brackets": "0.1.5", 1369 | "extglob": "0.3.2", 1370 | "filename-regex": "2.0.1", 1371 | "is-extglob": "1.0.0", 1372 | "is-glob": "2.0.1", 1373 | "kind-of": "3.2.2", 1374 | "normalize-path": "2.1.1", 1375 | "object.omit": "2.0.1", 1376 | "parse-glob": "3.0.4", 1377 | "regex-cache": "0.4.4" 1378 | }, 1379 | "dependencies": { 1380 | "arr-diff": { 1381 | "version": "2.0.0", 1382 | "resolved": "http://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz", 1383 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", 1384 | "dev": true, 1385 | "requires": { 1386 | "arr-flatten": "1.1.0" 1387 | } 1388 | }, 1389 | "is-extglob": { 1390 | "version": "1.0.0", 1391 | "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz", 1392 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", 1393 | "dev": true 1394 | }, 1395 | "is-glob": { 1396 | "version": "2.0.1", 1397 | "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz", 1398 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", 1399 | "dev": true, 1400 | "requires": { 1401 | "is-extglob": "1.0.0" 1402 | } 1403 | }, 1404 | "kind-of": { 1405 | "version": "3.2.2", 1406 | "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", 1407 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1408 | "dev": true, 1409 | "requires": { 1410 | "is-buffer": "1.1.6" 1411 | } 1412 | } 1413 | } 1414 | }, 1415 | "mime-db": { 1416 | "version": "1.35.0", 1417 | "resolved": "http://registry.npm.taobao.org/mime-db/download/mime-db-1.35.0.tgz", 1418 | "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", 1419 | "dev": true 1420 | }, 1421 | "mime-types": { 1422 | "version": "2.1.19", 1423 | "resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.19.tgz", 1424 | "integrity": "sha1-ceRkU3p++BwV8tudl+kT/A/2BvA=", 1425 | "dev": true, 1426 | "requires": { 1427 | "mime-db": "1.35.0" 1428 | } 1429 | }, 1430 | "minimatch": { 1431 | "version": "3.0.4", 1432 | "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", 1433 | "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", 1434 | "dev": true, 1435 | "requires": { 1436 | "brace-expansion": "1.1.11" 1437 | } 1438 | }, 1439 | "minimist": { 1440 | "version": "0.0.8", 1441 | "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz", 1442 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 1443 | "dev": true 1444 | }, 1445 | "mkdirp": { 1446 | "version": "0.5.1", 1447 | "resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz", 1448 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 1449 | "dev": true, 1450 | "requires": { 1451 | "minimist": "0.0.8" 1452 | } 1453 | }, 1454 | "mocha": { 1455 | "version": "4.1.0", 1456 | "resolved": "http://registry.npm.taobao.org/mocha/download/mocha-4.1.0.tgz", 1457 | "integrity": "sha1-fYbPvPNcuCnidUwy4XNV7AUzh5Q=", 1458 | "dev": true, 1459 | "requires": { 1460 | "browser-stdout": "1.3.0", 1461 | "commander": "2.11.0", 1462 | "debug": "3.1.0", 1463 | "diff": "3.3.1", 1464 | "escape-string-regexp": "1.0.5", 1465 | "glob": "7.1.2", 1466 | "growl": "1.10.3", 1467 | "he": "1.1.1", 1468 | "mkdirp": "0.5.1", 1469 | "supports-color": "4.4.0" 1470 | }, 1471 | "dependencies": { 1472 | "commander": { 1473 | "version": "2.11.0", 1474 | "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.11.0.tgz", 1475 | "integrity": "sha1-FXFS/R56bI2YpbcVzzdt+SgARWM=", 1476 | "dev": true 1477 | }, 1478 | "diff": { 1479 | "version": "3.3.1", 1480 | "resolved": "http://registry.npm.taobao.org/diff/download/diff-3.3.1.tgz", 1481 | "integrity": "sha1-qoVnpu7QPFMfyJ0/cRzQ5SWd7HU=", 1482 | "dev": true 1483 | }, 1484 | "has-flag": { 1485 | "version": "2.0.0", 1486 | "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz", 1487 | "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", 1488 | "dev": true 1489 | }, 1490 | "supports-color": { 1491 | "version": "4.4.0", 1492 | "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.4.0.tgz", 1493 | "integrity": "sha1-iD992rwWUUKyphQn8zUt7RldGj4=", 1494 | "dev": true, 1495 | "requires": { 1496 | "has-flag": "2.0.0" 1497 | } 1498 | } 1499 | } 1500 | }, 1501 | "ms": { 1502 | "version": "2.0.0", 1503 | "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", 1504 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 1505 | "dev": true 1506 | }, 1507 | "multimatch": { 1508 | "version": "2.1.0", 1509 | "resolved": "http://registry.npm.taobao.org/multimatch/download/multimatch-2.1.0.tgz", 1510 | "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", 1511 | "dev": true, 1512 | "requires": { 1513 | "array-differ": "1.0.0", 1514 | "array-union": "1.0.2", 1515 | "arrify": "1.0.1", 1516 | "minimatch": "3.0.4" 1517 | } 1518 | }, 1519 | "node.extend": { 1520 | "version": "1.1.6", 1521 | "resolved": "http://registry.npm.taobao.org/node.extend/download/node.extend-1.1.6.tgz", 1522 | "integrity": "sha1-p7iCyC1sk6SGOlUEvV3o7IYli5Y=", 1523 | "dev": true, 1524 | "requires": { 1525 | "is": "3.2.1" 1526 | } 1527 | }, 1528 | "normalize-path": { 1529 | "version": "2.1.1", 1530 | "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", 1531 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 1532 | "dev": true, 1533 | "requires": { 1534 | "remove-trailing-separator": "1.1.0" 1535 | } 1536 | }, 1537 | "oauth-sign": { 1538 | "version": "0.8.2", 1539 | "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz", 1540 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", 1541 | "dev": true 1542 | }, 1543 | "object-assign": { 1544 | "version": "4.1.1", 1545 | "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", 1546 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 1547 | "dev": true 1548 | }, 1549 | "object.omit": { 1550 | "version": "2.0.1", 1551 | "resolved": "http://registry.npm.taobao.org/object.omit/download/object.omit-2.0.1.tgz", 1552 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", 1553 | "dev": true, 1554 | "requires": { 1555 | "for-own": "0.1.5", 1556 | "is-extendable": "0.1.1" 1557 | } 1558 | }, 1559 | "once": { 1560 | "version": "1.4.0", 1561 | "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz", 1562 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1563 | "dev": true, 1564 | "requires": { 1565 | "wrappy": "1.0.2" 1566 | } 1567 | }, 1568 | "opn": { 1569 | "version": "5.3.0", 1570 | "resolved": "http://registry.npm.taobao.org/opn/download/opn-5.3.0.tgz", 1571 | "integrity": "sha1-ZIcVZchjh18FLP31PT48ta21Oxw=", 1572 | "requires": { 1573 | "is-wsl": "1.1.0" 1574 | } 1575 | }, 1576 | "ordered-read-streams": { 1577 | "version": "0.3.0", 1578 | "resolved": "http://registry.npm.taobao.org/ordered-read-streams/download/ordered-read-streams-0.3.0.tgz", 1579 | "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", 1580 | "dev": true, 1581 | "requires": { 1582 | "is-stream": "1.1.0", 1583 | "readable-stream": "2.3.6" 1584 | } 1585 | }, 1586 | "parse-glob": { 1587 | "version": "3.0.4", 1588 | "resolved": "http://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz", 1589 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", 1590 | "dev": true, 1591 | "requires": { 1592 | "glob-base": "0.3.0", 1593 | "is-dotfile": "1.0.3", 1594 | "is-extglob": "1.0.0", 1595 | "is-glob": "2.0.1" 1596 | }, 1597 | "dependencies": { 1598 | "is-extglob": { 1599 | "version": "1.0.0", 1600 | "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz", 1601 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", 1602 | "dev": true 1603 | }, 1604 | "is-glob": { 1605 | "version": "2.0.1", 1606 | "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz", 1607 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", 1608 | "dev": true, 1609 | "requires": { 1610 | "is-extglob": "1.0.0" 1611 | } 1612 | } 1613 | } 1614 | }, 1615 | "path-dirname": { 1616 | "version": "1.0.2", 1617 | "resolved": "http://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", 1618 | "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", 1619 | "dev": true 1620 | }, 1621 | "path-is-absolute": { 1622 | "version": "1.0.1", 1623 | "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", 1624 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1625 | "dev": true 1626 | }, 1627 | "path-parse": { 1628 | "version": "1.0.6", 1629 | "resolved": "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz", 1630 | "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=", 1631 | "dev": true 1632 | }, 1633 | "pause-stream": { 1634 | "version": "0.0.11", 1635 | "resolved": "http://registry.npm.taobao.org/pause-stream/download/pause-stream-0.0.11.tgz", 1636 | "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", 1637 | "dev": true, 1638 | "requires": { 1639 | "through": "2.3.8" 1640 | } 1641 | }, 1642 | "pend": { 1643 | "version": "1.2.0", 1644 | "resolved": "http://registry.npm.taobao.org/pend/download/pend-1.2.0.tgz", 1645 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", 1646 | "dev": true 1647 | }, 1648 | "performance-now": { 1649 | "version": "2.1.0", 1650 | "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", 1651 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", 1652 | "dev": true 1653 | }, 1654 | "plugin-error": { 1655 | "version": "0.1.2", 1656 | "resolved": "http://registry.npm.taobao.org/plugin-error/download/plugin-error-0.1.2.tgz", 1657 | "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", 1658 | "dev": true, 1659 | "requires": { 1660 | "ansi-cyan": "0.1.1", 1661 | "ansi-red": "0.1.1", 1662 | "arr-diff": "1.1.0", 1663 | "arr-union": "2.1.0", 1664 | "extend-shallow": "1.1.4" 1665 | } 1666 | }, 1667 | "preserve": { 1668 | "version": "0.2.0", 1669 | "resolved": "http://registry.npm.taobao.org/preserve/download/preserve-0.2.0.tgz", 1670 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", 1671 | "dev": true 1672 | }, 1673 | "process-nextick-args": { 1674 | "version": "2.0.0", 1675 | "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", 1676 | "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", 1677 | "dev": true 1678 | }, 1679 | "punycode": { 1680 | "version": "1.4.1", 1681 | "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", 1682 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 1683 | "dev": true 1684 | }, 1685 | "qs": { 1686 | "version": "6.5.2", 1687 | "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz", 1688 | "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", 1689 | "dev": true 1690 | }, 1691 | "querystringify": { 1692 | "version": "2.0.0", 1693 | "resolved": "http://registry.npm.taobao.org/querystringify/download/querystringify-2.0.0.tgz", 1694 | "integrity": "sha1-+j7W5o6xUVlFfImze8ZHKDMZV1U=", 1695 | "dev": true 1696 | }, 1697 | "queue": { 1698 | "version": "3.1.0", 1699 | "resolved": "http://registry.npm.taobao.org/queue/download/queue-3.1.0.tgz", 1700 | "integrity": "sha1-bEnQHwCeIlZ4h4nyv/rGuLmZBYU=", 1701 | "dev": true, 1702 | "requires": { 1703 | "inherits": "2.0.3" 1704 | } 1705 | }, 1706 | "randomatic": { 1707 | "version": "3.1.0", 1708 | "resolved": "http://registry.npm.taobao.org/randomatic/download/randomatic-3.1.0.tgz", 1709 | "integrity": "sha1-NvLKcI6eVn9e0uwBlJAm1QqhARY=", 1710 | "dev": true, 1711 | "requires": { 1712 | "is-number": "4.0.0", 1713 | "kind-of": "6.0.2", 1714 | "math-random": "1.0.1" 1715 | }, 1716 | "dependencies": { 1717 | "is-number": { 1718 | "version": "4.0.0", 1719 | "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-4.0.0.tgz", 1720 | "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=", 1721 | "dev": true 1722 | }, 1723 | "kind-of": { 1724 | "version": "6.0.2", 1725 | "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz", 1726 | "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", 1727 | "dev": true 1728 | } 1729 | } 1730 | }, 1731 | "readable-stream": { 1732 | "version": "2.3.6", 1733 | "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz", 1734 | "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", 1735 | "dev": true, 1736 | "requires": { 1737 | "core-util-is": "1.0.2", 1738 | "inherits": "2.0.3", 1739 | "isarray": "1.0.0", 1740 | "process-nextick-args": "2.0.0", 1741 | "safe-buffer": "5.1.2", 1742 | "string_decoder": "1.1.1", 1743 | "util-deprecate": "1.0.2" 1744 | } 1745 | }, 1746 | "regex-cache": { 1747 | "version": "0.4.4", 1748 | "resolved": "http://registry.npm.taobao.org/regex-cache/download/regex-cache-0.4.4.tgz", 1749 | "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=", 1750 | "dev": true, 1751 | "requires": { 1752 | "is-equal-shallow": "0.1.3" 1753 | } 1754 | }, 1755 | "remove-trailing-separator": { 1756 | "version": "1.1.0", 1757 | "resolved": "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", 1758 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", 1759 | "dev": true 1760 | }, 1761 | "repeat-element": { 1762 | "version": "1.1.2", 1763 | "resolved": "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz", 1764 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", 1765 | "dev": true 1766 | }, 1767 | "repeat-string": { 1768 | "version": "1.6.1", 1769 | "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", 1770 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 1771 | "dev": true 1772 | }, 1773 | "replace-ext": { 1774 | "version": "1.0.0", 1775 | "resolved": "http://registry.npm.taobao.org/replace-ext/download/replace-ext-1.0.0.tgz", 1776 | "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", 1777 | "dev": true 1778 | }, 1779 | "request": { 1780 | "version": "2.87.0", 1781 | "resolved": "http://registry.npm.taobao.org/request/download/request-2.87.0.tgz", 1782 | "integrity": "sha1-MvACNc0I1IK00NaNuTqCnA7VdW4=", 1783 | "dev": true, 1784 | "requires": { 1785 | "aws-sign2": "0.7.0", 1786 | "aws4": "1.8.0", 1787 | "caseless": "0.12.0", 1788 | "combined-stream": "1.0.6", 1789 | "extend": "3.0.2", 1790 | "forever-agent": "0.6.1", 1791 | "form-data": "2.3.2", 1792 | "har-validator": "5.0.3", 1793 | "http-signature": "1.2.0", 1794 | "is-typedarray": "1.0.0", 1795 | "isstream": "0.1.2", 1796 | "json-stringify-safe": "5.0.1", 1797 | "mime-types": "2.1.19", 1798 | "oauth-sign": "0.8.2", 1799 | "performance-now": "2.1.0", 1800 | "qs": "6.5.2", 1801 | "safe-buffer": "5.1.2", 1802 | "tough-cookie": "2.3.4", 1803 | "tunnel-agent": "0.6.0", 1804 | "uuid": "3.3.2" 1805 | } 1806 | }, 1807 | "requires-port": { 1808 | "version": "1.0.0", 1809 | "resolved": "http://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", 1810 | "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", 1811 | "dev": true 1812 | }, 1813 | "resolve": { 1814 | "version": "1.8.1", 1815 | "resolved": "http://registry.npm.taobao.org/resolve/download/resolve-1.8.1.tgz", 1816 | "integrity": "sha1-gvHsGaQjrB+9CAsLqwa6NuhKeiY=", 1817 | "dev": true, 1818 | "requires": { 1819 | "path-parse": "1.0.6" 1820 | } 1821 | }, 1822 | "rimraf": { 1823 | "version": "2.6.2", 1824 | "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz", 1825 | "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", 1826 | "dev": true, 1827 | "requires": { 1828 | "glob": "7.1.2" 1829 | } 1830 | }, 1831 | "safe-buffer": { 1832 | "version": "5.1.2", 1833 | "resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", 1834 | "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", 1835 | "dev": true 1836 | }, 1837 | "safer-buffer": { 1838 | "version": "2.1.2", 1839 | "resolved": "http://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", 1840 | "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", 1841 | "dev": true 1842 | }, 1843 | "semver": { 1844 | "version": "5.5.0", 1845 | "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.5.0.tgz", 1846 | "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs=", 1847 | "dev": true 1848 | }, 1849 | "source-map": { 1850 | "version": "0.6.1", 1851 | "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", 1852 | "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", 1853 | "dev": true 1854 | }, 1855 | "source-map-support": { 1856 | "version": "0.5.8", 1857 | "resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.8.tgz", 1858 | "integrity": "sha1-BPVYFxOoplYS0BdfvzoB+AoWJhM=", 1859 | "dev": true, 1860 | "requires": { 1861 | "buffer-from": "1.1.1", 1862 | "source-map": "0.6.1" 1863 | } 1864 | }, 1865 | "split": { 1866 | "version": "0.3.3", 1867 | "resolved": "http://registry.npm.taobao.org/split/download/split-0.3.3.tgz", 1868 | "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", 1869 | "dev": true, 1870 | "requires": { 1871 | "through": "2.3.8" 1872 | } 1873 | }, 1874 | "sprintf-js": { 1875 | "version": "1.0.3", 1876 | "resolved": "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz", 1877 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 1878 | "dev": true 1879 | }, 1880 | "sshpk": { 1881 | "version": "1.14.2", 1882 | "resolved": "http://registry.npm.taobao.org/sshpk/download/sshpk-1.14.2.tgz", 1883 | "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", 1884 | "dev": true, 1885 | "requires": { 1886 | "asn1": "0.2.4", 1887 | "assert-plus": "1.0.0", 1888 | "bcrypt-pbkdf": "1.0.2", 1889 | "dashdash": "1.14.1", 1890 | "ecc-jsbn": "0.1.2", 1891 | "getpass": "0.1.7", 1892 | "jsbn": "0.1.1", 1893 | "safer-buffer": "2.1.2", 1894 | "tweetnacl": "0.14.5" 1895 | } 1896 | }, 1897 | "stat-mode": { 1898 | "version": "0.2.2", 1899 | "resolved": "http://registry.npm.taobao.org/stat-mode/download/stat-mode-0.2.2.tgz", 1900 | "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", 1901 | "dev": true 1902 | }, 1903 | "stream-combiner": { 1904 | "version": "0.0.4", 1905 | "resolved": "http://registry.npm.taobao.org/stream-combiner/download/stream-combiner-0.0.4.tgz", 1906 | "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", 1907 | "dev": true, 1908 | "requires": { 1909 | "duplexer": "0.1.1" 1910 | } 1911 | }, 1912 | "stream-shift": { 1913 | "version": "1.0.0", 1914 | "resolved": "http://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.0.tgz", 1915 | "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", 1916 | "dev": true 1917 | }, 1918 | "streamfilter": { 1919 | "version": "1.0.7", 1920 | "resolved": "http://registry.npm.taobao.org/streamfilter/download/streamfilter-1.0.7.tgz", 1921 | "integrity": "sha1-rj5kUiqlo1wGH9F/Z2IMdlPGQ8k=", 1922 | "dev": true, 1923 | "requires": { 1924 | "readable-stream": "2.3.6" 1925 | } 1926 | }, 1927 | "streamifier": { 1928 | "version": "0.1.1", 1929 | "resolved": "http://registry.npm.taobao.org/streamifier/download/streamifier-0.1.1.tgz", 1930 | "integrity": "sha1-l+mNj6TRBdYqJpHR3AfoINuN/E8=", 1931 | "dev": true 1932 | }, 1933 | "string_decoder": { 1934 | "version": "1.1.1", 1935 | "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", 1936 | "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", 1937 | "dev": true, 1938 | "requires": { 1939 | "safe-buffer": "5.1.2" 1940 | } 1941 | }, 1942 | "strip-ansi": { 1943 | "version": "3.0.1", 1944 | "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", 1945 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 1946 | "dev": true, 1947 | "requires": { 1948 | "ansi-regex": "2.1.1" 1949 | } 1950 | }, 1951 | "strip-bom": { 1952 | "version": "2.0.0", 1953 | "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", 1954 | "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", 1955 | "dev": true, 1956 | "requires": { 1957 | "is-utf8": "0.2.1" 1958 | } 1959 | }, 1960 | "strip-bom-stream": { 1961 | "version": "1.0.0", 1962 | "resolved": "http://registry.npm.taobao.org/strip-bom-stream/download/strip-bom-stream-1.0.0.tgz", 1963 | "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", 1964 | "dev": true, 1965 | "requires": { 1966 | "first-chunk-stream": "1.0.0", 1967 | "strip-bom": "2.0.0" 1968 | } 1969 | }, 1970 | "supports-color": { 1971 | "version": "2.0.0", 1972 | "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", 1973 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1974 | "dev": true 1975 | }, 1976 | "tar": { 1977 | "version": "2.2.1", 1978 | "resolved": "http://registry.npm.taobao.org/tar/download/tar-2.2.1.tgz", 1979 | "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", 1980 | "dev": true, 1981 | "requires": { 1982 | "block-stream": "0.0.9", 1983 | "fstream": "1.0.11", 1984 | "inherits": "2.0.3" 1985 | } 1986 | }, 1987 | "through": { 1988 | "version": "2.3.8", 1989 | "resolved": "http://registry.npm.taobao.org/through/download/through-2.3.8.tgz", 1990 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 1991 | "dev": true 1992 | }, 1993 | "through2": { 1994 | "version": "2.0.3", 1995 | "resolved": "http://registry.npm.taobao.org/through2/download/through2-2.0.3.tgz", 1996 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", 1997 | "dev": true, 1998 | "requires": { 1999 | "readable-stream": "2.3.6", 2000 | "xtend": "4.0.1" 2001 | } 2002 | }, 2003 | "through2-filter": { 2004 | "version": "2.0.0", 2005 | "resolved": "http://registry.npm.taobao.org/through2-filter/download/through2-filter-2.0.0.tgz", 2006 | "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", 2007 | "dev": true, 2008 | "requires": { 2009 | "through2": "2.0.3", 2010 | "xtend": "4.0.1" 2011 | } 2012 | }, 2013 | "to-absolute-glob": { 2014 | "version": "0.1.1", 2015 | "resolved": "http://registry.npm.taobao.org/to-absolute-glob/download/to-absolute-glob-0.1.1.tgz", 2016 | "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", 2017 | "dev": true, 2018 | "requires": { 2019 | "extend-shallow": "2.0.1" 2020 | }, 2021 | "dependencies": { 2022 | "extend-shallow": { 2023 | "version": "2.0.1", 2024 | "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", 2025 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 2026 | "dev": true, 2027 | "requires": { 2028 | "is-extendable": "0.1.1" 2029 | } 2030 | } 2031 | } 2032 | }, 2033 | "tough-cookie": { 2034 | "version": "2.3.4", 2035 | "resolved": "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.4.tgz", 2036 | "integrity": "sha1-7GDO44rGdQY//JelwYlwV47oNlU=", 2037 | "dev": true, 2038 | "requires": { 2039 | "punycode": "1.4.1" 2040 | } 2041 | }, 2042 | "tslib": { 2043 | "version": "1.9.3", 2044 | "resolved": "http://registry.npm.taobao.org/tslib/download/tslib-1.9.3.tgz", 2045 | "integrity": "sha1-1+TdeSRdhUKMTX5IIqeZF5VMooY=", 2046 | "dev": true 2047 | }, 2048 | "tslint": { 2049 | "version": "5.11.0", 2050 | "resolved": "http://registry.npm.taobao.org/tslint/download/tslint-5.11.0.tgz", 2051 | "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=", 2052 | "dev": true, 2053 | "requires": { 2054 | "babel-code-frame": "6.26.0", 2055 | "builtin-modules": "1.1.1", 2056 | "chalk": "2.4.1", 2057 | "commander": "2.17.1", 2058 | "diff": "3.5.0", 2059 | "glob": "7.1.2", 2060 | "js-yaml": "3.12.0", 2061 | "minimatch": "3.0.4", 2062 | "resolve": "1.8.1", 2063 | "semver": "5.5.0", 2064 | "tslib": "1.9.3", 2065 | "tsutils": "2.29.0" 2066 | } 2067 | }, 2068 | "tsutils": { 2069 | "version": "2.29.0", 2070 | "resolved": "http://registry.npm.taobao.org/tsutils/download/tsutils-2.29.0.tgz", 2071 | "integrity": "sha1-MrSIUBRnrL7dS4VJhnOggSrKC5k=", 2072 | "dev": true, 2073 | "requires": { 2074 | "tslib": "1.9.3" 2075 | } 2076 | }, 2077 | "tunnel-agent": { 2078 | "version": "0.6.0", 2079 | "resolved": "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", 2080 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 2081 | "dev": true, 2082 | "requires": { 2083 | "safe-buffer": "5.1.2" 2084 | } 2085 | }, 2086 | "tweetnacl": { 2087 | "version": "0.14.5", 2088 | "resolved": "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz", 2089 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 2090 | "dev": true, 2091 | "optional": true 2092 | }, 2093 | "typescript": { 2094 | "version": "2.9.2", 2095 | "resolved": "http://registry.npm.taobao.org/typescript/download/typescript-2.9.2.tgz", 2096 | "integrity": "sha1-HL9h0F1rliaSROtqO85L2RTg8Aw=", 2097 | "dev": true 2098 | }, 2099 | "unique-stream": { 2100 | "version": "2.2.1", 2101 | "resolved": "http://registry.npm.taobao.org/unique-stream/download/unique-stream-2.2.1.tgz", 2102 | "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", 2103 | "dev": true, 2104 | "requires": { 2105 | "json-stable-stringify": "1.0.1", 2106 | "through2-filter": "2.0.0" 2107 | } 2108 | }, 2109 | "url-parse": { 2110 | "version": "1.4.3", 2111 | "resolved": "http://registry.npm.taobao.org/url-parse/download/url-parse-1.4.3.tgz", 2112 | "integrity": "sha1-v67kVciJAjIZ11fgRfpqaE7DbBU=", 2113 | "dev": true, 2114 | "requires": { 2115 | "querystringify": "2.0.0", 2116 | "requires-port": "1.0.0" 2117 | } 2118 | }, 2119 | "util-deprecate": { 2120 | "version": "1.0.2", 2121 | "resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", 2122 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 2123 | "dev": true 2124 | }, 2125 | "uuid": { 2126 | "version": "3.3.2", 2127 | "resolved": "http://registry.npm.taobao.org/uuid/download/uuid-3.3.2.tgz", 2128 | "integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE=", 2129 | "dev": true 2130 | }, 2131 | "vali-date": { 2132 | "version": "1.0.0", 2133 | "resolved": "http://registry.npm.taobao.org/vali-date/download/vali-date-1.0.0.tgz", 2134 | "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=", 2135 | "dev": true 2136 | }, 2137 | "verror": { 2138 | "version": "1.10.0", 2139 | "resolved": "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", 2140 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 2141 | "dev": true, 2142 | "requires": { 2143 | "assert-plus": "1.0.0", 2144 | "core-util-is": "1.0.2", 2145 | "extsprintf": "1.3.0" 2146 | } 2147 | }, 2148 | "vinyl": { 2149 | "version": "0.4.6", 2150 | "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-0.4.6.tgz", 2151 | "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", 2152 | "dev": true, 2153 | "requires": { 2154 | "clone": "0.2.0", 2155 | "clone-stats": "0.0.1" 2156 | } 2157 | }, 2158 | "vinyl-fs": { 2159 | "version": "2.4.4", 2160 | "resolved": "http://registry.npm.taobao.org/vinyl-fs/download/vinyl-fs-2.4.4.tgz", 2161 | "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", 2162 | "dev": true, 2163 | "requires": { 2164 | "duplexify": "3.6.0", 2165 | "glob-stream": "5.3.5", 2166 | "graceful-fs": "4.1.11", 2167 | "gulp-sourcemaps": "1.6.0", 2168 | "is-valid-glob": "0.3.0", 2169 | "lazystream": "1.0.0", 2170 | "lodash.isequal": "4.5.0", 2171 | "merge-stream": "1.0.1", 2172 | "mkdirp": "0.5.1", 2173 | "object-assign": "4.1.1", 2174 | "readable-stream": "2.3.6", 2175 | "strip-bom": "2.0.0", 2176 | "strip-bom-stream": "1.0.0", 2177 | "through2": "2.0.3", 2178 | "through2-filter": "2.0.0", 2179 | "vali-date": "1.0.0", 2180 | "vinyl": "1.2.0" 2181 | }, 2182 | "dependencies": { 2183 | "clone": { 2184 | "version": "1.0.4", 2185 | "resolved": "http://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz", 2186 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", 2187 | "dev": true 2188 | }, 2189 | "replace-ext": { 2190 | "version": "0.0.1", 2191 | "resolved": "http://registry.npm.taobao.org/replace-ext/download/replace-ext-0.0.1.tgz", 2192 | "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", 2193 | "dev": true 2194 | }, 2195 | "vinyl": { 2196 | "version": "1.2.0", 2197 | "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-1.2.0.tgz", 2198 | "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", 2199 | "dev": true, 2200 | "requires": { 2201 | "clone": "1.0.4", 2202 | "clone-stats": "0.0.1", 2203 | "replace-ext": "0.0.1" 2204 | } 2205 | } 2206 | } 2207 | }, 2208 | "vinyl-source-stream": { 2209 | "version": "1.1.2", 2210 | "resolved": "http://registry.npm.taobao.org/vinyl-source-stream/download/vinyl-source-stream-1.1.2.tgz", 2211 | "integrity": "sha1-YrU6E1YQqJbpjKlr7jqH8Aio54A=", 2212 | "dev": true, 2213 | "requires": { 2214 | "through2": "2.0.3", 2215 | "vinyl": "0.4.6" 2216 | } 2217 | }, 2218 | "vscode": { 2219 | "version": "1.1.18", 2220 | "resolved": "http://registry.npm.taobao.org/vscode/download/vscode-1.1.18.tgz", 2221 | "integrity": "sha1-6SJyZdxy/IJr1s170hGT9OSPpnE=", 2222 | "dev": true, 2223 | "requires": { 2224 | "glob": "7.1.2", 2225 | "gulp-chmod": "2.0.0", 2226 | "gulp-filter": "5.1.0", 2227 | "gulp-gunzip": "1.0.0", 2228 | "gulp-remote-src-vscode": "0.5.0", 2229 | "gulp-symdest": "1.1.0", 2230 | "gulp-untar": "0.0.7", 2231 | "gulp-vinyl-zip": "2.1.0", 2232 | "mocha": "4.1.0", 2233 | "request": "2.87.0", 2234 | "semver": "5.5.0", 2235 | "source-map-support": "0.5.8", 2236 | "url-parse": "1.4.3", 2237 | "vinyl-source-stream": "1.1.2" 2238 | } 2239 | }, 2240 | "wrappy": { 2241 | "version": "1.0.2", 2242 | "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", 2243 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2244 | "dev": true 2245 | }, 2246 | "xtend": { 2247 | "version": "4.0.1", 2248 | "resolved": "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz", 2249 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 2250 | "dev": true 2251 | }, 2252 | "yauzl": { 2253 | "version": "2.10.0", 2254 | "resolved": "http://registry.npm.taobao.org/yauzl/download/yauzl-2.10.0.tgz", 2255 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 2256 | "dev": true, 2257 | "requires": { 2258 | "buffer-crc32": "0.2.13", 2259 | "fd-slicer": "1.1.0" 2260 | } 2261 | }, 2262 | "yazl": { 2263 | "version": "2.4.3", 2264 | "resolved": "http://registry.npm.taobao.org/yazl/download/yazl-2.4.3.tgz", 2265 | "integrity": "sha1-7CblzIfVYBud+EMtvdPNLlFzoHE=", 2266 | "dev": true, 2267 | "requires": { 2268 | "buffer-crc32": "0.2.13" 2269 | } 2270 | } 2271 | } 2272 | } 2273 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "open-in-browser", 3 | "displayName": "open in browser", 4 | "description": "This allows you to open the current file in your default browser or application.", 5 | "icon": "images/icon.png", 6 | "version": "2.0.0", 7 | "publisher": "techer", 8 | "repository": "https://github.com/SudoKillMe/vscode-extensions-open-in-browser", 9 | "engines": { 10 | "vscode": "^1.15.0" 11 | }, 12 | "categories": [ 13 | "Other" 14 | ], 15 | "keywords": [ 16 | "open", 17 | "html", 18 | "browser" 19 | ], 20 | "activationEvents": [ 21 | "onCommand:extension.openInDefaultBrowser", 22 | "onCommand:extension.openInSpecifyBrowser" 23 | ], 24 | "main": "./out/extension", 25 | "contributes": { 26 | "commands": [ 27 | { 28 | "command": "extension.openInDefaultBrowser", 29 | "title": "Open In Default Browser" 30 | }, 31 | 32 | { 33 | "command": "extension.openInSpecifyBrowser", 34 | "title": "Open In Other Browsers" 35 | } 36 | ], 37 | "configuration": { 38 | "type": "object", 39 | "title": "plugin open-in-browser", 40 | "properties": { 41 | "open-in-browser.default": { 42 | "type": "string", 43 | "default": "", 44 | "description": "Set default browser" 45 | } 46 | } 47 | }, 48 | "keybindings": [ 49 | { 50 | "command": "extension.openInSpecifyBrowser", 51 | "key": "shift+alt+B" 52 | }, 53 | { 54 | "command": "extension.openInDefaultBrowser", 55 | "key": "Alt+B" 56 | } 57 | ], 58 | "menus": { 59 | "explorer/context": [ 60 | { 61 | "when": "resourceLangId == html", 62 | "command": "extension.openInDefaultBrowser", 63 | "group": "open-in-browser" 64 | }, 65 | { 66 | "when": "resourceLangId == html", 67 | "command": "extension.openInSpecifyBrowser", 68 | "group": "open-in-browser" 69 | } 70 | ], 71 | "editor/context": [ 72 | { 73 | "when": "resourceLangId == html", 74 | "command": "extension.openInDefaultBrowser", 75 | "group": "open-in-browser" 76 | }, 77 | { 78 | "when": "resourceLangId == html", 79 | "command": "extension.openInSpecifyBrowser", 80 | "group": "open-in-browser" 81 | } 82 | ], 83 | "editor/title/context": [ 84 | { 85 | "when": "resourceLangId == html", 86 | "command": "extension.openInDefaultBrowser", 87 | "group": "open-in-browser" 88 | }, 89 | { 90 | "when": "resourceLangId == html", 91 | "command": "extension.openInSpecifyBrowser", 92 | "group": "open-in-browser" 93 | } 94 | ] 95 | } 96 | }, 97 | "scripts": { 98 | "vscode:prepublish": "npm run compile", 99 | "compile": "tsc -p ./", 100 | "watch": "tsc -watch -p ./", 101 | "postinstall": "node ./node_modules/vscode/bin/install", 102 | "test": "npm run compile && node ./node_modules/vscode/bin/test" 103 | }, 104 | "devDependencies": { 105 | "typescript": "^2.6.1", 106 | "vscode": "^1.1.6", 107 | "tslint": "^5.8.0", 108 | "@types/node": "^7.0.43", 109 | "@types/mocha": "^2.2.42" 110 | }, 111 | "dependencies": { 112 | "opn": "^5.3.0" 113 | } 114 | } 115 | -------------------------------------------------------------------------------- /src/config.ts: -------------------------------------------------------------------------------- 1 | import { QuickPickItem } from "vscode"; 2 | 3 | interface PickItem extends QuickPickItem { 4 | [propName: string]: any; 5 | } 6 | 7 | const platform = process.platform; 8 | 9 | const chromeItem: PickItem = { 10 | description: "Windows, Mac, Linux", 11 | detail: "A fast, secure, and free web browser built for the modern web", 12 | label: "Google Chrome", 13 | standardName: platform === 'win32' 14 | ? 'chrome' 15 | : ( 16 | platform === 'darwin' 17 | ? 'google chrome' 18 | : 'google-chrome' 19 | ), 20 | acceptName: ['chrome', 'google chrome', 'google-chrome', 'gc', '谷歌浏览器'] 21 | }; 22 | 23 | const chromiumItem: PickItem = { 24 | description: "Mac", 25 | detail: "A fast, secure, and free web browser built for the modern web", 26 | label: "Google Chromium", 27 | standardName: "Chromium", 28 | acceptName: ['chromium'] 29 | }; 30 | const firefoxItem: PickItem = { 31 | description: "Windows, Mac, Linux", 32 | detail: "A fast, smart and personal web browser", 33 | label: "Mozilla Firefox", 34 | standardName: "firefox", 35 | acceptName: ['firefox', 'ff', 'mozilla firefox', '火狐浏览器'] 36 | }; 37 | const firefoxDeveloperItem: PickItem = { 38 | description: "Mac", 39 | detail: "A fast, smart and personal web browser", 40 | label: "Mozilla Firefox Developer Edition", 41 | standardName: "FirefoxDeveloperEdition", 42 | acceptName: ['firefox developer', 'fde', 'firefox developer edition'] 43 | }; 44 | 45 | const ieItem: PickItem = { 46 | description: "Windows", 47 | detail: "A slightly outdated browser", 48 | label: "Microsoft IE", 49 | standardName: "iexplore", 50 | acceptName: ['ie', 'iexplore'] 51 | }; 52 | const edgeItem: PickItem = { 53 | description: "Windows", 54 | detail: "A modern browser aiming to replace ie", 55 | label: "Microsoft Edge", 56 | standardName: "MicrosoftEdge", 57 | acceptName: ['edge', 'msedge', 'microsoftedge'] 58 | }; 59 | 60 | const safariItem: PickItem = { 61 | description: "Mac", 62 | detail: "A fast, efficient browser on Mac", 63 | label: "Apple Safari", 64 | standardName: "safari", 65 | acceptName: ['safari'] 66 | }; 67 | 68 | const operaItem: PickItem = { 69 | description: "Windows, Mac", 70 | detail: 'A fast, secure, easy-to-use browser', 71 | label: 'Opera', 72 | standardName: 'opera', 73 | acceptName: ['opera'] 74 | }; 75 | 76 | const browsers = [chromeItem, firefoxItem, operaItem]; 77 | 78 | if (process.platform === 'win32') { 79 | browsers.push(ieItem); 80 | browsers.push(edgeItem); 81 | } else if (process.platform === 'darwin') { 82 | browsers.push(safariItem); 83 | browsers.push(chromiumItem); 84 | browsers.push(firefoxDeveloperItem); 85 | } 86 | 87 | export default { 88 | browsers: browsers, 89 | app: 'open-in-browser' 90 | }; -------------------------------------------------------------------------------- /src/extension.ts: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | import * as vscode from 'vscode'; 3 | import { 4 | openDefault, 5 | openBySpecify 6 | } from './index'; 7 | 8 | export function activate(context: vscode.ExtensionContext) { 9 | 10 | let openDefaultCommand = vscode.commands.registerCommand('extension.openInDefaultBrowser', (path) => { 11 | openDefault(path); 12 | }); 13 | let openBySpecifyCommand = vscode.commands.registerCommand('extension.openInSpecifyBrowser', (path) => { 14 | openBySpecify(path); 15 | }); 16 | 17 | context.subscriptions.push(openDefaultCommand); 18 | context.subscriptions.push(openBySpecifyCommand); 19 | } 20 | 21 | export function deactivate() { 22 | } -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { open, defaultBrowser, standardizedBrowserName } from './util'; 2 | import Config from './config'; 3 | import * as vscode from 'vscode'; 4 | 5 | function currentPageUri () { 6 | return vscode.window.activeTextEditor 7 | && vscode.window.activeTextEditor.document 8 | && vscode.window.activeTextEditor.document.uri; 9 | } 10 | 11 | /** 12 | * open default browser 13 | * if you have specified browser in configuration file, 14 | * the browser you specified will work. 15 | * else the system default browser will work. 16 | */ 17 | export const openDefault = (path: any): void => { 18 | let uri; 19 | if (path) { 20 | uri = path.fsPath; 21 | } else { 22 | const _path = currentPageUri(); 23 | uri = _path && _path.fsPath; 24 | } 25 | const browser = standardizedBrowserName(defaultBrowser()); 26 | open(uri, browser); 27 | }; 28 | 29 | /** 30 | * open specify browser 31 | */ 32 | export const openBySpecify = (path: any): void => { 33 | vscode.window.showQuickPick( 34 | Config.browsers 35 | ).then(item => { 36 | if (!item) { 37 | return; 38 | } 39 | let uri; 40 | if (path) { 41 | uri = path.fsPath; 42 | } else { 43 | const _path = currentPageUri(); 44 | uri = _path && _path.fsPath; 45 | } 46 | open(uri, item.standardName); 47 | }); 48 | }; 49 | -------------------------------------------------------------------------------- /src/util.ts: -------------------------------------------------------------------------------- 1 | import Config from './config'; 2 | import * as vscode from 'vscode'; 3 | 4 | const opn = require('opn'); 5 | 6 | /** 7 | * get standardized browser name 8 | * @param name String 9 | */ 10 | export const standardizedBrowserName = (name: string = ''): string => { 11 | let _name = name.toLowerCase(); 12 | const browser = Config.browsers.find(item => { 13 | return item.acceptName.indexOf(_name) !== -1; 14 | }); 15 | 16 | return browser ? browser.standardName : ''; 17 | }; 18 | 19 | /** 20 | * get default browser name 21 | */ 22 | export const defaultBrowser = (): string => { 23 | const config = vscode.workspace.getConfiguration(Config.app); 24 | return config ? config.default : ''; 25 | }; 26 | 27 | export const open = (path: string, browser: string = '') => { 28 | // const name = browser ? browser : standardizedBrowserName(defaultBrowser()); 29 | // const name = standardizedBrowserName(browser); 30 | opn(path, { app: browser }) 31 | .catch(_ => { 32 | vscode.window.showErrorMessage(`Open browser failed!! Please check if you have installed the browser ${browser} correctly!`); 33 | }); 34 | }; 35 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es6", 5 | "outDir": "out", 6 | "lib": [ 7 | "es6" 8 | ], 9 | "sourceMap": true, 10 | "rootDir": "src", 11 | /* Strict Type-Checking Option */ 12 | "strict": false, /* enable all strict type-checking options */ 13 | /* Additional Checks */ 14 | "noUnusedLocals": true /* Report errors on unused locals. */ 15 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 16 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 17 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 18 | }, 19 | "exclude": [ 20 | "node_modules", 21 | ".vscode-test" 22 | ] 23 | } -------------------------------------------------------------------------------- /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 | true, 10 | "always" 11 | ], 12 | "triple-equals": true 13 | }, 14 | "defaultSeverity": "warning" 15 | } -------------------------------------------------------------------------------- /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 | * `extension.js` - 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 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 `extension.js` 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.js` or create new test files inside the `test` folder 32 | * by convention, the test runner will only consider files matching the name pattern `**.test.js` 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 | 9 | "@types/node@^7.0.43": 10 | version "7.0.69" 11 | resolved "http://registry.npm.taobao.org/@types/node/download/@types/node-7.0.69.tgz#709629340708ec0e1845559bf5c0c88d26d31dca" 12 | 13 | ajv@^5.3.0: 14 | version "5.5.2" 15 | resolved "http://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" 16 | dependencies: 17 | co "^4.6.0" 18 | fast-deep-equal "^1.0.0" 19 | fast-json-stable-stringify "^2.0.0" 20 | json-schema-traverse "^0.3.0" 21 | 22 | ansi-cyan@^0.1.1: 23 | version "0.1.1" 24 | resolved "http://registry.npm.taobao.org/ansi-cyan/download/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873" 25 | dependencies: 26 | ansi-wrap "0.1.0" 27 | 28 | ansi-red@^0.1.1: 29 | version "0.1.1" 30 | resolved "http://registry.npm.taobao.org/ansi-red/download/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" 31 | dependencies: 32 | ansi-wrap "0.1.0" 33 | 34 | ansi-regex@^2.0.0: 35 | version "2.1.1" 36 | resolved "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 37 | 38 | ansi-styles@^2.2.1: 39 | version "2.2.1" 40 | resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 41 | 42 | ansi-styles@^3.2.1: 43 | version "3.2.1" 44 | resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 45 | dependencies: 46 | color-convert "^1.9.0" 47 | 48 | ansi-wrap@0.1.0: 49 | version "0.1.0" 50 | resolved "http://registry.npm.taobao.org/ansi-wrap/download/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" 51 | 52 | argparse@^1.0.7: 53 | version "1.0.10" 54 | resolved "http://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 55 | dependencies: 56 | sprintf-js "~1.0.2" 57 | 58 | arr-diff@^1.0.1: 59 | version "1.1.0" 60 | resolved "http://registry.npm.taobao.org/arr-diff/download/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a" 61 | dependencies: 62 | arr-flatten "^1.0.1" 63 | array-slice "^0.2.3" 64 | 65 | arr-diff@^2.0.0: 66 | version "2.0.0" 67 | resolved "http://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 68 | dependencies: 69 | arr-flatten "^1.0.1" 70 | 71 | arr-flatten@^1.0.1: 72 | version "1.1.0" 73 | resolved "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 74 | 75 | arr-union@^2.0.1: 76 | version "2.1.0" 77 | resolved "http://registry.npm.taobao.org/arr-union/download/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d" 78 | 79 | array-differ@^1.0.0: 80 | version "1.0.0" 81 | resolved "http://registry.npm.taobao.org/array-differ/download/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" 82 | 83 | array-slice@^0.2.3: 84 | version "0.2.3" 85 | resolved "http://registry.npm.taobao.org/array-slice/download/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" 86 | 87 | array-union@^1.0.1: 88 | version "1.0.2" 89 | resolved "http://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 90 | dependencies: 91 | array-uniq "^1.0.1" 92 | 93 | array-uniq@^1.0.1: 94 | version "1.0.3" 95 | resolved "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 96 | 97 | array-unique@^0.2.1: 98 | version "0.2.1" 99 | resolved "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 100 | 101 | arrify@^1.0.0: 102 | version "1.0.1" 103 | resolved "http://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 104 | 105 | asn1@~0.2.3: 106 | version "0.2.4" 107 | resolved "http://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" 108 | dependencies: 109 | safer-buffer "~2.1.0" 110 | 111 | assert-plus@1.0.0, assert-plus@^1.0.0: 112 | version "1.0.0" 113 | resolved "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 114 | 115 | asynckit@^0.4.0: 116 | version "0.4.0" 117 | resolved "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 118 | 119 | aws-sign2@~0.7.0: 120 | version "0.7.0" 121 | resolved "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 122 | 123 | aws4@^1.8.0: 124 | version "1.8.0" 125 | resolved "http://registry.npm.taobao.org/aws4/download/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" 126 | 127 | babel-code-frame@^6.22.0: 128 | version "6.26.0" 129 | resolved "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 130 | dependencies: 131 | chalk "^1.1.3" 132 | esutils "^2.0.2" 133 | js-tokens "^3.0.2" 134 | 135 | balanced-match@^1.0.0: 136 | version "1.0.0" 137 | resolved "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 138 | 139 | bcrypt-pbkdf@^1.0.0: 140 | version "1.0.2" 141 | resolved "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 142 | dependencies: 143 | tweetnacl "^0.14.3" 144 | 145 | block-stream@*: 146 | version "0.0.9" 147 | resolved "http://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 148 | dependencies: 149 | inherits "~2.0.0" 150 | 151 | brace-expansion@^1.1.7: 152 | version "1.1.11" 153 | resolved "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 154 | dependencies: 155 | balanced-match "^1.0.0" 156 | concat-map "0.0.1" 157 | 158 | braces@^1.8.2: 159 | version "1.8.5" 160 | resolved "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 161 | dependencies: 162 | expand-range "^1.8.1" 163 | preserve "^0.2.0" 164 | repeat-element "^1.1.2" 165 | 166 | browser-stdout@1.3.0: 167 | version "1.3.0" 168 | resolved "http://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" 169 | 170 | buffer-crc32@~0.2.3: 171 | version "0.2.13" 172 | resolved "http://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" 173 | 174 | buffer-from@^1.0.0: 175 | version "1.1.1" 176 | resolved "http://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 177 | 178 | builtin-modules@^1.1.1: 179 | version "1.1.1" 180 | resolved "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 181 | 182 | caseless@~0.12.0: 183 | version "0.12.0" 184 | resolved "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 185 | 186 | chalk@^1.1.3: 187 | version "1.1.3" 188 | resolved "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 189 | dependencies: 190 | ansi-styles "^2.2.1" 191 | escape-string-regexp "^1.0.2" 192 | has-ansi "^2.0.0" 193 | strip-ansi "^3.0.0" 194 | supports-color "^2.0.0" 195 | 196 | chalk@^2.3.0: 197 | version "2.4.1" 198 | resolved "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" 199 | dependencies: 200 | ansi-styles "^3.2.1" 201 | escape-string-regexp "^1.0.5" 202 | supports-color "^5.3.0" 203 | 204 | clone-buffer@^1.0.0: 205 | version "1.0.0" 206 | resolved "http://registry.npm.taobao.org/clone-buffer/download/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" 207 | 208 | clone-stats@^0.0.1: 209 | version "0.0.1" 210 | resolved "http://registry.npm.taobao.org/clone-stats/download/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" 211 | 212 | clone-stats@^1.0.0: 213 | version "1.0.0" 214 | resolved "http://registry.npm.taobao.org/clone-stats/download/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" 215 | 216 | clone@^0.2.0: 217 | version "0.2.0" 218 | resolved "http://registry.npm.taobao.org/clone/download/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" 219 | 220 | clone@^1.0.0: 221 | version "1.0.4" 222 | resolved "http://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" 223 | 224 | clone@^2.1.1: 225 | version "2.1.2" 226 | resolved "http://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" 227 | 228 | cloneable-readable@^1.0.0: 229 | version "1.1.2" 230 | resolved "http://registry.npm.taobao.org/cloneable-readable/download/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" 231 | dependencies: 232 | inherits "^2.0.1" 233 | process-nextick-args "^2.0.0" 234 | readable-stream "^2.3.5" 235 | 236 | co@^4.6.0: 237 | version "4.6.0" 238 | resolved "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 239 | 240 | color-convert@^1.9.0: 241 | version "1.9.2" 242 | resolved "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147" 243 | dependencies: 244 | color-name "1.1.1" 245 | 246 | color-name@1.1.1: 247 | version "1.1.1" 248 | resolved "http://registry.npm.taobao.org/color-name/download/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" 249 | 250 | combined-stream@1.0.6, combined-stream@~1.0.6: 251 | version "1.0.6" 252 | resolved "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" 253 | dependencies: 254 | delayed-stream "~1.0.0" 255 | 256 | commander@2.11.0: 257 | version "2.11.0" 258 | resolved "http://registry.npm.taobao.org/commander/download/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" 259 | 260 | commander@^2.12.1: 261 | version "2.17.1" 262 | resolved "http://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" 263 | 264 | concat-map@0.0.1: 265 | version "0.0.1" 266 | resolved "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 267 | 268 | convert-source-map@^1.1.1: 269 | version "1.5.1" 270 | resolved "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" 271 | 272 | core-util-is@1.0.2, core-util-is@~1.0.0: 273 | version "1.0.2" 274 | resolved "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 275 | 276 | dashdash@^1.12.0: 277 | version "1.14.1" 278 | resolved "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 279 | dependencies: 280 | assert-plus "^1.0.0" 281 | 282 | debug@3.1.0: 283 | version "3.1.0" 284 | resolved "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 285 | dependencies: 286 | ms "2.0.0" 287 | 288 | deep-assign@^1.0.0: 289 | version "1.0.0" 290 | resolved "http://registry.npm.taobao.org/deep-assign/download/deep-assign-1.0.0.tgz#b092743be8427dc621ea0067cdec7e70dd19f37b" 291 | dependencies: 292 | is-obj "^1.0.0" 293 | 294 | delayed-stream@~1.0.0: 295 | version "1.0.0" 296 | resolved "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 297 | 298 | diff@3.3.1: 299 | version "3.3.1" 300 | resolved "http://registry.npm.taobao.org/diff/download/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" 301 | 302 | diff@^3.2.0: 303 | version "3.5.0" 304 | resolved "http://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 305 | 306 | duplexer@~0.1.1: 307 | version "0.1.1" 308 | resolved "http://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" 309 | 310 | duplexify@^3.2.0: 311 | version "3.6.0" 312 | resolved "http://registry.npm.taobao.org/duplexify/download/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" 313 | dependencies: 314 | end-of-stream "^1.0.0" 315 | inherits "^2.0.1" 316 | readable-stream "^2.0.0" 317 | stream-shift "^1.0.0" 318 | 319 | ecc-jsbn@~0.1.1: 320 | version "0.1.2" 321 | resolved "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 322 | dependencies: 323 | jsbn "~0.1.0" 324 | safer-buffer "^2.1.0" 325 | 326 | end-of-stream@^1.0.0: 327 | version "1.4.1" 328 | resolved "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 329 | dependencies: 330 | once "^1.4.0" 331 | 332 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 333 | version "1.0.5" 334 | resolved "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 335 | 336 | esprima@^4.0.0: 337 | version "4.0.1" 338 | resolved "http://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 339 | 340 | esutils@^2.0.2: 341 | version "2.0.2" 342 | resolved "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 343 | 344 | event-stream@^3.3.1, event-stream@^3.3.4, event-stream@~3.3.4: 345 | version "3.3.4" 346 | resolved "http://registry.npm.taobao.org/event-stream/download/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" 347 | dependencies: 348 | duplexer "~0.1.1" 349 | from "~0" 350 | map-stream "~0.1.0" 351 | pause-stream "0.0.11" 352 | split "0.3" 353 | stream-combiner "~0.0.4" 354 | through "~2.3.1" 355 | 356 | expand-brackets@^0.1.4: 357 | version "0.1.5" 358 | resolved "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 359 | dependencies: 360 | is-posix-bracket "^0.1.0" 361 | 362 | expand-range@^1.8.1: 363 | version "1.8.2" 364 | resolved "http://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 365 | dependencies: 366 | fill-range "^2.1.0" 367 | 368 | extend-shallow@^1.1.2: 369 | version "1.1.4" 370 | resolved "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071" 371 | dependencies: 372 | kind-of "^1.1.0" 373 | 374 | extend-shallow@^2.0.1: 375 | version "2.0.1" 376 | resolved "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 377 | dependencies: 378 | is-extendable "^0.1.0" 379 | 380 | extend@^3.0.0, extend@~3.0.2: 381 | version "3.0.2" 382 | resolved "http://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 383 | 384 | extglob@^0.3.1: 385 | version "0.3.2" 386 | resolved "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 387 | dependencies: 388 | is-extglob "^1.0.0" 389 | 390 | extsprintf@1.3.0: 391 | version "1.3.0" 392 | resolved "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 393 | 394 | extsprintf@^1.2.0: 395 | version "1.4.0" 396 | resolved "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 397 | 398 | fast-deep-equal@^1.0.0: 399 | version "1.1.0" 400 | resolved "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" 401 | 402 | fast-json-stable-stringify@^2.0.0: 403 | version "2.0.0" 404 | resolved "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 405 | 406 | fd-slicer@~1.1.0: 407 | version "1.1.0" 408 | resolved "http://registry.npm.taobao.org/fd-slicer/download/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" 409 | dependencies: 410 | pend "~1.2.0" 411 | 412 | filename-regex@^2.0.0: 413 | version "2.0.1" 414 | resolved "http://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" 415 | 416 | fill-range@^2.1.0: 417 | version "2.2.4" 418 | resolved "http://registry.npm.taobao.org/fill-range/download/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" 419 | dependencies: 420 | is-number "^2.1.0" 421 | isobject "^2.0.0" 422 | randomatic "^3.0.0" 423 | repeat-element "^1.1.2" 424 | repeat-string "^1.5.2" 425 | 426 | first-chunk-stream@^1.0.0: 427 | version "1.0.0" 428 | resolved "http://registry.npm.taobao.org/first-chunk-stream/download/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" 429 | 430 | for-in@^1.0.1: 431 | version "1.0.2" 432 | resolved "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 433 | 434 | for-own@^0.1.4: 435 | version "0.1.5" 436 | resolved "http://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" 437 | dependencies: 438 | for-in "^1.0.1" 439 | 440 | forever-agent@~0.6.1: 441 | version "0.6.1" 442 | resolved "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 443 | 444 | form-data@~2.3.2: 445 | version "2.3.2" 446 | resolved "http://registry.npm.taobao.org/form-data/download/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" 447 | dependencies: 448 | asynckit "^0.4.0" 449 | combined-stream "1.0.6" 450 | mime-types "^2.1.12" 451 | 452 | from@~0: 453 | version "0.1.7" 454 | resolved "http://registry.npm.taobao.org/from/download/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" 455 | 456 | fs.realpath@^1.0.0: 457 | version "1.0.0" 458 | resolved "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 459 | 460 | fstream@^1.0.2: 461 | version "1.0.11" 462 | resolved "http://registry.npm.taobao.org/fstream/download/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" 463 | dependencies: 464 | graceful-fs "^4.1.2" 465 | inherits "~2.0.0" 466 | mkdirp ">=0.5 0" 467 | rimraf "2" 468 | 469 | getpass@^0.1.1: 470 | version "0.1.7" 471 | resolved "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 472 | dependencies: 473 | assert-plus "^1.0.0" 474 | 475 | glob-base@^0.3.0: 476 | version "0.3.0" 477 | resolved "http://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 478 | dependencies: 479 | glob-parent "^2.0.0" 480 | is-glob "^2.0.0" 481 | 482 | glob-parent@^2.0.0: 483 | version "2.0.0" 484 | resolved "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 485 | dependencies: 486 | is-glob "^2.0.0" 487 | 488 | glob-parent@^3.0.0: 489 | version "3.1.0" 490 | resolved "http://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" 491 | dependencies: 492 | is-glob "^3.1.0" 493 | path-dirname "^1.0.0" 494 | 495 | glob-stream@^5.3.2: 496 | version "5.3.5" 497 | resolved "http://registry.npm.taobao.org/glob-stream/download/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" 498 | dependencies: 499 | extend "^3.0.0" 500 | glob "^5.0.3" 501 | glob-parent "^3.0.0" 502 | micromatch "^2.3.7" 503 | ordered-read-streams "^0.3.0" 504 | through2 "^0.6.0" 505 | to-absolute-glob "^0.1.1" 506 | unique-stream "^2.0.2" 507 | 508 | glob@7.1.2, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: 509 | version "7.1.2" 510 | resolved "http://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 511 | dependencies: 512 | fs.realpath "^1.0.0" 513 | inflight "^1.0.4" 514 | inherits "2" 515 | minimatch "^3.0.4" 516 | once "^1.3.0" 517 | path-is-absolute "^1.0.0" 518 | 519 | glob@^5.0.3: 520 | version "5.0.15" 521 | resolved "http://registry.npm.taobao.org/glob/download/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" 522 | dependencies: 523 | inflight "^1.0.4" 524 | inherits "2" 525 | minimatch "2 || 3" 526 | once "^1.3.0" 527 | path-is-absolute "^1.0.0" 528 | 529 | graceful-fs@^4.0.0, graceful-fs@^4.1.2: 530 | version "4.1.11" 531 | resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 532 | 533 | growl@1.10.3: 534 | version "1.10.3" 535 | resolved "http://registry.npm.taobao.org/growl/download/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" 536 | 537 | gulp-chmod@^2.0.0: 538 | version "2.0.0" 539 | resolved "http://registry.npm.taobao.org/gulp-chmod/download/gulp-chmod-2.0.0.tgz#00c390b928a0799b251accf631aa09e01cc6299c" 540 | dependencies: 541 | deep-assign "^1.0.0" 542 | stat-mode "^0.2.0" 543 | through2 "^2.0.0" 544 | 545 | gulp-filter@^5.0.1: 546 | version "5.1.0" 547 | resolved "http://registry.npm.taobao.org/gulp-filter/download/gulp-filter-5.1.0.tgz#a05e11affb07cf7dcf41a7de1cb7b63ac3783e73" 548 | dependencies: 549 | multimatch "^2.0.0" 550 | plugin-error "^0.1.2" 551 | streamfilter "^1.0.5" 552 | 553 | gulp-gunzip@1.0.0: 554 | version "1.0.0" 555 | resolved "http://registry.npm.taobao.org/gulp-gunzip/download/gulp-gunzip-1.0.0.tgz#15b741145e83a9c6f50886241b57cc5871f151a9" 556 | dependencies: 557 | through2 "~0.6.5" 558 | vinyl "~0.4.6" 559 | 560 | gulp-remote-src-vscode@^0.5.0: 561 | version "0.5.0" 562 | resolved "http://registry.npm.taobao.org/gulp-remote-src-vscode/download/gulp-remote-src-vscode-0.5.0.tgz#71785553bc491880088ad971f90910c4b2d80a99" 563 | dependencies: 564 | event-stream "^3.3.4" 565 | node.extend "^1.1.2" 566 | request "^2.79.0" 567 | through2 "^2.0.3" 568 | vinyl "^2.0.1" 569 | 570 | gulp-sourcemaps@1.6.0: 571 | version "1.6.0" 572 | resolved "http://registry.npm.taobao.org/gulp-sourcemaps/download/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c" 573 | dependencies: 574 | convert-source-map "^1.1.1" 575 | graceful-fs "^4.1.2" 576 | strip-bom "^2.0.0" 577 | through2 "^2.0.0" 578 | vinyl "^1.0.0" 579 | 580 | gulp-symdest@^1.1.0: 581 | version "1.1.0" 582 | resolved "http://registry.npm.taobao.org/gulp-symdest/download/gulp-symdest-1.1.0.tgz#c165320732d192ce56fd94271ffa123234bf2ae0" 583 | dependencies: 584 | event-stream "^3.3.1" 585 | mkdirp "^0.5.1" 586 | queue "^3.1.0" 587 | vinyl-fs "^2.4.3" 588 | 589 | gulp-untar@^0.0.7: 590 | version "0.0.7" 591 | resolved "http://registry.npm.taobao.org/gulp-untar/download/gulp-untar-0.0.7.tgz#92067d79e0fa1e92d60562a100233a44a5aa08b4" 592 | dependencies: 593 | event-stream "~3.3.4" 594 | streamifier "~0.1.1" 595 | tar "^2.2.1" 596 | through2 "~2.0.3" 597 | vinyl "^1.2.0" 598 | 599 | gulp-vinyl-zip@^2.1.0: 600 | version "2.1.0" 601 | resolved "http://registry.npm.taobao.org/gulp-vinyl-zip/download/gulp-vinyl-zip-2.1.0.tgz#24e40685dc05b7149995245099e0590263be8dad" 602 | dependencies: 603 | event-stream "^3.3.1" 604 | queue "^4.2.1" 605 | through2 "^2.0.3" 606 | vinyl "^2.0.2" 607 | vinyl-fs "^2.0.0" 608 | yauzl "^2.2.1" 609 | yazl "^2.2.1" 610 | 611 | har-schema@^2.0.0: 612 | version "2.0.0" 613 | resolved "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 614 | 615 | har-validator@~5.1.0: 616 | version "5.1.0" 617 | resolved "http://registry.npm.taobao.org/har-validator/download/har-validator-5.1.0.tgz#44657f5688a22cfd4b72486e81b3a3fb11742c29" 618 | dependencies: 619 | ajv "^5.3.0" 620 | har-schema "^2.0.0" 621 | 622 | has-ansi@^2.0.0: 623 | version "2.0.0" 624 | resolved "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 625 | dependencies: 626 | ansi-regex "^2.0.0" 627 | 628 | has-flag@^2.0.0: 629 | version "2.0.0" 630 | resolved "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" 631 | 632 | has-flag@^3.0.0: 633 | version "3.0.0" 634 | resolved "http://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 635 | 636 | he@1.1.1: 637 | version "1.1.1" 638 | resolved "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" 639 | 640 | http-signature@~1.2.0: 641 | version "1.2.0" 642 | resolved "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 643 | dependencies: 644 | assert-plus "^1.0.0" 645 | jsprim "^1.2.2" 646 | sshpk "^1.7.0" 647 | 648 | inflight@^1.0.4: 649 | version "1.0.6" 650 | resolved "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 651 | dependencies: 652 | once "^1.3.0" 653 | wrappy "1" 654 | 655 | inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: 656 | version "2.0.3" 657 | resolved "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 658 | 659 | is-buffer@^1.1.5: 660 | version "1.1.6" 661 | resolved "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 662 | 663 | is-dotfile@^1.0.0: 664 | version "1.0.3" 665 | resolved "http://registry.npm.taobao.org/is-dotfile/download/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" 666 | 667 | is-equal-shallow@^0.1.3: 668 | version "0.1.3" 669 | resolved "http://registry.npm.taobao.org/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 670 | dependencies: 671 | is-primitive "^2.0.0" 672 | 673 | is-extendable@^0.1.0, is-extendable@^0.1.1: 674 | version "0.1.1" 675 | resolved "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 676 | 677 | is-extglob@^1.0.0: 678 | version "1.0.0" 679 | resolved "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 680 | 681 | is-extglob@^2.1.0: 682 | version "2.1.1" 683 | resolved "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 684 | 685 | is-glob@^2.0.0, is-glob@^2.0.1: 686 | version "2.0.1" 687 | resolved "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 688 | dependencies: 689 | is-extglob "^1.0.0" 690 | 691 | is-glob@^3.1.0: 692 | version "3.1.0" 693 | resolved "http://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 694 | dependencies: 695 | is-extglob "^2.1.0" 696 | 697 | is-number@^2.1.0: 698 | version "2.1.0" 699 | resolved "http://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 700 | dependencies: 701 | kind-of "^3.0.2" 702 | 703 | is-number@^4.0.0: 704 | version "4.0.0" 705 | resolved "http://registry.npm.taobao.org/is-number/download/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" 706 | 707 | is-obj@^1.0.0: 708 | version "1.0.1" 709 | resolved "http://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 710 | 711 | is-posix-bracket@^0.1.0: 712 | version "0.1.1" 713 | resolved "http://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 714 | 715 | is-primitive@^2.0.0: 716 | version "2.0.0" 717 | resolved "http://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 718 | 719 | is-stream@^1.0.1: 720 | version "1.1.0" 721 | resolved "http://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 722 | 723 | is-typedarray@~1.0.0: 724 | version "1.0.0" 725 | resolved "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 726 | 727 | is-utf8@^0.2.0: 728 | version "0.2.1" 729 | resolved "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 730 | 731 | is-valid-glob@^0.3.0: 732 | version "0.3.0" 733 | resolved "http://registry.npm.taobao.org/is-valid-glob/download/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe" 734 | 735 | is@^3.1.0: 736 | version "3.2.1" 737 | resolved "http://registry.npm.taobao.org/is/download/is-3.2.1.tgz#d0ac2ad55eb7b0bec926a5266f6c662aaa83dca5" 738 | 739 | isarray@0.0.1: 740 | version "0.0.1" 741 | resolved "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 742 | 743 | isarray@1.0.0, isarray@~1.0.0: 744 | version "1.0.0" 745 | resolved "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 746 | 747 | isobject@^2.0.0: 748 | version "2.1.0" 749 | resolved "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 750 | dependencies: 751 | isarray "1.0.0" 752 | 753 | isstream@~0.1.2: 754 | version "0.1.2" 755 | resolved "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 756 | 757 | js-tokens@^3.0.2: 758 | version "3.0.2" 759 | resolved "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 760 | 761 | js-yaml@^3.7.0: 762 | version "3.12.0" 763 | resolved "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" 764 | dependencies: 765 | argparse "^1.0.7" 766 | esprima "^4.0.0" 767 | 768 | jsbn@~0.1.0: 769 | version "0.1.1" 770 | resolved "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 771 | 772 | json-schema-traverse@^0.3.0: 773 | version "0.3.1" 774 | resolved "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" 775 | 776 | json-schema@0.2.3: 777 | version "0.2.3" 778 | resolved "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 779 | 780 | json-stable-stringify@^1.0.0: 781 | version "1.0.1" 782 | resolved "http://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 783 | dependencies: 784 | jsonify "~0.0.0" 785 | 786 | json-stringify-safe@~5.0.1: 787 | version "5.0.1" 788 | resolved "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 789 | 790 | jsonify@~0.0.0: 791 | version "0.0.0" 792 | resolved "http://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 793 | 794 | jsprim@^1.2.2: 795 | version "1.4.1" 796 | resolved "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 797 | dependencies: 798 | assert-plus "1.0.0" 799 | extsprintf "1.3.0" 800 | json-schema "0.2.3" 801 | verror "1.10.0" 802 | 803 | kind-of@^1.1.0: 804 | version "1.1.0" 805 | resolved "http://registry.npm.taobao.org/kind-of/download/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44" 806 | 807 | kind-of@^3.0.2: 808 | version "3.2.2" 809 | resolved "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 810 | dependencies: 811 | is-buffer "^1.1.5" 812 | 813 | kind-of@^6.0.0: 814 | version "6.0.2" 815 | resolved "http://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 816 | 817 | lazystream@^1.0.0: 818 | version "1.0.0" 819 | resolved "http://registry.npm.taobao.org/lazystream/download/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" 820 | dependencies: 821 | readable-stream "^2.0.5" 822 | 823 | lodash.isequal@^4.0.0: 824 | version "4.5.0" 825 | resolved "http://registry.npm.taobao.org/lodash.isequal/download/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" 826 | 827 | map-stream@~0.1.0: 828 | version "0.1.0" 829 | resolved "http://registry.npm.taobao.org/map-stream/download/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" 830 | 831 | math-random@^1.0.1: 832 | version "1.0.1" 833 | resolved "http://registry.npm.taobao.org/math-random/download/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" 834 | 835 | merge-stream@^1.0.0: 836 | version "1.0.1" 837 | resolved "http://registry.npm.taobao.org/merge-stream/download/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" 838 | dependencies: 839 | readable-stream "^2.0.1" 840 | 841 | micromatch@^2.3.7: 842 | version "2.3.11" 843 | resolved "http://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 844 | dependencies: 845 | arr-diff "^2.0.0" 846 | array-unique "^0.2.1" 847 | braces "^1.8.2" 848 | expand-brackets "^0.1.4" 849 | extglob "^0.3.1" 850 | filename-regex "^2.0.0" 851 | is-extglob "^1.0.0" 852 | is-glob "^2.0.1" 853 | kind-of "^3.0.2" 854 | normalize-path "^2.0.1" 855 | object.omit "^2.0.0" 856 | parse-glob "^3.0.4" 857 | regex-cache "^0.4.2" 858 | 859 | mime-db@~1.35.0: 860 | version "1.35.0" 861 | resolved "http://registry.npm.taobao.org/mime-db/download/mime-db-1.35.0.tgz#0569d657466491283709663ad379a99b90d9ab47" 862 | 863 | mime-types@^2.1.12, mime-types@~2.1.19: 864 | version "2.1.19" 865 | resolved "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.19.tgz#71e464537a7ef81c15f2db9d97e913fc0ff606f0" 866 | dependencies: 867 | mime-db "~1.35.0" 868 | 869 | "minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.4: 870 | version "3.0.4" 871 | resolved "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 872 | dependencies: 873 | brace-expansion "^1.1.7" 874 | 875 | minimist@0.0.8: 876 | version "0.0.8" 877 | resolved "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 878 | 879 | mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: 880 | version "0.5.1" 881 | resolved "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 882 | dependencies: 883 | minimist "0.0.8" 884 | 885 | mocha@^4.0.1: 886 | version "4.1.0" 887 | resolved "http://registry.npm.taobao.org/mocha/download/mocha-4.1.0.tgz#7d86cfbcf35cb829e2754c32e17355ec05338794" 888 | dependencies: 889 | browser-stdout "1.3.0" 890 | commander "2.11.0" 891 | debug "3.1.0" 892 | diff "3.3.1" 893 | escape-string-regexp "1.0.5" 894 | glob "7.1.2" 895 | growl "1.10.3" 896 | he "1.1.1" 897 | mkdirp "0.5.1" 898 | supports-color "4.4.0" 899 | 900 | ms@2.0.0: 901 | version "2.0.0" 902 | resolved "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 903 | 904 | multimatch@^2.0.0: 905 | version "2.1.0" 906 | resolved "http://registry.npm.taobao.org/multimatch/download/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" 907 | dependencies: 908 | array-differ "^1.0.0" 909 | array-union "^1.0.1" 910 | arrify "^1.0.0" 911 | minimatch "^3.0.0" 912 | 913 | node.extend@^1.1.2: 914 | version "1.1.6" 915 | resolved "http://registry.npm.taobao.org/node.extend/download/node.extend-1.1.6.tgz#a7b882c82d6c93a4863a5504bd5de8ec86258b96" 916 | dependencies: 917 | is "^3.1.0" 918 | 919 | normalize-path@^2.0.1: 920 | version "2.1.1" 921 | resolved "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 922 | dependencies: 923 | remove-trailing-separator "^1.0.1" 924 | 925 | oauth-sign@~0.9.0: 926 | version "0.9.0" 927 | resolved "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 928 | 929 | object-assign@^4.0.0: 930 | version "4.1.1" 931 | resolved "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 932 | 933 | object.omit@^2.0.0: 934 | version "2.0.1" 935 | resolved "http://registry.npm.taobao.org/object.omit/download/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 936 | dependencies: 937 | for-own "^0.1.4" 938 | is-extendable "^0.1.1" 939 | 940 | once@^1.3.0, once@^1.4.0: 941 | version "1.4.0" 942 | resolved "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 943 | dependencies: 944 | wrappy "1" 945 | 946 | ordered-read-streams@^0.3.0: 947 | version "0.3.0" 948 | resolved "http://registry.npm.taobao.org/ordered-read-streams/download/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b" 949 | dependencies: 950 | is-stream "^1.0.1" 951 | readable-stream "^2.0.1" 952 | 953 | parse-glob@^3.0.4: 954 | version "3.0.4" 955 | resolved "http://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 956 | dependencies: 957 | glob-base "^0.3.0" 958 | is-dotfile "^1.0.0" 959 | is-extglob "^1.0.0" 960 | is-glob "^2.0.0" 961 | 962 | path-dirname@^1.0.0: 963 | version "1.0.2" 964 | resolved "http://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" 965 | 966 | path-is-absolute@^1.0.0: 967 | version "1.0.1" 968 | resolved "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 969 | 970 | path-parse@^1.0.5: 971 | version "1.0.6" 972 | resolved "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 973 | 974 | pause-stream@0.0.11: 975 | version "0.0.11" 976 | resolved "http://registry.npm.taobao.org/pause-stream/download/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" 977 | dependencies: 978 | through "~2.3" 979 | 980 | pend@~1.2.0: 981 | version "1.2.0" 982 | resolved "http://registry.npm.taobao.org/pend/download/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" 983 | 984 | performance-now@^2.1.0: 985 | version "2.1.0" 986 | resolved "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 987 | 988 | plugin-error@^0.1.2: 989 | version "0.1.2" 990 | resolved "http://registry.npm.taobao.org/plugin-error/download/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace" 991 | dependencies: 992 | ansi-cyan "^0.1.1" 993 | ansi-red "^0.1.1" 994 | arr-diff "^1.0.1" 995 | arr-union "^2.0.1" 996 | extend-shallow "^1.1.2" 997 | 998 | preserve@^0.2.0: 999 | version "0.2.0" 1000 | resolved "http://registry.npm.taobao.org/preserve/download/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 1001 | 1002 | process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: 1003 | version "2.0.0" 1004 | resolved "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 1005 | 1006 | psl@^1.1.24: 1007 | version "1.1.29" 1008 | resolved "http://registry.npm.taobao.org/psl/download/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67" 1009 | 1010 | punycode@^1.4.1: 1011 | version "1.4.1" 1012 | resolved "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1013 | 1014 | qs@~6.5.2: 1015 | version "6.5.2" 1016 | resolved "http://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 1017 | 1018 | querystringify@^2.0.0: 1019 | version "2.0.0" 1020 | resolved "http://registry.npm.taobao.org/querystringify/download/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755" 1021 | 1022 | queue@^3.1.0: 1023 | version "3.1.0" 1024 | resolved "http://registry.npm.taobao.org/queue/download/queue-3.1.0.tgz#6c49d01f009e2256788789f2bffac6b8b9990585" 1025 | dependencies: 1026 | inherits "~2.0.0" 1027 | 1028 | queue@^4.2.1: 1029 | version "4.4.2" 1030 | resolved "http://registry.npm.taobao.org/queue/download/queue-4.4.2.tgz#5a9733d9a8b8bd1b36e934bc9c55ab89b28e29c7" 1031 | dependencies: 1032 | inherits "~2.0.0" 1033 | 1034 | randomatic@^3.0.0: 1035 | version "3.1.0" 1036 | resolved "http://registry.npm.taobao.org/randomatic/download/randomatic-3.1.0.tgz#36f2ca708e9e567f5ed2ec01949026d50aa10116" 1037 | dependencies: 1038 | is-number "^4.0.0" 1039 | kind-of "^6.0.0" 1040 | math-random "^1.0.1" 1041 | 1042 | "readable-stream@>=1.0.33-1 <1.1.0-0": 1043 | version "1.0.34" 1044 | resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" 1045 | dependencies: 1046 | core-util-is "~1.0.0" 1047 | inherits "~2.0.1" 1048 | isarray "0.0.1" 1049 | string_decoder "~0.10.x" 1050 | 1051 | readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.3.5: 1052 | version "2.3.6" 1053 | resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 1054 | dependencies: 1055 | core-util-is "~1.0.0" 1056 | inherits "~2.0.3" 1057 | isarray "~1.0.0" 1058 | process-nextick-args "~2.0.0" 1059 | safe-buffer "~5.1.1" 1060 | string_decoder "~1.1.1" 1061 | util-deprecate "~1.0.1" 1062 | 1063 | regex-cache@^0.4.2: 1064 | version "0.4.4" 1065 | resolved "http://registry.npm.taobao.org/regex-cache/download/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" 1066 | dependencies: 1067 | is-equal-shallow "^0.1.3" 1068 | 1069 | remove-trailing-separator@^1.0.1: 1070 | version "1.1.0" 1071 | resolved "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 1072 | 1073 | repeat-element@^1.1.2: 1074 | version "1.1.2" 1075 | resolved "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 1076 | 1077 | repeat-string@^1.5.2: 1078 | version "1.6.1" 1079 | resolved "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 1080 | 1081 | replace-ext@0.0.1: 1082 | version "0.0.1" 1083 | resolved "http://registry.npm.taobao.org/replace-ext/download/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" 1084 | 1085 | replace-ext@^1.0.0: 1086 | version "1.0.0" 1087 | resolved "http://registry.npm.taobao.org/replace-ext/download/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" 1088 | 1089 | request@^2.79.0, request@^2.83.0: 1090 | version "2.88.0" 1091 | resolved "http://registry.npm.taobao.org/request/download/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" 1092 | dependencies: 1093 | aws-sign2 "~0.7.0" 1094 | aws4 "^1.8.0" 1095 | caseless "~0.12.0" 1096 | combined-stream "~1.0.6" 1097 | extend "~3.0.2" 1098 | forever-agent "~0.6.1" 1099 | form-data "~2.3.2" 1100 | har-validator "~5.1.0" 1101 | http-signature "~1.2.0" 1102 | is-typedarray "~1.0.0" 1103 | isstream "~0.1.2" 1104 | json-stringify-safe "~5.0.1" 1105 | mime-types "~2.1.19" 1106 | oauth-sign "~0.9.0" 1107 | performance-now "^2.1.0" 1108 | qs "~6.5.2" 1109 | safe-buffer "^5.1.2" 1110 | tough-cookie "~2.4.3" 1111 | tunnel-agent "^0.6.0" 1112 | uuid "^3.3.2" 1113 | 1114 | requires-port@^1.0.0: 1115 | version "1.0.0" 1116 | resolved "http://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" 1117 | 1118 | resolve@^1.3.2: 1119 | version "1.8.1" 1120 | resolved "http://registry.npm.taobao.org/resolve/download/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" 1121 | dependencies: 1122 | path-parse "^1.0.5" 1123 | 1124 | rimraf@2: 1125 | version "2.6.2" 1126 | resolved "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 1127 | dependencies: 1128 | glob "^7.0.5" 1129 | 1130 | safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1131 | version "5.1.2" 1132 | resolved "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1133 | 1134 | safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 1135 | version "2.1.2" 1136 | resolved "http://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1137 | 1138 | semver@^5.3.0, semver@^5.4.1: 1139 | version "5.5.0" 1140 | resolved "http://registry.npm.taobao.org/semver/download/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" 1141 | 1142 | source-map-support@^0.5.0: 1143 | version "0.5.8" 1144 | resolved "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.8.tgz#04f5581713a8a65612d0175fbf3a01f80a162613" 1145 | dependencies: 1146 | buffer-from "^1.0.0" 1147 | source-map "^0.6.0" 1148 | 1149 | source-map@^0.6.0: 1150 | version "0.6.1" 1151 | resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1152 | 1153 | split@0.3: 1154 | version "0.3.3" 1155 | resolved "http://registry.npm.taobao.org/split/download/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" 1156 | dependencies: 1157 | through "2" 1158 | 1159 | sprintf-js@~1.0.2: 1160 | version "1.0.3" 1161 | resolved "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1162 | 1163 | sshpk@^1.7.0: 1164 | version "1.14.2" 1165 | resolved "http://registry.npm.taobao.org/sshpk/download/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98" 1166 | dependencies: 1167 | asn1 "~0.2.3" 1168 | assert-plus "^1.0.0" 1169 | dashdash "^1.12.0" 1170 | getpass "^0.1.1" 1171 | safer-buffer "^2.0.2" 1172 | optionalDependencies: 1173 | bcrypt-pbkdf "^1.0.0" 1174 | ecc-jsbn "~0.1.1" 1175 | jsbn "~0.1.0" 1176 | tweetnacl "~0.14.0" 1177 | 1178 | stat-mode@^0.2.0: 1179 | version "0.2.2" 1180 | resolved "http://registry.npm.taobao.org/stat-mode/download/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502" 1181 | 1182 | stream-combiner@~0.0.4: 1183 | version "0.0.4" 1184 | resolved "http://registry.npm.taobao.org/stream-combiner/download/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" 1185 | dependencies: 1186 | duplexer "~0.1.1" 1187 | 1188 | stream-shift@^1.0.0: 1189 | version "1.0.0" 1190 | resolved "http://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" 1191 | 1192 | streamfilter@^1.0.5: 1193 | version "1.0.7" 1194 | resolved "http://registry.npm.taobao.org/streamfilter/download/streamfilter-1.0.7.tgz#ae3e64522aa5a35c061fd17f67620c7653c643c9" 1195 | dependencies: 1196 | readable-stream "^2.0.2" 1197 | 1198 | streamifier@~0.1.1: 1199 | version "0.1.1" 1200 | resolved "http://registry.npm.taobao.org/streamifier/download/streamifier-0.1.1.tgz#97e98d8fa4d105d62a2691d1dc07e820db8dfc4f" 1201 | 1202 | string_decoder@~0.10.x: 1203 | version "0.10.31" 1204 | resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 1205 | 1206 | string_decoder@~1.1.1: 1207 | version "1.1.1" 1208 | resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1209 | dependencies: 1210 | safe-buffer "~5.1.0" 1211 | 1212 | strip-ansi@^3.0.0: 1213 | version "3.0.1" 1214 | resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1215 | dependencies: 1216 | ansi-regex "^2.0.0" 1217 | 1218 | strip-bom-stream@^1.0.0: 1219 | version "1.0.0" 1220 | resolved "http://registry.npm.taobao.org/strip-bom-stream/download/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee" 1221 | dependencies: 1222 | first-chunk-stream "^1.0.0" 1223 | strip-bom "^2.0.0" 1224 | 1225 | strip-bom@^2.0.0: 1226 | version "2.0.0" 1227 | resolved "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 1228 | dependencies: 1229 | is-utf8 "^0.2.0" 1230 | 1231 | supports-color@4.4.0: 1232 | version "4.4.0" 1233 | resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" 1234 | dependencies: 1235 | has-flag "^2.0.0" 1236 | 1237 | supports-color@^2.0.0: 1238 | version "2.0.0" 1239 | resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 1240 | 1241 | supports-color@^5.3.0: 1242 | version "5.4.0" 1243 | resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" 1244 | dependencies: 1245 | has-flag "^3.0.0" 1246 | 1247 | tar@^2.2.1: 1248 | version "2.2.1" 1249 | resolved "http://registry.npm.taobao.org/tar/download/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 1250 | dependencies: 1251 | block-stream "*" 1252 | fstream "^1.0.2" 1253 | inherits "2" 1254 | 1255 | through2-filter@^2.0.0: 1256 | version "2.0.0" 1257 | resolved "http://registry.npm.taobao.org/through2-filter/download/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" 1258 | dependencies: 1259 | through2 "~2.0.0" 1260 | xtend "~4.0.0" 1261 | 1262 | through2@^0.6.0, through2@~0.6.5: 1263 | version "0.6.5" 1264 | resolved "http://registry.npm.taobao.org/through2/download/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" 1265 | dependencies: 1266 | readable-stream ">=1.0.33-1 <1.1.0-0" 1267 | xtend ">=4.0.0 <4.1.0-0" 1268 | 1269 | through2@^2.0.0, through2@^2.0.3, through2@~2.0.0, through2@~2.0.3: 1270 | version "2.0.3" 1271 | resolved "http://registry.npm.taobao.org/through2/download/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" 1272 | dependencies: 1273 | readable-stream "^2.1.5" 1274 | xtend "~4.0.1" 1275 | 1276 | through@2, through@~2.3, through@~2.3.1: 1277 | version "2.3.8" 1278 | resolved "http://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1279 | 1280 | to-absolute-glob@^0.1.1: 1281 | version "0.1.1" 1282 | resolved "http://registry.npm.taobao.org/to-absolute-glob/download/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f" 1283 | dependencies: 1284 | extend-shallow "^2.0.1" 1285 | 1286 | tough-cookie@~2.4.3: 1287 | version "2.4.3" 1288 | resolved "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" 1289 | dependencies: 1290 | psl "^1.1.24" 1291 | punycode "^1.4.1" 1292 | 1293 | tslib@^1.8.0, tslib@^1.8.1: 1294 | version "1.9.3" 1295 | resolved "http://registry.npm.taobao.org/tslib/download/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" 1296 | 1297 | tslint@^5.8.0: 1298 | version "5.11.0" 1299 | resolved "http://registry.npm.taobao.org/tslint/download/tslint-5.11.0.tgz#98f30c02eae3cde7006201e4c33cb08b48581eed" 1300 | dependencies: 1301 | babel-code-frame "^6.22.0" 1302 | builtin-modules "^1.1.1" 1303 | chalk "^2.3.0" 1304 | commander "^2.12.1" 1305 | diff "^3.2.0" 1306 | glob "^7.1.1" 1307 | js-yaml "^3.7.0" 1308 | minimatch "^3.0.4" 1309 | resolve "^1.3.2" 1310 | semver "^5.3.0" 1311 | tslib "^1.8.0" 1312 | tsutils "^2.27.2" 1313 | 1314 | tsutils@^2.27.2: 1315 | version "2.29.0" 1316 | resolved "http://registry.npm.taobao.org/tsutils/download/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" 1317 | dependencies: 1318 | tslib "^1.8.1" 1319 | 1320 | tunnel-agent@^0.6.0: 1321 | version "0.6.0" 1322 | resolved "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 1323 | dependencies: 1324 | safe-buffer "^5.0.1" 1325 | 1326 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 1327 | version "0.14.5" 1328 | resolved "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 1329 | 1330 | typescript@^2.6.1: 1331 | version "2.9.2" 1332 | resolved "http://registry.npm.taobao.org/typescript/download/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" 1333 | 1334 | unique-stream@^2.0.2: 1335 | version "2.2.1" 1336 | resolved "http://registry.npm.taobao.org/unique-stream/download/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" 1337 | dependencies: 1338 | json-stable-stringify "^1.0.0" 1339 | through2-filter "^2.0.0" 1340 | 1341 | url-parse@^1.1.9: 1342 | version "1.4.3" 1343 | resolved "http://registry.npm.taobao.org/url-parse/download/url-parse-1.4.3.tgz#bfaee455c889023219d757e045fa6a684ec36c15" 1344 | dependencies: 1345 | querystringify "^2.0.0" 1346 | requires-port "^1.0.0" 1347 | 1348 | util-deprecate@~1.0.1: 1349 | version "1.0.2" 1350 | resolved "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1351 | 1352 | uuid@^3.3.2: 1353 | version "3.3.2" 1354 | resolved "http://registry.npm.taobao.org/uuid/download/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" 1355 | 1356 | vali-date@^1.0.0: 1357 | version "1.0.0" 1358 | resolved "http://registry.npm.taobao.org/vali-date/download/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" 1359 | 1360 | verror@1.10.0: 1361 | version "1.10.0" 1362 | resolved "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 1363 | dependencies: 1364 | assert-plus "^1.0.0" 1365 | core-util-is "1.0.2" 1366 | extsprintf "^1.2.0" 1367 | 1368 | vinyl-fs@^2.0.0, vinyl-fs@^2.4.3: 1369 | version "2.4.4" 1370 | resolved "http://registry.npm.taobao.org/vinyl-fs/download/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" 1371 | dependencies: 1372 | duplexify "^3.2.0" 1373 | glob-stream "^5.3.2" 1374 | graceful-fs "^4.0.0" 1375 | gulp-sourcemaps "1.6.0" 1376 | is-valid-glob "^0.3.0" 1377 | lazystream "^1.0.0" 1378 | lodash.isequal "^4.0.0" 1379 | merge-stream "^1.0.0" 1380 | mkdirp "^0.5.0" 1381 | object-assign "^4.0.0" 1382 | readable-stream "^2.0.4" 1383 | strip-bom "^2.0.0" 1384 | strip-bom-stream "^1.0.0" 1385 | through2 "^2.0.0" 1386 | through2-filter "^2.0.0" 1387 | vali-date "^1.0.0" 1388 | vinyl "^1.0.0" 1389 | 1390 | vinyl-source-stream@^1.1.0: 1391 | version "1.1.2" 1392 | resolved "http://registry.npm.taobao.org/vinyl-source-stream/download/vinyl-source-stream-1.1.2.tgz#62b53a135610a896e98ca96bee3a87f008a8e780" 1393 | dependencies: 1394 | through2 "^2.0.3" 1395 | vinyl "^0.4.3" 1396 | 1397 | vinyl@^0.4.3, vinyl@~0.4.6: 1398 | version "0.4.6" 1399 | resolved "http://registry.npm.taobao.org/vinyl/download/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" 1400 | dependencies: 1401 | clone "^0.2.0" 1402 | clone-stats "^0.0.1" 1403 | 1404 | vinyl@^1.0.0, vinyl@^1.2.0: 1405 | version "1.2.0" 1406 | resolved "http://registry.npm.taobao.org/vinyl/download/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" 1407 | dependencies: 1408 | clone "^1.0.0" 1409 | clone-stats "^0.0.1" 1410 | replace-ext "0.0.1" 1411 | 1412 | vinyl@^2.0.1, vinyl@^2.0.2: 1413 | version "2.2.0" 1414 | resolved "http://registry.npm.taobao.org/vinyl/download/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" 1415 | dependencies: 1416 | clone "^2.1.1" 1417 | clone-buffer "^1.0.0" 1418 | clone-stats "^1.0.0" 1419 | cloneable-readable "^1.0.0" 1420 | remove-trailing-separator "^1.0.1" 1421 | replace-ext "^1.0.0" 1422 | 1423 | vscode@^1.1.6: 1424 | version "1.1.18" 1425 | resolved "http://registry.npm.taobao.org/vscode/download/vscode-1.1.18.tgz#e9227265dc72fc826bd6cd7bd21193f4e48fa671" 1426 | dependencies: 1427 | glob "^7.1.2" 1428 | gulp-chmod "^2.0.0" 1429 | gulp-filter "^5.0.1" 1430 | gulp-gunzip "1.0.0" 1431 | gulp-remote-src-vscode "^0.5.0" 1432 | gulp-symdest "^1.1.0" 1433 | gulp-untar "^0.0.7" 1434 | gulp-vinyl-zip "^2.1.0" 1435 | mocha "^4.0.1" 1436 | request "^2.83.0" 1437 | semver "^5.4.1" 1438 | source-map-support "^0.5.0" 1439 | url-parse "^1.1.9" 1440 | vinyl-source-stream "^1.1.0" 1441 | 1442 | wrappy@1: 1443 | version "1.0.2" 1444 | resolved "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1445 | 1446 | "xtend@>=4.0.0 <4.1.0-0", xtend@~4.0.0, xtend@~4.0.1: 1447 | version "4.0.1" 1448 | resolved "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 1449 | 1450 | yauzl@^2.2.1: 1451 | version "2.10.0" 1452 | resolved "http://registry.npm.taobao.org/yauzl/download/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" 1453 | dependencies: 1454 | buffer-crc32 "~0.2.3" 1455 | fd-slicer "~1.1.0" 1456 | 1457 | yazl@^2.2.1: 1458 | version "2.4.3" 1459 | resolved "http://registry.npm.taobao.org/yazl/download/yazl-2.4.3.tgz#ec26e5cc87d5601b9df8432dbdd3cd2e5173a071" 1460 | dependencies: 1461 | buffer-crc32 "~0.2.3" 1462 | --------------------------------------------------------------------------------