matrixbirds 6 年之前
父節點
當前提交
dfaabdcbd4

+ 4
- 0
.gitignore 查看文件

59
 .settings
59
 .settings
60
 .classpath
60
 .classpath
61
 .jest/
61
 .jest/
62
+xcuserdata
63
+*.pbxproj
64
+lib
65
+*.xcworkspace

+ 0
- 18
AgoraView.tsx 查看文件

1
-import React from 'react';
2
-import {
3
-    requireNativeComponent,
4
-} from 'react-native'
5
-
6
-import {
7
-    IAgoraViewProps
8
-} from "./types.d";
9
-
10
-export default class AgoraView extends React.Component<IAgoraViewProps> {
11
-    render() {
12
-        return (
13
-            <RCTAgoraView {...this.props}/>
14
-        )
15
-    }
16
-}
17
-
18
-const RCTAgoraView = requireNativeComponent("RCTAgoraView");

+ 0
- 5
index.js 查看文件

1
-import _AgoraView from './AgoraView';
2
-import _RtcEngine from './RtcEngine';
3
-
4
-export const AgoraView = _AgoraView;
5
-export const RtcEngine = _RtcEngine;

+ 0
- 7
ios/RCTAgora.xcodeproj/project.xcworkspace/contents.xcworkspacedata 查看文件

1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<Workspace
3
-   version = "1.0">
4
-   <FileRef
5
-      location = "self:RCTAgora.xcodeproj">
6
-   </FileRef>
7
-</Workspace>

二進制
ios/RCTAgora.xcodeproj/project.xcworkspace/xcuserdata/DB.xcuserdatad/UserInterfaceState.xcuserstate 查看文件


+ 1
- 1
ios/RCTAgora/RCTAgoraViewManager.h 查看文件

6
 //  Copyright © 2017年 Syan. All rights reserved.
6
 //  Copyright © 2017年 Syan. All rights reserved.
7
 //
7
 //
8
 
8
 
9
-#import "RCTViewManager.h"
9
+#import <React/RCTViewManager.h>
10
 
10
 
11
 
11
 
12
 @interface RCTAgoraViewManager : RCTViewManager
12
 @interface RCTAgoraViewManager : RCTViewManager

+ 8
- 5
package.json 查看文件

2
   "name": "react-native-agora",
2
   "name": "react-native-agora",
3
   "version": "1.2.5",
3
   "version": "1.2.5",
4
   "description": "声网Agora",
4
   "description": "声网Agora",
5
-  "main": "index.ts",
5
+  "main": "lib/index.js",
6
   "scripts": {
6
   "scripts": {
7
     "pu": "npm publish",
7
     "pu": "npm publish",
8
-    "test": "echo \"Error: no test specified\" && exit 1"
8
+    "test": "echo \"Error: no test specified\" && exit 1",
9
+    "lint": "tslint",
10
+    "build": "tsc"
9
   },
11
   },
