├── .npmignore ├── .gitignore ├── index.js ├── src ├── parser │ ├── ext-x-discontinuity.js │ ├── ext-x-playlist-type.js │ ├── ext-x-version.js │ ├── ext-x-endlist.js │ ├── ext-x-media-sequence.js │ ├── ext-x-targetduration.js │ ├── ext-x-key.js │ ├── libs │ │ ├── date.js │ │ ├── camelCase.js │ │ └── attr.js │ ├── ext-x-discontinuity-sequence.js │ ├── ext-x-session-data.js │ ├── ext-x-program-date-time.js │ ├── ext-x-media.js │ ├── ext-x-start.js │ ├── ext-x-map.js │ ├── ext-x-byterange.js │ ├── constants │ │ ├── scope.js │ │ └── chars.js │ ├── ext-x-daterange.js │ ├── ext-x-stream-inf.js │ ├── extinf.js │ └── map.js └── reader.js ├── .babelrc ├── .editorconfig ├── examples ├── nodejs │ └── index.js ├── browser │ └── index.html └── example.m3u8 ├── webpack.config.js ├── package.json ├── LICENSE ├── dist └── m3u8-file-parser.min.js ├── README.md └── yarn.lock /.npmignore: -------------------------------------------------------------------------------- 1 | examples 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .idea 3 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/reader'); 2 | -------------------------------------------------------------------------------- /src/parser/ext-x-discontinuity.js: -------------------------------------------------------------------------------- 1 | function discontinuity() { 2 | return true; 3 | } 4 | 5 | module.exports = discontinuity; 6 | -------------------------------------------------------------------------------- /src/parser/ext-x-playlist-type.js: -------------------------------------------------------------------------------- 1 | function playlistType(str) { 2 | return str.trim(); 3 | } 4 | 5 | module.exports = playlistType; 6 | -------------------------------------------------------------------------------- /src/parser/ext-x-version.js: -------------------------------------------------------------------------------- 1 | function version(str) { 2 | return parseInt(str.trim()) || 0; 3 | } 4 | 5 | module.exports = version; 6 | -------------------------------------------------------------------------------- /src/parser/ext-x-endlist.js: -------------------------------------------------------------------------------- 1 | function endlist(str, context) { 2 | return context.segments.length + 1; 3 | } 4 | 5 | module.exports = endlist; -------------------------------------------------------------------------------- /src/parser/ext-x-media-sequence.js: -------------------------------------------------------------------------------- 1 | function mediaSequence(str) { 2 | return parseInt(str) || 0; 3 | } 4 | 5 | module.exports = mediaSequence; -------------------------------------------------------------------------------- /src/parser/ext-x-targetduration.js: -------------------------------------------------------------------------------- 1 | function targetDuration(str) { 2 | return parseInt(str) || -1; 3 | } 4 | 5 | module.exports = targetDuration; 6 | -------------------------------------------------------------------------------- /src/parser/ext-x-key.js: -------------------------------------------------------------------------------- 1 | const attrParser = require('./libs/attr'); 2 | 3 | function key(str) { 4 | return attrParser(str); 5 | } 6 | 7 | module.exports = key; 8 | -------------------------------------------------------------------------------- /src/parser/libs/date.js: -------------------------------------------------------------------------------- 1 | function date(str) { 2 | const dt = new Date(str.trim()); 3 | return (isNaN(dt.getTime()) && 0) || dt; 4 | } 5 | 6 | module.exports = date; -------------------------------------------------------------------------------- /src/parser/ext-x-discontinuity-sequence.js: -------------------------------------------------------------------------------- 1 | function discontinuitySequence(str) { 2 | return parseInt(str) || 0; 3 | } 4 | 5 | module.exports = discontinuitySequence; 6 | -------------------------------------------------------------------------------- /src/parser/ext-x-session-data.js: -------------------------------------------------------------------------------- 1 | const attrParser = require('./libs/attr'); 2 | function sessionData(str) { 3 | return attrParser(str); 4 | } 5 | 6 | module.exports = sessionData; 7 | -------------------------------------------------------------------------------- /src/parser/ext-x-program-date-time.js: -------------------------------------------------------------------------------- 1 | const date = require('./libs/date') 2 | 3 | function programDateTime(str) { 4 | return date(str) 5 | } 6 | 7 | module.exports = programDateTime 8 | -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "browsers": ["last 2 versions", "safari >= 7"] 8 | } 9 | } 10 | ] 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_style = space 8 | indent_size = 2 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /src/parser/ext-x-media.js: -------------------------------------------------------------------------------- 1 | const attrParser = require('./libs/attr'); 2 | 3 | function mediaGroup(str) { 4 | const data = { 5 | 'groupId': 'default', 6 | }; 7 | 8 | attrParser(str, true, data); 9 | 10 | return data; 11 | } 12 | 13 | module.exports = mediaGroup; 14 | -------------------------------------------------------------------------------- /src/parser/ext-x-start.js: -------------------------------------------------------------------------------- 1 | const attrParser = require('./libs/attr'); 2 | 3 | function start(str) { 4 | const data = attrParser(str, true); 5 | 6 | 'timeOffset' in data && (data.timeOffset = parseFloat(data.timeOffset)); 7 | 8 | return data; 9 | } 10 | 11 | module.exports = start; 12 | -------------------------------------------------------------------------------- /examples/nodejs/index.js: -------------------------------------------------------------------------------- 1 | const M3U8FileParser = require('../../index'); 2 | const fs = require('fs'); 3 | const content = fs.readFileSync('../example.m3u8', { encoding: 'utf-8'}); 4 | 5 | const reader = new M3U8FileParser(); 6 | reader.read(content); 7 | console.log(JSON.stringify(reader.getResult(), null, 2)); 8 | -------------------------------------------------------------------------------- /src/parser/ext-x-map.js: -------------------------------------------------------------------------------- 1 | const X_BYTERANGE = require('./ext-x-byterange'); 2 | const attrParser = require('./libs/attr'); 3 | 4 | function map(str) { 5 | const data = attrParser(str); 6 | if (data['byterange']) data['byterange'] = X_BYTERANGE(data['byterange']); 7 | 8 | return data 9 | } 10 | 11 | module.exports = map; 12 | -------------------------------------------------------------------------------- /src/parser/ext-x-byterange.js: -------------------------------------------------------------------------------- 1 | function byteRange(str) { 2 | const data = { 3 | length: 0, 4 | offset: 0, 5 | }; 6 | 7 | data.length = parseInt(str); 8 | const offsetPosition = str.lastIndexOf('@'); 9 | 10 | ~offsetPosition && (data.offset = parseInt(str.slice(offsetPosition + 1))); 11 | 12 | return data; 13 | } 14 | 15 | module.exports = byteRange; 16 | -------------------------------------------------------------------------------- /src/parser/constants/scope.js: -------------------------------------------------------------------------------- 1 | // tag a data to specific scope 2 | // or trigger specific behavior 3 | module.exports = { 4 | BASIC: 'BASIC', 5 | MEDIA_SEGMENT: 'MEDIA_SEGMENT', 6 | MEDIA_PLAYLIST: 'MEDIA_PLAYLIST', 7 | MASTER_PLAYLIST: 'MASTER_PLAYLIST', 8 | // Other behavior 9 | TRALING_MEDIA_SEGMENT: 'TRAILING_MEDIA_SEGMENT', 10 | URL_SEGMENT_ENDING: 'URL_SEGMENT_ENDING', 11 | GROUPING: 'GROUPING', 12 | }; 13 | -------------------------------------------------------------------------------- /src/parser/libs/camelCase.js: -------------------------------------------------------------------------------- 1 | const CHAR = require('../constants/chars'); 2 | 3 | function camelCase(value) { 4 | let newVal = ''; 5 | let code = 0; 6 | value = value.toLowerCase(); 7 | for (let pos = 0; pos < value.length; pos++) { 8 | code = value[pos].charCodeAt(0); 9 | if (code === CHAR.MINUS) { 10 | newVal += (value[++pos] || '').toUpperCase(); 11 | continue; 12 | } 13 | newVal += value[pos]; 14 | } 15 | return newVal; 16 | } 17 | 18 | module.exports = camelCase; 19 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = { 4 | entry: path.resolve(__dirname, './src/reader.js'), 5 | output: { 6 | path: path.resolve(__dirname, './dist'), 7 | filename: 'm3u8-file-parser.min.js', 8 | library: ['M3U8FileParser'], 9 | }, 10 | module: { 11 | rules: [ 12 | { 13 | test: /\.js$/, 14 | exclude: /node_modules/, 15 | use: { 16 | loader: 'babel-loader', 17 | }, 18 | }, 19 | ], 20 | }, 21 | }; 22 | -------------------------------------------------------------------------------- /src/parser/ext-x-daterange.js: -------------------------------------------------------------------------------- 1 | const attrParser = require('./libs/attr') 2 | const date = require('./libs/date') 3 | 4 | function daterange(value) { 5 | const data = attrParser(value) 6 | 7 | if (data.startDate) data.startDate = date(data.startDate) 8 | if (data.endDate) data.endDate = date(data.endDate) 9 | if (data.duration) data.duration = parseFloat(data.duration) 10 | if (data.plannedDuration) data.plannedDuration = parseFloat(data.plannedDuration) 11 | 12 | return data; 13 | } 14 | 15 | module.exports = daterange 16 | -------------------------------------------------------------------------------- /src/parser/constants/chars.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | SPACE: ' '.charCodeAt(0), 3 | COLON: ':'.charCodeAt(0), 4 | COMMA: ','.charCodeAt(0), 5 | EQUAL: '='.charCodeAt(0), 6 | QUOTE: '"'.charCodeAt(0), 7 | MINUS: '-'.charCodeAt(0), 8 | PERIOD: '.'.charCodeAt(0), 9 | NEW_LINE_LF: '\n'.charCodeAt(0), 10 | NEW_LINE_CR: '\r'.charCodeAt(0), 11 | BACK_SLASH: '\\'.charCodeAt(0), 12 | HASH: '#'.charCodeAt(0), 13 | AT: '@'.charCodeAt(0), 14 | NUMBER_START: '0'.charCodeAt(0), 15 | NUMBER_STOP: '9'.charCodeAt(0), 16 | }; 17 | -------------------------------------------------------------------------------- /src/parser/ext-x-stream-inf.js: -------------------------------------------------------------------------------- 1 | const attrParser = require('./libs/attr'); 2 | function streamInf(str) { 3 | const data = attrParser(str); 4 | 5 | 'bandwidth' in data && (data.bandwidth = parseInt(data.bandwidth)); 6 | 'averageBandwidth' in data && 7 | (data.averageBandwidth = parseInt(data.averageBandwidth)); 8 | 'resolution' in data && (data.resolution = parseInt(data.resolution)); 9 | 'frameRate' in data && (data.frameRate = parseFloat(data.frameRate)); 10 | 11 | 'codecs' in data && (data.codecs = data.codecs.split(';')); 12 | return data; 13 | } 14 | 15 | module.exports = streamInf; 16 | -------------------------------------------------------------------------------- /examples/browser/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | M3U8FileReader Browser Example 7 | 8 | 9 | 23 | 24 | 25 |

See console for result

26 | 27 | 28 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "m3u8-file-parser", 3 | "version": "0.2.4", 4 | "description": "A m3u8 file parser built against RFC8216", 5 | "main": "index.js", 6 | "author": "NimitzDEV", 7 | "license": "MIT", 8 | "devDependencies": { 9 | "babel-core": "^6.26.0", 10 | "babel-loader": "^7.1.4", 11 | "babel-preset-env": "^1.6.1", 12 | "webpack": "^4.2.0" 13 | }, 14 | "scripts": { 15 | "build": "node ./build.js" 16 | }, 17 | "directories": { 18 | "example": "examples" 19 | }, 20 | "dependencies": {}, 21 | "repository": { 22 | "type": "git", 23 | "url": "git+https://github.com/NimitzDEV/m3u8-file-parser.git" 24 | }, 25 | "keywords": [ 26 | "m3u", 27 | "m3u8" 28 | ], 29 | "bugs": { 30 | "url": "https://github.com/NimitzDEV/m3u8-file-parser/issues" 31 | }, 32 | "homepage": "https://github.com/NimitzDEV/m3u8-file-parser#readme" 33 | } 34 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 NimitzDEV 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/parser/libs/attr.js: -------------------------------------------------------------------------------- 1 | const CHAR_CODE = require('../constants/chars'); 2 | const REGEX_QUOTE = /\"/g; 3 | const camelCase = require('./camelCase'); 4 | 5 | const BOOLEAN_MAP = { 6 | YES: true, 7 | NO: false, 8 | }; 9 | 10 | function booleanTranslator(value) { 11 | if (value in BOOLEAN_MAP) return BOOLEAN_MAP[value]; 12 | return value; 13 | } 14 | 15 | function attrParser(str, translateBoolean = false, ref) { 16 | let code = 0; 17 | let token = ''; 18 | let value = ''; 19 | 20 | const data = ref || {}; 21 | 22 | for (let pos = 0; pos < str.length; pos++) { 23 | code = str[pos].charCodeAt(0); 24 | 25 | switch (code) { 26 | case CHAR_CODE.SPACE: 27 | token = ''; 28 | continue; 29 | case CHAR_CODE.EQUAL: 30 | value = token; 31 | token = ''; 32 | continue; 33 | case CHAR_CODE.COMMA: 34 | value = camelCase(value); 35 | if (value) 36 | if (translateBoolean) data[value] = booleanTranslator(token); 37 | else data[value] = token; 38 | value = ''; 39 | token = ''; 40 | continue; 41 | case CHAR_CODE.QUOTE: 42 | REGEX_QUOTE.lastIndex = pos + 1; 43 | const match = REGEX_QUOTE.exec(str); 44 | const v = str.slice(pos + 1, match.index); 45 | value && (data[camelCase(value)] = v); 46 | pos = match.index + 1; 47 | continue; 48 | default: 49 | token += str[pos]; 50 | } 51 | } 52 | 53 | if (token && value) data[camelCase(value)] = token; 54 | 55 | return data; 56 | } 57 | 58 | module.exports = attrParser; 59 | -------------------------------------------------------------------------------- /src/parser/extinf.js: -------------------------------------------------------------------------------- 1 | const REGEX_QUOTE = /\"/g; 2 | const REGEX_NONE_WORD = /\W/g; 3 | const CHAR_CODE = require('./constants/chars'); 4 | const camelCase = require('./libs/camelCase'); 5 | 6 | function extinf(str) { 7 | let findingHeader = true; 8 | let hadHeader = false; 9 | let attr = ''; 10 | let token = ''; 11 | 12 | let extData = { 13 | duration: '', 14 | title: '', 15 | }; 16 | 17 | // reset regex 18 | REGEX_QUOTE.lastIndex = 0; 19 | REGEX_NONE_WORD.lastIndex = 0; 20 | 21 | // read track length first 22 | let tmpPos = 0; 23 | let code = str[tmpPos].charCodeAt(0); 24 | 25 | // read out 26 | // '-': minus sign 27 | // 0-9: numbers 28 | // '.': dot 29 | while ( 30 | (code >= CHAR_CODE.NUMBER_START && code <= CHAR_CODE.NUMBER_STOP) || 31 | code === CHAR_CODE.MINUS || 32 | code === CHAR_CODE.PERIOD 33 | ) { 34 | extData.duration += str[tmpPos]; 35 | tmpPos++; 36 | code = tmpPos > str.length - 1 ? '' : str[tmpPos].charCodeAt(0); 37 | } 38 | 39 | extData.duration = (extData.duration && parseFloat(extData.duration)) || -1; 40 | 41 | // read rest of the data 42 | for (let pos = tmpPos; pos < str.length; pos++) { 43 | const code = str[pos].charCodeAt(0); 44 | switch (code) { 45 | case CHAR_CODE.SPACE: 46 | // space char 47 | token = ''; 48 | continue; 49 | case CHAR_CODE.QUOTE: { 50 | // if it is a quote mark, 51 | // find next one and then slice contents between 52 | REGEX_QUOTE.lastIndex = pos + 1; 53 | const match = REGEX_QUOTE.exec(str); 54 | 55 | token = str.slice(pos + 1, match.index); 56 | pos = (match && match.index) || pos; 57 | 58 | attr && (extData[camelCase(attr)] = token); 59 | 60 | token = ''; 61 | attr = ''; 62 | continue; 63 | } 64 | case CHAR_CODE.EQUAL: { 65 | attr = token; 66 | token = ''; 67 | // check if next char is quote 68 | if (str[pos + 1].charCodeAt(0) === CHAR_CODE.QUOTE) continue; 69 | // find next none word character then slice content between 70 | REGEX_NONE_WORD.lastIndex = pos + 1; 71 | const match = REGEX_NONE_WORD.exec(str); 72 | token = str.slice(pos + 1, match.index); 73 | pos = 74 | (str[match.index].charCodeAt(0) === CHAR_CODE.COMMA && 75 | match.index - 1) || 76 | (match && match.index) || 77 | pos; 78 | attr && (extData[camelCase(attr)] = token); 79 | token = ''; 80 | attr = ''; 81 | continue; 82 | } 83 | case CHAR_CODE.COMMA: 84 | // read track title 85 | extData.title = str.slice(pos + 1, str.length).trimLeft(); 86 | pos = str.length; 87 | continue; 88 | default: 89 | token += str[pos]; 90 | } 91 | } 92 | 93 | return extData; 94 | } 95 | 96 | module.exports = extinf; 97 | -------------------------------------------------------------------------------- /examples/example.m3u8: -------------------------------------------------------------------------------- 1 | #EXTM3U 2 | #EXT-X-VERSION:2 3 | #EXT-X-TARGETDURATION:6 4 | #EXT-X-PLAYLIST-TYPE:VOD 5 | #EXT-X-DISCONTINUITY-SEQUENCE:1 6 | #EXT-X-START:PERCISE=NO,TIME-OFFSET=2.11 7 | #EXT-X-MEDIA-SEQUENCE:1 8 | #EXT-X-INDEPENDENT-SEGMENTS 9 | 10 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="en",CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound",URI="subtitles/eng/prog_index.m3u8" 11 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English (Forced)",DEFAULT=NO,AUTOSELECT=NO,FORCED=YES,LANGUAGE="en",URI="subtitles/eng_forced/prog_index.m3u8" 12 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Français",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="fr",CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound",URI="subtitles/fra/prog_index.m3u8" 13 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Français (Forced)",DEFAULT=NO,AUTOSELECT=NO,FORCED=YES,LANGUAGE="fr",URI="subtitles/fra_forced/prog_index.m3u8" 14 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Español",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="es",CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound",URI="subtitles/spa/prog_index.m3u8" 15 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Español (Forced)",DEFAULT=NO,AUTOSELECT=NO,FORCED=YES,LANGUAGE="es",URI="subtitles/spa_forced/prog_index.m3u8" 16 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="日本語",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="ja",CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound",URI="subtitles/jpn/prog_index.m3u8" 17 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="日本語 (Forced)",DEFAULT=NO,AUTOSELECT=NO,FORCED=YES,LANGUAGE="ja",URI="subtitles/jpn_forced/prog_index.m3u8" 18 | 19 | #EXT-X-SESSION-DATA:DATA-ID="com.example.lyrics",URI="lyrics.json" 20 | 21 | #EXT-X-SESSION-DATA:DATA-ID="com.example.title",LANGUAGE="en", VALUE="This is an example" 22 | #EXT-X-SESSION-DATA:DATA-ID="com.example.title",LANGUAGE="es", VALUE="Este es un ejemplo" 23 | 24 | #EXT-X-SESSION-KEY:METHOD=AES-128,URI="https://priv.example.com/key.php?r=52",IV=0x9c7db8778570d05c3177c349fd9236aa 25 | #EXT-X-STREAM-INF:BANDWIDTH=100,AVERAGE-BANDWIDTH=128,CODECS="MPEG-4;MPEG-2",RESOLUTION=1080,FRAME-RATE=29.97,HDCP-LEVEL="TYPE-0",AUDIO="AUDIO",VIDEO="VIDEO" 26 | #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=120,URI="THATFILE.M3U8" 27 | #EXT-X-BYTERANGE:100@10 28 | #EXT-X-DISCONTINUITY 29 | #EXT-X-KEY:METHOD=AES-128,URI="https://priv.example.com/key.php?r=52",IV=0x9c7db8778570d05c3177c349fd9236aa 30 | #EXT-X-MAP:URI="https://example.map.uri",BYTERANGE="300@0" 31 | #EXT-X-PROGRAM-DATE-TIME:2010-02-19T14:54:23.031+08:00 32 | #EXT-X-DATERANGE:ID="ITS ID",CLASS="ITS CLASS",START-DATE="2010-02-19T14:54:23.031+08:00",END-DATE="2010-02-19T14:54:23.031+08:00",DURATION=1.33,PLANNED-DURATION=2.33 33 | #EXTINF:23.222 tvg-logo="haha, ddd" tvg-aa="sb@" tag=sa, Sample artist, : - Sample title 34 | C:\Documents and Settings\I\My Music\Sample.mp3 35 | 36 | #EXT-X-ENDLIST 37 | #COMMENT YAS 38 | -------------------------------------------------------------------------------- /src/parser/map.js: -------------------------------------------------------------------------------- 1 | // parsers 2 | const EXTINF = require('./extinf'); 3 | const EXT_X_VERSION = require('./ext-x-version'); 4 | const EXT_X_BYTERANGE = require('./ext-x-byterange'); 5 | const EXT_X_DISCONTINUITY = require('./ext-x-discontinuity'); 6 | const EXT_X_KEY = require('./ext-x-key'); 7 | const EXT_X_MAP = require('./ext-x-map'); 8 | const EXT_X_PROGRAM_DATA_TIME = require('./ext-x-program-date-time'); 9 | const EXT_X_DATERANGE = require('./ext-x-daterange'); 10 | // Media Playlist Tag Parsers 11 | const EXT_X_TARGETDURATION = require('./ext-x-targetduration'); 12 | const EXT_X_MEDIA_SEQUENCE = require('./ext-x-media-sequence'); 13 | const EXT_X_DISCONTINUITY_SEQUENCE = require('./ext-x-discontinuity-sequence'); 14 | const EXT_X_ENDLIST = require('./ext-x-endlist'); 15 | const EXT_X_PLAYLIST_TYPE = require('./ext-x-playlist-type'); 16 | // Master Playlist Tag Parsers 17 | const EXT_X_MEDIA = require('./ext-x-media'); 18 | const EXT_X_STREAM_INF = require('./ext-x-stream-inf'); 19 | const EXT_X_SESSION_DATA = require('./ext-x-session-data'); 20 | const EXT_X_START = require('./ext-x-start'); 21 | 22 | // scope constant 23 | const SCOPE = require('./constants/scope'); 24 | 25 | const DEFAULT_PARSER_MAP = { 26 | // Basic Tags and Media Segment Tags 27 | '#EXTM3U': { 28 | key: 'isExtendedM3U', 29 | parser: () => true, 30 | scope: SCOPE.BASIC, 31 | }, 32 | '#EXT-X-VERSION': { 33 | key: 'version', 34 | parser: EXT_X_VERSION, 35 | scope: SCOPE.BASIC, 36 | }, 37 | '#EXTINF': { 38 | key: 'inf', 39 | parser: EXTINF, 40 | scope: SCOPE.MEDIA_SEGMENT, 41 | }, 42 | '#EXT-X-BYTERANGE': { 43 | key: 'byteRange', 44 | parser: EXT_X_BYTERANGE, 45 | scope: SCOPE.MEDIA_SEGMENT, 46 | }, 47 | '#EXT-X-DISCONTINUITY': { 48 | key: 'discontinuity', 49 | parser: EXT_X_DISCONTINUITY, 50 | scope: SCOPE.MEDIA_SEGMENT, 51 | }, 52 | '#EXT-X-KEY': { 53 | key: 'key', 54 | parser: EXT_X_KEY, 55 | scope: SCOPE.TRALING_MEDIA_SEGMENT, 56 | }, 57 | '#EXT-X-MAP': { 58 | key: 'map', 59 | parser: EXT_X_MAP, 60 | scope: SCOPE.TRALING_MEDIA_SEGMENT, 61 | }, 62 | '#EXT-X-PROGRAM-DATE-TIME': { 63 | key: 'programDateTime', 64 | parser: EXT_X_PROGRAM_DATA_TIME, 65 | scope: SCOPE.MEDIA_SEGMENT, 66 | }, 67 | '#EXT-X-DATERANGE': { 68 | key: 'dateRange', 69 | parser: EXT_X_DATERANGE, 70 | scope: SCOPE.MEDIA_SEGMENT, 71 | }, 72 | // Media Playlist Tags 73 | '#EXT-X-TARGETDURATION': { 74 | key: 'targetDuration', 75 | parser: EXT_X_TARGETDURATION, 76 | scope: SCOPE.MEDIA_PLAYLIST, 77 | }, 78 | '#EXT-X-MEDIA-SEQUENCE': { 79 | key: 'mediaSequence', 80 | parser: EXT_X_MEDIA_SEQUENCE, 81 | scope: SCOPE.MEDIA_PLAYLIST, 82 | }, 83 | '#EXT-X-DISCONTINUITY-SEQUENCE': { 84 | key: 'discontinuitySequence', 85 | parser: EXT_X_DISCONTINUITY_SEQUENCE, 86 | scope: SCOPE.MEDIA_PLAYLIST, 87 | }, 88 | '#EXT-X-ENDLIST': { 89 | key: 'endList', 90 | parser: EXT_X_ENDLIST, 91 | scope: SCOPE.MEDIA_PLAYLIST, 92 | }, 93 | '#EXT-X-PLAYLIST-TYPE': { 94 | key: 'playlistType', 95 | parser: EXT_X_PLAYLIST_TYPE, 96 | scope: SCOPE.MEDIA_PLAYLIST, 97 | }, 98 | '#EXT-X-I-FRAMES-ONLY': { 99 | key: 'iFramesOnly', 100 | parser: () => true, 101 | scope: SCOPE.MEDIA_PLAYLIST, 102 | }, 103 | // Master Playlist Tags 104 | '#EXT-X-MEDIA': { 105 | key: 'media', 106 | parser: EXT_X_MEDIA, 107 | scope: SCOPE.GROUPING, 108 | group: { 109 | root: 'media', 110 | path: ['type', 'groupId', 'name'], 111 | }, 112 | }, 113 | '#EXT-X-STREAM-INF': { 114 | key: 'streamInf', 115 | parser: EXT_X_STREAM_INF, 116 | scope: SCOPE.MASTER_PLAYLIST, 117 | }, 118 | '#EXT-X-I-FRAME-STREAM-INF': { 119 | key: 'iFrameStreamInf', 120 | parser: EXT_X_STREAM_INF, 121 | scope: SCOPE.MASTER_PLAYLIST, 122 | }, 123 | '#EXT-X-SESSION-DATA': { 124 | key: 'sessionData', 125 | parser: EXT_X_SESSION_DATA, 126 | scope: SCOPE.GROUPING, 127 | group: { 128 | root: 'sessionData', 129 | path: ['dataId', 'language'], 130 | }, 131 | }, 132 | '#EXT-X-SESSION-KEY': { 133 | key: 'sessionKey', 134 | parser: EXT_X_KEY, 135 | scope: SCOPE.MASTER_PLAYLIST, 136 | }, 137 | '#EXT-X-INDEPENDENT-SEGMENTS': { 138 | key: 'independentSegments', 139 | parser: () => true, 140 | scope: SCOPE.MEDIA_PLAYLIST, 141 | }, 142 | '#EXT-X-START': { 143 | key: 'start', 144 | parser: EXT_X_START, 145 | scope: SCOPE.MEDIA_PLAYLIST, 146 | }, 147 | // INTERNAL USE SPECIAL TAGS 148 | URL: { 149 | key: 'url', 150 | parser: str => str, 151 | scope: SCOPE.URL_SEGMENT_ENDING, 152 | }, 153 | }; 154 | 155 | module.exports = { 156 | get: type => { 157 | return DEFAULT_PARSER_MAP[type] || null; 158 | }, 159 | set: (type, config) => { 160 | DEFAULT_PARSER_MAP[type] = config; 161 | }, 162 | add: (type, config) => { 163 | DEFAULT_PARSER_MAP[type] = config; 164 | }, 165 | }; 166 | -------------------------------------------------------------------------------- /src/reader.js: -------------------------------------------------------------------------------- 1 | const SCOPE = require('./parser/constants/scope'); 2 | const CHAR = require('./parser/constants/chars'); 3 | const ParserLayer = require('./parser/map'); 4 | 5 | class M3U8FileParser { 6 | constructor() { 7 | this.reset(); 8 | } 9 | 10 | /** 11 | * This function is use for analyzing the input string 12 | * and seperate the tag and the content 13 | * then invoke the tag parser to parse the content 14 | * @param {String} str 15 | */ 16 | read(str) { 17 | const contentLength = str.length; 18 | str = str.trim(); 19 | 20 | let tag = ''; 21 | let isExtTag = false; 22 | let isHashLeading = false; 23 | 24 | let crPosition = 0; 25 | let lfPosition = 0; 26 | let colonPosition = 0; 27 | 28 | let content = ''; 29 | 30 | for (let pos = 0; pos < contentLength; pos++) { 31 | // find CR/LF position 32 | lfPosition = str.indexOf('\n', pos); 33 | crPosition = (lfPosition > -1 && lfPosition) || str.indexOf('\r', pos); 34 | crPosition = (crPosition > -1 && crPosition) || contentLength; 35 | 36 | // slice between current position and CR/LF position 37 | // should be the new line 38 | content = str.slice(pos, crPosition).trim(); 39 | 40 | pos = crPosition; 41 | 42 | // check tag content 43 | isHashLeading = content[0] === '#'; 44 | isExtTag = content.slice(0, 4) === '#EXT'; 45 | colonPosition = (isExtTag && content.indexOf(':')) || -1; 46 | 47 | tag = isExtTag && ~colonPosition && content.slice(0, colonPosition); 48 | !tag && isHashLeading && (tag = content); 49 | 50 | // invoke parser if read line finished 51 | this.invokeParser(tag, content.slice(colonPosition + 1), isHashLeading); 52 | } 53 | } 54 | 55 | /** 56 | * Receive the line analyze result 57 | * then invoke specific parser accordingly 58 | * @param {String} tag 59 | * @param {String} content 60 | * @param {Boolean} isHashLeading 61 | */ 62 | invokeParser(tag, content, isHashLeading) { 63 | // have both tag and content 64 | // if the tag was supported, then run parser 65 | // other wise drop it 66 | if (tag && content) { 67 | const parser = ParserLayer.get(tag); 68 | if (parser) 69 | return this.dataScope(parser, parser.parser(content, this.result)); 70 | else return; 71 | } 72 | 73 | // if has content and is hash sign leading 74 | // treat as comment 75 | if (content && isHashLeading) { 76 | return; 77 | } 78 | 79 | // else treat as segment url data 80 | if (content) { 81 | const parser = ParserLayer.get('URL'); 82 | this.dataScope(parser, parser.parser(content, this.result)); 83 | } 84 | } 85 | 86 | /** 87 | * Receive the parser config the parser result 88 | * then attach data to result object according to the scope 89 | * @param {Object} config 90 | * @param {Any} data 91 | */ 92 | dataScope(config, data) { 93 | switch (config.scope) { 94 | case SCOPE.MASTER_PLAYLIST: 95 | this.currentSegmentData.isMasterPlaylist = true; 96 | case SCOPE.MEDIA_SEGMENT: 97 | this.currentSegmentData[config.key] = data; 98 | break; 99 | case SCOPE.URL_SEGMENT_ENDING: 100 | this.currentSegmentData[config.key] = data; 101 | this.result.segments.push(this.currentSegmentData); 102 | this.currentSegmentData = Object.assign({}, this.trailingData); 103 | break; 104 | case SCOPE.TRALING_MEDIA_SEGMENT: 105 | this.trailingData[config.key] = data; 106 | this.currentSegmentData = Object.assign( 107 | this.currentSegmentData, 108 | this.trailingData 109 | ); 110 | break; 111 | case SCOPE.MEDIA_PLAYLIST: 112 | case SCOPE.BASIC: 113 | this.result[config.key] = data; 114 | break; 115 | case SCOPE.GROUPING: 116 | // Initialize root object 117 | this.result[config.group.root] || (this.result[config.group.root] = {}); 118 | let key = ''; 119 | let ref = this.result[config.group.root]; 120 | const length = config.group.path.length; 121 | 122 | // Creating path 123 | for (let idx = 0; idx < length - 1; idx++) { 124 | key = config.group.path[idx]; 125 | ref[data[key]] || (ref[data[key]] = {}); 126 | ref = ref[data[key]]; 127 | } 128 | 129 | // Attach data to last key 130 | ref[data[config.group.path[length - 1]]] = data; 131 | break; 132 | } 133 | 134 | // trailing data 135 | } 136 | 137 | /** 138 | * Return the result that parsed 139 | */ 140 | getResult() { 141 | return this.result; 142 | } 143 | 144 | /** 145 | * Reset the result 146 | */ 147 | reset() { 148 | this.trailingData = {}; 149 | this.currentSegmentData = {}; 150 | this.result = { 151 | isExtendedM3U: false, 152 | segments: [], 153 | }; 154 | } 155 | } 156 | 157 | module.exports = M3U8FileParser; 158 | -------------------------------------------------------------------------------- /dist/m3u8-file-parser.min.js: -------------------------------------------------------------------------------- 1 | var M3U8FileParser=function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=6)}([function(e,t,r){"use strict";var n=r(1),a=/\"/g,s=r(3),i={YES:!0,NO:!1};function o(e){return e in i?i[e]:e}e.exports=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r="",i="",u=arguments[2]||{},c=0;c-1&&i||e.indexOf("\r",c))>-1&&s||t,u=e.slice(c,s).trim(),c=s,a="#"===u[0],o=(n="#EXT"===u.slice(0,4))&&u.indexOf(":")||-1,!(r=n&&~o&&u.slice(0,o))&&a&&(r=u),this.invokeParser(r,u.slice(o+1),a)}},{key:"invokeParser",value:function(e,t,r){if(e&&t){var n=s.get(e);return n?this.dataScope(n,n.parser(t,this.result)):void 0}if((!t||!r)&&t){var a=s.get("URL");this.dataScope(a,a.parser(t,this.result))}}},{key:"dataScope",value:function(e,t){switch(e.scope){case a.MASTER_PLAYLIST:this.currentSegmentData.isMasterPlaylist=!0;case a.MEDIA_SEGMENT:this.currentSegmentData[e.key]=t;break;case a.URL_SEGMENT_ENDING:this.currentSegmentData[e.key]=t,this.result.segments.push(this.currentSegmentData),this.currentSegmentData=Object.assign({},this.trailingData);break;case a.TRALING_MEDIA_SEGMENT:this.trailingData[e.key]=t,this.currentSegmentData=Object.assign(this.currentSegmentData,this.trailingData);break;case a.MEDIA_PLAYLIST:case a.BASIC:this.result[e.key]=t;break;case a.GROUPING:this.result[e.group.root]||(this.result[e.group.root]={});for(var r="",n=this.result[e.group.root],s=e.group.path.length,i=0;i=s.NUMBER_START&&c<=s.NUMBER_STOP||c===s.MINUS||c===s.PERIOD;)o.duration+=e[u],c=++u>e.length-1?"":e[u].charCodeAt(0);o.duration=o.duration&&parseFloat(o.duration)||-1;for(var E=u;E reader.read(line)); // Read line by line 37 | interface.on('close', () => reader.getResult()); // Get result after file ends. 38 | ``` 39 | 40 | In browser, use the file in dist instead. 41 | 42 | ```html 43 | 44 | 45 | 46 | 47 | M3U8FileParser Browser Example 48 | 49 | 63 | 64 | 65 |

See console for result