10
   "repository": {
12
   "repository": {
11
     "type": "git",
13
     "type": "git",
29
   "homepage": "https://github.com/DBshaoYan/react-native-agora#readme",
31
   "homepage": "https://github.com/DBshaoYan/react-native-agora#readme",
30
   "peerDependencies": {
32
   "peerDependencies": {
31
     "react": "16.3.0",
33
     "react": "16.3.0",
32
-    "react-native": "0.57.8",
33
-    "react-native-typescript-transformer": "^1.2.11",
34
-    "tslib": "latest"
34
+    "react-native": "0.57.8"
35
   },
35
   },
36
   "devDependencies": {
36
   "devDependencies": {
37
     "@types/jest": "^23.3.13",
37
     "@types/jest": "^23.3.13",
38
     "@types/react": "^16.7.20",
38
     "@types/react": "^16.7.20",
39
     "@types/react-native": "^0.57.31",
39
     "@types/react-native": "^0.57.31",
40
     "@types/react-test-renderer": "^16.0.3",
40
     "@types/react-test-renderer": "^16.0.3",
41
+    "react-native-typescript-transformer": "^1.2.11",
42
+    "tslib": "latest",
41
     "ts-jest": "^23.10.5",
43
     "ts-jest": "^23.10.5",
44
+    "tslint": "^5.12.1",
42
     "typescript": "^3.2.4"
45
     "typescript": "^3.2.4"
43
   },
46
   },
44
   "types": [
47
   "types": [

+ 0
- 8
rn-cli.config.js 查看文件

1
-module.exports = {
2
-  getTransformModulePath() {
3
-    return require.resolve("react-native-typescript-transformer");
4
-  },
5
-  getSourceExts() {
6
-    return ["ts", "tsx"];
7
-  }
8
-};

+ 6
- 0
samples/simpleDemo/clean.sh 查看文件

1
+#!/usr/bin/env bash
2
+rm -rf ios/build && \
3
+watchman watch-del-all && \
4
+rm -rf *-lock.json && rm -rf *.lock && \
5
+rm -rf node_modules && yarn install && \
6
+npm start -- --reset-cache

+ 0
- 1657
samples/simpleDemo/ios/simpleDemo.xcodeproj/project.pbxproj
文件差異過大導致無法顯示
查看文件


+ 0
- 7704
samples/simpleDemo/package-lock.json
文件差異過大導致無法顯示
查看文件


+ 2
- 2
samples/simpleDemo/package.json 查看文件

12
   },
12
   },
13
   "dependencies": {
13
   "dependencies": {
14
     "react": "16.6.3",
14
     "react": "16.6.3",
15
-    "react-native": "0.57.8"
15
+    "react-native": "0.57.8",
16
+    "react-native-agora": "file:../.."
16
   },
17
   },
17
   "devDependencies": {
18
   "devDependencies": {
18
     "babel-jest": "23.6.0",
19
     "babel-jest": "23.6.0",
19
     "jest": "23.6.0",
20
     "jest": "23.6.0",
20
     "metro-react-native-babel-preset": "0.51.1",
21
     "metro-react-native-babel-preset": "0.51.1",
21
-    "react-native-agora": "^1.2.5",
22
     "react-test-renderer": "16.6.3"
22
     "react-test-renderer": "16.6.3"
23
   },
23
   },
24
   "jest": {
24
   "jest": {

+ 1226
- 1209
samples/simpleDemo/yarn.lock
文件差異過大導致無法顯示
查看文件


+ 27
- 0
src/AgoraView.native.tsx 查看文件

1
+import React from 'react';
2
+import {
3
+    requireNativeComponent,
4
+} from 'react-native'
5
+
6
+import {
7
+    AgoraViewProps
8
+} from "./types.d";
9
+
10
+const RCTAgoraView = requireNativeComponent("RCTAgoraView");
11
+
12
+export default class AgoraView extends React.Component<AgoraViewProps> {
13
+    public render(): JSX.Element {
14
+        return (
15
+            <RCTAgoraView { ...this.getHTMLProps() } />
16
+        )
17
+    }
18
+
19
+    private getHTMLProps(): AgoraViewProps {
20
+        let htmlProps = {} as AgoraViewProps;
21
+        for (let key in this.props) {
22
+            htmlProps[key] = this.props[key];
23
+        }
24
+        return htmlProps;
25
+    }
26
+}
27
+

RtcEngine.ts → src/RtcEngine.native.ts 查看文件

5
 } from 'react-native';
5
 } from 'react-native';
6
 
6
 
7
 import {
7
 import {
8
-    IOption, IVideoOption,
9
-    IEventScheduler, IPublisherConfig,
10
-    ILiveTranscoding, ICallback,
8
+    Option, VideoOption,
9
+    EventScheduler, PublisherConfig,
10
+    LiveTranscoding, Callback,
11
     String, Number
11
     String, Number
12
 } from "./types.d";
12
 } from "./types.d";
13
 
13
 
15
 
15
 
16
 export default class RtcEngine {
16
 export default class RtcEngine {
17
 
17
 
18
-    private static listener: EmitterSubscription  = null;
19
-    static init(options: IOption): void {
18
+    private static listener: EmitterSubscription;
19
+    static init(options: Option): void {
20
         this.removeEmitter();
20
         this.removeEmitter();
21
         Agora.init(options);
21
         Agora.init(options);
22
     }
22
     }
30
         Agora.joinChannelWithToken(token, channelName, uid);
30
         Agora.joinChannelWithToken(token, channelName, uid);
31
     }
31
     }
32
 
32
 
33
-    static eventEmitter(eventScheduler: IEventScheduler) {
33
+    static eventEmitter(eventScheduler: EventScheduler) {
34
         this.listener && this.listener.remove();
34
         this.listener && this.listener.remove();
35
         this.listener = NativeAppEventEmitter.addListener('agoraEvent', event => {
35
         this.listener = NativeAppEventEmitter.addListener('agoraEvent', event => {
36
             const functor = (eventScheduler as any)[event['type']];
36
             const functor = (eventScheduler as any)[event['type']];
58
         Agora.destroy();
58
         Agora.destroy();
59
     }
59
     }
60
     
60
     
61
-    static setupLocalVideo(options: IVideoOption) {
61
+    static setupLocalVideo(options: VideoOption) {
62
         Agora.setupLocalVideo(options);
62
         Agora.setupLocalVideo(options);
63
     }
63
     }
64
 
64
 
65
-    static setupRemoteVideo(options: IVideoOption) {
65
+    static setupRemoteVideo(options: VideoOption) {
66
         Agora.setupRemoteVideo(options);
66
         Agora.setupRemoteVideo(options);
67
     }
67
     }
68
 
68
 
74
         Agora.stopPreview();
74
         Agora.stopPreview();
75
     }
75
     }
76
 
76
 
77
-    static configPublisher(options: IPublisherConfig) {
77
+    static configPublisher(options: PublisherConfig) {
78
         Agora.configPublisher(options);
78
         Agora.configPublisher(options);
79
     }
79
     }
80
 
80
 
81
-    static setLiveTranscoding(options: ILiveTranscoding) {
81
+    static setLiveTranscoding(options: LiveTranscoding) {
82
         Agora.setLiveTranscoding(options);
82
         Agora.setLiveTranscoding(options);
83
     }
83
     }
84
 
84
 
146
         Agora.muteAllRemoteVideoStreams(status);
146
         Agora.muteAllRemoteVideoStreams(status);
147
     }
147
     }
148
 
148
 
149
-    static createDataStream(reliable: boolean, ordered: boolean, callback: ICallback<void>) {
149
+    static createDataStream(reliable: boolean, ordered: boolean, callback: Callback<void>) {
150
         Agora.createDataStream(reliable, ordered, callback);
150
         Agora.createDataStream(reliable, ordered, callback);
151
     }
151
     }
152
 
152
 
153
-    static sendStreamMessage(streamId: number, data: any, callback: ICallback<void>) {
153
+    static sendStreamMessage(streamId: number, data: any, callback: Callback<void>) {
154
         Agora.sendStreamMessage(streamId, data, callback);
154
         Agora.sendStreamMessage(streamId, data, callback);
155
     }
155
     }
156
 
156
 
157
-    static getSdkVersion(callback: ICallback<void>) {
157
+    static getSdkVersion(callback: Callback<void>) {
158
         Agora.getSdkVersion(callback);
158
         Agora.getSdkVersion(callback);
159
     }
159
     }
160
 };
160
 };

+ 2
- 0
src/index.ts 查看文件

1
+export {default as AgoraView} from './AgoraView.native';
2
+export {default as RtcEngine} from './RtcEngine.native';

types.d.ts → src/types.d.ts 查看文件

2
 
2
 
3
 declare module "IAgora";
3
 declare module "IAgora";
4
 
4
 
5
-export interface IVideoEncoderConfig {
5
+export interface VideoEncoderConfig {
6
   width: number,
6
   width: number,
7
   height: number,
7
   height: number,
8
   bitrate: number,
8
   bitrate: number,
9
   frameRate: number,
9
   frameRate: number,
10
   orientationMode: number,
10
   orientationMode: number,
11
-};
12
-export interface IOption {
11
+}
12
+
13
+export interface Option {
13
   appid: String,
14
   appid: String,
14
   videoProfile: number
15
   videoProfile: number
15
   channelProfile: number,
16
   channelProfile: number,
16
-  videoEncoderConfig: IVideoEncoderConfig,
17
+  videoEncoderConfig: VideoEncoderConfig,
17
   clientRole: number
18
   clientRole: number
18
 }
19
 }
19
 
20
 
20
-export interface IPublisherConfig {
21
+export interface PublisherConfig {
21
   width: number,
22
   width: number,
22
   height: number,
23
   height: number,
23
   framerate: number,
24
   framerate: number,
30
   owner: boolean
31
   owner: boolean
31
 }
32
 }
32
 
33
 
33
-export interface IBackgroundImage {
34
+export interface BackgroundImage {
34
   url: string,
35
   url: string,
35
   x: number,
36
   x: number,
36
   y: number,
37
   y: number,
38
   height: number
39
   height: number
39
 }
40
 }
40
 
41
 
41
-export interface IRect {
42
+export interface Rect {
42
   x: number,
43
   x: number,
43
   y: number,
44
   y: number,
44
   width: number,
45
   width: number,
45
   height: number
46
   height: number
46
-};
47
+}
47
 
48
 
48
-export interface ISize {
49
+export interface Size {
49
   width: number,
50
   width: number,
50
   height: number
51
   height: number
51
-};
52
+}
52
 
53
 
53
-export interface ITranscodingUser {
54
+export interface TranscodingUser {
54
   uid: number,
55
   uid: number,
55
   zOrder: number,
56
   zOrder: number,
56
   rect: Rect,
57
   rect: Rect,
57
   alpha: number,
58
   alpha: number,
58
   audioChannel: number
59
   audioChannel: number
59
-};
60
+}
60
 
61
 
61
-export interface IColor {
62
+export interface Color {
62
   red: number,
63
   red: number,
63
   green: number,
64
   green: number,
64
   blue: number,
65
   blue: number,
65
   alpha: number
66
   alpha: number
66
-};
67
+}
67
 