66 | 67 | 68 | ``` 69 | 70 | Also, you can parse file line by line if you want, for example, in Node.js, parsing a large file using `readline` 71 | 72 | ## Supported Tags 73 | 74 | ### Basic Tags 75 | 76 | EXTM3U 77 | 78 | EXT-X-VERSION 79 | 80 | ### Media Segment Tags 81 | 82 | EXTINF 83 | 84 | EXT-X-BYTERANGE 85 | 86 | EXT-X-DISCONTINUITY 87 | 88 | EXT-X-KEY 89 | 90 | EXT-X-MAP 91 | 92 | EXT-X-PROGRAM-DATE-TIME 93 | 94 | EXT-X-DATERANGE 95 | 96 | ### Media Playlist Tags 97 | 98 | EXT-X-TARGETDURATION 99 | 100 | EXT-X-MEDIA-SEQUENCE 101 | 102 | EXT-X-DISCONTINUITY-SEQUENCE 103 | 104 | EXT-X-ENDLIST 105 | 106 | EXT-X-PLAYLIST-TYPE 107 | 108 | EXT-X-I-FRAMES-ONLY 109 | 110 | ### Master Playlist Tags 111 | 112 | EXT-X-MEDIA 113 | 114 | EXT-X-STREAM-INF 115 | 116 | EXT-X-I-FRAME-STREAM-INF 117 | 118 | EXT-X-SESSION-DATA 119 | 120 | EXT-X-SESSION-KEY 121 | 122 | ### Media or Master Playlist Tags 123 | 124 | EXT-X-INDEPENDENT-SEGMENTS 125 | 126 | EXT-X-START 127 | 128 | ### Extended Features 129 | 130 | - Attributes in EXTINF, For example: `#EXTINF:10 example="hah", title` 131 | - Camel case conversion for attribute list 132 | 133 | ## APIs 134 | 135 | #### read(str: String) 136 | 137 | Read the M3U/M3U8 content and parse it, you can pass a whole M3U/M3U8 content or just one line of the content. 138 | 139 | #### getResult(): Object 140 | 141 | Get the current parsed result 142 | 143 | #### reset() 144 | 145 | Reset the parsed result 146 | 147 | ## Custom Parsers 148 | 149 | No support currently. 150 | 151 | ## File an issue if the parsing strategy is wrong 152 | 153 | Feel free to file any issues 154 | 155 | ## Other 156 | 157 | Currently the parser do not support validation checks for M3U/M3U8 file, like the example given below, are violating Section [4.3.5](https://tools.ietf.org/html/rfc8216#section-4.3.5), but the parser will parse it anyway. 158 | 159 | ## Parsing Example 160 | 161 | ```h 162 | #EXTM3U 163 | #EXT-X-VERSION:2 164 | #EXT-X-TARGETDURATION:6 165 | #EXT-X-PLAYLIST-TYPE:VOD 166 | #EXT-X-DISCONTINUITY-SEQUENCE:1 167 | #EXT-X-START:PERCISE=NO,TIME-OFFSET=2.11 168 | #EXT-X-MEDIA-SEQUENCE:1 169 | #EXT-X-INDEPENDENT-SEGMENTS 170 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="en",CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound",URI="subtitles/eng/prog_index.m3u8" 171 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English (Forced)",DEFAULT=NO,AUTOSELECT=NO,FORCED=YES,LANGUAGE="en",URI="subtitles/eng_forced/prog_index.m3u8" 172 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Français",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="fr",CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound",URI="subtitles/fra/prog_index.m3u8" 173 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Français (Forced)",DEFAULT=NO,AUTOSELECT=NO,FORCED=YES,LANGUAGE="fr",URI="subtitles/fra_forced/prog_index.m3u8" 174 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Español",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="es",CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound",URI="subtitles/spa/prog_index.m3u8" 175 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Español (Forced)",DEFAULT=NO,AUTOSELECT=NO,FORCED=YES,LANGUAGE="es",URI="subtitles/spa_forced/prog_index.m3u8" 176 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="日本語",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="ja",CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound",URI="subtitles/jpn/prog_index.m3u8" 177 | #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="日本語 (Forced)",DEFAULT=NO,AUTOSELECT=NO,FORCED=YES,LANGUAGE="ja",URI="subtitles/jpn_forced/prog_index.m3u8" 178 | #EXT-X-SESSION-DATA:DATA-ID="com.example.lyrics",URI="lyrics.json" 179 | #EXT-X-SESSION-DATA:DATA-ID="com.example.title",LANGUAGE="en", \ 180 | VALUE="This is an example" 181 | #EXT-X-SESSION-DATA:DATA-ID="com.example.title",LANGUAGE="es", \ 182 | VALUE="Este es un ejemplo" 183 | #EXT-X-SESSION-KEY:METHOD=AES-128,URI="https://priv.example.com/key.php?r=52",IV=0x9c7db8778570d05c3177c349fd9236aa 184 | #EXT-X-STREAM-INF:BANDWIDTH=100,AVERAGE-BANDWIDTH=128,CODECS="MPEG-4;MPEG-2",RESOLUTION=1080,FRAME-RATE=29.97,HDCP-LEVEL="TYPE-0",AUDIO="AUDIO",VIDEO="VIDEO" 185 | #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=120,URI="THATFILE.M3U8" 186 | #EXT-X-BYTERANGE:100@10 187 | #EXT-X-DISCONTINUITY 188 | #EXT-X-KEY:METHOD=AES-128,URI="https://priv.example.com/key.php?r=52",IV=0x9c7db8778570d05c3177c349fd9236aa 189 | #EXT-X-MAP:URI="https://example.map.uri",BYTERANGE="300@0" 190 | #EXT-X-PROGRAM-DATE-TIME:2010-02-19T14:54:23.031+08:00 191 | #EXT-X-DATERANGE:ID="ITS ID",CLASS="ITS CLASS",START-DATE="2010-02-19T14:54:23.031+08:00",END-DATE="2010-02-19T14:54:23.031+08:00",DURATION=1.33,PLANNED-DURATION=2.33 192 | #EXTINF:23.222 tvg-logo="haha, ddd" tvg-aa="sb@" tag=sa, Sample artist, : - Sample title 193 | C:\Documents and Settings\I\My Music\Sample.mp3 194 | #EXT-X-ENDLIST 195 | #COMMENT YAS 196 | ``` 197 | 198 | Parsed result: 199 | 200 | ```json 201 | { 202 | "isExtendedM3U": true, 203 | "segments": [ 204 | { 205 | "isMasterPlaylist": true, 206 | "sessionKey": { 207 | "method": "AES-128", 208 | "uri": "https://priv.example.com/key.php?r=52", 209 | "iv": "0x9c7db8778570d05c3177c349fd9236aa" 210 | }, 211 | "streamInf": { 212 | "bandwidth": 100, 213 | "averageBandwidth": 128, 214 | "codecs": [ 215 | "MPEG-4", 216 | "MPEG-2" 217 | ], 218 | "resolution": 1080, 219 | "frameRate": 29.97, 220 | "hdcpLevel": "TYPE-0", 221 | "audio": "AUDIO", 222 | "video": "VIDEO" 223 | }, 224 | "iFrameStreamInf": { 225 | "bandwidth": 120, 226 | "uri": "THATFILE.M3U8" 227 | }, 228 | "byteRange": { 229 | "length": 100, 230 | "offset": 10 231 | }, 232 | "discontinuity": true, 233 | "key": { 234 | "method": "AES-128", 235 | "uri": "https://priv.example.com/key.php?r=52", 236 | "iv": "0x9c7db8778570d05c3177c349fd9236aa" 237 | }, 238 | "map": { 239 | "uri": "https://example.map.uri", 240 | "byterange": { 241 | "length": 300, 242 | "offset": 0 243 | } 244 | }, 245 | "programDateTime": "2010-02-19T06:54:23.031Z", 246 | "dateRange": { 247 | "id": "ITS ID", 248 | "class": "ITS CLASS", 249 | "startDate": "2010-02-19T06:54:23.031Z", 250 | "endDate": "2010-02-19T06:54:23.031Z", 251 | "duration": 1.33, 252 | "plannedDuration": 2.33 253 | }, 254 | "inf": { 255 | "duration": 23.222, 256 | "title": "Sample artist, : - Sample title", 257 | "tvg-logo": "haha, ddd", 258 | "tvg-aa": "sb@", 259 | "tag": "sa" 260 | }, 261 | "url": "C:\\Documents and Settings\\I\\My Music\\Sample.mp3" 262 | } 263 | ], 264 | "version": 2, 265 | "targetDuration": 6, 266 | "playlistType": "VOD", 267 | "discontinuitySequence": 1, 268 | "start": { 269 | "percise": true, 270 | "timeOffset": 2.11 271 | }, 272 | "mediaSequence": 1, 273 | "independentSegments": true, 274 | "media": { 275 | "SUBTITLES": { 276 | "subs": { 277 | "English": { 278 | "groupId": "subs", 279 | "type": "SUBTITLES", 280 | "name": "English", 281 | "default": true, 282 | "autoselect": true, 283 | "forced": true, 284 | "language": "en", 285 | "characteristics": "public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound", 286 | "uri": "subtitles/eng/prog_index.m3u8" 287 | }, 288 | "English (Forced)": { 289 | "groupId": "subs", 290 | "type": "SUBTITLES", 291 | "name": "English (Forced)", 292 | "default": true, 293 | "autoselect": true, 294 | "forced": true, 295 | "language": "en", 296 | "uri": "subtitles/eng_forced/prog_index.m3u8" 297 | }, 298 | "Français": { 299 | "groupId": "subs", 300 | "type": "SUBTITLES", 301 | "name": "Français", 302 | "default": true, 303 | "autoselect": true, 304 | "forced": true, 305 | "language": "fr", 306 | "characteristics": "public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound", 307 | "uri": "subtitles/fra/prog_index.m3u8" 308 | }, 309 | "Français (Forced)": { 310 | "groupId": "subs", 311 | "type": "SUBTITLES", 312 | "name": "Français (Forced)", 313 | "default": true, 314 | "autoselect": true, 315 | "forced": true, 316 | "language": "fr", 317 | "uri": "subtitles/fra_forced/prog_index.m3u8" 318 | }, 319 | "Español": { 320 | "groupId": "subs", 321 | "type": "SUBTITLES", 322 | "name": "Español", 323 | "default": true, 324 | "autoselect": true, 325 | "forced": true, 326 | "language": "es", 327 | "characteristics": "public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound", 328 | "uri": "subtitles/spa/prog_index.m3u8" 329 | }, 330 | "Español (Forced)": { 331 | "groupId": "subs", 332 | "type": "SUBTITLES", 333 | "name": "Español (Forced)", 334 | "default": true, 335 | "autoselect": true, 336 | "forced": true, 337 | "language": "es", 338 | "uri": "subtitles/spa_forced/prog_index.m3u8" 339 | }, 340 | "日本語": { 341 | "groupId": "subs", 342 | "type": "SUBTITLES", 343 | "name": "日本語", 344 | "default": true, 345 | "autoselect": true, 346 | "forced": true, 347 | "language": "ja", 348 | "characteristics": "public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound", 349 | "uri": "subtitles/jpn/prog_index.m3u8" 350 | }, 351 | "日本語 (Forced)": { 352 | "groupId": "subs", 353 | "type": "SUBTITLES", 354 | "name": "日本語 (Forced)", 355 | "default": true, 356 | "autoselect": true, 357 | "forced": true, 358 | "language": "ja", 359 | "uri": "subtitles/jpn_forced/prog_index.m3u8" 360 | } 361 | } 362 | } 363 | }, 364 | "sessionData": { 365 | "com.example.lyrics": { 366 | "undefined": { 367 | "dataId": "com.example.lyrics", 368 | "uri": "lyrics.json" 369 | } 370 | }, 371 | "com.example.title": { 372 | "en": { 373 | "dataId": "com.example.title", 374 | "language": "en", 375 | "value": "This is an example" 376 | }, 377 | "es": { 378 | "dataId": "com.example.title", 379 | "language": "es", 380 | "value": "Este es un ejemplo" 381 | } 382 | } 383 | }, 384 | "endList": 2 385 | } 386 | ``` 387 | 388 | ## License 389 | 390 | MIT 391 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@webassemblyjs/ast@1.8.5": 6 | version "1.8.5" 7 | resolved "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" 8 | integrity sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k= 9 | dependencies: 10 | "@webassemblyjs/helper-module-context" "1.8.5" 11 | "@webassemblyjs/helper-wasm-bytecode" "1.8.5" 12 | "@webassemblyjs/wast-parser" "1.8.5" 13 | 14 | "@webassemblyjs/floating-point-hex-parser@1.8.5": 15 | version "1.8.5" 16 | resolved "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" 17 | integrity sha1-G6kmopI2E+3OSW/VsC6M6KX0lyE= 18 | 19 | "@webassemblyjs/helper-api-error@1.8.5": 20 | version "1.8.5" 21 | resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" 22 | integrity sha1-xJ2tIvZFInxe22EL25aX8aq3Ifc= 23 | 24 | "@webassemblyjs/helper-buffer@1.8.5": 25 | version "1.8.5" 26 | resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" 27 | integrity sha1-/qk+Qphj3V5DOFVfQikjhaZT8gQ= 28 | 29 | "@webassemblyjs/helper-code-frame@1.8.5": 30 | version "1.8.5" 31 | resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" 32 | integrity sha1-mnQP9I4/qjAisd/1RCPfmqKTwl4= 33 | dependencies: 34 | "@webassemblyjs/wast-printer" "1.8.5" 35 | 36 | "@webassemblyjs/helper-fsm@1.8.5": 37 | version "1.8.5" 38 | resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" 39 | integrity sha1-ugt9Oz9+RzPaYFnJMyJ12GBwJFI= 40 | 41 | "@webassemblyjs/helper-module-context@1.8.5": 42 | version "1.8.5" 43 | resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" 44 | integrity sha1-3vS5knsBAdyMu9jR7bW3ucguskU= 45 | dependencies: 46 | "@webassemblyjs/ast" "1.8.5" 47 | mamacro "^0.0.3" 48 | 49 | "@webassemblyjs/helper-wasm-bytecode@1.8.5": 50 | version "1.8.5" 51 | resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" 52 | integrity sha1-U3p1Dt31weky83RCBlUckcG5PmE= 53 | 54 | "@webassemblyjs/helper-wasm-section@1.8.5": 55 | version "1.8.5" 56 | resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" 57 | integrity sha1-dMpqa8vhnlCjtrRihH5pUD5r/L8= 58 | dependencies: 59 | "@webassemblyjs/ast" "1.8.5" 60 | "@webassemblyjs/helper-buffer" "1.8.5" 61 | "@webassemblyjs/helper-wasm-bytecode" "1.8.5" 62 | "@webassemblyjs/wasm-gen" "1.8.5" 63 | 64 | "@webassemblyjs/ieee754@1.8.5": 65 | version "1.8.5" 66 | resolved "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" 67 | integrity sha1-cSMp2+8kDza/V70ve4+5v0FUQh4= 68 | dependencies: 69 | "@xtuc/ieee754" "^1.2.0" 70 | 71 | "@webassemblyjs/leb128@1.8.5": 72 | version "1.8.5" 73 | resolved "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" 74 | integrity sha1-BE7es06mefPgTNT9mCTV41dnrhA= 75 | dependencies: 76 | "@xtuc/long" "4.2.2" 77 | 78 | "@webassemblyjs/utf8@1.8.5": 79 | version "1.8.5" 80 | resolved "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" 81 | integrity sha1-qL87XY/+mGx8Hjc8y9wqCRXwztw= 82 | 83 | "@webassemblyjs/wasm-edit@1.8.5": 84 | version "1.8.5" 85 | resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" 86 | integrity sha1-li2hKqWswcExyBxCMpkcgs5W4Bo= 87 | dependencies: 88 | "@webassemblyjs/ast" "1.8.5" 89 | "@webassemblyjs/helper-buffer" "1.8.5" 90 | "@webassemblyjs/helper-wasm-bytecode" "1.8.5" 91 | "@webassemblyjs/helper-wasm-section" "1.8.5" 92 | "@webassemblyjs/wasm-gen" "1.8.5" 93 | "@webassemblyjs/wasm-opt" "1.8.5" 94 | "@webassemblyjs/wasm-parser" "1.8.5" 95 | "@webassemblyjs/wast-printer" "1.8.5" 96 | 97 | "@webassemblyjs/wasm-gen@1.8.5": 98 | version "1.8.5" 99 | resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" 100 | integrity sha1-VIQHZsLBAC62TtGr5yCt7XFPmLw= 101 | dependencies: 102 | "@webassemblyjs/ast" "1.8.5" 103 | "@webassemblyjs/helper-wasm-bytecode" "1.8.5" 104 | "@webassemblyjs/ieee754" "1.8.5" 105 | "@webassemblyjs/leb128" "1.8.5" 106 | "@webassemblyjs/utf8" "1.8.5" 107 | 108 | "@webassemblyjs/wasm-opt@1.8.5": 109 | version "1.8.5" 110 | resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" 111 | integrity sha1-sk2fa6UDlK8TSfUQr6j/y4pj0mQ= 112 | dependencies: 113 | "@webassemblyjs/ast" "1.8.5" 114 | "@webassemblyjs/helper-buffer" "1.8.5" 115 | "@webassemblyjs/wasm-gen" "1.8.5" 116 | "@webassemblyjs/wasm-parser" "1.8.5" 117 | 118 | "@webassemblyjs/wasm-parser@1.8.5": 119 | version "1.8.5" 120 | resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" 121 | integrity sha1-IVdvDsiLkUJzV7hTY4NmjvfGa40= 122 | dependencies: 123 | "@webassemblyjs/ast" "1.8.5" 124 | "@webassemblyjs/helper-api-error" "1.8.5" 125 | "@webassemblyjs/helper-wasm-bytecode" "1.8.5" 126 | "@webassemblyjs/ieee754" "1.8.5" 127 | "@webassemblyjs/leb128" "1.8.5" 128 | "@webassemblyjs/utf8" "1.8.5" 129 | 130 | "@webassemblyjs/wast-parser@1.8.5": 131 | version "1.8.5" 132 | resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" 133 | integrity sha1-4Q7s1ULQ5705T2gnxJ899tTu+4w= 134 | dependencies: 135 | "@webassemblyjs/ast" "1.8.5" 136 | "@webassemblyjs/floating-point-hex-parser" "1.8.5" 137 | "@webassemblyjs/helper-api-error" "1.8.5" 138 | "@webassemblyjs/helper-code-frame" "1.8.5" 139 | "@webassemblyjs/helper-fsm" "1.8.5" 140 | "@xtuc/long" "4.2.2" 141 | 142 | "@webassemblyjs/wast-printer@1.8.5": 143 | version "1.8.5" 144 | resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" 145 | integrity sha1-EUu8SB/RDKDiOzVg+oEnSLC65bw= 146 | dependencies: 147 | "@webassemblyjs/ast" "1.8.5" 148 | "@webassemblyjs/wast-parser" "1.8.5" 149 | "@xtuc/long" "4.2.2" 150 | 151 | "@xtuc/ieee754@^1.2.0": 152 | version "1.2.0" 153 | resolved "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" 154 | integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A= 155 | 156 | "@xtuc/long@4.2.2": 157 | version "4.2.2" 158 | resolved "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" 159 | integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= 160 | 161 | abbrev@1: 162 | version "1.1.1" 163 | resolved "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 164 | integrity sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg= 165 | 166 | acorn@^6.2.1: 167 | version "6.4.1" 168 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" 169 | integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== 170 | 171 | ajv-errors@^1.0.0: 172 | version "1.0.1" 173 | resolved "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" 174 | integrity sha1-81mGrOuRr63sQQL72FAUlQzvpk0= 175 | 176 | ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: 177 | version "3.4.1" 178 | resolved "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" 179 | integrity sha1-75FuJxxkrBIXH9g4TqrmsjRYVNo= 180 | 181 | ajv@^6.1.0, ajv@^6.10.2: 182 | version "6.10.2" 183 | resolved "https://registry.npm.taobao.org/ajv/download/ajv-6.10.2.tgz?cache=0&sync_timestamp=1563113786760&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" 184 | integrity sha1-086gTWsBeyiUrWkED+yLYj60vVI= 185 | dependencies: 186 | fast-deep-equal "^2.0.1" 187 | fast-json-stable-stringify "^2.0.0" 188 | json-schema-traverse "^0.4.1" 189 | uri-js "^4.2.2" 190 | 191 | ansi-regex@^2.0.0: 192 | version "2.1.1" 193 | resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 194 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 195 | 196 | ansi-regex@^3.0.0: 197 | version "3.0.0" 198 | resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 199 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 200 | 201 | ansi-styles@^2.2.1: 202 | version "2.2.1" 203 | resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1566430562325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 204 | integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= 205 | 206 | anymatch@^2.0.0: 207 | version "2.0.0" 208 | resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" 209 | integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= 210 | dependencies: 211 | micromatch "^3.1.4" 212 | normalize-path "^2.1.1" 213 | 214 | aproba@^1.0.3, aproba@^1.1.1: 215 | version "1.2.0" 216 | resolved "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 217 | integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= 218 | 219 | are-we-there-yet@~1.1.2: 220 | version "1.1.5" 221 | resolved "https://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" 222 | integrity sha1-SzXClE8GKov82mZBB2A1D+nd/CE= 223 | dependencies: 224 | delegates "^1.0.0" 225 | readable-stream "^2.0.6" 226 | 227 | arr-diff@^4.0.0: 228 | version "4.0.0" 229 | resolved "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 230 | integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= 231 | 232 | arr-flatten@^1.1.0: 233 | version "1.1.0" 234 | resolved "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 235 | integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= 236 | 237 | arr-union@^3.1.0: 238 | version "3.1.0" 239 | resolved "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 240 | integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= 241 | 242 | array-unique@^0.3.2: 243 | version "0.3.2" 244 | resolved "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 245 | integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= 246 | 247 | asn1.js@^4.0.0: 248 | version "4.10.1" 249 | resolved "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" 250 | integrity sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA= 251 | dependencies: 252 | bn.js "^4.0.0" 253 | inherits "^2.0.1" 254 | minimalistic-assert "^1.0.0" 255 | 256 | assert@^1.1.1: 257 | version "1.5.0" 258 | resolved "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" 259 | integrity sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs= 260 | dependencies: 261 | object-assign "^4.1.1" 262 | util "0.10.3" 263 | 264 | assign-symbols@^1.0.0: 265 | version "1.0.0" 266 | resolved "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 267 | integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= 268 | 269 | async-each@^1.0.1: 270 | version "1.0.3" 271 | resolved "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" 272 | integrity sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8= 273 | 274 | atob@^2.1.1: 275 | version "2.1.2" 276 | resolved "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" 277 | integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= 278 | 279 | babel-code-frame@^6.26.0: 280 | version "6.26.0" 281 | resolved "https://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 282 | integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= 283 | dependencies: 284 | chalk "^1.1.3" 285 | esutils "^2.0.2" 286 | js-tokens "^3.0.2" 287 | 288 | babel-core@^6.26.0: 289 | version "6.26.3" 290 | resolved "https://registry.npm.taobao.org/babel-core/download/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" 291 | integrity sha1-suLwnjQtDwyI4vAuBneUEl51wgc= 292 | dependencies: 293 | babel-code-frame "^6.26.0" 294 | babel-generator "^6.26.0" 295 | babel-helpers "^6.24.1" 296 | babel-messages "^6.23.0" 297 | babel-register "^6.26.0" 298 | babel-runtime "^6.26.0" 299 | babel-template "^6.26.0" 300 | babel-traverse "^6.26.0" 301 | babel-types "^6.26.0" 302 | babylon "^6.18.0" 303 | convert-source-map "^1.5.1" 304 | debug "^2.6.9" 305 | json5 "^0.5.1" 306 | lodash "^4.17.4" 307 | minimatch "^3.0.4" 308 | path-is-absolute "^1.0.1" 309 | private "^0.1.8" 310 | slash "^1.0.0" 311 | source-map "^0.5.7" 312 | 313 | babel-generator@^6.26.0: 314 | version "6.26.1" 315 | resolved "https://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" 316 | integrity sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA= 317 | dependencies: 318 | babel-messages "^6.23.0" 319 | babel-runtime "^6.26.0" 320 | babel-types "^6.26.0" 321 | detect-indent "^4.0.0" 322 | jsesc "^1.3.0" 323 | lodash "^4.17.4" 324 | source-map "^0.5.7" 325 | trim-right "^1.0.1" 326 | 327 | babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: 328 | version "6.24.1" 329 | resolved "https://registry.npm.taobao.org/babel-helper-builder-binary-assignment-operator-visitor/download/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" 330 | integrity sha1-zORReto1b0IgvK6KAsKzRvmlZmQ= 331 | dependencies: 332 | babel-helper-explode-assignable-expression "^6.24.1" 333 | babel-runtime "^6.22.0" 334 | babel-types "^6.24.1" 335 | 336 | babel-helper-call-delegate@^6.24.1: 337 | version "6.24.1" 338 | resolved "https://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" 339 | integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340= 340 | dependencies: 341 | babel-helper-hoist-variables "^6.24.1" 342 | babel-runtime "^6.22.0" 343 | babel-traverse "^6.24.1" 344 | babel-types "^6.24.1" 345 | 346 | babel-helper-define-map@^6.24.1: 347 | version "6.26.0" 348 | resolved "https://registry.npm.taobao.org/babel-helper-define-map/download/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" 349 | integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8= 350 | dependencies: 351 | babel-helper-function-name "^6.24.1" 352 | babel-runtime "^6.26.0" 353 | babel-types "^6.26.0" 354 | lodash "^4.17.4" 355 | 356 | babel-helper-explode-assignable-expression@^6.24.1: 357 | version "6.24.1" 358 | resolved "https://registry.npm.taobao.org/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" 359 | integrity sha1-8luCz33BBDPFX3BZLVdGQArCLKo= 360 | dependencies: 361 | babel-runtime "^6.22.0" 362 | babel-traverse "^6.24.1" 363 | babel-types "^6.24.1" 364 | 365 | babel-helper-function-name@^6.24.1: 366 | version "6.24.1" 367 | resolved "https://registry.npm.taobao.org/babel-helper-function-name/download/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" 368 | integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk= 369 | dependencies: 370 | babel-helper-get-function-arity "^6.24.1" 371 | babel-runtime "^6.22.0" 372 | babel-template "^6.24.1" 373 | babel-traverse "^6.24.1" 374 | babel-types "^6.24.1" 375 | 376 | babel-helper-get-function-arity@^6.24.1: 377 | version "6.24.1" 378 | resolved "https://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" 379 | integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0= 380 | dependencies: 381 | babel-runtime "^6.22.0" 382 | babel-types "^6.24.1" 383 | 384 | babel-helper-hoist-variables@^6.24.1: 385 | version "6.24.1" 386 | resolved "https://registry.npm.taobao.org/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" 387 | integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY= 388 | dependencies: 389 | babel-runtime "^6.22.0" 390 | babel-types "^6.24.1" 391 | 392 | babel-helper-optimise-call-expression@^6.24.1: 393 | version "6.24.1" 394 | resolved "https://registry.npm.taobao.org/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" 395 | integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc= 396 | dependencies: 397 | babel-runtime "^6.22.0" 398 | babel-types "^6.24.1" 399 | 400 | babel-helper-regex@^6.24.1: 401 | version "6.26.0" 402 | resolved "https://registry.npm.taobao.org/babel-helper-regex/download/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" 403 | integrity sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI= 404 | dependencies: 405 | babel-runtime "^6.26.0" 406 | babel-types "^6.26.0" 407 | lodash "^4.17.4" 408 | 409 | babel-helper-remap-async-to-generator@^6.24.1: 410 | version "6.24.1" 411 | resolved "https://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" 412 | integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs= 413 | dependencies: 414 | babel-helper-function-name "^6.24.1" 415 | babel-runtime "^6.22.0" 416 | babel-template "^6.24.1" 417 | babel-traverse "^6.24.1" 418 | babel-types "^6.24.1" 419 | 420 | babel-helper-replace-supers@^6.24.1: 421 | version "6.24.1" 422 | resolved "https://registry.npm.taobao.org/babel-helper-replace-supers/download/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" 423 | integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo= 424 | dependencies: 425 | babel-helper-optimise-call-expression "^6.24.1" 426 | babel-messages "^6.23.0" 427 | babel-runtime "^6.22.0" 428 | babel-template "^6.24.1" 429 | babel-traverse "^6.24.1" 430 | babel-types "^6.24.1" 431 | 432 | babel-helpers@^6.24.1: 433 | version "6.24.1" 434 | resolved "https://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" 435 | integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= 436 | dependencies: 437 | babel-runtime "^6.22.0" 438 | babel-template "^6.24.1" 439 | 440 | babel-loader@^7.1.4: 441 | version "7.1.5" 442 | resolved "https://registry.npm.taobao.org/babel-loader/download/babel-loader-7.1.5.tgz#e3ee0cd7394aa557e013b02d3e492bfd07aa6d68" 443 | integrity sha1-4+4M1zlKpVfgE7AtPkkr/QeqbWg= 444 | dependencies: 445 | find-cache-dir "^1.0.0" 446 | loader-utils "^1.0.2" 447 | mkdirp "^0.5.1" 448 | 449 | babel-messages@^6.23.0: 450 | version "6.23.0" 451 | resolved "https://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" 452 | integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= 453 | dependencies: 454 | babel-runtime "^6.22.0" 455 | 456 | babel-plugin-check-es2015-constants@^6.22.0: 457 | version "6.22.0" 458 | resolved "https://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" 459 | integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o= 460 | dependencies: 461 | babel-runtime "^6.22.0" 462 | 463 | babel-plugin-syntax-async-functions@^6.8.0: 464 | version "6.13.0" 465 | resolved "https://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" 466 | integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU= 467 | 468 | babel-plugin-syntax-exponentiation-operator@^6.8.0: 469 | version "6.13.0" 470 | resolved "https://registry.npm.taobao.org/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" 471 | integrity sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4= 472 | 473 | babel-plugin-syntax-trailing-function-commas@^6.22.0: 474 | version "6.22.0" 475 | resolved "https://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" 476 | integrity sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM= 477 | 478 | babel-plugin-transform-async-to-generator@^6.22.0: 479 | version "6.24.1" 480 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" 481 | integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E= 482 | dependencies: 483 | babel-helper-remap-async-to-generator "^6.24.1" 484 | babel-plugin-syntax-async-functions "^6.8.0" 485 | babel-runtime "^6.22.0" 486 | 487 | babel-plugin-transform-es2015-arrow-functions@^6.22.0: 488 | version "6.22.0" 489 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" 490 | integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE= 491 | dependencies: 492 | babel-runtime "^6.22.0" 493 | 494 | babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: 495 | version "6.22.0" 496 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoped-functions/download/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" 497 | integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE= 498 | dependencies: 499 | babel-runtime "^6.22.0" 500 | 501 | babel-plugin-transform-es2015-block-scoping@^6.23.0: 502 | version "6.26.0" 503 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" 504 | integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8= 505 | dependencies: 506 | babel-runtime "^6.26.0" 507 | babel-template "^6.26.0" 508 | babel-traverse "^6.26.0" 509 | babel-types "^6.26.0" 510 | lodash "^4.17.4" 511 | 512 | babel-plugin-transform-es2015-classes@^6.23.0: 513 | version "6.24.1" 514 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" 515 | integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs= 516 | dependencies: 517 | babel-helper-define-map "^6.24.1" 518 | babel-helper-function-name "^6.24.1" 519 | babel-helper-optimise-call-expression "^6.24.1" 520 | babel-helper-replace-supers "^6.24.1" 521 | babel-messages "^6.23.0" 522 | babel-runtime "^6.22.0" 523 | babel-template "^6.24.1" 524 | babel-traverse "^6.24.1" 525 | babel-types "^6.24.1" 526 | 527 | babel-plugin-transform-es2015-computed-properties@^6.22.0: 528 | version "6.24.1" 529 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" 530 | integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM= 531 | dependencies: 532 | babel-runtime "^6.22.0" 533 | babel-template "^6.24.1" 534 | 535 | babel-plugin-transform-es2015-destructuring@^6.23.0: 536 | version "6.23.0" 537 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" 538 | integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0= 539 | dependencies: 540 | babel-runtime "^6.22.0" 541 | 542 | babel-plugin-transform-es2015-duplicate-keys@^6.22.0: 543 | version "6.24.1" 544 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" 545 | integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4= 546 | dependencies: 547 | babel-runtime "^6.22.0" 548 | babel-types "^6.24.1" 549 | 550 | babel-plugin-transform-es2015-for-of@^6.23.0: 551 | version "6.23.0" 552 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" 553 | integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE= 554 | dependencies: 555 | babel-runtime "^6.22.0" 556 | 557 | babel-plugin-transform-es2015-function-name@^6.22.0: 558 | version "6.24.1" 559 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" 560 | integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos= 561 | dependencies: 562 | babel-helper-function-name "^6.24.1" 563 | babel-runtime "^6.22.0" 564 | babel-types "^6.24.1" 565 | 566 | babel-plugin-transform-es2015-literals@^6.22.0: 567 | version "6.22.0" 568 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" 569 | integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4= 570 | dependencies: 571 | babel-runtime "^6.22.0" 572 | 573 | babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: 574 | version "6.24.1" 575 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-amd/download/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" 576 | integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ= 577 | dependencies: 578 | babel-plugin-transform-es2015-modules-commonjs "^6.24.1" 579 | babel-runtime "^6.22.0" 580 | babel-template "^6.24.1" 581 | 582 | babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: 583 | version "6.26.2" 584 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" 585 | integrity sha1-WKeThjqefKhwvcWogRF/+sJ9tvM= 586 | dependencies: 587 | babel-plugin-transform-strict-mode "^6.24.1" 588 | babel-runtime "^6.26.0" 589 | babel-template "^6.26.0" 590 | babel-types "^6.26.0" 591 | 592 | babel-plugin-transform-es2015-modules-systemjs@^6.23.0: 593 | version "6.24.1" 594 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" 595 | integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM= 596 | dependencies: 597 | babel-helper-hoist-variables "^6.24.1" 598 | babel-runtime "^6.22.0" 599 | babel-template "^6.24.1" 600 | 601 | babel-plugin-transform-es2015-modules-umd@^6.23.0: 602 | version "6.24.1" 603 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" 604 | integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg= 605 | dependencies: 606 | babel-plugin-transform-es2015-modules-amd "^6.24.1" 607 | babel-runtime "^6.22.0" 608 | babel-template "^6.24.1" 609 | 610 | babel-plugin-transform-es2015-object-super@^6.22.0: 611 | version "6.24.1" 612 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" 613 | integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40= 614 | dependencies: 615 | babel-helper-replace-supers "^6.24.1" 616 | babel-runtime "^6.22.0" 617 | 618 | babel-plugin-transform-es2015-parameters@^6.23.0: 619 | version "6.24.1" 620 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" 621 | integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys= 622 | dependencies: 623 | babel-helper-call-delegate "^6.24.1" 624 | babel-helper-get-function-arity "^6.24.1" 625 | babel-runtime "^6.22.0" 626 | babel-template "^6.24.1" 627 | babel-traverse "^6.24.1" 628 | babel-types "^6.24.1" 629 | 630 | babel-plugin-transform-es2015-shorthand-properties@^6.22.0: 631 | version "6.24.1" 632 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" 633 | integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA= 634 | dependencies: 635 | babel-runtime "^6.22.0" 636 | babel-types "^6.24.1" 637 | 638 | babel-plugin-transform-es2015-spread@^6.22.0: 639 | version "6.22.0" 640 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" 641 | integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE= 642 | dependencies: 643 | babel-runtime "^6.22.0" 644 | 645 | babel-plugin-transform-es2015-sticky-regex@^6.22.0: 646 | version "6.24.1" 647 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" 648 | integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw= 649 | dependencies: 650 | babel-helper-regex "^6.24.1" 651 | babel-runtime "^6.22.0" 652 | babel-types "^6.24.1" 653 | 654 | babel-plugin-transform-es2015-template-literals@^6.22.0: 655 | version "6.22.0" 656 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" 657 | integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0= 658 | dependencies: 659 | babel-runtime "^6.22.0" 660 | 661 | babel-plugin-transform-es2015-typeof-symbol@^6.23.0: 662 | version "6.23.0" 663 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" 664 | integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I= 665 | dependencies: 666 | babel-runtime "^6.22.0" 667 | 668 | babel-plugin-transform-es2015-unicode-regex@^6.22.0: 669 | version "6.24.1" 670 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" 671 | integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek= 672 | dependencies: 673 | babel-helper-regex "^6.24.1" 674 | babel-runtime "^6.22.0" 675 | regexpu-core "^2.0.0" 676 | 677 | babel-plugin-transform-exponentiation-operator@^6.22.0: 678 | version "6.24.1" 679 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" 680 | integrity sha1-KrDJx/MJj6SJB3cruBP+QejeOg4= 681 | dependencies: 682 | babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" 683 | babel-plugin-syntax-exponentiation-operator "^6.8.0" 684 | babel-runtime "^6.22.0" 685 | 686 | babel-plugin-transform-regenerator@^6.22.0: 687 | version "6.26.0" 688 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" 689 | integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8= 690 | dependencies: 691 | regenerator-transform "^0.10.0" 692 | 693 | babel-plugin-transform-strict-mode@^6.24.1: 694 | version "6.24.1" 695 | resolved "https://registry.npm.taobao.org/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" 696 | integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g= 697 | dependencies: 698 | babel-runtime "^6.22.0" 699 | babel-types "^6.24.1" 700 | 701 | babel-preset-env@^1.6.1: 702 | version "1.7.0" 703 | resolved "https://registry.npm.taobao.org/babel-preset-env/download/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a" 704 | integrity sha1-3qefpOvriDzTXasH4mDBycBN93o= 705 | dependencies: 706 | babel-plugin-check-es2015-constants "^6.22.0" 707 | babel-plugin-syntax-trailing-function-commas "^6.22.0" 708 | babel-plugin-transform-async-to-generator "^6.22.0" 709 | babel-plugin-transform-es2015-arrow-functions "^6.22.0" 710 | babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" 711 | babel-plugin-transform-es2015-block-scoping "^6.23.0" 712 | babel-plugin-transform-es2015-classes "^6.23.0" 713 | babel-plugin-transform-es2015-computed-properties "^6.22.0" 714 | babel-plugin-transform-es2015-destructuring "^6.23.0" 715 | babel-plugin-transform-es2015-duplicate-keys "^6.22.0" 716 | babel-plugin-transform-es2015-for-of "^6.23.0" 717 | babel-plugin-transform-es2015-function-name "^6.22.0" 718 | babel-plugin-transform-es2015-literals "^6.22.0" 719 | babel-plugin-transform-es2015-modules-amd "^6.22.0" 720 | babel-plugin-transform-es2015-modules-commonjs "^6.23.0" 721 | babel-plugin-transform-es2015-modules-systemjs "^6.23.0" 722 | babel-plugin-transform-es2015-modules-umd "^6.23.0" 723 | babel-plugin-transform-es2015-object-super "^6.22.0" 724 | babel-plugin-transform-es2015-parameters "^6.23.0" 725 | babel-plugin-transform-es2015-shorthand-properties "^6.22.0" 726 | babel-plugin-transform-es2015-spread "^6.22.0" 727 | babel-plugin-transform-es2015-sticky-regex "^6.22.0" 728 | babel-plugin-transform-es2015-template-literals "^6.22.0" 729 | babel-plugin-transform-es2015-typeof-symbol "^6.23.0" 730 | babel-plugin-transform-es2015-unicode-regex "^6.22.0" 731 | babel-plugin-transform-exponentiation-operator "^6.22.0" 732 | babel-plugin-transform-regenerator "^6.22.0" 733 | browserslist "^3.2.6" 734 | invariant "^2.2.2" 735 | semver "^5.3.0" 736 | 737 | babel-register@^6.26.0: 738 | version "6.26.0" 739 | resolved "https://registry.npm.taobao.org/babel-register/download/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" 740 | integrity sha1-btAhFz4vy0htestFxgCahW9kcHE= 741 | dependencies: 742 | babel-core "^6.26.0" 743 | babel-runtime "^6.26.0" 744 | core-js "^2.5.0" 745 | home-or-tmp "^2.0.0" 746 | lodash "^4.17.4" 747 | mkdirp "^0.5.1" 748 | source-map-support "^0.4.15" 749 | 750 | babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: 751 | version "6.26.0" 752 | resolved "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" 753 | integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= 754 | dependencies: 755 | core-js "^2.4.0" 756 | regenerator-runtime "^0.11.0" 757 | 758 | babel-template@^6.24.1, babel-template@^6.26.0: 759 | version "6.26.0" 760 | resolved "https://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" 761 | integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= 762 | dependencies: 763 | babel-runtime "^6.26.0" 764 | babel-traverse "^6.26.0" 765 | babel-types "^6.26.0" 766 | babylon "^6.18.0" 767 | lodash "^4.17.4" 768 | 769 | babel-traverse@^6.24.1, babel-traverse@^6.26.0: 770 | version "6.26.0" 771 | resolved "https://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" 772 | integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= 773 | dependencies: 774 | babel-code-frame "^6.26.0" 775 | babel-messages "^6.23.0" 776 | babel-runtime "^6.26.0" 777 | babel-types "^6.26.0" 778 | babylon "^6.18.0" 779 | debug "^2.6.8" 780 | globals "^9.18.0" 781 | invariant "^2.2.2" 782 | lodash "^4.17.4" 783 | 784 | babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: 785 | version "6.26.0" 786 | resolved "https://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" 787 | integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= 788 | dependencies: 789 | babel-runtime "^6.26.0" 790 | esutils "^2.0.2" 791 | lodash "^4.17.4" 792 | to-fast-properties "^1.0.3" 793 | 794 | babylon@^6.18.0: 795 | version "6.18.0" 796 | resolved "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" 797 | integrity sha1-ry87iPpvXB5MY00aD46sT1WzleM= 798 | 799 | balanced-match@^1.0.0: 800 | version "1.0.0" 801 | resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 802 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 803 | 804 | base64-js@^1.0.2: 805 | version "1.3.1" 806 | resolved "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" 807 | integrity sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE= 808 | 809 | base@^0.11.1: 810 | version "0.11.2" 811 | resolved "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 812 | integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= 813 | dependencies: 814 | cache-base "^1.0.1" 815 | class-utils "^0.3.5" 816 | component-emitter "^1.2.1" 817 | define-property "^1.0.0" 818 | isobject "^3.0.1" 819 | mixin-deep "^1.2.0" 820 | pascalcase "^0.1.1" 821 | 822 | big.js@^5.2.2: 823 | version "5.2.2" 824 | resolved "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" 825 | integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg= 826 | 827 | binary-extensions@^1.0.0: 828 | version "1.13.1" 829 | resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" 830 | integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= 831 | 832 | bluebird@^3.5.5: 833 | version "3.7.0" 834 | resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.0.tgz?cache=0&sync_timestamp=1569956599897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbluebird%2Fdownload%2Fbluebird-3.7.0.tgz#56a6a886e03f6ae577cffedeb524f8f2450293cf" 835 | integrity sha1-VqaohuA/auV3z/7etST48kUCk88= 836 | 837 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.9: 838 | version "4.12.0" 839 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" 840 | integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== 841 | 842 | brace-expansion@^1.1.7: 843 | version "1.1.11" 844 | resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 845 | integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= 846 | dependencies: 847 | balanced-match "^1.0.0" 848 | concat-map "0.0.1" 849 | 850 | braces@^2.3.1, braces@^2.3.2: 851 | version "2.3.2" 852 | resolved "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" 853 | integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= 854 | dependencies: 855 | arr-flatten "^1.1.0" 856 | array-unique "^0.3.2" 857 | extend-shallow "^2.0.1" 858 | fill-range "^4.0.0" 859 | isobject "^3.0.1" 860 | repeat-element "^1.1.2" 861 | snapdragon "^0.8.1" 862 | snapdragon-node "^2.0.1" 863 | split-string "^3.0.2" 864 | to-regex "^3.0.1" 865 | 866 | brorand@^1.0.1, brorand@^1.1.0: 867 | version "1.1.0" 868 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 869 | integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= 870 | 871 | browserify-aes@^1.0.0, browserify-aes@^1.0.4: 872 | version "1.2.0" 873 | resolved "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" 874 | integrity sha1-Mmc0ZC9APavDADIJhTu3CtQo70g= 875 | dependencies: 876 | buffer-xor "^1.0.3" 877 | cipher-base "^1.0.0" 878 | create-hash "^1.1.0" 879 | evp_bytestokey "^1.0.3" 880 | inherits "^2.0.1" 881 | safe-buffer "^5.0.1" 882 | 883 | browserify-cipher@^1.0.0: 884 | version "1.0.1" 885 | resolved "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" 886 | integrity sha1-jWR0wbhwv9q807z8wZNKEOlPFfA= 887 | dependencies: 888 | browserify-aes "^1.0.4" 889 | browserify-des "^1.0.0" 890 | evp_bytestokey "^1.0.0" 891 | 892 | browserify-des@^1.0.0: 893 | version "1.0.2" 894 | resolved "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" 895 | integrity sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw= 896 | dependencies: 897 | cipher-base "^1.0.1" 898 | des.js "^1.0.0" 899 | inherits "^2.0.1" 900 | safe-buffer "^5.1.2" 901 | 902 | browserify-rsa@^4.0.0: 903 | version "4.0.1" 904 | resolved "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" 905 | integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= 906 | dependencies: 907 | bn.js "^4.1.0" 908 | randombytes "^2.0.1" 909 | 910 | browserify-sign@^4.0.0: 911 | version "4.0.4" 912 | resolved "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" 913 | integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= 914 | dependencies: 915 | bn.js "^4.1.1" 916 | browserify-rsa "^4.0.0" 917 | create-hash "^1.1.0" 918 | create-hmac "^1.1.2" 919 | elliptic "^6.0.0" 920 | inherits "^2.0.1" 921 | parse-asn1 "^5.0.0" 922 | 923 | browserify-zlib@^0.2.0: 924 | version "0.2.0" 925 | resolved "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" 926 | integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8= 927 | dependencies: 928 | pako "~1.0.5" 929 | 930 | browserslist@^3.2.6: 931 | version "3.2.8" 932 | resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" 933 | integrity sha1-sABTYdZHHw9ZUnl6dvyYXx+Xj8Y= 934 | dependencies: 935 | caniuse-lite "^1.0.30000844" 936 | electron-to-chromium "^1.3.47" 937 | 938 | buffer-from@^1.0.0: 939 | version "1.1.1" 940 | resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 941 | integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= 942 | 943 | buffer-xor@^1.0.3: 944 | version "1.0.3" 945 | resolved "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" 946 | integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= 947 | 948 | buffer@^4.3.0: 949 | version "4.9.1" 950 | resolved "https://registry.npm.taobao.org/buffer/download/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" 951 | integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= 952 | dependencies: 953 | base64-js "^1.0.2" 954 | ieee754 "^1.1.4" 955 | isarray "^1.0.0" 956 | 957 | builtin-status-codes@^3.0.0: 958 | version "3.0.0" 959 | resolved "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" 960 | integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= 961 | 962 | cacache@^12.0.2: 963 | version "12.0.3" 964 | resolved "https://registry.npm.taobao.org/cacache/download/cacache-12.0.3.tgz?cache=0&sync_timestamp=1569877601435&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" 965 | integrity sha1-vpmruk4b9d9GHNWiwQcfxDJXM5A= 966 | dependencies: 967 | bluebird "^3.5.5" 968 | chownr "^1.1.1" 969 | figgy-pudding "^3.5.1" 970 | glob "^7.1.4" 971 | graceful-fs "^4.1.15" 972 | infer-owner "^1.0.3" 973 | lru-cache "^5.1.1" 974 | mississippi "^3.0.0" 975 | mkdirp "^0.5.1" 976 | move-concurrently "^1.0.1" 977 | promise-inflight "^1.0.1" 978 | rimraf "^2.6.3" 979 | ssri "^6.0.1" 980 | unique-filename "^1.1.1" 981 | y18n "^4.0.0" 982 | 983 | cache-base@^1.0.1: 984 | version "1.0.1" 985 | resolved "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 986 | integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= 987 | dependencies: 988 | collection-visit "^1.0.0" 989 | component-emitter "^1.2.1" 990 | get-value "^2.0.6" 991 | has-value "^1.0.0" 992 | isobject "^3.0.1" 993 | set-value "^2.0.0" 994 | to-object-path "^0.3.0" 995 | union-value "^1.0.0" 996 | unset-value "^1.0.0" 997 | 998 | caniuse-lite@^1.0.30000844: 999 | version "1.0.30000999" 1000 | resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30000999.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30000999.tgz#427253a69ad7bea4aa8d8345687b8eec51ca0e43" 1001 | integrity sha1-QnJTpprXvqSqjYNFaHuO7FHKDkM= 1002 | 1003 | chalk@^1.1.3: 1004 | version "1.1.3" 1005 | resolved "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1570527339087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 1006 | integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= 1007 | dependencies: 1008 | ansi-styles "^2.2.1" 1009 | escape-string-regexp "^1.0.2" 1010 | has-ansi "^2.0.0" 1011 | strip-ansi "^3.0.0" 1012 | supports-color "^2.0.0" 1013 | 1014 | chokidar@^2.0.2: 1015 | version "2.1.8" 1016 | resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1569943229782&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" 1017 | integrity sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc= 1018 | dependencies: 1019 | anymatch "^2.0.0" 1020 | async-each "^1.0.1" 1021 | braces "^2.3.2" 1022 | glob-parent "^3.1.0" 1023 | inherits "^2.0.3" 1024 | is-binary-path "^1.0.0" 1025 | is-glob "^4.0.0" 1026 | normalize-path "^3.0.0" 1027 | path-is-absolute "^1.0.0" 1028 | readdirp "^2.2.1" 1029 | upath "^1.1.1" 1030 | optionalDependencies: 1031 | fsevents "^1.2.7" 1032 | 1033 | chownr@^1.1.1: 1034 | version "1.1.3" 1035 | resolved "https://registry.npm.taobao.org/chownr/download/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" 1036 | integrity sha1-Qtg31SOWiNVfMDADpQgjD6ZycUI= 1037 | 1038 | chrome-trace-event@^1.0.2: 1039 | version "1.0.2" 1040 | resolved "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" 1041 | integrity sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ= 1042 | dependencies: 1043 | tslib "^1.9.0" 1044 | 1045 | cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: 1046 | version "1.0.4" 1047 | resolved "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" 1048 | integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= 1049 | dependencies: 1050 | inherits "^2.0.1" 1051 | safe-buffer "^5.0.1" 1052 | 1053 | class-utils@^0.3.5: 1054 | version "0.3.6" 1055 | resolved "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" 1056 | integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= 1057 | dependencies: 1058 | arr-union "^3.1.0" 1059 | define-property "^0.2.5" 1060 | isobject "^3.0.0" 1061 | static-extend "^0.1.1" 1062 | 1063 | code-point-at@^1.0.0: 1064 | version "1.1.0" 1065 | resolved "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 1066 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 1067 | 1068 | collection-visit@^1.0.0: 1069 | version "1.0.0" 1070 | resolved "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 1071 | integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= 1072 | dependencies: 1073 | map-visit "^1.0.0" 1074 | object-visit "^1.0.0" 1075 | 1076 | commander@^2.20.0: 1077 | version "2.20.1" 1078 | resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.1.tgz#3863ce3ca92d0831dcf2a102f5fb4b5926afd0f9" 1079 | integrity sha1-OGPOPKktCDHc8qEC9ftLWSav0Pk= 1080 | 1081 | commondir@^1.0.1: 1082 | version "1.0.1" 1083 | resolved "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 1084 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 1085 | 1086 | component-emitter@^1.2.1: 1087 | version "1.3.0" 1088 | resolved "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" 1089 | integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= 1090 | 1091 | concat-map@0.0.1: 1092 | version "0.0.1" 1093 | resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1094 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 1095 | 1096 | concat-stream@^1.5.0: 1097 | version "1.6.2" 1098 | resolved "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 1099 | integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= 1100 | dependencies: 1101 | buffer-from "^1.0.0" 1102 | inherits "^2.0.3" 1103 | readable-stream "^2.2.2" 1104 | typedarray "^0.0.6" 1105 | 1106 | console-browserify@^1.1.0: 1107 | version "1.1.0" 1108 | resolved "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" 1109 | integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= 1110 | dependencies: 1111 | date-now "^0.1.4" 1112 | 1113 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 1114 | version "1.1.0" 1115 | resolved "https://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 1116 | integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= 1117 | 1118 | constants-browserify@^1.0.0: 1119 | version "1.0.0" 1120 | resolved "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" 1121 | integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= 1122 | 1123 | convert-source-map@^1.5.1: 1124 | version "1.6.0" 1125 | resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" 1126 | integrity sha1-UbU3qMQ+DwTewZk7/83VBOdYrCA= 1127 | dependencies: 1128 | safe-buffer "~5.1.1" 1129 | 1130 | copy-concurrently@^1.0.0: 1131 | version "1.0.5" 1132 | resolved "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" 1133 | integrity sha1-kilzmMrjSTf8r9bsgTnBgFHwteA= 1134 | dependencies: 1135 | aproba "^1.1.1" 1136 | fs-write-stream-atomic "^1.0.8" 1137 | iferr "^0.1.5" 1138 | mkdirp "^0.5.1" 1139 | rimraf "^2.5.4" 1140 | run-queue "^1.0.0" 1141 | 1142 | copy-descriptor@^0.1.0: 1143 | version "0.1.1" 1144 | resolved "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 1145 | integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= 1146 | 1147 | core-js@^2.4.0, core-js@^2.5.0: 1148 | version "2.6.9" 1149 | resolved "https://registry.npm.taobao.org/core-js/download/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" 1150 | integrity sha1-a0shRiDINBUuF5Mjcn/Bl0GwhPI= 1151 | 1152 | core-util-is@~1.0.0: 1153 | version "1.0.2" 1154 | resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 1155 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 1156 | 1157 | create-ecdh@^4.0.0: 1158 | version "4.0.3" 1159 | resolved "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" 1160 | integrity sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8= 1161 | dependencies: 1162 | bn.js "^4.1.0" 1163 | elliptic "^6.0.0" 1164 | 1165 | create-hash@^1.1.0, create-hash@^1.1.2: 1166 | version "1.2.0" 1167 | resolved "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" 1168 | integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= 1169 | dependencies: 1170 | cipher-base "^1.0.1" 1171 | inherits "^2.0.1" 1172 | md5.js "^1.3.4" 1173 | ripemd160 "^2.0.1" 1174 | sha.js "^2.4.0" 1175 | 1176 | create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: 1177 | version "1.1.7" 1178 | resolved "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" 1179 | integrity sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8= 1180 | dependencies: 1181 | cipher-base "^1.0.3" 1182 | create-hash "^1.1.0" 1183 | inherits "^2.0.1" 1184 | ripemd160 "^2.0.0" 1185 | safe-buffer "^5.0.1" 1186 | sha.js "^2.4.8" 1187 | 1188 | crypto-browserify@^3.11.0: 1189 | version "3.12.0" 1190 | resolved "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" 1191 | integrity sha1-OWz58xN/A+S45TLFj2mCVOAPgOw= 1192 | dependencies: 1193 | browserify-cipher "^1.0.0" 1194 | browserify-sign "^4.0.0" 1195 | create-ecdh "^4.0.0" 1196 | create-hash "^1.1.0" 1197 | create-hmac "^1.1.0" 1198 | diffie-hellman "^5.0.0" 1199 | inherits "^2.0.1" 1200 | pbkdf2 "^3.0.3" 1201 | public-encrypt "^4.0.0" 1202 | randombytes "^2.0.0" 1203 | randomfill "^1.0.3" 1204 | 1205 | cyclist@^1.0.1: 1206 | version "1.0.1" 1207 | resolved "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" 1208 | integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= 1209 | 1210 | date-now@^0.1.4: 1211 | version "0.1.4" 1212 | resolved "https://registry.npm.taobao.org/date-now/download/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" 1213 | integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= 1214 | 1215 | debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: 1216 | version "2.6.9" 1217 | resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 1218 | integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= 1219 | dependencies: 1220 | ms "2.0.0" 1221 | 1222 | debug@^3.2.6: 1223 | version "3.2.6" 1224 | resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 1225 | integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps= 1226 | dependencies: 1227 | ms "^2.1.1" 1228 | 1229 | decode-uri-component@^0.2.0: 1230 | version "0.2.0" 1231 | resolved "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 1232 | integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= 1233 | 1234 | deep-extend@^0.6.0: 1235 | version "0.6.0" 1236 | resolved "https://registry.npm.taobao.org/deep-extend/download/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 1237 | integrity sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw= 1238 | 1239 | define-property@^0.2.5: 1240 | version "0.2.5" 1241 | resolved "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 1242 | integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= 1243 | dependencies: 1244 | is-descriptor "^0.1.0" 1245 | 1246 | define-property@^1.0.0: 1247 | version "1.0.0" 1248 | resolved "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 1249 | integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= 1250 | dependencies: 1251 | is-descriptor "^1.0.0" 1252 | 1253 | define-property@^2.0.2: 1254 | version "2.0.2" 1255 | resolved "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" 1256 | integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= 1257 | dependencies: 1258 | is-descriptor "^1.0.2" 1259 | isobject "^3.0.1" 1260 | 1261 | delegates@^1.0.0: 1262 | version "1.0.0" 1263 | resolved "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 1264 | integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= 1265 | 1266 | des.js@^1.0.0: 1267 | version "1.0.0" 1268 | resolved "https://registry.npm.taobao.org/des.js/download/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" 1269 | integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= 1270 | dependencies: 1271 | inherits "^2.0.1" 1272 | minimalistic-assert "^1.0.0" 1273 | 1274 | detect-indent@^4.0.0: 1275 | version "4.0.0" 1276 | resolved "https://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 1277 | integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= 1278 | dependencies: 1279 | repeating "^2.0.0" 1280 | 1281 | detect-libc@^1.0.2: 1282 | version "1.0.3" 1283 | resolved "https://registry.npm.taobao.org/detect-libc/download/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 1284 | integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= 1285 | 1286 | diffie-hellman@^5.0.0: 1287 | version "5.0.3" 1288 | resolved "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" 1289 | integrity sha1-QOjumPVaIUlgcUaSHGPhrl89KHU= 1290 | dependencies: 1291 | bn.js "^4.1.0" 1292 | miller-rabin "^4.0.0" 1293 | randombytes "^2.0.0" 1294 | 1295 | domain-browser@^1.1.1: 1296 | version "1.2.0" 1297 | resolved "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" 1298 | integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= 1299 | 1300 | duplexify@^3.4.2, duplexify@^3.6.0: 1301 | version "3.7.1" 1302 | resolved "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" 1303 | integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= 1304 | dependencies: 1305 | end-of-stream "^1.0.0" 1306 | inherits "^2.0.1" 1307 | readable-stream "^2.0.0" 1308 | stream-shift "^1.0.0" 1309 | 1310 | electron-to-chromium@^1.3.47: 1311 | version "1.3.277" 1312 | resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.277.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.277.tgz#38b7b297f9b3f67ea900a965c1b11a555de526ec" 1313 | integrity sha1-OLeyl/mz9n6pAKllwbEaVV3lJuw= 1314 | 1315 | elliptic@^6.0.0: 1316 | version "6.5.4" 1317 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" 1318 | integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== 1319 | dependencies: 1320 | bn.js "^4.11.9" 1321 | brorand "^1.1.0" 1322 | hash.js "^1.0.0" 1323 | hmac-drbg "^1.0.1" 1324 | inherits "^2.0.4" 1325 | minimalistic-assert "^1.0.1" 1326 | minimalistic-crypto-utils "^1.0.1" 1327 | 1328 | emojis-list@^2.0.0: 1329 | version "2.1.0" 1330 | resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 1331 | integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= 1332 | 1333 | end-of-stream@^1.0.0, end-of-stream@^1.1.0: 1334 | version "1.4.4" 1335 | resolved "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 1336 | integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= 1337 | dependencies: 1338 | once "^1.4.0" 1339 | 1340 | enhanced-resolve@^4.1.0: 1341 | version "4.1.1" 1342 | resolved "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" 1343 | integrity sha1-KTfiuAZs0P584JkKmPDXGjUYn2Y= 1344 | dependencies: 1345 | graceful-fs "^4.1.2" 1346 | memory-fs "^0.5.0" 1347 | tapable "^1.0.0" 1348 | 1349 | errno@^0.1.3, errno@~0.1.7: 1350 | version "0.1.7" 1351 | resolved "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" 1352 | integrity sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg= 1353 | dependencies: 1354 | prr "~1.0.1" 1355 | 1356 | escape-string-regexp@^1.0.2: 1357 | version "1.0.5" 1358 | resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1359 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1360 | 1361 | eslint-scope@^4.0.3: 1362 | version "4.0.3" 1363 | resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz?cache=0&sync_timestamp=1563679289211&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" 1364 | integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= 1365 | dependencies: 1366 | esrecurse "^4.1.0" 1367 | estraverse "^4.1.1" 1368 | 1369 | esrecurse@^4.1.0: 1370 | version "4.2.1" 1371 | resolved "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 1372 | integrity sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8= 1373 | dependencies: 1374 | estraverse "^4.1.0" 1375 | 1376 | estraverse@^4.1.0, estraverse@^4.1.1: 1377 | version "4.3.0" 1378 | resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1565734335990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 1379 | integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= 1380 | 1381 | esutils@^2.0.2: 1382 | version "2.0.3" 1383 | resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1384 | integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= 1385 | 1386 | events@^3.0.0: 1387 | version "3.0.0" 1388 | resolved "https://registry.npm.taobao.org/events/download/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" 1389 | integrity sha1-mgoN+vYok9krh1uPJpjKQRSXPog= 1390 | 1391 | evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: 1392 | version "1.0.3" 1393 | resolved "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" 1394 | integrity sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI= 1395 | dependencies: 1396 | md5.js "^1.3.4" 1397 | safe-buffer "^5.1.1" 1398 | 1399 | expand-brackets@^2.1.4: 1400 | version "2.1.4" 1401 | resolved "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 1402 | integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= 1403 | dependencies: 1404 | debug "^2.3.3" 1405 | define-property "^0.2.5" 1406 | extend-shallow "^2.0.1" 1407 | posix-character-classes "^0.1.0" 1408 | regex-not "^1.0.0" 1409 | snapdragon "^0.8.1" 1410 | to-regex "^3.0.1" 1411 | 1412 | extend-shallow@^2.0.1: 1413 | version "2.0.1" 1414 | resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 1415 | integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= 1416 | dependencies: 1417 | is-extendable "^0.1.0" 1418 | 1419 | extend-shallow@^3.0.0, extend-shallow@^3.0.2: 1420 | version "3.0.2" 1421 | resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 1422 | integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= 1423 | dependencies: 1424 | assign-symbols "^1.0.0" 1425 | is-extendable "^1.0.1" 1426 | 1427 | extglob@^2.0.4: 1428 | version "2.0.4" 1429 | resolved "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" 1430 | integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= 1431 | dependencies: 1432 | array-unique "^0.3.2" 1433 | define-property "^1.0.0" 1434 | expand-brackets "^2.1.4" 1435 | extend-shallow "^2.0.1" 1436 | fragment-cache "^0.2.1" 1437 | regex-not "^1.0.0" 1438 | snapdragon "^0.8.1" 1439 | to-regex "^3.0.1" 1440 | 1441 | fast-deep-equal@^2.0.1: 1442 | version "2.0.1" 1443 | resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 1444 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 1445 | 1446 | fast-json-stable-stringify@^2.0.0: 1447 | version "2.0.0" 1448 | resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 1449 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 1450 | 1451 | figgy-pudding@^3.5.1: 1452 | version "3.5.1" 1453 | resolved "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" 1454 | integrity sha1-hiRwESkBxyeg5JWoB0S9W6odZ5A= 1455 | 1456 | fill-range@^4.0.0: 1457 | version "4.0.0" 1458 | resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 1459 | integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= 1460 | dependencies: 1461 | extend-shallow "^2.0.1" 1462 | is-number "^3.0.0" 1463 | repeat-string "^1.6.1" 1464 | to-regex-range "^2.1.0" 1465 | 1466 | find-cache-dir@^1.0.0: 1467 | version "1.0.0" 1468 | resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" 1469 | integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8= 1470 | dependencies: 1471 | commondir "^1.0.1" 1472 | make-dir "^1.0.0" 1473 | pkg-dir "^2.0.0" 1474 | 1475 | find-cache-dir@^2.1.0: 1476 | version "2.1.0" 1477 | resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" 1478 | integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc= 1479 | dependencies: 1480 | commondir "^1.0.1" 1481 | make-dir "^2.0.0" 1482 | pkg-dir "^3.0.0" 1483 | 1484 | find-up@^2.1.0: 1485 | version "2.1.0" 1486 | resolved "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1487 | integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= 1488 | dependencies: 1489 | locate-path "^2.0.0" 1490 | 1491 | find-up@^3.0.0: 1492 | version "3.0.0" 1493 | resolved "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 1494 | integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= 1495 | dependencies: 1496 | locate-path "^3.0.0" 1497 | 1498 | flush-write-stream@^1.0.0: 1499 | version "1.1.1" 1500 | resolved "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" 1501 | integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= 1502 | dependencies: 1503 | inherits "^2.0.3" 1504 | readable-stream "^2.3.6" 1505 | 1506 | for-in@^1.0.2: 1507 | version "1.0.2" 1508 | resolved "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1509 | integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= 1510 | 1511 | fragment-cache@^0.2.1: 1512 | version "0.2.1" 1513 | resolved "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 1514 | integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= 1515 | dependencies: 1516 | map-cache "^0.2.2" 1517 | 1518 | from2@^2.1.0: 1519 | version "2.3.0" 1520 | resolved "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" 1521 | integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= 1522 | dependencies: 1523 | inherits "^2.0.1" 1524 | readable-stream "^2.0.0" 1525 | 1526 | fs-minipass@^1.2.5: 1527 | version "1.2.7" 1528 | resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" 1529 | integrity sha1-zP+FcIQef+QmVpPaiJNsVa7X98c= 1530 | dependencies: 1531 | minipass "^2.6.0" 1532 | 1533 | fs-write-stream-atomic@^1.0.8: 1534 | version "1.0.10" 1535 | resolved "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" 1536 | integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= 1537 | dependencies: 1538 | graceful-fs "^4.1.2" 1539 | iferr "^0.1.5" 1540 | imurmurhash "^0.1.4" 1541 | readable-stream "1 || 2" 1542 | 1543 | fs.realpath@^1.0.0: 1544 | version "1.0.0" 1545 | resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1546 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1547 | 1548 | fsevents@^1.2.7: 1549 | version "1.2.9" 1550 | resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" 1551 | integrity sha1-P17WZYPM1vQAtaANtvfoYTY+OI8= 1552 | dependencies: 1553 | nan "^2.12.1" 1554 | node-pre-gyp "^0.12.0" 1555 | 1556 | gauge@~2.7.3: 1557 | version "2.7.4" 1558 | resolved "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1559 | integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= 1560 | dependencies: 1561 | aproba "^1.0.3" 1562 | console-control-strings "^1.0.0" 1563 | has-unicode "^2.0.0" 1564 | object-assign "^4.1.0" 1565 | signal-exit "^3.0.0" 1566 | string-width "^1.0.1" 1567 | strip-ansi "^3.0.1" 1568 | wide-align "^1.1.0" 1569 | 1570 | get-value@^2.0.3, get-value@^2.0.6: 1571 | version "2.0.6" 1572 | resolved "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 1573 | integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= 1574 | 1575 | glob-parent@^3.1.0: 1576 | version "3.1.0" 1577 | resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" 1578 | integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= 1579 | dependencies: 1580 | is-glob "^3.1.0" 1581 | path-dirname "^1.0.0" 1582 | 1583 | glob@^7.1.3, glob@^7.1.4: 1584 | version "7.1.4" 1585 | resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" 1586 | integrity sha1-qmCKL2xXetNX4a5aXCbZqNGWklU= 1587 | dependencies: 1588 | fs.realpath "^1.0.0" 1589 | inflight "^1.0.4" 1590 | inherits "2" 1591 | minimatch "^3.0.4" 1592 | once "^1.3.0" 1593 | path-is-absolute "^1.0.0" 1594 | 1595 | globals@^9.18.0: 1596 | version "9.18.0" 1597 | resolved "https://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz?cache=0&sync_timestamp=1570510896643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" 1598 | integrity sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo= 1599 | 1600 | graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: 1601 | version "4.2.2" 1602 | resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" 1603 | integrity sha1-bwlSYF0BQMHP2xOO0AV3W5LWewI= 1604 | 1605 | has-ansi@^2.0.0: 1606 | version "2.0.0" 1607 | resolved "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1608 | integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= 1609 | dependencies: 1610 | ansi-regex "^2.0.0" 1611 | 1612 | has-unicode@^2.0.0: 1613 | version "2.0.1" 1614 | resolved "https://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1615 | integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= 1616 | 1617 | has-value@^0.3.1: 1618 | version "0.3.1" 1619 | resolved "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 1620 | integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= 1621 | dependencies: 1622 | get-value "^2.0.3" 1623 | has-values "^0.1.4" 1624 | isobject "^2.0.0" 1625 | 1626 | has-value@^1.0.0: 1627 | version "1.0.0" 1628 | resolved "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 1629 | integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= 1630 | dependencies: 1631 | get-value "^2.0.6" 1632 | has-values "^1.0.0" 1633 | isobject "^3.0.0" 1634 | 1635 | has-values@^0.1.4: 1636 | version "0.1.4" 1637 | resolved "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 1638 | integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= 1639 | 1640 | has-values@^1.0.0: 1641 | version "1.0.0" 1642 | resolved "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 1643 | integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= 1644 | dependencies: 1645 | is-number "^3.0.0" 1646 | kind-of "^4.0.0" 1647 | 1648 | hash-base@^3.0.0: 1649 | version "3.0.4" 1650 | resolved "https://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" 1651 | integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= 1652 | dependencies: 1653 | inherits "^2.0.1" 1654 | safe-buffer "^5.0.1" 1655 | 1656 | hash.js@^1.0.0, hash.js@^1.0.3: 1657 | version "1.1.7" 1658 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" 1659 | integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== 1660 | dependencies: 1661 | inherits "^2.0.3" 1662 | minimalistic-assert "^1.0.1" 1663 | 1664 | hmac-drbg@^1.0.1: 1665 | version "1.0.1" 1666 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 1667 | integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= 1668 | dependencies: 1669 | hash.js "^1.0.3" 1670 | minimalistic-assert "^1.0.0" 1671 | minimalistic-crypto-utils "^1.0.1" 1672 | 1673 | home-or-tmp@^2.0.0: 1674 | version "2.0.0" 1675 | resolved "https://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" 1676 | integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg= 1677 | dependencies: 1678 | os-homedir "^1.0.0" 1679 | os-tmpdir "^1.0.1" 1680 | 1681 | https-browserify@^1.0.0: 1682 | version "1.0.0" 1683 | resolved "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" 1684 | integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= 1685 | 1686 | iconv-lite@^0.4.4: 1687 | version "0.4.24" 1688 | resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1689 | integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= 1690 | dependencies: 1691 | safer-buffer ">= 2.1.2 < 3" 1692 | 1693 | ieee754@^1.1.4: 1694 | version "1.1.13" 1695 | resolved "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" 1696 | integrity sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q= 1697 | 1698 | iferr@^0.1.5: 1699 | version "0.1.5" 1700 | resolved "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" 1701 | integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= 1702 | 1703 | ignore-walk@^3.0.1: 1704 | version "3.0.2" 1705 | resolved "https://registry.npm.taobao.org/ignore-walk/download/ignore-walk-3.0.2.tgz#99d83a246c196ea5c93ef9315ad7b0819c35069b" 1706 | integrity sha1-mdg6JGwZbqXJPvkxWtewgZw1Bps= 1707 | dependencies: 1708 | minimatch "^3.0.4" 1709 | 1710 | imurmurhash@^0.1.4: 1711 | version "0.1.4" 1712 | resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1713 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1714 | 1715 | infer-owner@^1.0.3: 1716 | version "1.0.4" 1717 | resolved "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" 1718 | integrity sha1-xM78qo5RBRwqQLos6KPScpWvlGc= 1719 | 1720 | inflight@^1.0.4: 1721 | version "1.0.6" 1722 | resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1723 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1724 | dependencies: 1725 | once "^1.3.0" 1726 | wrappy "1" 1727 | 1728 | inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: 1729 | version "2.0.4" 1730 | resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1731 | integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= 1732 | 1733 | inherits@2.0.1: 1734 | version "2.0.1" 1735 | resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 1736 | integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= 1737 | 1738 | inherits@2.0.3: 1739 | version "2.0.3" 1740 | resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1741 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 1742 | 1743 | ini@~1.3.0: 1744 | version "1.3.7" 1745 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" 1746 | integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== 1747 | 1748 | invariant@^2.2.2: 1749 | version "2.2.4" 1750 | resolved "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" 1751 | integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= 1752 | dependencies: 1753 | loose-envify "^1.0.0" 1754 | 1755 | is-accessor-descriptor@^0.1.6: 1756 | version "0.1.6" 1757 | resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 1758 | integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= 1759 | dependencies: 1760 | kind-of "^3.0.2" 1761 | 1762 | is-accessor-descriptor@^1.0.0: 1763 | version "1.0.0" 1764 | resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" 1765 | integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= 1766 | dependencies: 1767 | kind-of "^6.0.0" 1768 | 1769 | is-binary-path@^1.0.0: 1770 | version "1.0.1" 1771 | resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1772 | integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= 1773 | dependencies: 1774 | binary-extensions "^1.0.0" 1775 | 1776 | is-buffer@^1.1.5: 1777 | version "1.1.6" 1778 | resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1569905495687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1779 | integrity sha1-76ouqdqg16suoTqXsritUf776L4= 1780 | 1781 | is-data-descriptor@^0.1.4: 1782 | version "0.1.4" 1783 | resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 1784 | integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= 1785 | dependencies: 1786 | kind-of "^3.0.2" 1787 | 1788 | is-data-descriptor@^1.0.0: 1789 | version "1.0.0" 1790 | resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" 1791 | integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= 1792 | dependencies: 1793 | kind-of "^6.0.0" 1794 | 1795 | is-descriptor@^0.1.0: 1796 | version "0.1.6" 1797 | resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 1798 | integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= 1799 | dependencies: 1800 | is-accessor-descriptor "^0.1.6" 1801 | is-data-descriptor "^0.1.4" 1802 | kind-of "^5.0.0" 1803 | 1804 | is-descriptor@^1.0.0, is-descriptor@^1.0.2: 1805 | version "1.0.2" 1806 | resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" 1807 | integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= 1808 | dependencies: 1809 | is-accessor-descriptor "^1.0.0" 1810 | is-data-descriptor "^1.0.0" 1811 | kind-of "^6.0.2" 1812 | 1813 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1814 | version "0.1.1" 1815 | resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1816 | integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= 1817 | 1818 | is-extendable@^1.0.1: 1819 | version "1.0.1" 1820 | resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 1821 | integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= 1822 | dependencies: 1823 | is-plain-object "^2.0.4" 1824 | 1825 | is-extglob@^2.1.0, is-extglob@^2.1.1: 1826 | version "2.1.1" 1827 | resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1828 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1829 | 1830 | is-finite@^1.0.0: 1831 | version "1.0.2" 1832 | resolved "https://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1833 | integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= 1834 | dependencies: 1835 | number-is-nan "^1.0.0" 1836 | 1837 | is-fullwidth-code-point@^1.0.0: 1838 | version "1.0.0" 1839 | resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1840 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 1841 | dependencies: 1842 | number-is-nan "^1.0.0" 1843 | 1844 | is-fullwidth-code-point@^2.0.0: 1845 | version "2.0.0" 1846 | resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1847 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 1848 | 1849 | is-glob@^3.1.0: 1850 | version "3.1.0" 1851 | resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 1852 | integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= 1853 | dependencies: 1854 | is-extglob "^2.1.0" 1855 | 1856 | is-glob@^4.0.0: 1857 | version "4.0.1" 1858 | resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 1859 | integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= 1860 | dependencies: 1861 | is-extglob "^2.1.1" 1862 | 1863 | is-number@^3.0.0: 1864 | version "3.0.0" 1865 | resolved "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1866 | integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= 1867 | dependencies: 1868 | kind-of "^3.0.2" 1869 | 1870 | is-plain-object@^2.0.3, is-plain-object@^2.0.4: 1871 | version "2.0.4" 1872 | resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1873 | integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= 1874 | dependencies: 1875 | isobject "^3.0.1" 1876 | 1877 | is-windows@^1.0.2: 1878 | version "1.0.2" 1879 | resolved "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 1880 | integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= 1881 | 1882 | is-wsl@^1.1.0: 1883 | version "1.1.0" 1884 | resolved "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&sync_timestamp=1569219566107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" 1885 | integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= 1886 | 1887 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: 1888 | version "1.0.0" 1889 | resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1890 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 1891 | 1892 | isobject@^2.0.0: 1893 | version "2.1.0" 1894 | resolved "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1895 | integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= 1896 | dependencies: 1897 | isarray "1.0.0" 1898 | 1899 | isobject@^3.0.0, isobject@^3.0.1: 1900 | version "3.0.1" 1901 | resolved "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1902 | integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= 1903 | 1904 | "js-tokens@^3.0.0 || ^4.0.0": 1905 | version "4.0.0" 1906 | resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1907 | integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= 1908 | 1909 | js-tokens@^3.0.2: 1910 | version "3.0.2" 1911 | resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 1912 | integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= 1913 | 1914 | jsesc@^1.3.0: 1915 | version "1.3.0" 1916 | resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 1917 | integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= 1918 | 1919 | jsesc@~0.5.0: 1920 | version "0.5.0" 1921 | resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 1922 | integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= 1923 | 1924 | json-parse-better-errors@^1.0.2: 1925 | version "1.0.2" 1926 | resolved "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 1927 | integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= 1928 | 1929 | json-schema-traverse@^0.4.1: 1930 | version "0.4.1" 1931 | resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1932 | integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= 1933 | 1934 | json5@^0.5.1: 1935 | version "0.5.1" 1936 | resolved "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 1937 | integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= 1938 | 1939 | json5@^1.0.1: 1940 | version "1.0.1" 1941 | resolved "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 1942 | integrity sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4= 1943 | dependencies: 1944 | minimist "^1.2.0" 1945 | 1946 | kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: 1947 | version "3.2.2" 1948 | resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 1949 | integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= 1950 | dependencies: 1951 | is-buffer "^1.1.5" 1952 | 1953 | kind-of@^4.0.0: 1954 | version "4.0.0" 1955 | resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 1956 | integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= 1957 | dependencies: 1958 | is-buffer "^1.1.5" 1959 | 1960 | kind-of@^5.0.0: 1961 | version "5.1.0" 1962 | resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 1963 | integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= 1964 | 1965 | kind-of@^6.0.0, kind-of@^6.0.2: 1966 | version "6.0.2" 1967 | resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 1968 | integrity sha1-ARRrNqYhjmTljzqNZt5df8b20FE= 1969 | 1970 | loader-runner@^2.4.0: 1971 | version "2.4.0" 1972 | resolved "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" 1973 | integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= 1974 | 1975 | loader-utils@^1.0.2, loader-utils@^1.2.3: 1976 | version "1.2.3" 1977 | resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" 1978 | integrity sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc= 1979 | dependencies: 1980 | big.js "^5.2.2" 1981 | emojis-list "^2.0.0" 1982 | json5 "^1.0.1" 1983 | 1984 | locate-path@^2.0.0: 1985 | version "2.0.0" 1986 | resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 1987 | integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= 1988 | dependencies: 1989 | p-locate "^2.0.0" 1990 | path-exists "^3.0.0" 1991 | 1992 | locate-path@^3.0.0: 1993 | version "3.0.0" 1994 | resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 1995 | integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= 1996 | dependencies: 1997 | p-locate "^3.0.0" 1998 | path-exists "^3.0.0" 1999 | 2000 | lodash@^4.17.4: 2001 | version "4.17.19" 2002 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" 2003 | integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== 2004 | 2005 | loose-envify@^1.0.0: 2006 | version "1.4.0" 2007 | resolved "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 2008 | integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8= 2009 | dependencies: 2010 | js-tokens "^3.0.0 || ^4.0.0" 2011 | 2012 | lru-cache@^5.1.1: 2013 | version "5.1.1" 2014 | resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 2015 | integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= 2016 | dependencies: 2017 | yallist "^3.0.2" 2018 | 2019 | make-dir@^1.0.0: 2020 | version "1.3.0" 2021 | resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" 2022 | integrity sha1-ecEDO4BRW9bSTsmTPoYMp17ifww= 2023 | dependencies: 2024 | pify "^3.0.0" 2025 | 2026 | make-dir@^2.0.0: 2027 | version "2.1.0" 2028 | resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" 2029 | integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= 2030 | dependencies: 2031 | pify "^4.0.1" 2032 | semver "^5.6.0" 2033 | 2034 | mamacro@^0.0.3: 2035 | version "0.0.3" 2036 | resolved "https://registry.npm.taobao.org/mamacro/download/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" 2037 | integrity sha1-rSyVdhl8nxq/MI0Hh4Zb2XWj8+Q= 2038 | 2039 | map-cache@^0.2.2: 2040 | version "0.2.2" 2041 | resolved "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 2042 | integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= 2043 | 2044 | map-visit@^1.0.0: 2045 | version "1.0.0" 2046 | resolved "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 2047 | integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= 2048 | dependencies: 2049 | object-visit "^1.0.0" 2050 | 2051 | md5.js@^1.3.4: 2052 | version "1.3.5" 2053 | resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" 2054 | integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= 2055 | dependencies: 2056 | hash-base "^3.0.0" 2057 | inherits "^2.0.1" 2058 | safe-buffer "^5.1.2" 2059 | 2060 | memory-fs@^0.4.1: 2061 | version "0.4.1" 2062 | resolved "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz?cache=0&sync_timestamp=1570537491040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" 2063 | integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= 2064 | dependencies: 2065 | errno "^0.1.3" 2066 | readable-stream "^2.0.1" 2067 | 2068 | memory-fs@^0.5.0: 2069 | version "0.5.0" 2070 | resolved "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz?cache=0&sync_timestamp=1570537491040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" 2071 | integrity sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw= 2072 | dependencies: 2073 | errno "^0.1.3" 2074 | readable-stream "^2.0.1" 2075 | 2076 | micromatch@^3.1.10, micromatch@^3.1.4: 2077 | version "3.1.10" 2078 | resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" 2079 | integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= 2080 | dependencies: 2081 | arr-diff "^4.0.0" 2082 | array-unique "^0.3.2" 2083 | braces "^2.3.1" 2084 | define-property "^2.0.2" 2085 | extend-shallow "^3.0.2" 2086 | extglob "^2.0.4" 2087 | fragment-cache "^0.2.1" 2088 | kind-of "^6.0.2" 2089 | nanomatch "^1.2.9" 2090 | object.pick "^1.3.0" 2091 | regex-not "^1.0.0" 2092 | snapdragon "^0.8.1" 2093 | to-regex "^3.0.2" 2094 | 2095 | miller-rabin@^4.0.0: 2096 | version "4.0.1" 2097 | resolved "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" 2098 | integrity sha1-8IA1HIZbDcViqEYpZtqlNUPHik0= 2099 | dependencies: 2100 | bn.js "^4.0.0" 2101 | brorand "^1.0.1" 2102 | 2103 | minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: 2104 | version "1.0.1" 2105 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" 2106 | integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== 2107 | 2108 | minimalistic-crypto-utils@^1.0.1: 2109 | version "1.0.1" 2110 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 2111 | integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= 2112 | 2113 | minimatch@^3.0.4: 2114 | version "3.0.4" 2115 | resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2116 | integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= 2117 | dependencies: 2118 | brace-expansion "^1.1.7" 2119 | 2120 | minimist@0.0.8: 2121 | version "0.0.8" 2122 | resolved "https://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2123 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 2124 | 2125 | minimist@^1.2.0: 2126 | version "1.2.0" 2127 | resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2128 | integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= 2129 | 2130 | minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: 2131 | version "2.9.0" 2132 | resolved "https://registry.npm.taobao.org/minipass/download/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" 2133 | integrity sha1-5xN2Ln0+Mv7YAxFc+T4EvKn8yaY= 2134 | dependencies: 2135 | safe-buffer "^5.1.2" 2136 | yallist "^3.0.0" 2137 | 2138 | minizlib@^1.2.1: 2139 | version "1.3.3" 2140 | resolved "https://registry.npm.taobao.org/minizlib/download/minizlib-1.3.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminizlib%2Fdownload%2Fminizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" 2141 | integrity sha1-IpDeloGKNMKVUcio0wEha9Zahh0= 2142 | dependencies: 2143 | minipass "^2.9.0" 2144 | 2145 | mississippi@^3.0.0: 2146 | version "3.0.0" 2147 | resolved "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" 2148 | integrity sha1-6goykfl+C16HdrNj1fChLZTGcCI= 2149 | dependencies: 2150 | concat-stream "^1.5.0" 2151 | duplexify "^3.4.2" 2152 | end-of-stream "^1.1.0" 2153 | flush-write-stream "^1.0.0" 2154 | from2 "^2.1.0" 2155 | parallel-transform "^1.1.0" 2156 | pump "^3.0.0" 2157 | pumpify "^1.3.3" 2158 | stream-each "^1.1.0" 2159 | through2 "^2.0.0" 2160 | 2161 | mixin-deep@^1.2.0: 2162 | version "1.3.2" 2163 | resolved "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" 2164 | integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= 2165 | dependencies: 2166 | for-in "^1.0.2" 2167 | is-extendable "^1.0.1" 2168 | 2169 | mkdirp@^0.5.0, mkdirp@^0.5.1: 2170 | version "0.5.1" 2171 | resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2172 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 2173 | dependencies: 2174 | minimist "0.0.8" 2175 | 2176 | move-concurrently@^1.0.1: 2177 | version "1.0.1" 2178 | resolved "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" 2179 | integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= 2180 | dependencies: 2181 | aproba "^1.1.1" 2182 | copy-concurrently "^1.0.0" 2183 | fs-write-stream-atomic "^1.0.8" 2184 | mkdirp "^0.5.1" 2185 | rimraf "^2.5.4" 2186 | run-queue "^1.0.3" 2187 | 2188 | ms@2.0.0: 2189 | version "2.0.0" 2190 | resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2191 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 2192 | 2193 | ms@^2.1.1: 2194 | version "2.1.2" 2195 | resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2196 | integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= 2197 | 2198 | nan@^2.12.1: 2199 | version "2.14.0" 2200 | resolved "https://registry.npm.taobao.org/nan/download/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" 2201 | integrity sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw= 2202 | 2203 | nanomatch@^1.2.9: 2204 | version "1.2.13" 2205 | resolved "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" 2206 | integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= 2207 | dependencies: 2208 | arr-diff "^4.0.0" 2209 | array-unique "^0.3.2" 2210 | define-property "^2.0.2" 2211 | extend-shallow "^3.0.2" 2212 | fragment-cache "^0.2.1" 2213 | is-windows "^1.0.2" 2214 | kind-of "^6.0.2" 2215 | object.pick "^1.3.0" 2216 | regex-not "^1.0.0" 2217 | snapdragon "^0.8.1" 2218 | to-regex "^3.0.1" 2219 | 2220 | needle@^2.2.1: 2221 | version "2.4.0" 2222 | resolved "https://registry.npm.taobao.org/needle/download/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" 2223 | integrity sha1-aDPnSXXERGQlkOFadQKIxfk5tXw= 2224 | dependencies: 2225 | debug "^3.2.6" 2226 | iconv-lite "^0.4.4" 2227 | sax "^1.2.4" 2228 | 2229 | neo-async@^2.5.0, neo-async@^2.6.1: 2230 | version "2.6.1" 2231 | resolved "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" 2232 | integrity sha1-rCetpmFn+ohJpq3dg39rGJrSCBw= 2233 | 2234 | node-libs-browser@^2.2.1: 2235 | version "2.2.1" 2236 | resolved "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" 2237 | integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU= 2238 | dependencies: 2239 | assert "^1.1.1" 2240 | browserify-zlib "^0.2.0" 2241 | buffer "^4.3.0" 2242 | console-browserify "^1.1.0" 2243 | constants-browserify "^1.0.0" 2244 | crypto-browserify "^3.11.0" 2245 | domain-browser "^1.1.1" 2246 | events "^3.0.0" 2247 | https-browserify "^1.0.0" 2248 | os-browserify "^0.3.0" 2249 | path-browserify "0.0.1" 2250 | process "^0.11.10" 2251 | punycode "^1.2.4" 2252 | querystring-es3 "^0.2.0" 2253 | readable-stream "^2.3.3" 2254 | stream-browserify "^2.0.1" 2255 | stream-http "^2.7.2" 2256 | string_decoder "^1.0.0" 2257 | timers-browserify "^2.0.4" 2258 | tty-browserify "0.0.0" 2259 | url "^0.11.0" 2260 | util "^0.11.0" 2261 | vm-browserify "^1.0.1" 2262 | 2263 | node-pre-gyp@^0.12.0: 2264 | version "0.12.0" 2265 | resolved "https://registry.npm.taobao.org/node-pre-gyp/download/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" 2266 | integrity sha1-ObpLsUOdoDApX4meO1ILd4V2YUk= 2267 | dependencies: 2268 | detect-libc "^1.0.2" 2269 | mkdirp "^0.5.1" 2270 | needle "^2.2.1" 2271 | nopt "^4.0.1" 2272 | npm-packlist "^1.1.6" 2273 | npmlog "^4.0.2" 2274 | rc "^1.2.7" 2275 | rimraf "^2.6.1" 2276 | semver "^5.3.0" 2277 | tar "^4" 2278 | 2279 | nopt@^4.0.1: 2280 | version "4.0.1" 2281 | resolved "https://registry.npm.taobao.org/nopt/download/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 2282 | integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= 2283 | dependencies: 2284 | abbrev "1" 2285 | osenv "^0.1.4" 2286 | 2287 | normalize-path@^2.1.1: 2288 | version "2.1.1" 2289 | resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 2290 | integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= 2291 | dependencies: 2292 | remove-trailing-separator "^1.0.1" 2293 | 2294 | normalize-path@^3.0.0: 2295 | version "3.0.0" 2296 | resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 2297 | integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= 2298 | 2299 | npm-bundled@^1.0.1: 2300 | version "1.0.6" 2301 | resolved "https://registry.npm.taobao.org/npm-bundled/download/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" 2302 | integrity sha1-57qarc75YrthJI+RchzZMrP+a90= 2303 | 2304 | npm-packlist@^1.1.6: 2305 | version "1.4.4" 2306 | resolved "https://registry.npm.taobao.org/npm-packlist/download/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" 2307 | integrity sha1-hmIkIzhQrFNLY9Gm52BQCStdL0Q= 2308 | dependencies: 2309 | ignore-walk "^3.0.1" 2310 | npm-bundled "^1.0.1" 2311 | 2312 | npmlog@^4.0.2: 2313 | version "4.1.2" 2314 | resolved "https://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 2315 | integrity sha1-CKfyqL9zRgR3mp76StXMcXq7lUs= 2316 | dependencies: 2317 | are-we-there-yet "~1.1.2" 2318 | console-control-strings "~1.1.0" 2319 | gauge "~2.7.3" 2320 | set-blocking "~2.0.0" 2321 | 2322 | number-is-nan@^1.0.0: 2323 | version "1.0.1" 2324 | resolved "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2325 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 2326 | 2327 | object-assign@^4.1.0, object-assign@^4.1.1: 2328 | version "4.1.1" 2329 | resolved "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2330 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 2331 | 2332 | object-copy@^0.1.0: 2333 | version "0.1.0" 2334 | resolved "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 2335 | integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= 2336 | dependencies: 2337 | copy-descriptor "^0.1.0" 2338 | define-property "^0.2.5" 2339 | kind-of "^3.0.3" 2340 | 2341 | object-visit@^1.0.0: 2342 | version "1.0.1" 2343 | resolved "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 2344 | integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= 2345 | dependencies: 2346 | isobject "^3.0.0" 2347 | 2348 | object.pick@^1.3.0: 2349 | version "1.3.0" 2350 | resolved "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 2351 | integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= 2352 | dependencies: 2353 | isobject "^3.0.1" 2354 | 2355 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 2356 | version "1.4.0" 2357 | resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2358 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 2359 | dependencies: 2360 | wrappy "1" 2361 | 2362 | os-browserify@^0.3.0: 2363 | version "0.3.0" 2364 | resolved "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" 2365 | integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= 2366 | 2367 | os-homedir@^1.0.0: 2368 | version "1.0.2" 2369 | resolved "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2370 | integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= 2371 | 2372 | os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: 2373 | version "1.0.2" 2374 | resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2375 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 2376 | 2377 | osenv@^0.1.4: 2378 | version "0.1.5" 2379 | resolved "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" 2380 | integrity sha1-hc36+uso6Gd/QW4odZK18/SepBA= 2381 | dependencies: 2382 | os-homedir "^1.0.0" 2383 | os-tmpdir "^1.0.0" 2384 | 2385 | p-limit@^1.1.0: 2386 | version "1.3.0" 2387 | resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 2388 | integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= 2389 | dependencies: 2390 | p-try "^1.0.0" 2391 | 2392 | p-limit@^2.0.0: 2393 | version "2.2.1" 2394 | resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" 2395 | integrity sha1-qgeniMwxUck5tRMfY1cPDdIAlTc= 2396 | dependencies: 2397 | p-try "^2.0.0" 2398 | 2399 | p-locate@^2.0.0: 2400 | version "2.0.0" 2401 | resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2402 | integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= 2403 | dependencies: 2404 | p-limit "^1.1.0" 2405 | 2406 | p-locate@^3.0.0: 2407 | version "3.0.0" 2408 | resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 2409 | integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= 2410 | dependencies: 2411 | p-limit "^2.0.0" 2412 | 2413 | p-try@^1.0.0: 2414 | version "1.0.0" 2415 | resolved "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 2416 | integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= 2417 | 2418 | p-try@^2.0.0: 2419 | version "2.2.0" 2420 | resolved "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2421 | integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= 2422 | 2423 | pako@~1.0.5: 2424 | version "1.0.10" 2425 | resolved "https://registry.npm.taobao.org/pako/download/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" 2426 | integrity sha1-Qyi621CGpCaqkPVBl31JVdpclzI= 2427 | 2428 | parallel-transform@^1.1.0: 2429 | version "1.2.0" 2430 | resolved "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" 2431 | integrity sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw= 2432 | dependencies: 2433 | cyclist "^1.0.1" 2434 | inherits "^2.0.3" 2435 | readable-stream "^2.1.5" 2436 | 2437 | parse-asn1@^5.0.0: 2438 | version "5.1.5" 2439 | resolved "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" 2440 | integrity sha1-ADJxND2ljclMrOSU+u89IUfs6g4= 2441 | dependencies: 2442 | asn1.js "^4.0.0" 2443 | browserify-aes "^1.0.0" 2444 | create-hash "^1.1.0" 2445 | evp_bytestokey "^1.0.0" 2446 | pbkdf2 "^3.0.3" 2447 | safe-buffer "^5.1.1" 2448 | 2449 | pascalcase@^0.1.1: 2450 | version "0.1.1" 2451 | resolved "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 2452 | integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= 2453 | 2454 | path-browserify@0.0.1: 2455 | version "0.0.1" 2456 | resolved "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" 2457 | integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo= 2458 | 2459 | path-dirname@^1.0.0: 2460 | version "1.0.2" 2461 | resolved "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" 2462 | integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= 2463 | 2464 | path-exists@^3.0.0: 2465 | version "3.0.0" 2466 | resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2467 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 2468 | 2469 | path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: 2470 | version "1.0.1" 2471 | resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2472 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 2473 | 2474 | pbkdf2@^3.0.3: 2475 | version "3.0.17" 2476 | resolved "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" 2477 | integrity sha1-l2wgZTBhexTrsyEUI597CTNuk6Y= 2478 | dependencies: 2479 | create-hash "^1.1.2" 2480 | create-hmac "^1.1.4" 2481 | ripemd160 "^2.0.1" 2482 | safe-buffer "^5.0.1" 2483 | sha.js "^2.4.8" 2484 | 2485 | pify@^3.0.0: 2486 | version "3.0.0" 2487 | resolved "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 2488 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= 2489 | 2490 | pify@^4.0.1: 2491 | version "4.0.1" 2492 | resolved "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" 2493 | integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= 2494 | 2495 | pkg-dir@^2.0.0: 2496 | version "2.0.0" 2497 | resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 2498 | integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= 2499 | dependencies: 2500 | find-up "^2.1.0" 2501 | 2502 | pkg-dir@^3.0.0: 2503 | version "3.0.0" 2504 | resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" 2505 | integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM= 2506 | dependencies: 2507 | find-up "^3.0.0" 2508 | 2509 | posix-character-classes@^0.1.0: 2510 | version "0.1.1" 2511 | resolved "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 2512 | integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= 2513 | 2514 | private@^0.1.6, private@^0.1.8: 2515 | version "0.1.8" 2516 | resolved "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" 2517 | integrity sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8= 2518 | 2519 | process-nextick-args@~2.0.0: 2520 | version "2.0.1" 2521 | resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 2522 | integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= 2523 | 2524 | process@^0.11.10: 2525 | version "0.11.10" 2526 | resolved "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" 2527 | integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= 2528 | 2529 | promise-inflight@^1.0.1: 2530 | version "1.0.1" 2531 | resolved "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" 2532 | integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= 2533 | 2534 | prr@~1.0.1: 2535 | version "1.0.1" 2536 | resolved "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" 2537 | integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= 2538 | 2539 | public-encrypt@^4.0.0: 2540 | version "4.0.3" 2541 | resolved "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" 2542 | integrity sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA= 2543 | dependencies: 2544 | bn.js "^4.1.0" 2545 | browserify-rsa "^4.0.0" 2546 | create-hash "^1.1.0" 2547 | parse-asn1 "^5.0.0" 2548 | randombytes "^2.0.1" 2549 | safe-buffer "^5.1.2" 2550 | 2551 | pump@^2.0.0: 2552 | version "2.0.1" 2553 | resolved "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" 2554 | integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= 2555 | dependencies: 2556 | end-of-stream "^1.1.0" 2557 | once "^1.3.1" 2558 | 2559 | pump@^3.0.0: 2560 | version "3.0.0" 2561 | resolved "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 2562 | integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= 2563 | dependencies: 2564 | end-of-stream "^1.1.0" 2565 | once "^1.3.1" 2566 | 2567 | pumpify@^1.3.3: 2568 | version "1.5.1" 2569 | resolved "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpumpify%2Fdownload%2Fpumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" 2570 | integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= 2571 | dependencies: 2572 | duplexify "^3.6.0" 2573 | inherits "^2.0.3" 2574 | pump "^2.0.0" 2575 | 2576 | punycode@1.3.2: 2577 | version "1.3.2" 2578 | resolved "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpunycode%2Fdownload%2Fpunycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 2579 | integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= 2580 | 2581 | punycode@^1.2.4: 2582 | version "1.4.1" 2583 | resolved "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpunycode%2Fdownload%2Fpunycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 2584 | integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= 2585 | 2586 | punycode@^2.1.0: 2587 | version "2.1.1" 2588 | resolved "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpunycode%2Fdownload%2Fpunycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 2589 | integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= 2590 | 2591 | querystring-es3@^0.2.0: 2592 | version "0.2.1" 2593 | resolved "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" 2594 | integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= 2595 | 2596 | querystring@0.2.0: 2597 | version "0.2.0" 2598 | resolved "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 2599 | integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= 2600 | 2601 | randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: 2602 | version "2.1.0" 2603 | resolved "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 2604 | integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo= 2605 | dependencies: 2606 | safe-buffer "^5.1.0" 2607 | 2608 | randomfill@^1.0.3: 2609 | version "1.0.4" 2610 | resolved "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" 2611 | integrity sha1-ySGW/IarQr6YPxvzF3giSTHWFFg= 2612 | dependencies: 2613 | randombytes "^2.0.5" 2614 | safe-buffer "^5.1.0" 2615 | 2616 | rc@^1.2.7: 2617 | version "1.2.8" 2618 | resolved "https://registry.npm.taobao.org/rc/download/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 2619 | integrity sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0= 2620 | dependencies: 2621 | deep-extend "^0.6.0" 2622 | ini "~1.3.0" 2623 | minimist "^1.2.0" 2624 | strip-json-comments "~2.0.1" 2625 | 2626 | "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: 2627 | version "2.3.6" 2628 | resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 2629 | integrity sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8= 2630 | dependencies: 2631 | core-util-is "~1.0.0" 2632 | inherits "~2.0.3" 2633 | isarray "~1.0.0" 2634 | process-nextick-args "~2.0.0" 2635 | safe-buffer "~5.1.1" 2636 | string_decoder "~1.1.1" 2637 | util-deprecate "~1.0.1" 2638 | 2639 | readdirp@^2.2.1: 2640 | version "2.2.1" 2641 | resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" 2642 | integrity sha1-DodiKjMlqjPokihcr4tOhGUppSU= 2643 | dependencies: 2644 | graceful-fs "^4.1.11" 2645 | micromatch "^3.1.10" 2646 | readable-stream "^2.0.2" 2647 | 2648 | regenerate@^1.2.1: 2649 | version "1.4.0" 2650 | resolved "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" 2651 | integrity sha1-SoVuxLVuQHfFV1icroXnpMiGmhE= 2652 | 2653 | regenerator-runtime@^0.11.0: 2654 | version "0.11.1" 2655 | resolved "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" 2656 | integrity sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk= 2657 | 2658 | regenerator-transform@^0.10.0: 2659 | version "0.10.1" 2660 | resolved "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.10.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" 2661 | integrity sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0= 2662 | dependencies: 2663 | babel-runtime "^6.18.0" 2664 | babel-types "^6.19.0" 2665 | private "^0.1.6" 2666 | 2667 | regex-not@^1.0.0, regex-not@^1.0.2: 2668 | version "1.0.2" 2669 | resolved "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" 2670 | integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= 2671 | dependencies: 2672 | extend-shallow "^3.0.2" 2673 | safe-regex "^1.1.0" 2674 | 2675 | regexpu-core@^2.0.0: 2676 | version "2.0.0" 2677 | resolved "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz?cache=0&sync_timestamp=1568375270709&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" 2678 | integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA= 2679 | dependencies: 2680 | regenerate "^1.2.1" 2681 | regjsgen "^0.2.0" 2682 | regjsparser "^0.1.4" 2683 | 2684 | regjsgen@^0.2.0: 2685 | version "0.2.0" 2686 | resolved "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" 2687 | integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= 2688 | 2689 | regjsparser@^0.1.4: 2690 | version "0.1.5" 2691 | resolved "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" 2692 | integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= 2693 | dependencies: 2694 | jsesc "~0.5.0" 2695 | 2696 | remove-trailing-separator@^1.0.1: 2697 | version "1.1.0" 2698 | resolved "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 2699 | integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= 2700 | 2701 | repeat-element@^1.1.2: 2702 | version "1.1.3" 2703 | resolved "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" 2704 | integrity sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4= 2705 | 2706 | repeat-string@^1.6.1: 2707 | version "1.6.1" 2708 | resolved "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 2709 | integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= 2710 | 2711 | repeating@^2.0.0: 2712 | version "2.0.1" 2713 | resolved "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 2714 | integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= 2715 | dependencies: 2716 | is-finite "^1.0.0" 2717 | 2718 | resolve-url@^0.2.1: 2719 | version "0.2.1" 2720 | resolved "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 2721 | integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= 2722 | 2723 | ret@~0.1.10: 2724 | version "0.1.15" 2725 | resolved "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 2726 | integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= 2727 | 2728 | rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: 2729 | version "2.7.1" 2730 | resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" 2731 | integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= 2732 | dependencies: 2733 | glob "^7.1.3" 2734 | 2735 | ripemd160@^2.0.0, ripemd160@^2.0.1: 2736 | version "2.0.2" 2737 | resolved "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" 2738 | integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= 2739 | dependencies: 2740 | hash-base "^3.0.0" 2741 | inherits "^2.0.1" 2742 | 2743 | run-queue@^1.0.0, run-queue@^1.0.3: 2744 | version "1.0.3" 2745 | resolved "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" 2746 | integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= 2747 | dependencies: 2748 | aproba "^1.1.1" 2749 | 2750 | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: 2751 | version "5.2.0" 2752 | resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" 2753 | integrity sha1-t02uxJsRSPiMZLaNSbHoFcHy9Rk= 2754 | 2755 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 2756 | version "5.1.2" 2757 | resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 2758 | integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= 2759 | 2760 | safe-regex@^1.1.0: 2761 | version "1.1.0" 2762 | resolved "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 2763 | integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= 2764 | dependencies: 2765 | ret "~0.1.10" 2766 | 2767 | "safer-buffer@>= 2.1.2 < 3": 2768 | version "2.1.2" 2769 | resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 2770 | integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= 2771 | 2772 | sax@^1.2.4: 2773 | version "1.2.4" 2774 | resolved "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 2775 | integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= 2776 | 2777 | schema-utils@^1.0.0: 2778 | version "1.0.0" 2779 | resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" 2780 | integrity sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A= 2781 | dependencies: 2782 | ajv "^6.1.0" 2783 | ajv-errors "^1.0.0" 2784 | ajv-keywords "^3.1.0" 2785 | 2786 | semver@^5.3.0, semver@^5.6.0: 2787 | version "5.7.1" 2788 | resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 2789 | integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= 2790 | 2791 | serialize-javascript@^1.7.0: 2792 | version "1.9.1" 2793 | resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" 2794 | integrity sha1-z8IArvd7YAxH2pu4FJyUPnmML9s= 2795 | 2796 | set-blocking@~2.0.0: 2797 | version "2.0.0" 2798 | resolved "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2799 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 2800 | 2801 | set-value@^2.0.0, set-value@^2.0.1: 2802 | version "2.0.1" 2803 | resolved "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" 2804 | integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= 2805 | dependencies: 2806 | extend-shallow "^2.0.1" 2807 | is-extendable "^0.1.1" 2808 | is-plain-object "^2.0.3" 2809 | split-string "^3.0.1" 2810 | 2811 | setimmediate@^1.0.4: 2812 | version "1.0.5" 2813 | resolved "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 2814 | integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= 2815 | 2816 | sha.js@^2.4.0, sha.js@^2.4.8: 2817 | version "2.4.11" 2818 | resolved "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" 2819 | integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= 2820 | dependencies: 2821 | inherits "^2.0.1" 2822 | safe-buffer "^5.0.1" 2823 | 2824 | signal-exit@^3.0.0: 2825 | version "3.0.2" 2826 | resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 2827 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 2828 | 2829 | slash@^1.0.0: 2830 | version "1.0.0" 2831 | resolved "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 2832 | integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= 2833 | 2834 | snapdragon-node@^2.0.1: 2835 | version "2.1.1" 2836 | resolved "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 2837 | integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= 2838 | dependencies: 2839 | define-property "^1.0.0" 2840 | isobject "^3.0.0" 2841 | snapdragon-util "^3.0.1" 2842 | 2843 | snapdragon-util@^3.0.1: 2844 | version "3.0.1" 2845 | resolved "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 2846 | integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= 2847 | dependencies: 2848 | kind-of "^3.2.0" 2849 | 2850 | snapdragon@^0.8.1: 2851 | version "0.8.2" 2852 | resolved "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" 2853 | integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= 2854 | dependencies: 2855 | base "^0.11.1" 2856 | debug "^2.2.0" 2857 | define-property "^0.2.5" 2858 | extend-shallow "^2.0.1" 2859 | map-cache "^0.2.2" 2860 | source-map "^0.5.6" 2861 | source-map-resolve "^0.5.0" 2862 | use "^3.1.0" 2863 | 2864 | source-list-map@^2.0.0: 2865 | version "2.0.1" 2866 | resolved "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" 2867 | integrity sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ= 2868 | 2869 | source-map-resolve@^0.5.0: 2870 | version "0.5.2" 2871 | resolved "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" 2872 | integrity sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk= 2873 | dependencies: 2874 | atob "^2.1.1" 2875 | decode-uri-component "^0.2.0" 2876 | resolve-url "^0.2.1" 2877 | source-map-url "^0.4.0" 2878 | urix "^0.1.0" 2879 | 2880 | source-map-support@^0.4.15: 2881 | version "0.4.18" 2882 | resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" 2883 | integrity sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8= 2884 | dependencies: 2885 | source-map "^0.5.6" 2886 | 2887 | source-map-support@~0.5.12: 2888 | version "0.5.13" 2889 | resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" 2890 | integrity sha1-MbJKnC5zwt6FBmwP631Edn7VKTI= 2891 | dependencies: 2892 | buffer-from "^1.0.0" 2893 | source-map "^0.6.0" 2894 | 2895 | source-map-url@^0.4.0: 2896 | version "0.4.0" 2897 | resolved "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 2898 | integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= 2899 | 2900 | source-map@^0.5.6, source-map@^0.5.7: 2901 | version "0.5.7" 2902 | resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 2903 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 2904 | 2905 | source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: 2906 | version "0.6.1" 2907 | resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 2908 | integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= 2909 | 2910 | split-string@^3.0.1, split-string@^3.0.2: 2911 | version "3.1.0" 2912 | resolved "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 2913 | integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= 2914 | dependencies: 2915 | extend-shallow "^3.0.0" 2916 | 2917 | ssri@^6.0.1: 2918 | version "6.0.1" 2919 | resolved "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" 2920 | integrity sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg= 2921 | dependencies: 2922 | figgy-pudding "^3.5.1" 2923 | 2924 | static-extend@^0.1.1: 2925 | version "0.1.2" 2926 | resolved "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 2927 | integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= 2928 | dependencies: 2929 | define-property "^0.2.5" 2930 | object-copy "^0.1.0" 2931 | 2932 | stream-browserify@^2.0.1: 2933 | version "2.0.2" 2934 | resolved "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" 2935 | integrity sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs= 2936 | dependencies: 2937 | inherits "~2.0.1" 2938 | readable-stream "^2.0.2" 2939 | 2940 | stream-each@^1.1.0: 2941 | version "1.2.3" 2942 | resolved "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" 2943 | integrity sha1-6+J6DDibBPvMIzZClS4Qcxr6m64= 2944 | dependencies: 2945 | end-of-stream "^1.1.0" 2946 | stream-shift "^1.0.0" 2947 | 2948 | stream-http@^2.7.2: 2949 | version "2.8.3" 2950 | resolved "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" 2951 | integrity sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw= 2952 | dependencies: 2953 | builtin-status-codes "^3.0.0" 2954 | inherits "^2.0.1" 2955 | readable-stream "^2.3.6" 2956 | to-arraybuffer "^1.0.0" 2957 | xtend "^4.0.0" 2958 | 2959 | stream-shift@^1.0.0: 2960 | version "1.0.0" 2961 | resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" 2962 | integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= 2963 | 2964 | string-width@^1.0.1: 2965 | version "1.0.2" 2966 | resolved "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 2967 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 2968 | dependencies: 2969 | code-point-at "^1.0.0" 2970 | is-fullwidth-code-point "^1.0.0" 2971 | strip-ansi "^3.0.0" 2972 | 2973 | "string-width@^1.0.2 || 2": 2974 | version "2.1.1" 2975 | resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 2976 | integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= 2977 | dependencies: 2978 | is-fullwidth-code-point "^2.0.0" 2979 | strip-ansi "^4.0.0" 2980 | 2981 | string_decoder@^1.0.0: 2982 | version "1.3.0" 2983 | resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 2984 | integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= 2985 | dependencies: 2986 | safe-buffer "~5.2.0" 2987 | 2988 | string_decoder@~1.1.1: 2989 | version "1.1.1" 2990 | resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 2991 | integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= 2992 | dependencies: 2993 | safe-buffer "~5.1.0" 2994 | 2995 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 2996 | version "3.0.1" 2997 | resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 2998 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 2999 | dependencies: 3000 | ansi-regex "^2.0.0" 3001 | 3002 | strip-ansi@^4.0.0: 3003 | version "4.0.0" 3004 | resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3005 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 3006 | dependencies: 3007 | ansi-regex "^3.0.0" 3008 | 3009 | strip-json-comments@~2.0.1: 3010 | version "2.0.1" 3011 | resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3012 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 3013 | 3014 | supports-color@^2.0.0: 3015 | version "2.0.0" 3016 | resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 3017 | integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= 3018 | 3019 | tapable@^1.0.0, tapable@^1.1.3: 3020 | version "1.1.3" 3021 | resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" 3022 | integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= 3023 | 3024 | tar@^4: 3025 | version "4.4.13" 3026 | resolved "https://registry.npm.taobao.org/tar/download/tar-4.4.13.tgz?cache=0&sync_timestamp=1570258514221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftar%2Fdownload%2Ftar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" 3027 | integrity sha1-Q7NkvFKIjVVSmGN7ENYHkCVKtSU= 3028 | dependencies: 3029 | chownr "^1.1.1" 3030 | fs-minipass "^1.2.5" 3031 | minipass "^2.8.6" 3032 | minizlib "^1.2.1" 3033 | mkdirp "^0.5.0" 3034 | safe-buffer "^5.1.2" 3035 | yallist "^3.0.3" 3036 | 3037 | terser-webpack-plugin@^1.4.1: 3038 | version "1.4.1" 3039 | resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" 3040 | integrity sha1-YbGOQOruW+l+dxzbsQ7RKAiIwrQ= 3041 | dependencies: 3042 | cacache "^12.0.2" 3043 | find-cache-dir "^2.1.0" 3044 | is-wsl "^1.1.0" 3045 | schema-utils "^1.0.0" 3046 | serialize-javascript "^1.7.0" 3047 | source-map "^0.6.1" 3048 | terser "^4.1.2" 3049 | webpack-sources "^1.4.0" 3050 | worker-farm "^1.7.0" 3051 | 3052 | terser@^4.1.2: 3053 | version "4.3.8" 3054 | resolved "https://registry.npm.taobao.org/terser/download/terser-4.3.8.tgz#707f05f3f4c1c70c840e626addfdb1c158a17136" 3055 | integrity sha1-cH8F8/TBxwyEDmJq3f2xwVihcTY= 3056 | dependencies: 3057 | commander "^2.20.0" 3058 | source-map "~0.6.1" 3059 | source-map-support "~0.5.12" 3060 | 3061 | through2@^2.0.0: 3062 | version "2.0.5" 3063 | resolved "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" 3064 | integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= 3065 | dependencies: 3066 | readable-stream "~2.3.6" 3067 | xtend "~4.0.1" 3068 | 3069 | timers-browserify@^2.0.4: 3070 | version "2.0.11" 3071 | resolved "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz?cache=0&sync_timestamp=1565448362964&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftimers-browserify%2Fdownload%2Ftimers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" 3072 | integrity sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8= 3073 | dependencies: 3074 | setimmediate "^1.0.4" 3075 | 3076 | to-arraybuffer@^1.0.0: 3077 | version "1.0.1" 3078 | resolved "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" 3079 | integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= 3080 | 3081 | to-fast-properties@^1.0.3: 3082 | version "1.0.3" 3083 | resolved "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" 3084 | integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= 3085 | 3086 | to-object-path@^0.3.0: 3087 | version "0.3.0" 3088 | resolved "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 3089 | integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= 3090 | dependencies: 3091 | kind-of "^3.0.2" 3092 | 3093 | to-regex-range@^2.1.0: 3094 | version "2.1.1" 3095 | resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 3096 | integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= 3097 | dependencies: 3098 | is-number "^3.0.0" 3099 | repeat-string "^1.6.1" 3100 | 3101 | to-regex@^3.0.1, to-regex@^3.0.2: 3102 | version "3.0.2" 3103 | resolved "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" 3104 | integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= 3105 | dependencies: 3106 | define-property "^2.0.2" 3107 | extend-shallow "^3.0.2" 3108 | regex-not "^1.0.2" 3109 | safe-regex "^1.1.0" 3110 | 3111 | trim-right@^1.0.1: 3112 | version "1.0.1" 3113 | resolved "https://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 3114 | integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= 3115 | 3116 | tslib@^1.9.0: 3117 | version "1.10.0" 3118 | resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" 3119 | integrity sha1-w8GflZc/sKYpc/sJ2Q2WHuQ+XIo= 3120 | 3121 | tty-browserify@0.0.0: 3122 | version "0.0.0" 3123 | resolved "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" 3124 | integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= 3125 | 3126 | typedarray@^0.0.6: 3127 | version "0.0.6" 3128 | resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 3129 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= 3130 | 3131 | union-value@^1.0.0: 3132 | version "1.0.1" 3133 | resolved "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" 3134 | integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= 3135 | dependencies: 3136 | arr-union "^3.1.0" 3137 | get-value "^2.0.6" 3138 | is-extendable "^0.1.1" 3139 | set-value "^2.0.1" 3140 | 3141 | unique-filename@^1.1.1: 3142 | version "1.1.1" 3143 | resolved "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" 3144 | integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA= 3145 | dependencies: 3146 | unique-slug "^2.0.0" 3147 | 3148 | unique-slug@^2.0.0: 3149 | version "2.0.2" 3150 | resolved "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" 3151 | integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw= 3152 | dependencies: 3153 | imurmurhash "^0.1.4" 3154 | 3155 | unset-value@^1.0.0: 3156 | version "1.0.0" 3157 | resolved "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 3158 | integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= 3159 | dependencies: 3160 | has-value "^0.3.1" 3161 | isobject "^3.0.0" 3162 | 3163 | upath@^1.1.1: 3164 | version "1.2.0" 3165 | resolved "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" 3166 | integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= 3167 | 3168 | uri-js@^4.2.2: 3169 | version "4.2.2" 3170 | resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 3171 | integrity sha1-lMVA4f93KVbiKZUHwBCupsiDjrA= 3172 | dependencies: 3173 | punycode "^2.1.0" 3174 | 3175 | urix@^0.1.0: 3176 | version "0.1.0" 3177 | resolved "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 3178 | integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= 3179 | 3180 | url@^0.11.0: 3181 | version "0.11.0" 3182 | resolved "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" 3183 | integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= 3184 | dependencies: 3185 | punycode "1.3.2" 3186 | querystring "0.2.0" 3187 | 3188 | use@^3.1.0: 3189 | version "3.1.1" 3190 | resolved "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" 3191 | integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8= 3192 | 3193 | util-deprecate@~1.0.1: 3194 | version "1.0.2" 3195 | resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 3196 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 3197 | 3198 | util@0.10.3: 3199 | version "0.10.3" 3200 | resolved "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" 3201 | integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= 3202 | dependencies: 3203 | inherits "2.0.1" 3204 | 3205 | util@^0.11.0: 3206 | version "0.11.1" 3207 | resolved "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" 3208 | integrity sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE= 3209 | dependencies: 3210 | inherits "2.0.3" 3211 | 3212 | vm-browserify@^1.0.1: 3213 | version "1.1.0" 3214 | resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" 3215 | integrity sha1-vXbWojMj4sqP+hICjcBFWcdfkBk= 3216 | 3217 | watchpack@^1.6.0: 3218 | version "1.6.0" 3219 | resolved "https://registry.npm.taobao.org/watchpack/download/watchpack-1.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack%2Fdownload%2Fwatchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" 3220 | integrity sha1-S8EsLr6KonenHx0/FNaFx7RGzQA= 3221 | dependencies: 3222 | chokidar "^2.0.2" 3223 | graceful-fs "^4.1.2" 3224 | neo-async "^2.5.0" 3225 | 3226 | webpack-sources@^1.4.0, webpack-sources@^1.4.1: 3227 | version "1.4.3" 3228 | resolved "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1568302837530&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" 3229 | integrity sha1-7t2OwLko+/HL/plOItLYkPMwqTM= 3230 | dependencies: 3231 | source-list-map "^2.0.0" 3232 | source-map "~0.6.1" 3233 | 3234 | webpack@^4.2.0: 3235 | version "4.41.0" 3236 | resolved "https://registry.npm.taobao.org/webpack/download/webpack-4.41.0.tgz#db6a254bde671769f7c14e90a1a55e73602fc70b" 3237 | integrity sha1-22olS95nF2n3wU6QoaVec2Avxws= 3238 | dependencies: 3239 | "@webassemblyjs/ast" "1.8.5" 3240 | "@webassemblyjs/helper-module-context" "1.8.5" 3241 | "@webassemblyjs/wasm-edit" "1.8.5" 3242 | "@webassemblyjs/wasm-parser" "1.8.5" 3243 | acorn "^6.2.1" 3244 | ajv "^6.10.2" 3245 | ajv-keywords "^3.4.1" 3246 | chrome-trace-event "^1.0.2" 3247 | enhanced-resolve "^4.1.0" 3248 | eslint-scope "^4.0.3" 3249 | json-parse-better-errors "^1.0.2" 3250 | loader-runner "^2.4.0" 3251 | loader-utils "^1.2.3" 3252 | memory-fs "^0.4.1" 3253 | micromatch "^3.1.10" 3254 | mkdirp "^0.5.1" 3255 | neo-async "^2.6.1" 3256 | node-libs-browser "^2.2.1" 3257 | schema-utils "^1.0.0" 3258 | tapable "^1.1.3" 3259 | terser-webpack-plugin "^1.4.1" 3260 | watchpack "^1.6.0" 3261 | webpack-sources "^1.4.1" 3262 | 3263 | wide-align@^1.1.0: 3264 | version "1.1.3" 3265 | resolved "https://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 3266 | integrity sha1-rgdOa9wMFKQx6ATmJFScYzsABFc= 3267 | dependencies: 3268 | string-width "^1.0.2 || 2" 3269 | 3270 | worker-farm@^1.7.0: 3271 | version "1.7.0" 3272 | resolved "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" 3273 | integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag= 3274 | dependencies: 3275 | errno "~0.1.7" 3276 | 3277 | wrappy@1: 3278 | version "1.0.2" 3279 | resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3280 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 3281 | 3282 | xtend@^4.0.0, xtend@~4.0.1: 3283 | version "4.0.2" 3284 | resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 3285 | integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= 3286 | 3287 | y18n@^4.0.0: 3288 | version "4.0.0" 3289 | resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 3290 | integrity sha1-le+U+F7MgdAHwmThkKEg8KPIVms= 3291 | 3292 | yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: 3293 | version "3.1.1" 3294 | resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz?cache=0&sync_timestamp=1569874223546&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyallist%2Fdownload%2Fyallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 3295 | integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= 3296 | --------------------------------------------------------------------------------