68
 
68
-export interface ILiveTranscoding {
69
-  size: ISize,
69
+export interface LiveTranscoding {
70
+  size: Size,
70
   videoBitrate: number,
71
   videoBitrate: number,
71
   videoFramerate: number,
72
   videoFramerate: number,
72
   lowLatency: boolean,
73
   lowLatency: boolean,
73
   videoGop: number,
74
   videoGop: number,
74
   videoCodecProfile: number,
75
   videoCodecProfile: number,
75
-  transcodingUsers: Array<ITranscodingUser>,
76
+  transcodingUsers: Array<TranscodingUser>,
76
   transcodingExtraInfo: string,
77
   transcodingExtraInfo: string,
77
-  watermark: IBackgroundImage,
78
-  backgroundImage: IBackgroundImage,
79
-  backgroundColor: IColor,
78
+  watermark: BackgroundImage,
79
+  backgroundImage: BackgroundImage,
80
+  backgroundColor: Color,
80
   audioSampleRate: number,
81
   audioSampleRate: number,
81
   audioBitrate: number,
82
   audioBitrate: number,
82
   audioChannels: number,
83
   audioChannels: number,
83
-};
84
+}
84
 
85
 
85
-export interface IVideoOption {
86
+export interface VideoOption {
86
   uid: Number,
87
   uid: Number,
87
   renderMode: number,
88
   renderMode: number,
88
   reactTag: number
89
   reactTag: number
89
 }
90
 }
90
 
91
 
91
-export interface IEventScheduler {
92
+export interface EventScheduler {
92
   onFirstRemoteVideoDecoded: Function,
93
   onFirstRemoteVideoDecoded: Function,
93
   onJoinChannelSuccess: Function,
94
   onJoinChannelSuccess: Function,
94
   onUserOffline: Function,
95
   onUserOffline: Function,
101
   onStreamMessageError: Function
102
   onStreamMessageError: Function
102
 }
103
 }
103
 
104
 
104
-export type ICallback<T> = (err, data) => T;
105
+export type Callback<T> = (err: any, data: any) => T;
105
 
106
 
106
 export type Nullable<T> = T | null | undefined;
107
 export type Nullable<T> = T | null | undefined;
107
 
108
 
108
 export type String = Nullable<string>;
109
 export type String = Nullable<string>;
109
 export type Number = Nullable<number> | 0;
110
 export type Number = Nullable<number> | 0;
110
 
111
 
111
-export interface IAgoraViewProps extends ViewProps {
112
+export interface AgoraViewProps extends ViewProps {
112
   showLocalVideo: boolean,
113
   showLocalVideo: boolean,
113
   remoteUid: Number,
114
   remoteUid: Number,
114
-  zOrderMediaOverlay: boolean
115
+  zOrderMediaOverlay: boolean,
116
+  [key:string]: any;
115
 }
117
 }

+ 15
- 19
tsconfig.json 查看文件

1
 {
1
 {
2
   "compilerOptions": {
2
   "compilerOptions": {
3
-    "target": "es5",
4
-    "module": "commonjs",
5
-    "jsx": "react-native",
6
-    "noEmit": true,
3
+    "types": [
4
+      "react",
5
+      "react-native"
6
+    ],
7
+    "target": "es2015",
8
+    "jsx": "react",
7
     "moduleResolution": "node",
9
     "moduleResolution": "node",
10
+    "sourceMap": true,
8
     "importHelpers": true,
11
     "importHelpers": true,
12
+    "outDir": "./lib",
13
+    "module": "commonjs",
14
+    "strict": true,
9
     "allowSyntheticDefaultImports": true,
15
     "allowSyntheticDefaultImports": true,
10
-    "noImplicitAny": false,
11
-    "preserveConstEnums": true,
12
-    "allowJs": false,
13
-    "strict": false,
14
-    "noImplicitReturns": false,
15
-    "noUnusedParameters": false,
16
-    "noUnusedLocals": false,
17
-    "skipLibCheck": true,
18
-    "baseUrl": ".",
19
-    "importHelpers": true,
16
+    "esModuleInterop": true,
17
+    "lib": ["es2015"]
20
   },
18
   },
21
-  "lib": [ "dom", "es5", "es6", "scripthost" ],
22
-  "exclude": [
23
-    "android",
24
-    "ios",
25
-    "node_modules"
19
+  "compileOnSave": true,
20
+  "include": [
21
+    "src"
26
   ]
22
   ]
27
 }
23
 }

+ 510
- 0
yarn.lock 查看文件

1
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+# yarn lockfile v1
3
+
4
+
5
+"@types/jest@^23.3.13":
6
+  version "23.3.13"
7
+  resolved "http://registry.npm.taobao.org/@types/jest/download/@types/jest-23.3.13.tgz#c81484b6f4ca007bb09887ed15ecb3286d58f928"
8
+  integrity sha1-yBSEtvTKAHuwmIftFeyzKG1Y+Sg=
9
+
10
+"@types/prop-types@*":
11
+  version "15.5.8"
12
+  resolved "http://registry.npm.taobao.org/@types/prop-types/download/@types/prop-types-15.5.8.tgz#8ae4e0ea205fe95c3901a5a1df7f66495e3a56ce"
13
+  integrity sha1-iuTg6iBf6Vw5AaWh339mSV46Vs4=
14
+
15
+"@types/react-native@^0.57.31":
16
+  version "0.57.33"
17
+  resolved "http://registry.npm.taobao.org/@types/react-native/download/@types/react-native-0.57.33.tgz#1d35a883c6e30d6f0b40385230fde2d8213b4dca"
18
+  integrity sha1-HTWog8bjDW8LQDhSMP3i2CE7Tco=
19
+  dependencies:
20
+    "@types/prop-types" "*"
21
+    "@types/react" "*"
22
+
23
+"@types/react-test-renderer@^16.0.3":
24
+  version "16.0.3"
25
+  resolved "http://registry.npm.taobao.org/@types/react-test-renderer/download/@types/react-test-renderer-16.0.3.tgz#cce5c983d66cc5c3582e7c2f44b274ab635a8acc"
26
+  integrity sha1-zOXJg9ZsxcNYLnwvRLJ0q2Naisw=
27
+  dependencies:
28
+    "@types/react" "*"
29
+
30
+"@types/react@*", "@types/react@^16.7.20":
31
+  version "16.7.22"
32
+  resolved "http://registry.npm.taobao.org/@types/react/download/@types/react-16.7.22.tgz#5bc6d166d5ac34b835756f0b736c7b1af0043e81"
33
+  integrity sha1-W8bRZtWsNLg1dW8Lc2x7GvAEPoE=
34
+  dependencies:
35
+    "@types/prop-types" "*"
36
+    csstype "^2.2.0"
37
+
38
+ansi-regex@^2.0.0:
39
+  version "2.1.1"
40
+  resolved "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
41
+  integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
42
+
43
+ansi-styles@^2.2.1:
44
+  version "2.2.1"
45
+  resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
46
+  integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
47
+
48
+ansi-styles@^3.2.1:
49
+  version "3.2.1"
50
+  resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
51
+  integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=
52
+  dependencies:
53
+    color-convert "^1.9.0"
54
+
55
+argparse@^1.0.7:
56
+  version "1.0.10"
57
+  resolved "http://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
58
+  integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=
59
+  dependencies:
60
+    sprintf-js "~1.0.2"
61
+
62
+babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
63
+  version "6.26.0"
64
+  resolved "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
65
+  integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
66
+  dependencies:
67
+    chalk "^1.1.3"
68
+    esutils "^2.0.2"
69
+    js-tokens "^3.0.2"
70
+
71
+babel-messages@^6.23.0:
72
+  version "6.23.0"
73
+  resolved "http://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
74
+  integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
75
+  dependencies:
76
+    babel-runtime "^6.22.0"
77
+
78
+babel-runtime@^6.22.0, babel-runtime@^6.26.0:
79
+  version "6.26.0"
80
+  resolved "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
81
+  integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
82
+  dependencies:
83
+    core-js "^2.4.0"
84
+    regenerator-runtime "^0.11.0"
85
+
86
+babel-traverse@^6.26.0:
87
+  version "6.26.0"
88
+  resolved "http://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
89
+  integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
90
+  dependencies:
91
+    babel-code-frame "^6.26.0"
92
+    babel-messages "^6.23.0"
93
+    babel-runtime "^6.26.0"
94
+    babel-types "^6.26.0"
95
+    babylon "^6.18.0"
96
+    debug "^2.6.8"
97
+    globals "^9.18.0"
98
+    invariant "^2.2.2"
99
+    lodash "^4.17.4"
100
+
101
+babel-types@^6.26.0:
102
+  version "6.26.0"
103
+  resolved "http://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
104
+  integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
105
+  dependencies:
106
+    babel-runtime "^6.26.0"
107
+    esutils "^2.0.2"
108
+    lodash "^4.17.4"
109
+    to-fast-properties "^1.0.3"
110
+
111
+babylon@^6.18.0:
112
+  version "6.18.0"
113
+  resolved "http://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
114
+  integrity sha1-ry87iPpvXB5MY00aD46sT1WzleM=
115
+
116
+balanced-match@^1.0.0:
117
+  version "1.0.0"
118
+  resolved "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
119
+  integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
120
+
121
+brace-expansion@^1.1.7:
122
+  version "1.1.11"
123
+  resolved "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
124
+  integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=
125
+  dependencies:
126
+    balanced-match "^1.0.0"
127
+    concat-map "0.0.1"
128
+
129
+bs-logger@0.x:
130
+  version "0.2.6"
131
+  resolved "http://registry.npm.taobao.org/bs-logger/download/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
132
+  integrity sha1-6302UwenLPl0zGzadraDVK0za9g=
133
+  dependencies:
134
+    fast-json-stable-stringify "2.x"
135
+
136
+buffer-from@1.x:
137
+  version "1.1.1"
138
+  resolved "http://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
139
+  integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=
140
+
141
+builtin-modules@^1.1.1:
142
+  version "1.1.1"
143
+  resolved "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
144
+  integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=
145
+
146
+camelcase@^4.1.0:
147
+  version "4.1.0"
148
+  resolved "http://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
149
+  integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
150
+
151
+chalk@^1.1.3:
152
+  version "1.1.3"
153
+  resolved "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
154
+  integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
155
+  dependencies:
156
+    ansi-styles "^2.2.1"
157
+    escape-string-regexp "^1.0.2"
158
+    has-ansi "^2.0.0"
159
+    strip-ansi "^3.0.0"
160
+    supports-color "^2.0.0"
161
+
162
+chalk@^2.3.0, chalk@^2.4.0:
163
+  version "2.4.2"
164
+  resolved "http://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
165
+  integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=
166
+  dependencies:
167
+    ansi-styles "^3.2.1"
168
+    escape-string-regexp "^1.0.5"
169
+    supports-color "^5.3.0"
170
+
171
+color-convert@^1.9.0:
172
+  version "1.9.3"
173
+  resolved "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
174
+  integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=
175
+  dependencies:
176
+    color-name "1.1.3"
177
+
178
+color-name@1.1.3:
179
+  version "1.1.3"
180
+  resolved "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
181
+  integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
182
+
183
+commander@^2.12.1:
184
+  version "2.19.0"
185
+  resolved "http://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
186
+  integrity sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=
187
+
188
+concat-map@0.0.1:
189
+  version "0.0.1"
190
+  resolved "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
191
+  integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
192
+
193
+core-js@^2.4.0:
194
+  version "2.6.3"
195
+  resolved "http://registry.npm.taobao.org/core-js/download/core-js-2.6.3.tgz#4b70938bdffdaf64931e66e2db158f0892289c49"
196
+  integrity sha1-S3CTi9/9r2STHmbi2xWPCJIonEk=
197
+
198
+csstype@^2.2.0:
199
+  version "2.6.2"
200
+  resolved "http://registry.npm.taobao.org/csstype/download/csstype-2.6.2.tgz#3043d5e065454579afc7478a18de41909c8a2f01"
201
+  integrity sha1-MEPV4GVFRXmvx0eKGN5BkJyKLwE=
202
+
203
+debug@^2.6.8:
204
+  version "2.6.9"
205
+  resolved "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
206
+  integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=
207
+  dependencies:
208
+    ms "2.0.0"
209
+
210
+diff@^3.2.0:
211
+  version "3.5.0"
212
+  resolved "http://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
213
+  integrity sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=
214
+
215
+escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
216
+  version "1.0.5"
217
+  resolved "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
218
+  integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
219
+
220
+esprima@^4.0.0:
221
+  version "4.0.1"
222
+  resolved "http://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
223
+  integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=
224
+
225
+esutils@^2.0.2:
226
+  version "2.0.2"
227
+  resolved "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
228
+  integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
229
+
230
+fast-json-stable-stringify@2.x:
231
+  version "2.0.0"
232
+  resolved "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
233
+  integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
234
+
235
+find-root@^1.1.0:
236
+  version "1.1.0"
237
+  resolved "http://registry.npm.taobao.org/find-root/download/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
238
+  integrity sha1-q8/Iunb3CMQql7PWhbfpRQv7nOQ=
239
+
240
+fs.realpath@^1.0.0:
241
+  version "1.0.0"
242
+  resolved "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
243
+  integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
244
+
245
+glob@^7.1.1:
246
+  version "7.1.3"
247
+  resolved "http://registry.npm.taobao.org/glob/download/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
248
+  integrity sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE=
249
+  dependencies:
250
+    fs.realpath "^1.0.0"
251
+    inflight "^1.0.4"
252
+    inherits "2"
253
+    minimatch "^3.0.4"
254
+    once "^1.3.0"
255
+    path-is-absolute "^1.0.0"
256
+
257
+globals@^9.18.0:
258
+  version "9.18.0"
259
+  resolved "http://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
260
+  integrity sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=
261
+
262
+has-ansi@^2.0.0:
263
+  version "2.0.0"
264
+  resolved "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
265
+  integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
266
+  dependencies:
267
+    ansi-regex "^2.0.0"
268
+
269
+has-flag@^3.0.0:
270
+  version "3.0.0"
271
+  resolved "http://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
272
+  integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
273
+
274
+inflight@^1.0.4:
275
+  version "1.0.6"
276
+  resolved "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
277
+  integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
278
+  dependencies:
279
+    once "^1.3.0"
280
+    wrappy "1"
281
+
282
+inherits@2:
283
+  version "2.0.3"
284
+  resolved "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
285
+  integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
286
+
287
+invariant@^2.2.2:
288
+  version "2.2.4"
289
+  resolved "http://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
290
+  integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=
291
+  dependencies:
292
+    loose-envify "^1.0.0"
293
+
294
+jju@^1.3.0:
295
+  version "1.4.0"
296
+  resolved "http://registry.npm.taobao.org/jju/download/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a"
297
+  integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo=
298
+
299
+"js-tokens@^3.0.0 || ^4.0.0":
300
+  version "4.0.0"
301
+  resolved "http://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
302
+  integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk=
303
+
304
+js-tokens@^3.0.2:
305
+  version "3.0.2"
306
+  resolved "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
307
+  integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
308
+
309
+js-yaml@^3.7.0:
310
+  version "3.12.1"
311
+  resolved "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.12.1.tgz#295c8632a18a23e054cf5c9d3cecafe678167600"
312
+  integrity sha1-KVyGMqGKI+BUz1ydPOyv5ngWdgA=
313
+  dependencies:
314
+    argparse "^1.0.7"
315
+    esprima "^4.0.0"
316
+
317
+json5@2.x:
318
+  version "2.1.0"
319
+  resolved "http://registry.npm.taobao.org/json5/download/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850"
320
+  integrity sha1-56DGLEgoXGKNIKELhcibuAfDKFA=
321
+  dependencies:
322
+    minimist "^1.2.0"
323
+
324
+lodash@^4.17.4:
325
+  version "4.17.11"
326
+  resolved "http://registry.npm.taobao.org/lodash/download/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
327
+  integrity sha1-s56mIp72B+zYniyN8SU2iRysm40=
328
+
329
+loose-envify@^1.0.0:
330
+  version "1.4.0"
331
+  resolved "http://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
332
+  integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=
333
+  dependencies:
334
+    js-tokens "^3.0.0 || ^4.0.0"
335
+
336
+make-error@1.x:
337
+  version "1.3.5"
338
+  resolved "http://registry.npm.taobao.org/make-error/download/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8"
339
+  integrity sha1-7+ToH22yjK3WBccPKcgxtY73dsg=
340
+
341
+minimatch@^3.0.4:
342
+  version "3.0.4"
343
+  resolved "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
344
+  integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=
345
+  dependencies:
346
+    brace-expansion "^1.1.7"
347
+
348
+minimist@0.0.8:
349
+  version "0.0.8"
350
+  resolved "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
351
+  integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
352
+
353
+minimist@^1.2.0:
354
+  version "1.2.0"
355
+  resolved "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
356
+  integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
357
+
358
+mkdirp@0.x:
359
+  version "0.5.1"
360
+  resolved "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
361
+  integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
362
+  dependencies:
363
+    minimist "0.0.8"
364
+
365
+ms@2.0.0:
366
+  version "2.0.0"
367
+  resolved "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
368
+  integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
369
+
370
+once@^1.3.0:
371
+  version "1.4.0"
372
+  resolved "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
373
+  integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
374
+  dependencies:
375
+    wrappy "1"
376
+
377
+path-is-absolute@^1.0.0:
378
+  version "1.0.1"
379
+  resolved "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
380
+  integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
381
+
382
+path-parse@^1.0.6:
383
+  version "1.0.6"
384
+  resolved "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
385
+  integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=
386
+
387
+react-native-typescript-transformer@^1.2.11:
388
+  version "1.2.11"
389
+  resolved "http://registry.npm.taobao.org/react-native-typescript-transformer/download/react-native-typescript-transformer-1.2.11.tgz#679398c27262cf941e5a5f3ea45cf7eea715d557"
390
+  integrity sha1-Z5OYwnJiz5QeWl8+pFz37qcV1Vc=
391
+  dependencies:
392
+    babel-traverse "^6.26.0"
393
+    chalk "^2.4.0"
394
+    find-root "^1.1.0"
395
+    jju "^1.3.0"
396
+    semver "^5.4.1"
397
+    source-map "^0.5.6"
398
+
399
+regenerator-runtime@^0.11.0:
400
+  version "0.11.1"
401
+  resolved "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
402
+  integrity sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=
403
+
404
+resolve@1.x, resolve@^1.3.2:
405
+  version "1.10.0"
406
+  resolved "http://registry.npm.taobao.org/resolve/download/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"
407
+  integrity sha1-O9qur0XMB/N1ZW39LlTtCBCxAbo=
408
+  dependencies:
409
+    path-parse "^1.0.6"
410
+
411
+semver@^5.3.0, semver@^5.4.1, semver@^5.5:
412
+  version "5.6.0"
413
+  resolved "http://registry.npm.taobao.org/semver/download/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
414
+  integrity sha1-fnQlb7qknHWqfHogXMInmcrIAAQ=
415
+
416
+source-map@^0.5.6:
417
+  version "0.5.7"
418
+  resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
419
+  integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
420
+
421
+sprintf-js@~1.0.2:
422
+  version "1.0.3"
423
+  resolved "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
424
+  integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
425
+
426
+strip-ansi@^3.0.0:
427
+  version "3.0.1"
428
+  resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
429
+  integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
430
+  dependencies:
431
+    ansi-regex "^2.0.0"
432
+
433
+supports-color@^2.0.0:
434
+  version "2.0.0"
435
+  resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
436
+  integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
437
+
438
+supports-color@^5.3.0:
439
+  version "5.5.0"
440
+  resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
441
+  integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=
442
+  dependencies:
443
+    has-flag "^3.0.0"
444
+
445
+to-fast-properties@^1.0.3:
446
+  version "1.0.3"
447
+  resolved "http://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
448
+  integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
449
+
450
+ts-jest@^23.10.5:
451
+  version "23.10.5"
452
+  resolved "http://registry.npm.taobao.org/ts-jest/download/ts-jest-23.10.5.tgz#cdb550df4466a30489bf70ba867615799f388dd5"
453
+  integrity sha1-zbVQ30RmowSJv3C6hnYVeZ84jdU=
454
+  dependencies:
455
+    bs-logger "0.x"
456
+    buffer-from "1.x"
457
+    fast-json-stable-stringify "2.x"
458
+    json5 "2.x"
459
+    make-error "1.x"
460
+    mkdirp "0.x"
461
+    resolve "1.x"
462
+    semver "^5.5"
463
+    yargs-parser "10.x"
464
+
465
+tslib@^1.8.0, tslib@^1.8.1, tslib@latest:
466
+  version "1.9.3"
467
+  resolved "http://registry.npm.taobao.org/tslib/download/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
468
+  integrity sha1-1+TdeSRdhUKMTX5IIqeZF5VMooY=
469
+
470
+tslint@^5.12.1:
471
+  version "5.12.1"
472
+  resolved "http://registry.npm.taobao.org/tslint/download/tslint-5.12.1.tgz#8cec9d454cf8a1de9b0a26d7bdbad6de362e52c1"
473
+  integrity sha1-jOydRUz4od6bCibXvbrW3jYuUsE=
474
+  dependencies:
475
+    babel-code-frame "^6.22.0"
476
+    builtin-modules "^1.1.1"
477
+    chalk "^2.3.0"
478
+    commander "^2.12.1"
479
+    diff "^3.2.0"
480
+    glob "^7.1.1"
481
+    js-yaml "^3.7.0"
482
+    minimatch "^3.0.4"
483
+    resolve "^1.3.2"
484
+    semver "^5.3.0"
485
+    tslib "^1.8.0"
486
+    tsutils "^2.27.2"
487
+
488
+tsutils@^2.27.2:
489
+  version "2.29.0"
490
+  resolved "http://registry.npm.taobao.org/tsutils/download/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99"
491
+  integrity sha1-MrSIUBRnrL7dS4VJhnOggSrKC5k=
492
+  dependencies:
493
+    tslib "^1.8.1"
494
+
495
+typescript@^3.2.4:
496
+  version "3.2.4"
497
+  resolved "http://registry.npm.taobao.org/typescript/download/typescript-3.2.4.tgz#c585cb952912263d915b462726ce244ba510ef3d"
498
+  integrity sha1-xYXLlSkSJj2RW0YnJs4kS6UQ7z0=
499
+
500
+wrappy@1:
501
+  version "1.0.2"
502
+  resolved "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
503
+  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
504
+
505
+yargs-parser@10.x:
506
+  version "10.1.0"
507
+  resolved "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8"
508
+  integrity sha1-cgImW4n36eny5XZeD+c1qQXtuqg=
509
+  dependencies:
510
+    camelcase "^4.1.0"