diff --git a/app/build.gradle b/app/build.gradle
index e36afca..f4b8a4a 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -82,6 +82,9 @@ android {
//javaMaxHeapSize "4g"
preDexLibraries false
}
+ dataBinding {
+ enabled = true
+ }
}
dependencies {
@@ -109,9 +112,11 @@ dependencies {
exclude module: 'library'
}
compile project(':library')
+ compile project(':rn')
} else {
compile project(':my')
compile project(':home')
compile project(':girls')
+ compile project(':rn')
}
}
diff --git a/app/src/main/java/com/dhc/flyabbit/di/component/HActivityComponent.java b/app/src/main/java/com/dhc/flyabbit/di/component/HActivityComponent.java
index 62f399f..225b7b7 100644
--- a/app/src/main/java/com/dhc/flyabbit/di/component/HActivityComponent.java
+++ b/app/src/main/java/com/dhc/flyabbit/di/component/HActivityComponent.java
@@ -1,5 +1,6 @@
package com.dhc.flyabbit.di.component;
+import com.dhc.flyabbit.ui.MainActivity;
import com.dhc.library.di.ActivityScope;
import com.dhc.library.di.component.AppComponent;
import com.dhc.library.di.module.ActivityModule;
@@ -16,7 +17,7 @@
public interface HActivityComponent {
-// void inject(WelcomeActivity WelcomeActivity);
+ void inject(MainActivity mainActivity);
//
// void inject(HomeActivity homeActivity);
diff --git a/app/src/main/java/com/dhc/flyabbit/ui/MainActivity.java b/app/src/main/java/com/dhc/flyabbit/ui/MainActivity.java
index f2dea13..487e493 100644
--- a/app/src/main/java/com/dhc/flyabbit/ui/MainActivity.java
+++ b/app/src/main/java/com/dhc/flyabbit/ui/MainActivity.java
@@ -1,18 +1,25 @@
package com.dhc.flyabbit.ui;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
+import android.provider.Settings;
import android.support.annotation.Nullable;
import android.util.Log;
-import android.view.ViewGroup;
+import android.view.KeyEvent;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.dhc.flyabbit.R;
-import com.dhc.library.utils.delegate.OnShowHomeListener;
-import com.dhc.library.base.XDaggerActivity;
+import com.dhc.flyabbit.di.HDiHelper;
+import com.dhc.library.base.BaseActivity;
import com.dhc.library.data.SPHelper;
import com.dhc.library.data.net.Constants;
import com.dhc.library.utils.AppContext;
import com.dhc.library.utils.AppUtil;
+import com.dhc.library.utils.ReactManagerFactory;
+import com.dhc.library.utils.delegate.OnShowHomeListener;
+import com.facebook.react.ReactInstanceManager;
import me.yokeyword.fragmentation.SupportFragment;
import me.yokeyword.fragmentation.helper.FragmentLifecycleCallbacks;
@@ -23,11 +30,10 @@
* 描述 ${主页面}
*/
@Route(path = "/app/MainActivity")
-public class MainActivity extends XDaggerActivity implements OnShowHomeListener {
-
- private ViewGroup mViewGroup;
- private ViewGroup mContentView;
-
+public class MainActivity extends BaseActivity implements OnShowHomeListener {
+ private static final int REDBOX_PERMISSION_MESSAGE =112 ;
+ private int OVERLAY_PERMISSION_REQ_CODE = 111;
+ protected ReactInstanceManager mReactInstanceManager;
@Override
protected int getLayout()
{
@@ -38,6 +44,21 @@ protected int getLayout()
protected void onCreate(@Nullable Bundle savedInstanceState) {
setTheme(R.style.AppTheme);
super.onCreate(savedInstanceState);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+ if (!Settings.canDrawOverlays(this)) {
+ Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
+ Uri.parse("package:" + getPackageName()));
+ startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE);
+ }
+ }
+ if (Build.VERSION.SDK_INT >= 23) {
+ // Get permission to show redbox in dev builds.
+ if (!Settings.canDrawOverlays(this)) {
+ Intent serviceIntent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
+ this.startActivity(serviceIntent);
+ }
+ }
+ mReactInstanceManager= ReactManagerFactory.getReactInstanceManager();
}
@Override
@@ -78,6 +99,7 @@ public void onFragmentCreated(SupportFragment fragment, Bundle savedInstanceStat
}
+
@Override
public void onBackPressedSupport() {
super.onBackPressedSupport();
@@ -86,6 +108,7 @@ public void onBackPressedSupport() {
@Override
public void initInject(Bundle savedInstanceState) {
//TODO 依赖注入
+ HDiHelper.getActivityComponent(getActivityModule()).inject(this);
}
@@ -94,4 +117,24 @@ public void initInject(Bundle savedInstanceState) {
public void showHome() {
replaceLoadRootFragment(R.id.fl_container, MainFragment.newInstance(),true);
}
+
+ @Override
+ public boolean onKeyUp(int keyCode, KeyEvent event) {
+ if (keyCode == KeyEvent.KEYCODE_MENU && mReactInstanceManager != null) {
+ mReactInstanceManager.showDevOptionsDialog();
+ return true;
+ }
+ return super.onKeyUp(keyCode, event);
+ }
+
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (requestCode == OVERLAY_PERMISSION_REQ_CODE) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+ if (!Settings.canDrawOverlays(this)) {
+ // SYSTEM_ALERT_WINDOW permission not granted...
+ }
+ }
+ }
+ }
}
diff --git a/app/src/main/java/com/dhc/flyabbit/ui/MainFragment.java b/app/src/main/java/com/dhc/flyabbit/ui/MainFragment.java
index c328c90..f72651b 100644
--- a/app/src/main/java/com/dhc/flyabbit/ui/MainFragment.java
+++ b/app/src/main/java/com/dhc/flyabbit/ui/MainFragment.java
@@ -8,9 +8,10 @@
import com.dhc.flyabbit.gank.ui.GankFragment;
import com.dhc.flyabbit.home.ui.HomeFragment;
import com.dhc.flyabbit.my.MyFragment;
-import com.dhc.library.utils.delegate.OnBackToFirstListener;
+import com.dhc.flyabbit.rn.ReactNativeFragment;
import com.dhc.library.base.XDaggerFragment;
import com.dhc.library.data.account.AccountManager;
+import com.dhc.library.utils.delegate.OnBackToFirstListener;
import com.dhc.library.widget.bottombar.BottomBar;
import com.dhc.library.widget.bottombar.BottomBarTab;
@@ -27,13 +28,14 @@
public class MainFragment extends XDaggerFragment implements OnBackToFirstListener {
private BottomBar mBottomBar;
- private String[] mTitles = {"干货", "妹子", "关于"};
+ private String[] mTitles = {"干货", "妹子","ReactNative", "关于"};
private int[] mIconUnselectIds = {
R.mipmap.ic_drawer_gank,
- R.mipmap.ic_drawer_meizi, R.mipmap.ic_drawer_setting};
+ R.mipmap.ic_drawer_meizi, R.mipmap.ic_drawer_setting,R.mipmap.ic_drawer_setting};
public static final int FIRST = 0;
public static final int SECOND = 1;
public static final int THIRD = 2;
+ public static final int FOUR = 3;
public int current = -1;
private SupportFragment[] mFragments = new SupportFragment[4];
@@ -49,7 +51,8 @@ private void initView(View view) {
mBottomBar = (BottomBar) view.findViewById(R.id.bottomBar);
mBottomBar.addItem(new BottomBarTab(_mActivity, mIconUnselectIds[0], mTitles[0]))
.addItem(new BottomBarTab(_mActivity, mIconUnselectIds[1], mTitles[1]))
- .addItem(new BottomBarTab(_mActivity, mIconUnselectIds[2], mTitles[2]));
+ .addItem(new BottomBarTab(_mActivity, mIconUnselectIds[2], mTitles[2]))
+ .addItem(new BottomBarTab(_mActivity, mIconUnselectIds[3], mTitles[3]));
mBottomBar.setOnTabSelectedListener(new BottomBar.OnTabSelectedListener() {
@@ -86,15 +89,18 @@ public void initInject(Bundle savedInstanceState) {
if (savedInstanceState == null) {
mFragments[FIRST] = HomeFragment.newInstance();
mFragments[SECOND] = GankFragment.newInstance();
- mFragments[THIRD] = MyFragment.newInstance();
+ mFragments[THIRD] = ReactNativeFragment.newInstance();
+ mFragments[FOUR] = MyFragment.newInstance();
loadMultipleRootFragment(R.id.fl_tab_container, FIRST,
mFragments[FIRST],
mFragments[SECOND],
- mFragments[THIRD]);
+ mFragments[THIRD],
+ mFragments[FOUR]);
} else {
mFragments[FIRST] = findChildFragment(HomeFragment.class);
mFragments[SECOND] = findChildFragment(GankFragment.class);
- mFragments[THIRD] = findChildFragment(MyFragment.class);
+ mFragments[THIRD] = findChildFragment(ReactNativeFragment.class);
+ mFragments[FOUR] = findChildFragment(MyFragment.class);
}
}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 5ebfa58..c673fc2 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,6 +1,7 @@
+
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 6bb87f5..5e89972 100644
--- a/build.gradle
+++ b/build.gradle
@@ -20,6 +20,10 @@ allprojects {
jcenter()
mavenCentral()
maven { url "https://jitpack.io" }
+ maven {
+ // All of React Native (JS, Android binaries) is installed from npm
+ url "$rootDir/./rn/node_modules/react-native/android"
+ }
}
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
diff --git a/girls/build.gradle b/girls/build.gradle
index 3286f37..9a4322a 100644
--- a/girls/build.gradle
+++ b/girls/build.gradle
@@ -63,6 +63,9 @@ android {
}
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
+ dataBinding {
+ enabled = true
+ }
}
dependencies {
diff --git a/home/build.gradle b/home/build.gradle
index 740e856..dd67597 100644
--- a/home/build.gradle
+++ b/home/build.gradle
@@ -63,6 +63,9 @@ android {
}
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
+ dataBinding {
+ enabled = true
+ }
}
dependencies {
diff --git a/library/build.gradle b/library/build.gradle
index 13a3ba9..6a1d5cc 100644
--- a/library/build.gradle
+++ b/library/build.gradle
@@ -140,7 +140,7 @@ dependencies {
provided rootProject.ext.dependencies["javax.annotation"]
annotationProcessor rootProject.ext.dependencies["dagger-compiler"] //dagger2的apt注解
annotationProcessor rootProject.ext.dependencies["arouter-compiler"] //阿里的Arouter的apt注解
-
+ compile "com.facebook.react:react-native:+" // From node_modules.
}
diff --git a/library/src/main/java/com/dhc/library/base/BaseActivity.java b/library/src/main/java/com/dhc/library/base/BaseActivity.java
index 068ede0..802c220 100644
--- a/library/src/main/java/com/dhc/library/base/BaseActivity.java
+++ b/library/src/main/java/com/dhc/library/base/BaseActivity.java
@@ -16,6 +16,8 @@
import com.dhc.library.R;
import com.dhc.library.data.bean.ToolBarOptions;
+import com.dhc.library.di.IDaggerListener;
+import com.dhc.library.di.module.ActivityModule;
import com.dhc.library.utils.ToolbarUtil;
import com.dhc.library.utils.logger.KLog;
import com.tbruyelle.rxpermissions2.RxPermissions;
@@ -34,7 +36,7 @@
* 时间 :2016/11/15 16:08
* 描述 :无MVP的activity基类
*/
-public abstract class BaseActivity extends SupportActivity implements LifecycleProvider {
+public abstract class BaseActivity extends SupportActivity implements LifecycleProvider,IDaggerListener {
protected Context mContext;
private Toolbar toolbar;
public RxPermissions mRxPermissions;
@@ -48,6 +50,7 @@ public abstract class BaseActivity extends SupportActivity implements LifecycleP
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
+ initInject(savedInstanceState);
super.onCreate(savedInstanceState);
lifecycleSubject.onNext(ActivityEvent.CREATE);
if (getLayout() > 0) {
@@ -73,6 +76,11 @@ public void onClick(View view) {
});
}
+
+ protected ActivityModule getActivityModule() {
+ return new ActivityModule(this);
+ }
+
/**
* 设置标题栏
*
diff --git a/library/src/main/java/com/dhc/library/base/BaseFragment.java b/library/src/main/java/com/dhc/library/base/BaseFragment.java
index b146758..137cf2a 100644
--- a/library/src/main/java/com/dhc/library/base/BaseFragment.java
+++ b/library/src/main/java/com/dhc/library/base/BaseFragment.java
@@ -15,6 +15,8 @@
import android.view.inputmethod.InputMethodManager;
import com.dhc.library.data.bean.ToolBarOptions;
+import com.dhc.library.di.IDaggerListener;
+import com.dhc.library.di.module.FragmentModule;
import com.dhc.library.utils.ToolbarUtil;
import com.dhc.library.utils.logger.KLog;
import com.tbruyelle.rxpermissions2.RxPermissions;
@@ -37,7 +39,7 @@
* 时间 :2016/11/15 16:08
* 描述 :无MVP的Fragment基类
*/
-public abstract class BaseFragment extends SupportFragment implements LifecycleProvider {
+public abstract class BaseFragment extends SupportFragment implements LifecycleProvider,IDaggerListener {
private static final Handler handler = new Handler();
private Toolbar toolbar;
protected View mView;
@@ -91,6 +93,7 @@ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
int layoutId = getLayoutId();
if (layoutId > 0)
mView = inflater.inflate(layoutId, null);
+ initInject(savedInstanceState);
return mView;
}
@@ -175,6 +178,10 @@ public void onClick(View v) {
}
}
+ protected FragmentModule getFragmentModule() {
+ return new FragmentModule(this);
+ }
+
protected void doYouWantTodo(){
}
diff --git a/library/src/main/java/com/dhc/library/base/XDaggerActivity.java b/library/src/main/java/com/dhc/library/base/XDaggerActivity.java
index ac4e235..65b4e94 100644
--- a/library/src/main/java/com/dhc/library/base/XDaggerActivity.java
+++ b/library/src/main/java/com/dhc/library/base/XDaggerActivity.java
@@ -4,8 +4,6 @@
import android.os.Bundle;
import android.support.annotation.Nullable;
-import com.dhc.library.di.IDaggerListener;
-import com.dhc.library.di.module.ActivityModule;
import com.dhc.library.utils.ToastUtil;
import com.trello.rxlifecycle2.LifecycleTransformer;
@@ -17,13 +15,12 @@
* 时间 :2016/11/15 16:06
* 描述 :MVP activity基类
*/
-public abstract class XDaggerActivity extends BaseActivity implements IBaseView ,IDaggerListener {
+public abstract class XDaggerActivity extends BaseActivity implements IBaseView {
@Inject
protected T mPresenter;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
- initInject(savedInstanceState);
if (mPresenter != null)
mPresenter.attachView(this);
super.onCreate(savedInstanceState);
@@ -59,9 +56,7 @@ public final void showToast(String msg) {
}
- protected ActivityModule getActivityModule() {
- return new ActivityModule(this);
- }
+
@Override
protected void onDestroy() {
diff --git a/library/src/main/java/com/dhc/library/base/XDaggerFragment.java b/library/src/main/java/com/dhc/library/base/XDaggerFragment.java
index 141a1b1..3c2697e 100644
--- a/library/src/main/java/com/dhc/library/base/XDaggerFragment.java
+++ b/library/src/main/java/com/dhc/library/base/XDaggerFragment.java
@@ -3,12 +3,9 @@
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
-import android.view.LayoutInflater;
import android.view.View;
-import android.view.ViewGroup;
import com.dhc.library.di.IDaggerListener;
-import com.dhc.library.di.module.FragmentModule;
import com.trello.rxlifecycle2.LifecycleTransformer;
import javax.inject.Inject;
@@ -23,19 +20,8 @@ public abstract class XDaggerFragment extends BaseFrag
@Inject
protected T mPresenter;
public boolean isShowView=false;
- protected FragmentModule getFragmentModule() {
- return new FragmentModule(this);
- }
- @Nullable
- @Override
- public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- int layoutId = getLayoutId();
- if (layoutId > 0)
- mView = inflater.inflate(layoutId, null);
- initInject(savedInstanceState);
- return mView;
- }
+
@Override
public LifecycleTransformer bindLifecycle() {
diff --git a/library/src/main/java/com/dhc/library/di/component/AppComponent.java b/library/src/main/java/com/dhc/library/di/component/AppComponent.java
index f0a4dc8..3401e80 100644
--- a/library/src/main/java/com/dhc/library/di/component/AppComponent.java
+++ b/library/src/main/java/com/dhc/library/di/component/AppComponent.java
@@ -35,4 +35,5 @@ public interface AppComponent {
* that depend on {@link AppComponent}.
*/
Random random();
+
}
diff --git a/library/src/main/java/com/dhc/library/di/module/AppModule.java b/library/src/main/java/com/dhc/library/di/module/AppModule.java
index c15666d..8940698 100644
--- a/library/src/main/java/com/dhc/library/di/module/AppModule.java
+++ b/library/src/main/java/com/dhc/library/di/module/AppModule.java
@@ -8,6 +8,7 @@
import com.dhc.library.data.HttpHelper;
import com.dhc.library.data.IDataHelper;
import com.dhc.library.di.ContextLife;
+import com.dhc.library.utils.AppUtil;
import java.util.Random;
@@ -33,6 +34,7 @@ public AppModule(BaseApplication application) {
@Singleton
@ContextLife("Application")
BaseApplication provideApplicationContext() {
+ AppUtil.syncIsDebug(application.getApplicationContext());
return application;
}
@@ -57,4 +59,5 @@ public Random random() {
return new Random();
}
+
}
diff --git a/library/src/main/java/com/dhc/library/utils/ReactManagerFactory.java b/library/src/main/java/com/dhc/library/utils/ReactManagerFactory.java
new file mode 100644
index 0000000..bbd105b
--- /dev/null
+++ b/library/src/main/java/com/dhc/library/utils/ReactManagerFactory.java
@@ -0,0 +1,37 @@
+package com.dhc.library.utils;
+
+import android.app.Application;
+
+import com.facebook.react.ReactInstanceManager;
+import com.facebook.react.common.LifecycleState;
+import com.facebook.react.shell.MainReactPackage;
+
+/**
+ * 创建者 邓浩宸
+ * 创建时间 2017/9/20 16:26
+ * 描述 ${TODO}
+ */
+
+public class ReactManagerFactory {
+ private static ReactInstanceManager instance;
+
+ private ReactManagerFactory() {
+
+ }
+
+ public static synchronized ReactInstanceManager getReactInstanceManager() {
+ if (instance == null) {
+ instance = ReactInstanceManager.builder()
+ .setApplication((Application) AppContext.get())
+ .setBundleAssetName("index.android.bundle")
+ .setJSMainModuleName("index.android")
+ .addPackage(new MainReactPackage())
+ .setUseDeveloperSupport(true)
+ .setInitialLifecycleState(LifecycleState.RESUMED)
+ .build();
+ ;
+ }
+ return instance;
+ }
+
+}
diff --git a/my/build.gradle b/my/build.gradle
index 9318643..0a80b07 100644
--- a/my/build.gradle
+++ b/my/build.gradle
@@ -70,6 +70,9 @@ android {
//javaMaxHeapSize "4g"
preDexLibraries false
}
+ dataBinding {
+ enabled = true
+ }
}
dependencies {
diff --git a/rn/.gitignore b/rn/.gitignore
new file mode 100644
index 0000000..13f987f
--- /dev/null
+++ b/rn/.gitignore
@@ -0,0 +1,2 @@
+/build
+/node_modules/
diff --git a/rn/app.json b/rn/app.json
new file mode 100644
index 0000000..c6ca557
--- /dev/null
+++ b/rn/app.json
@@ -0,0 +1,4 @@
+{
+ "name": "FlyabbitForRN",
+ "displayName": "FlyabbitForRN"
+}
\ No newline at end of file
diff --git a/rn/app/Example.js b/rn/app/Example.js
new file mode 100644
index 0000000..6e4edb9
--- /dev/null
+++ b/rn/app/Example.js
@@ -0,0 +1,223 @@
+import React from 'react';
+import { StyleSheet, Text, View } from 'react-native';
+import Launch from './components/Launch';
+import Register from './components/Register';
+import Login from './components/Login';
+import Login2 from './components/Login2';
+import Login3 from './components/Login3';
+import CardStackStyleInterpolator from 'react-navigation/src/views/CardStackStyleInterpolator';
+import {
+ Scene,
+ Router,
+ Actions,
+ Reducer,
+ ActionConst,
+ Overlay,
+ Tabs,
+ Modal,
+ Drawer,
+ Stack,
+ Lightbox,
+} from 'react-native-router-flux';
+import Home from './components/Home';
+import DrawerContent from './components/drawer/DrawerContent';
+import TabView from './components/TabView';
+import TabIcon from './components/TabIcon';
+import EchoView from './components/EchoView';
+import MessageBar from './components/MessageBar';
+import ErrorModal from './components/modal/ErrorModal';
+import DemoLightbox from './components/lightbox/DemoLightbox';
+import MenuIcon from './images/menu_burger.png';
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1, backgroundColor: 'transparent', justifyContent: 'center',
+ alignItems: 'center',
+ },
+ tabBarStyle: {
+ backgroundColor: '#eee',
+ },
+ tabBarSelectedItemStyle: {
+ backgroundColor: '#ddd',
+ },
+});
+
+const reducerCreate = params => {//这里箭头式的函数声明
+ const defaultReducer = new Reducer(params);//const便是不可以改变的
+ return (state, action) => {
+ console.log('ACTION:', action);
+ return defaultReducer(state, action);
+ };
+};
+
+//es5的写法
+// const reducerCreate =function (params) {
+// const defaultReducer = new Reducer(params);
+// return function(state, action) {
+// console.log('ACTION:', action);
+// return defaultReducer(state, action);
+// };
+// };
+
+const getSceneStyle = () => ({
+ backgroundColor: '#F5FCFF',
+ shadowOpacity: 1,
+ shadowRadius: 3,
+});
+
+const Example = () => (
+
+ //空白的页面因为Router只能包含一个组件
+ ({ screenInterpolator: CardStackStyleInterpolator.forFadeFromBottomAndroid })}
+ >
+
+ navigation.state.key} />
+
+
+
+
+
+
+
+
+
+ {/*
+ Wrapper Scene needed to fix a bug where the tabs would
+ reload as a modal ontop of itself
+ */}
+
+
+
+ alert('Right button')}
+ rightTitle="Right"
+
+ />
+
+
+
+
+
+ Right}
+ />
+ alert('onBack button!')}
+ backTitle="Back!"
+ panHandlers={null}
+ />
+
+
+
+ { }}
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ console.log('onExit')}
+ leftTitle="Cancel"
+ onLeft={Actions.pop}
+ />
+
+
+
+
+
+
+
+
+);
+
+export default Example;
diff --git a/rn/app/components/EchoView.js b/rn/app/components/EchoView.js
new file mode 100644
index 0000000..e791031
--- /dev/null
+++ b/rn/app/components/EchoView.js
@@ -0,0 +1,37 @@
+import React from 'react';
+import {View, Text, StyleSheet} from "react-native";
+import Button from "react-native-button";
+import {Actions} from "react-native-router-flux";
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: "center",
+ alignItems: "center",
+ backgroundColor: "#F5FCFF",
+ borderWidth: 2,
+ borderColor: 'red',
+ },
+ instructions: {
+ textAlign: "center",
+ color: "#333333",
+ marginBottom: 5,
+ },
+ smaller: {
+ marginBottom: 5,
+ fontSize: 12,
+ },
+});
+
+
+export default class extends React.Component {
+ render(){
+ return (
+
+ routeName: {this.props.name}
+
+
+ );
+ }
+}
+
diff --git a/rn/app/components/Error.js b/rn/app/components/Error.js
new file mode 100644
index 0000000..d015be4
--- /dev/null
+++ b/rn/app/components/Error.js
@@ -0,0 +1,61 @@
+import React from 'react';
+import { View, Text, StyleSheet, Animated, Dimensions } from 'react-native';
+import Button from 'react-native-button';
+import { Actions } from 'react-native-router-flux';
+
+const { height: deviceHeight } = Dimensions.get("window");
+
+const styles = StyleSheet.create({
+ container: {
+ position: 'absolute',
+ top: 0,
+ bottom: 0,
+ left: 0,
+ right: 0,
+ backgroundColor: 'transparent',
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+});
+
+export default class extends React.Component {
+ constructor(props) {
+ super(props);
+
+ this.state = {
+ offset: new Animated.Value(-deviceHeight)
+ };
+ }
+
+ componentDidMount() {
+ Animated.timing(this.state.offset, {
+ duration: 150,
+ toValue: 0
+ }).start();
+ }
+
+ closeModal() {
+ Animated.timing(this.state.offset, {
+ duration: 150,
+ toValue: -deviceHeight
+ }).start(Actions.pop);
+ }
+
+ render() {
+ return (
+
+
+ {this.props.data}
+
+
+
+ );
+ }
+}
diff --git a/rn/app/components/Home.js b/rn/app/components/Home.js
new file mode 100644
index 0000000..beed44b
--- /dev/null
+++ b/rn/app/components/Home.js
@@ -0,0 +1,36 @@
+import React from 'react';
+import {View, Text, StyleSheet} from "react-native";
+import Button from "react-native-button";
+import {Actions} from "react-native-router-flux";
+
+var styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: "center",
+ alignItems: "center",
+ backgroundColor: "#F5FCFF",
+ },
+ welcome: {
+ fontSize: 20,
+ textAlign: "center",
+ margin: 10,
+ },
+ instructions: {
+ textAlign: "center",
+ color: "#333333",
+ marginBottom: 5,
+ },
+});
+
+class Home extends React.Component {
+ render(){
+ return (
+
+ Replace screen
+
+
+ );
+ }
+}
+
+module.exports = Home;
diff --git a/rn/app/components/Launch.js b/rn/app/components/Launch.js
new file mode 100644
index 0000000..01e4e75
--- /dev/null
+++ b/rn/app/components/Launch.js
@@ -0,0 +1,40 @@
+import React from 'react';
+import { View, Text, StyleSheet, Button } from 'react-native';
+import { Actions } from 'react-native-router-flux';
+import { MessageBarManager } from 'react-native-message-bar';
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: 'center',
+ alignItems: 'center',
+ backgroundColor: 'transparent',
+ },
+});
+
+class Launch extends React.Component {
+ render() {
+ return (
+
+ Welcome
+
+ );
+ }
+}
+
+export default Launch;
diff --git a/rn/app/components/Login.js b/rn/app/components/Login.js
new file mode 100644
index 0000000..866c565
--- /dev/null
+++ b/rn/app/components/Login.js
@@ -0,0 +1,49 @@
+import React from 'react';
+import {View, Text, StyleSheet} from "react-native";
+import Button from "react-native-button";
+import {Actions} from "react-native-router-flux";
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: "center",
+ alignItems: "center",
+ backgroundColor: "#F5FCFF",
+ },
+ welcome: {
+ fontSize: 20,
+ textAlign: "center",
+ margin: 10,
+ },
+ instructions: {
+ textAlign: "center",
+ color: "#333333",
+ marginBottom: 5,
+ },
+});
+
+export default class extends React.Component {
+ static onEnter = () => {
+ Actions.refresh({
+ title: 'Login!',
+ rightTitle: 'rightTitle',
+ onRight: () => {},
+ });
+ };
+
+ render() {
+ const title = this.props.title || 'No Title';
+ const data = this.props.data || 'No Data';
+ console.log("Login RENDER");
+ return (
+
+ Login page 1
+ Title: {title}
+ Data: {data}
+ Actions.loginModal2({data: "Custom data2", title: "Custom title2"})}>Login 2
+ Actions.refresh({title: "Changed title", data: "Changed data"})}>Change title
+ Back
+
+ );
+ }
+}
diff --git a/rn/app/components/Login2.js b/rn/app/components/Login2.js
new file mode 100644
index 0000000..2be72dc
--- /dev/null
+++ b/rn/app/components/Login2.js
@@ -0,0 +1,29 @@
+import React from 'react';
+import {View, Text, StyleSheet} from "react-native";
+import Button from "react-native-button";
+import {Actions} from "react-native-router-flux";
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: "center",
+ alignItems: "center",
+ backgroundColor: "#F5FCFF",
+ },
+});
+
+export default class extends React.Component {
+ render(){
+ const title = this.props.title || 'No Title';
+ const data = this.props.data || 'No Data';
+ return (
+
+ Login page 2
+ Title: {title}
+ Data: {data}
+ { Actions.pop(); Actions.refresh({ data: 'Data after pop', title: 'title after pop' }); }}>Back and refresh
+ Actions.loginModal3({ data:"Custom data3", title:"Custom title3" })}>Login 3
+
+ );
+ }
+}
diff --git a/rn/app/components/Login3.js b/rn/app/components/Login3.js
new file mode 100644
index 0000000..63cf44b
--- /dev/null
+++ b/rn/app/components/Login3.js
@@ -0,0 +1,43 @@
+import React from 'react';
+import {View, Text, StyleSheet} from "react-native";
+import Button from "react-native-button";
+import {Actions} from "react-native-router-flux";
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: "center",
+ alignItems: "center",
+ backgroundColor: "#F5FCFF",
+ },
+});
+
+const popToRoot = () => {
+ Actions.popTo("launch");
+};
+
+const popToLogin1 = () => {
+ Actions.popTo("loginModal");
+};
+
+const popToLogin2 = () => {
+ Actions.popTo("loginModal2");
+};
+
+export default class extends React.Component {
+ render(){
+ const title = this.props.title || 'No Title';
+ const data = this.props.data || 'No Data';
+ return (
+
+ Login page 3
+ Title: {title}
+ Data: {data}
+ Back
+ To Login
+ To Login2
+ To Root
+
+ );
+ }
+}
diff --git a/rn/app/components/MessageBar.js b/rn/app/components/MessageBar.js
new file mode 100644
index 0000000..875c228
--- /dev/null
+++ b/rn/app/components/MessageBar.js
@@ -0,0 +1,20 @@
+import React from 'react';
+import { MessageBar, MessageBarManager } from 'react-native-message-bar';
+
+export default class extends React.Component {
+ componentDidMount() {
+ // Register the alert located on this master page
+ // This MessageBar will be accessible from the current (same) component, and from its child component
+ // The MessageBar is then declared only once, in your main component.
+ MessageBarManager.registerMessageBar(this.refs.alert);
+ }
+
+ componentWillUnmount() {
+ // Remove the alert located on this master page from the manager
+ MessageBarManager.unregisterMessageBar();
+ }
+
+ render() {
+ return ;
+ }
+}
diff --git a/rn/app/components/Register.js b/rn/app/components/Register.js
new file mode 100644
index 0000000..bd81f38
--- /dev/null
+++ b/rn/app/components/Register.js
@@ -0,0 +1,24 @@
+import React from 'react';
+import { View, Text, StyleSheet } from 'react-native';
+import Button from 'react-native-button';
+import { Actions } from 'react-native-router-flux';
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: 'center',
+ alignItems: 'center',
+ backgroundColor: '#F5FCFF',
+ },
+});
+
+export default class Register extends React.Component {
+ render() {
+ return
+ Register page
+ Actions.register2()}>Register
+ Replace screen
+ Back
+
+ }
+}
diff --git a/rn/app/components/TabIcon.js b/rn/app/components/TabIcon.js
new file mode 100644
index 0000000..371ffdb
--- /dev/null
+++ b/rn/app/components/TabIcon.js
@@ -0,0 +1,22 @@
+import React, {
+ PropTypes,
+} from 'react';
+import {
+ Text,
+} from 'react-native';
+
+const propTypes = {
+ selected: PropTypes.bool,
+ title: PropTypes.string,
+};
+
+const TabIcon = (props) => {
+ return {props.title}
+
+};
+
+TabIcon.propTypes = propTypes;
+
+export default TabIcon;
diff --git a/rn/app/components/TabView.js b/rn/app/components/TabView.js
new file mode 100644
index 0000000..aaa1225
--- /dev/null
+++ b/rn/app/components/TabView.js
@@ -0,0 +1,54 @@
+import React from 'react';
+import { PropTypes } from "react";
+import { StyleSheet, Text, View, ViewPropTypes } from "react-native";
+import Button from 'react-native-button';
+import { Actions } from 'react-native-router-flux';
+
+const contextTypes = {
+ drawer: React.PropTypes.object,
+};
+
+const propTypes = {
+ name: PropTypes.string,
+ sceneStyle: ViewPropTypes.style,
+ title: PropTypes.string,
+};
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: 'center',
+ alignItems: 'center',
+ backgroundColor: 'transparent',
+ borderWidth: 2,
+ borderColor: 'red',
+ },
+});
+
+class TabView extends React.Component {
+ render() {
+ return (
+
+ Tab title:{this.props.title} name:{this.props.name}
+ Tab data:{this.props.data}
+ {this.props.name === 'tab_1_1' &&
+ Actions.tab_1_2()}>next screen for tab1_1
+ }
+ {this.props.name === 'tab_2_1' &&
+ Actions.tab_2_2()}>next screen for tab2_1
+ }
+ Back
+ { Actions.tab_1(); }}>Switch to tab1
+ { Actions.tab_2(); }}>Switch to tab2
+ { Actions.tab_3(); }}>Switch to tab3
+ { Actions.tab_4(); }}>Switch to tab4
+ { Actions.tab_5({ data: 'test!' }); }}>Switch to tab5 with data
+ { Actions.echo(); }}>push clone scene (EchoView)
+
+ );
+ }
+}
+TabView.contextTypes = contextTypes;
+TabView.propTypes = propTypes;
+
+export default TabView;
diff --git a/rn/app/components/drawer/DrawerContent.js b/rn/app/components/drawer/DrawerContent.js
new file mode 100644
index 0000000..ac6910e
--- /dev/null
+++ b/rn/app/components/drawer/DrawerContent.js
@@ -0,0 +1,53 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { StyleSheet, Text, View, ViewPropTypes } from 'react-native';
+import Button from 'react-native-button';
+import { Actions } from 'react-native-router-flux';
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: 'center',
+ alignItems: 'center',
+ backgroundColor: 'transparent',
+ borderWidth: 2,
+ borderColor: 'red',
+ },
+});
+
+class DrawerContent extends React.Component {
+ static propTypes = {
+ name: PropTypes.string,
+ sceneStyle: ViewPropTypes.style,
+ title: PropTypes.string,
+ }
+
+ static contextTypes = {
+ drawer: React.PropTypes.object,
+ }
+
+ render() {
+ return (
+
+ Drawer Content
+ Back
+ Title: {this.props.title}
+ {this.props.name === 'tab1_1' &&
+ next screen for tab1_1
+ }
+ {this.props.name === 'tab2_1' &&
+ next screen for tab2_1
+ }
+ Back
+ Switch to tab1
+ Switch to tab2
+ Switch to tab3
+ Switch to tab4
+ { Actions.tab_5({ data: 'test!' }); }}>Switch to tab5 with data
+ Push Clone Scene (EchoView)
+
+ );
+ }
+}
+
+export default DrawerContent;
diff --git a/rn/app/components/lightbox/BaseLightbox.js b/rn/app/components/lightbox/BaseLightbox.js
new file mode 100644
index 0000000..44e9956
--- /dev/null
+++ b/rn/app/components/lightbox/BaseLightbox.js
@@ -0,0 +1,77 @@
+import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import { View, StyleSheet, Animated, Dimensions, Button } from 'react-native';
+import { Actions } from 'react-native-router-flux';
+
+const { height: deviceHeight, width: deviceWidth } = Dimensions.get('window');
+
+export default class BaseLightbox extends Component {
+ static propTypes = {
+ children: PropTypes.any,
+ horizontalPercent: PropTypes.number,
+ verticalPercent: PropTypes.number,
+ }
+
+ constructor(props) {
+ super(props);
+
+ this.state = {
+ opacity: new Animated.Value(0),
+ };
+ }
+
+ componentDidMount() {
+ Animated.timing(this.state.opacity, {
+ duration: 100,
+ toValue: 1,
+ }).start();
+ }
+
+ closeModal = () => {
+ Animated.timing(this.state.opacity, {
+ duration: 100,
+ toValue: 0,
+ }).start(Actions.pop);
+ }
+
+ _renderLightBox = () => {
+ const { children, horizontalPercent = 1, verticalPercent = 1 } = this.props;
+ const height = verticalPercent ? deviceHeight * verticalPercent : deviceHeight;
+ const width = horizontalPercent ? deviceWidth * horizontalPercent : deviceWidth;
+ return (
+
+ {children}
+
+
+ );
+ }
+
+ render() {
+ return (
+
+ {this._renderLightBox()}
+
+ );
+ }
+}
+
+const styles = StyleSheet.create({
+ container: {
+ backgroundColor: 'rgba(52,52,52,0.5)',
+ position: 'absolute',
+ top: 0,
+ bottom: 0,
+ left: 0,
+ right: 0,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+});
diff --git a/rn/app/components/lightbox/DemoLightbox.js b/rn/app/components/lightbox/DemoLightbox.js
new file mode 100644
index 0000000..227f513
--- /dev/null
+++ b/rn/app/components/lightbox/DemoLightbox.js
@@ -0,0 +1,26 @@
+import React from 'react';
+import { View, Text, StyleSheet, Animated, Dimensions, Button } from 'react-native';
+import { Actions } from 'react-native-router-flux';
+import Lightbox from './BaseLightbox';
+
+const styles = StyleSheet.create({
+ container: {
+ position: 'absolute',
+ top: 0,
+ bottom: 0,
+ left: 0,
+ right: 0,
+ backgroundColor: 'transparent',
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+});
+
+const DemoLightbox = ({ children }) => (
+
+ Demo Lightbox
+ Allows transparency for background
+
+);
+
+export default DemoLightbox;
diff --git a/rn/app/components/modal/BaseModal.js b/rn/app/components/modal/BaseModal.js
new file mode 100644
index 0000000..0e4f2ad
--- /dev/null
+++ b/rn/app/components/modal/BaseModal.js
@@ -0,0 +1,56 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { View, Text, TouchableOpacity, StyleSheet, Dimensions } from 'react-native';
+import { Actions } from 'react-native-router-flux';
+
+const { height: deviceHeight, width: deviceWidth } = Dimensions.get('window');
+
+const BaseModal = ({ children, verticalPercent, horizontalPercent, hideClose }) => {
+ const height = verticalPercent ? deviceHeight * verticalPercent : deviceHeight;
+ const width = horizontalPercent ? deviceHeight * horizontalPercent : deviceWidth;
+
+ const renderClose = () => {
+ if (!hideClose) {
+ return (
+
+
+ Close
+
+
+ );
+ }
+ };
+
+ return (
+
+ {renderClose()}
+ {children}
+
+ );
+};
+
+BaseModal.propTypes = {
+ children: PropTypes.any,
+ verticalPercent: PropTypes.number,
+ horizontalPercent: PropTypes.number,
+ hideClose: PropTypes.bool,
+};
+
+const styles = StyleSheet.create({
+ container: {
+ position: 'absolute',
+ top: 0,
+ bottom: 0,
+ left: 0,
+ right: 0,
+ backgroundColor: '#FFF',
+ },
+ closeBtnContainer: {
+ paddingTop: 20,
+ flexDirection: 'row',
+ justifyContent: 'flex-end',
+ paddingHorizontal: 10,
+ },
+});
+
+export default BaseModal;
diff --git a/rn/app/components/modal/ErrorModal.js b/rn/app/components/modal/ErrorModal.js
new file mode 100644
index 0000000..e07209d
--- /dev/null
+++ b/rn/app/components/modal/ErrorModal.js
@@ -0,0 +1,26 @@
+import React from 'react';
+import {
+ StyleSheet,
+ Text,
+ View,
+ Button,
+} from 'react-native';
+import { Actions } from 'react-native-router-flux';
+import Modal from './BaseModal';
+
+const ErrorModal = () => (
+
+
+ Error Modal
+ Slides up from the bottom, and covers the entire screen with no transparency
+
+
+
+);
+
+const styles = StyleSheet.create({
+
+});
+
+
+export default ErrorModal;
diff --git a/rn/app/home/main.js b/rn/app/home/main.js
new file mode 100644
index 0000000..566d335
--- /dev/null
+++ b/rn/app/home/main.js
@@ -0,0 +1,15 @@
+import React, { Component } from 'react';
+
+console.ignoredYellowBox = ['Warning: Failed propType: SceneView'];
+
+import Example from '../Example';
+export default class FlyabbitForRN extends Component {
+ render() {
+ return (
+
+
+
+ );
+ }
+}
+
diff --git a/rn/app/home/test.js b/rn/app/home/test.js
new file mode 100644
index 0000000..7acf54d
--- /dev/null
+++ b/rn/app/home/test.js
@@ -0,0 +1,30 @@
+import React, { Component } from 'react';
+
+console.ignoredYellowBox = ['Warning: Failed propType: SceneView'];
+import {
+ Scene,
+ Router,
+ Actions,
+ Reducer,
+ ActionConst,
+ Overlay,
+ Tabs,
+ Modal,
+ Drawer,
+ Stack,
+ Lightbox,
+} from 'react-native-router-flux';
+import Register from '../components/Register';
+import Home from '../components/Home';
+export default class FlyabbitForRN extends Component {
+ render() {
+ return (
+
+
+
+
+
+
+ );
+ }
+}
diff --git a/rn/app/images/back_chevron.png b/rn/app/images/back_chevron.png
new file mode 100644
index 0000000..af21cf9
Binary files /dev/null and b/rn/app/images/back_chevron.png differ
diff --git a/rn/app/images/menu_burger.png b/rn/app/images/menu_burger.png
new file mode 100644
index 0000000..895902d
Binary files /dev/null and b/rn/app/images/menu_burger.png differ
diff --git a/rn/app/index.js b/rn/app/index.js
new file mode 100644
index 0000000..5652a89
--- /dev/null
+++ b/rn/app/index.js
@@ -0,0 +1,6 @@
+
+import React, {Component} from "react";
+import {AppRegistry} from "react-native";
+import FlyabbitForRN from './home/main'
+
+AppRegistry.registerComponent('MyReactNativeApp', () => FlyabbitForRN);
\ No newline at end of file
diff --git a/wecat/build.gradle b/rn/build.gradle
similarity index 88%
rename from wecat/build.gradle
rename to rn/build.gradle
index e308686..d6a51af 100644
--- a/wecat/build.gradle
+++ b/rn/build.gradle
@@ -1,8 +1,8 @@
-if (isApp.toBoolean()) {
- apply plugin: 'com.android.application'
-} else {
- apply plugin: 'com.android.library'
-}
+//if (isApp.toBoolean()) {
+// apply plugin: 'com.android.application'
+//} else {
+//}
+apply plugin: 'com.android.library'
apply plugin: 'me.tatarka.retrolambda'
android {
@@ -38,10 +38,10 @@ android {
}
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
//delete fail im app
- if (isApp.toBoolean()) {
- applicationId "com.dhc.flyabbit.wecat"
- multiDexEnabled true
- }
+// if (isApp.toBoolean()) {
+// applicationId "com.dhc.flyabbit.rn"
+// multiDexEnabled true
+// }
}
buildTypes {
@@ -75,4 +75,7 @@ dependencies {
//阿里的Arouter的注解
annotationProcessor rootProject.ext.dependencies["arouter-compiler"]
+
+
+
}
diff --git a/rn/index.android.js b/rn/index.android.js
new file mode 100644
index 0000000..bf2469e
--- /dev/null
+++ b/rn/index.android.js
@@ -0,0 +1 @@
+import './app/index';
\ No newline at end of file
diff --git a/rn/package-lock.json b/rn/package-lock.json
new file mode 100644
index 0000000..1309593
--- /dev/null
+++ b/rn/package-lock.json
@@ -0,0 +1,4859 @@
+{
+ "name": "MyReactNativeApp",
+ "version": "0.0.1",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "absolute-path": {
+ "version": "0.0.0",
+ "resolved": "http://registry.npm.taobao.org/absolute-path/download/absolute-path-0.0.0.tgz",
+ "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c="
+ },
+ "accepts": {
+ "version": "1.2.13",
+ "resolved": "http://registry.npm.taobao.org/accepts/download/accepts-1.2.13.tgz",
+ "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=",
+ "requires": {
+ "mime-types": "2.1.11",
+ "negotiator": "0.5.3"
+ }
+ },
+ "ajv": {
+ "version": "4.11.8",
+ "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "requires": {
+ "co": "4.6.0",
+ "json-stable-stringify": "1.0.1"
+ }
+ },
+ "align-text": {
+ "version": "0.1.4",
+ "resolved": "http://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz",
+ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "requires": {
+ "kind-of": "3.2.2",
+ "longest": "1.0.1",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "ansi": {
+ "version": "0.3.1",
+ "resolved": "http://registry.npm.taobao.org/ansi/download/ansi-0.3.1.tgz",
+ "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
+ },
+ "ansi-escapes": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.0.0.tgz",
+ "integrity": "sha1-7D6LTp+AZPwCw6ybZfHCdb2o75I="
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ },
+ "anymatch": {
+ "version": "1.3.2",
+ "resolved": "http://registry.npm.taobao.org/anymatch/download/anymatch-1.3.2.tgz",
+ "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=",
+ "requires": {
+ "micromatch": "2.3.11",
+ "normalize-path": "2.1.1"
+ }
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "resolved": "http://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.4.tgz",
+ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
+ "requires": {
+ "delegates": "1.0.0",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "arr-diff": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "requires": {
+ "arr-flatten": "1.1.0"
+ }
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz",
+ "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE="
+ },
+ "array-differ": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/array-differ/download/array-differ-1.0.0.tgz",
+ "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE="
+ },
+ "array-filter": {
+ "version": "0.0.1",
+ "resolved": "http://registry.npm.taobao.org/array-filter/download/array-filter-0.0.1.tgz",
+ "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw="
+ },
+ "array-map": {
+ "version": "0.0.0",
+ "resolved": "http://registry.npm.taobao.org/array-map/download/array-map-0.0.0.tgz",
+ "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI="
+ },
+ "array-reduce": {
+ "version": "0.0.0",
+ "resolved": "http://registry.npm.taobao.org/array-reduce/download/array-reduce-0.0.0.tgz",
+ "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys="
+ },
+ "array-uniq": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
+ },
+ "art": {
+ "version": "0.10.1",
+ "resolved": "http://registry.npm.taobao.org/art/download/art-0.10.1.tgz",
+ "integrity": "sha1-OFQYg+OZIlxeGT/yRujxV897IUY="
+ },
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "http://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "resolved": "http://registry.npm.taobao.org/asn1/download/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
+ },
+ "assert-plus": {
+ "version": "0.2.0",
+ "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz",
+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ="
+ },
+ "async": {
+ "version": "2.5.0",
+ "resolved": "http://registry.npm.taobao.org/async/download/async-2.5.0.tgz",
+ "integrity": "sha1-hDGQ/WtzV6C54clW7d3V7IRitU0=",
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ },
+ "autobind-decorator": {
+ "version": "1.4.3",
+ "resolved": "http://registry.npm.taobao.org/autobind-decorator/download/autobind-decorator-1.4.3.tgz",
+ "integrity": "sha1-TJb/p3sQYi7eJPEQ9du/VmkUF9E="
+ },
+ "aws-sign2": {
+ "version": "0.6.0",
+ "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz",
+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8="
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "resolved": "http://registry.npm.taobao.org/aws4/download/aws4-1.6.0.tgz",
+ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
+ },
+ "babel-code-frame": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz",
+ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "requires": {
+ "chalk": "1.1.3",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.2"
+ }
+ },
+ "babel-core": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-core/download/babel-core-6.26.0.tgz",
+ "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-generator": "6.26.0",
+ "babel-helpers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-register": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "convert-source-map": "1.5.0",
+ "debug": "2.6.8",
+ "json5": "0.5.1",
+ "lodash": "4.17.4",
+ "minimatch": "3.0.4",
+ "path-is-absolute": "1.0.1",
+ "private": "0.1.7",
+ "slash": "1.0.0",
+ "source-map": "0.5.7"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
+ }
+ }
+ },
+ "babel-generator": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.0.tgz",
+ "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=",
+ "requires": {
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "detect-indent": "4.0.0",
+ "jsesc": "1.3.0",
+ "lodash": "4.17.4",
+ "source-map": "0.5.7",
+ "trim-right": "1.0.1"
+ }
+ },
+ "babel-helper-builder-react-jsx": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-helper-builder-react-jsx/download/babel-helper-builder-react-jsx-6.26.0.tgz",
+ "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "esutils": "2.0.2"
+ }
+ },
+ "babel-helper-call-delegate": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.24.1.tgz",
+ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
+ "requires": {
+ "babel-helper-hoist-variables": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-define-map": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-helper-define-map/download/babel-helper-define-map-6.26.0.tgz",
+ "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-helper-function-name": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-helper-function-name/download/babel-helper-function-name-6.24.1.tgz",
+ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+ "requires": {
+ "babel-helper-get-function-arity": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.24.1.tgz",
+ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-hoist-variables": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.24.1.tgz",
+ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-optimise-call-expression": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.24.1.tgz",
+ "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-regex": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-helper-regex/download/babel-helper-regex-6.26.0.tgz",
+ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-helper-remap-async-to-generator": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.24.1.tgz",
+ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-replace-supers": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-helper-replace-supers/download/babel-helper-replace-supers-6.24.1.tgz",
+ "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
+ "requires": {
+ "babel-helper-optimise-call-expression": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helpers": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz",
+ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "http://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-check-es2015-constants": {
+ "version": "6.22.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz",
+ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-external-helpers": {
+ "version": "6.22.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-external-helpers/download/babel-plugin-external-helpers-6.22.0.tgz",
+ "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-react-transform": {
+ "version": "2.0.2",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-react-transform/download/babel-plugin-react-transform-2.0.2.tgz",
+ "integrity": "sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=",
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-plugin-syntax-async-functions": {
+ "version": "6.13.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz",
+ "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU="
+ },
+ "babel-plugin-syntax-class-properties": {
+ "version": "6.13.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-class-properties/download/babel-plugin-syntax-class-properties-6.13.0.tgz",
+ "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94="
+ },
+ "babel-plugin-syntax-decorators": {
+ "version": "6.13.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-decorators/download/babel-plugin-syntax-decorators-6.13.0.tgz",
+ "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs="
+ },
+ "babel-plugin-syntax-flow": {
+ "version": "6.18.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-flow/download/babel-plugin-syntax-flow-6.18.0.tgz",
+ "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0="
+ },
+ "babel-plugin-syntax-jsx": {
+ "version": "6.18.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-jsx/download/babel-plugin-syntax-jsx-6.18.0.tgz",
+ "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY="
+ },
+ "babel-plugin-syntax-object-rest-spread": {
+ "version": "6.13.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U="
+ },
+ "babel-plugin-syntax-trailing-function-commas": {
+ "version": "6.22.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+ "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM="
+ },
+ "babel-plugin-transform-async-to-generator": {
+ "version": "6.16.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.16.0.tgz",
+ "integrity": "sha1-Gew2yxSGtZ+fRorfpCzhOQjKKZk=",
+ "requires": {
+ "babel-helper-remap-async-to-generator": "6.24.1",
+ "babel-plugin-syntax-async-functions": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-class-properties": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-class-properties/download/babel-plugin-transform-class-properties-6.24.1.tgz",
+ "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-plugin-syntax-class-properties": "6.13.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-decorators-legacy": {
+ "version": "1.3.4",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-decorators-legacy/download/babel-plugin-transform-decorators-legacy-1.3.4.tgz",
+ "integrity": "sha1-dBtY9sW86eYCfgiC2cmU8E82aSU=",
+ "requires": {
+ "babel-plugin-syntax-decorators": "6.13.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-arrow-functions": {
+ "version": "6.22.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoped-functions": {
+ "version": "6.22.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoped-functions/download/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoping": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+ "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-plugin-transform-es2015-classes": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+ "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
+ "requires": {
+ "babel-helper-define-map": "6.26.0",
+ "babel-helper-function-name": "6.24.1",
+ "babel-helper-optimise-call-expression": "6.24.1",
+ "babel-helper-replace-supers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-computed-properties": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+ "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-destructuring": {
+ "version": "6.23.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-for-of": {
+ "version": "6.23.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+ "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-function-name": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-literals": {
+ "version": "6.22.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-commonjs": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
+ "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=",
+ "requires": {
+ "babel-plugin-transform-strict-mode": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-object-super": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+ "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
+ "requires": {
+ "babel-helper-replace-supers": "6.24.1",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-parameters": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
+ "requires": {
+ "babel-helper-call-delegate": "6.24.1",
+ "babel-helper-get-function-arity": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-shorthand-properties": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+ "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-spread": {
+ "version": "6.22.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-sticky-regex": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
+ "requires": {
+ "babel-helper-regex": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-template-literals": {
+ "version": "6.22.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-unicode-regex": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
+ "requires": {
+ "babel-helper-regex": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "regexpu-core": "2.0.0"
+ }
+ },
+ "babel-plugin-transform-es3-member-expression-literals": {
+ "version": "6.22.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es3-member-expression-literals/download/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz",
+ "integrity": "sha1-cz00RPPsxBvvjtGmpOCWV7iWnrs=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es3-property-literals": {
+ "version": "6.22.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es3-property-literals/download/babel-plugin-transform-es3-property-literals-6.22.0.tgz",
+ "integrity": "sha1-sgeNWELiKr9A9z6M3pzTcRq9V1g=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-flow-strip-types": {
+ "version": "6.22.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-flow-strip-types/download/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
+ "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
+ "requires": {
+ "babel-plugin-syntax-flow": "6.18.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-object-assign": {
+ "version": "6.22.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-object-assign/download/babel-plugin-transform-object-assign-6.22.0.tgz",
+ "integrity": "sha1-+Z0vZvGgsNSY40bFNZaEdAyqILo=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-object-rest-spread": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
+ "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
+ "requires": {
+ "babel-plugin-syntax-object-rest-spread": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-react-display-name": {
+ "version": "6.25.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-react-display-name/download/babel-plugin-transform-react-display-name-6.25.0.tgz",
+ "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-react-jsx": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-react-jsx/download/babel-plugin-transform-react-jsx-6.24.1.tgz",
+ "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
+ "requires": {
+ "babel-helper-builder-react-jsx": "6.26.0",
+ "babel-plugin-syntax-jsx": "6.18.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-react-jsx-source": {
+ "version": "6.22.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-react-jsx-source/download/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
+ "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
+ "requires": {
+ "babel-plugin-syntax-jsx": "6.18.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-regenerator": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.26.0.tgz",
+ "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
+ "requires": {
+ "regenerator-transform": "0.10.1"
+ }
+ },
+ "babel-plugin-transform-strict-mode": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz",
+ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-polyfill": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-polyfill/download/babel-polyfill-6.26.0.tgz",
+ "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "core-js": "2.5.1",
+ "regenerator-runtime": "0.10.5"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "2.5.1",
+ "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.1.tgz",
+ "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs="
+ },
+ "regenerator-runtime": {
+ "version": "0.10.5",
+ "resolved": "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.10.5.tgz",
+ "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg="
+ }
+ }
+ },
+ "babel-preset-es2015-node": {
+ "version": "6.1.1",
+ "resolved": "http://registry.npm.taobao.org/babel-preset-es2015-node/download/babel-preset-es2015-node-6.1.1.tgz",
+ "integrity": "sha1-YLIxVwJLDP6/OmNVTLBe4DW05V8=",
+ "requires": {
+ "babel-plugin-transform-es2015-destructuring": "6.23.0",
+ "babel-plugin-transform-es2015-function-name": "6.24.1",
+ "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
+ "babel-plugin-transform-es2015-parameters": "6.24.1",
+ "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
+ "babel-plugin-transform-es2015-spread": "6.22.0",
+ "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
+ "babel-plugin-transform-es2015-unicode-regex": "6.24.1",
+ "semver": "5.4.1"
+ }
+ },
+ "babel-preset-fbjs": {
+ "version": "2.1.4",
+ "resolved": "http://registry.npm.taobao.org/babel-preset-fbjs/download/babel-preset-fbjs-2.1.4.tgz",
+ "integrity": "sha1-IvNY5mVAc6z2HkegUqd317zPA68=",
+ "requires": {
+ "babel-plugin-check-es2015-constants": "6.22.0",
+ "babel-plugin-syntax-class-properties": "6.13.0",
+ "babel-plugin-syntax-flow": "6.18.0",
+ "babel-plugin-syntax-jsx": "6.18.0",
+ "babel-plugin-syntax-object-rest-spread": "6.13.0",
+ "babel-plugin-syntax-trailing-function-commas": "6.22.0",
+ "babel-plugin-transform-class-properties": "6.24.1",
+ "babel-plugin-transform-es2015-arrow-functions": "6.22.0",
+ "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
+ "babel-plugin-transform-es2015-block-scoping": "6.26.0",
+ "babel-plugin-transform-es2015-classes": "6.24.1",
+ "babel-plugin-transform-es2015-computed-properties": "6.24.1",
+ "babel-plugin-transform-es2015-destructuring": "6.23.0",
+ "babel-plugin-transform-es2015-for-of": "6.23.0",
+ "babel-plugin-transform-es2015-function-name": "6.24.1",
+ "babel-plugin-transform-es2015-literals": "6.22.0",
+ "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
+ "babel-plugin-transform-es2015-object-super": "6.24.1",
+ "babel-plugin-transform-es2015-parameters": "6.24.1",
+ "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
+ "babel-plugin-transform-es2015-spread": "6.22.0",
+ "babel-plugin-transform-es2015-template-literals": "6.22.0",
+ "babel-plugin-transform-es3-member-expression-literals": "6.22.0",
+ "babel-plugin-transform-es3-property-literals": "6.22.0",
+ "babel-plugin-transform-flow-strip-types": "6.22.0",
+ "babel-plugin-transform-object-rest-spread": "6.26.0",
+ "babel-plugin-transform-react-display-name": "6.25.0",
+ "babel-plugin-transform-react-jsx": "6.24.1"
+ }
+ },
+ "babel-preset-react-native": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/babel-preset-react-native/download/babel-preset-react-native-2.1.0.tgz",
+ "integrity": "sha1-kBPr2C2hyIECv1iIEP9Z4gnKK4o=",
+ "requires": {
+ "babel-plugin-check-es2015-constants": "6.22.0",
+ "babel-plugin-react-transform": "2.0.2",
+ "babel-plugin-syntax-async-functions": "6.13.0",
+ "babel-plugin-syntax-class-properties": "6.13.0",
+ "babel-plugin-syntax-flow": "6.18.0",
+ "babel-plugin-syntax-jsx": "6.18.0",
+ "babel-plugin-syntax-trailing-function-commas": "6.22.0",
+ "babel-plugin-transform-class-properties": "6.24.1",
+ "babel-plugin-transform-es2015-arrow-functions": "6.22.0",
+ "babel-plugin-transform-es2015-block-scoping": "6.26.0",
+ "babel-plugin-transform-es2015-classes": "6.24.1",
+ "babel-plugin-transform-es2015-computed-properties": "6.24.1",
+ "babel-plugin-transform-es2015-destructuring": "6.23.0",
+ "babel-plugin-transform-es2015-for-of": "6.23.0",
+ "babel-plugin-transform-es2015-function-name": "6.24.1",
+ "babel-plugin-transform-es2015-literals": "6.22.0",
+ "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
+ "babel-plugin-transform-es2015-parameters": "6.24.1",
+ "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
+ "babel-plugin-transform-es2015-spread": "6.22.0",
+ "babel-plugin-transform-es2015-template-literals": "6.22.0",
+ "babel-plugin-transform-flow-strip-types": "6.22.0",
+ "babel-plugin-transform-object-assign": "6.22.0",
+ "babel-plugin-transform-object-rest-spread": "6.26.0",
+ "babel-plugin-transform-react-display-name": "6.25.0",
+ "babel-plugin-transform-react-jsx": "6.24.1",
+ "babel-plugin-transform-react-jsx-source": "6.22.0",
+ "babel-plugin-transform-regenerator": "6.26.0",
+ "react-transform-hmr": "1.0.4"
+ }
+ },
+ "babel-register": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-register/download/babel-register-6.26.0.tgz",
+ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
+ "requires": {
+ "babel-core": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "core-js": "2.5.1",
+ "home-or-tmp": "2.0.0",
+ "lodash": "4.17.4",
+ "mkdirp": "0.5.1",
+ "source-map-support": "0.4.18"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "2.5.1",
+ "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.1.tgz",
+ "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs="
+ }
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "requires": {
+ "core-js": "2.5.1",
+ "regenerator-runtime": "0.11.0"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "2.5.1",
+ "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.1.tgz",
+ "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs="
+ },
+ "regenerator-runtime": {
+ "version": "0.11.0",
+ "resolved": "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.0.tgz",
+ "integrity": "sha1-flT+W1zNXWYk6mJVw0c74JC4AuE="
+ }
+ }
+ },
+ "babel-template": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz",
+ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-traverse": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz",
+ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "debug": "2.6.8",
+ "globals": "9.18.0",
+ "invariant": "2.2.2",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-types": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz",
+ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "esutils": "2.0.2",
+ "lodash": "4.17.4",
+ "to-fast-properties": "1.0.3"
+ }
+ },
+ "babylon": {
+ "version": "6.18.0",
+ "resolved": "http://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz",
+ "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM="
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ },
+ "base64-js": {
+ "version": "1.2.1",
+ "resolved": "http://registry.npm.taobao.org/base64-js/download/base64-js-1.2.1.tgz",
+ "integrity": "sha1-qRlH2h9KUW6jjltOwOw3c2deCIY="
+ },
+ "base64-url": {
+ "version": "1.2.1",
+ "resolved": "http://registry.npm.taobao.org/base64-url/download/base64-url-1.2.1.tgz",
+ "integrity": "sha1-GZ/WYXAqDnt9yubgaYuwicUvbXg="
+ },
+ "basic-auth": {
+ "version": "1.0.4",
+ "resolved": "http://registry.npm.taobao.org/basic-auth/download/basic-auth-1.0.4.tgz",
+ "integrity": "sha1-Awk1sB3nyblKgksp8/zLdQ06UpA="
+ },
+ "basic-auth-connect": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/basic-auth-connect/download/basic-auth-connect-1.0.0.tgz",
+ "integrity": "sha1-/bC0OWLKe0BFanwrtI/hc9otISI="
+ },
+ "batch": {
+ "version": "0.5.3",
+ "resolved": "http://registry.npm.taobao.org/batch/download/batch-0.5.3.tgz",
+ "integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ="
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.1.tgz",
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "beeper": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/beeper/download/beeper-1.1.1.tgz",
+ "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak="
+ },
+ "big-integer": {
+ "version": "1.6.25",
+ "resolved": "http://registry.npm.taobao.org/big-integer/download/big-integer-1.6.25.tgz",
+ "integrity": "sha1-HeRan1dUKsIBIcaC+NZCIgo06CM="
+ },
+ "body-parser": {
+ "version": "1.13.3",
+ "resolved": "http://registry.npm.taobao.org/body-parser/download/body-parser-1.13.3.tgz",
+ "integrity": "sha1-wIzzMMM1jhUQFqBXRvE/ApyX+pc=",
+ "requires": {
+ "bytes": "2.1.0",
+ "content-type": "1.0.4",
+ "debug": "2.2.0",
+ "depd": "1.0.1",
+ "http-errors": "1.3.1",
+ "iconv-lite": "0.4.11",
+ "on-finished": "2.3.0",
+ "qs": "4.0.0",
+ "raw-body": "2.1.7",
+ "type-is": "1.6.15"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.11",
+ "resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.11.tgz",
+ "integrity": "sha1-LstC/SlHRJIiCaLnxATayHk9it4="
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
+ }
+ }
+ },
+ "boom": {
+ "version": "2.10.1",
+ "resolved": "http://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz",
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "bplist-creator": {
+ "version": "0.0.7",
+ "resolved": "http://registry.npm.taobao.org/bplist-creator/download/bplist-creator-0.0.7.tgz",
+ "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=",
+ "requires": {
+ "stream-buffers": "2.2.0"
+ }
+ },
+ "bplist-parser": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npm.taobao.org/bplist-parser/download/bplist-parser-0.1.1.tgz",
+ "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
+ "requires": {
+ "big-integer": "1.6.25"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.8",
+ "resolved": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.8.tgz",
+ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "1.8.5",
+ "resolved": "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ }
+ },
+ "bser": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/bser/download/bser-1.0.3.tgz",
+ "integrity": "sha1-1j2hnuFzMKDiYNKjRCKyGolSAxc=",
+ "requires": {
+ "node-int64": "0.4.0"
+ }
+ },
+ "builtin-modules": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
+ },
+ "bytes": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-2.1.0.tgz",
+ "integrity": "sha1-rJPEEOL/ycx89LRks4KJBn9eR7Q="
+ },
+ "camelcase": {
+ "version": "1.2.1",
+ "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz",
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk="
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+ },
+ "center-align": {
+ "version": "0.1.3",
+ "resolved": "http://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz",
+ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "requires": {
+ "align-text": "0.1.4",
+ "lazy-cache": "1.0.4"
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "clamp": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/clamp/download/clamp-1.0.1.tgz",
+ "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ="
+ },
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "requires": {
+ "restore-cursor": "2.0.0"
+ }
+ },
+ "cli-width": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz",
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
+ },
+ "cliui": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz",
+ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "requires": {
+ "center-align": "0.1.3",
+ "right-align": "0.1.3",
+ "wordwrap": "0.0.2"
+ },
+ "dependencies": {
+ "wordwrap": {
+ "version": "0.0.2",
+ "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
+ }
+ }
+ },
+ "clone": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/clone/download/clone-1.0.2.tgz",
+ "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk="
+ },
+ "clone-stats": {
+ "version": "0.0.1",
+ "resolved": "http://registry.npm.taobao.org/clone-stats/download/clone-stats-0.0.1.tgz",
+ "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE="
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+ },
+ "color-convert": {
+ "version": "1.9.0",
+ "resolved": "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.0.tgz",
+ "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=",
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ },
+ "combined-stream": {
+ "version": "1.0.5",
+ "resolved": "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.5.tgz",
+ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+ "requires": {
+ "delayed-stream": "1.0.0"
+ }
+ },
+ "commander": {
+ "version": "2.11.0",
+ "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.11.0.tgz",
+ "integrity": "sha1-FXFS/R56bI2YpbcVzzdt+SgARWM="
+ },
+ "compressible": {
+ "version": "2.0.11",
+ "resolved": "http://registry.npm.taobao.org/compressible/download/compressible-2.0.11.tgz",
+ "integrity": "sha1-FnGKdd4oPtjmBAQWJaIGRYZ5fYo=",
+ "requires": {
+ "mime-db": "1.30.0"
+ }
+ },
+ "compression": {
+ "version": "1.5.2",
+ "resolved": "http://registry.npm.taobao.org/compression/download/compression-1.5.2.tgz",
+ "integrity": "sha1-sDuNhub4rSloPLqN+R3cb/x3s5U=",
+ "requires": {
+ "accepts": "1.2.13",
+ "bytes": "2.1.0",
+ "compressible": "2.0.11",
+ "debug": "2.2.0",
+ "on-headers": "1.0.1",
+ "vary": "1.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
+ }
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ },
+ "concat-stream": {
+ "version": "1.6.0",
+ "resolved": "http://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.0.tgz",
+ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3",
+ "typedarray": "0.0.6"
+ }
+ },
+ "connect": {
+ "version": "2.30.2",
+ "resolved": "http://registry.npm.taobao.org/connect/download/connect-2.30.2.tgz",
+ "integrity": "sha1-jam8vooFTT0xjXTf7JA7XDmhtgk=",
+ "requires": {
+ "basic-auth-connect": "1.0.0",
+ "body-parser": "1.13.3",
+ "bytes": "2.1.0",
+ "compression": "1.5.2",
+ "connect-timeout": "1.6.2",
+ "content-type": "1.0.4",
+ "cookie": "0.1.3",
+ "cookie-parser": "1.3.5",
+ "cookie-signature": "1.0.6",
+ "csurf": "1.8.3",
+ "debug": "2.2.0",
+ "depd": "1.0.1",
+ "errorhandler": "1.4.3",
+ "express-session": "1.11.3",
+ "finalhandler": "0.4.0",
+ "fresh": "0.3.0",
+ "http-errors": "1.3.1",
+ "method-override": "2.3.9",
+ "morgan": "1.6.1",
+ "multiparty": "3.3.2",
+ "on-headers": "1.0.1",
+ "parseurl": "1.3.2",
+ "pause": "0.1.0",
+ "qs": "4.0.0",
+ "response-time": "2.3.2",
+ "serve-favicon": "2.3.2",
+ "serve-index": "1.7.3",
+ "serve-static": "1.10.3",
+ "type-is": "1.6.15",
+ "utils-merge": "1.0.0",
+ "vhost": "3.0.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
+ }
+ }
+ },
+ "connect-timeout": {
+ "version": "1.6.2",
+ "resolved": "http://registry.npm.taobao.org/connect-timeout/download/connect-timeout-1.6.2.tgz",
+ "integrity": "sha1-3ppexh4zoStu2qt7XwYumMWZuI4=",
+ "requires": {
+ "debug": "2.2.0",
+ "http-errors": "1.3.1",
+ "ms": "0.7.1",
+ "on-headers": "1.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
+ }
+ }
+ },
+ "content-type": {
+ "version": "1.0.4",
+ "resolved": "http://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz",
+ "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js="
+ },
+ "convert-source-map": {
+ "version": "1.5.0",
+ "resolved": "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.0.tgz",
+ "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU="
+ },
+ "cookie": {
+ "version": "0.1.3",
+ "resolved": "http://registry.npm.taobao.org/cookie/download/cookie-0.1.3.tgz",
+ "integrity": "sha1-5zSlwUF/zkctWu+Cw4HKu2TRpDU="
+ },
+ "cookie-parser": {
+ "version": "1.3.5",
+ "resolved": "http://registry.npm.taobao.org/cookie-parser/download/cookie-parser-1.3.5.tgz",
+ "integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=",
+ "requires": {
+ "cookie": "0.1.3",
+ "cookie-signature": "1.0.6"
+ }
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "http://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz",
+ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
+ },
+ "core-js": {
+ "version": "1.2.7",
+ "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-1.2.7.tgz",
+ "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
+ "crc": {
+ "version": "3.3.0",
+ "resolved": "http://registry.npm.taobao.org/crc/download/crc-3.3.0.tgz",
+ "integrity": "sha1-+mIuG8OIvyVzCQgta2UgDOZwkLo="
+ },
+ "create-react-class": {
+ "version": "15.6.0",
+ "resolved": "http://registry.npm.taobao.org/create-react-class/download/create-react-class-15.6.0.tgz",
+ "integrity": "sha1-q0SEl8JlZuHilBPogyB9V8/nvtQ=",
+ "requires": {
+ "fbjs": "0.8.15",
+ "loose-envify": "1.3.1",
+ "object-assign": "4.1.1"
+ }
+ },
+ "cross-spawn": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-3.0.1.tgz",
+ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+ "requires": {
+ "lru-cache": "4.1.1",
+ "which": "1.3.0"
+ }
+ },
+ "cryptiles": {
+ "version": "2.0.5",
+ "resolved": "http://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz",
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "requires": {
+ "boom": "2.10.1"
+ }
+ },
+ "csrf": {
+ "version": "3.0.6",
+ "resolved": "http://registry.npm.taobao.org/csrf/download/csrf-3.0.6.tgz",
+ "integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=",
+ "requires": {
+ "rndm": "1.2.0",
+ "tsscmp": "1.0.5",
+ "uid-safe": "2.1.4"
+ }
+ },
+ "csurf": {
+ "version": "1.8.3",
+ "resolved": "http://registry.npm.taobao.org/csurf/download/csurf-1.8.3.tgz",
+ "integrity": "sha1-I/KhO/HY/OHQyZZYg5RELLqGpWo=",
+ "requires": {
+ "cookie": "0.1.3",
+ "cookie-signature": "1.0.6",
+ "csrf": "3.0.6",
+ "http-errors": "1.3.1"
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
+ "dateformat": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/dateformat/download/dateformat-2.0.0.tgz",
+ "integrity": "sha1-J0Pjq7XD/CRi5SfcpEXgTp9N7hc="
+ },
+ "debug": {
+ "version": "2.6.8",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.8.tgz",
+ "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+ },
+ "denodeify": {
+ "version": "1.2.1",
+ "resolved": "http://registry.npm.taobao.org/denodeify/download/denodeify-1.2.1.tgz",
+ "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE="
+ },
+ "depd": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/depd/download/depd-1.0.1.tgz",
+ "integrity": "sha1-gK7GTJ1tl+ZcwqnKqTwKpqv3Oqo="
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "http://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+ },
+ "detect-indent": {
+ "version": "4.0.0",
+ "resolved": "http://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz",
+ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "requires": {
+ "repeating": "2.0.1"
+ }
+ },
+ "dom-walk": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npm.taobao.org/dom-walk/download/dom-walk-0.1.1.tgz",
+ "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg="
+ },
+ "duplexer2": {
+ "version": "0.0.2",
+ "resolved": "http://registry.npm.taobao.org/duplexer2/download/duplexer2-0.0.2.tgz",
+ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+ "requires": {
+ "readable-stream": "1.1.14"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ }
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz",
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+ },
+ "encoding": {
+ "version": "0.1.12",
+ "resolved": "http://registry.npm.taobao.org/encoding/download/encoding-0.1.12.tgz",
+ "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+ "requires": {
+ "iconv-lite": "0.4.19"
+ }
+ },
+ "envinfo": {
+ "version": "3.4.1",
+ "resolved": "http://registry.npm.taobao.org/envinfo/download/envinfo-3.4.1.tgz",
+ "integrity": "sha1-jIDp8u7CzU4q2yxdASfOB6Kqoq4=",
+ "requires": {
+ "minimist": "1.2.0",
+ "os-name": "2.0.1",
+ "which": "1.3.0"
+ }
+ },
+ "errno": {
+ "version": "0.1.4",
+ "resolved": "http://registry.npm.taobao.org/errno/download/errno-0.1.4.tgz",
+ "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=",
+ "requires": {
+ "prr": "0.0.0"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.1",
+ "resolved": "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.1.tgz",
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "requires": {
+ "is-arrayish": "0.2.1"
+ }
+ },
+ "errorhandler": {
+ "version": "1.4.3",
+ "resolved": "http://registry.npm.taobao.org/errorhandler/download/errorhandler-1.4.3.tgz",
+ "integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=",
+ "requires": {
+ "accepts": "1.3.4",
+ "escape-html": "1.0.3"
+ },
+ "dependencies": {
+ "accepts": {
+ "version": "1.3.4",
+ "resolved": "http://registry.npm.taobao.org/accepts/download/accepts-1.3.4.tgz",
+ "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=",
+ "requires": {
+ "mime-types": "2.1.17",
+ "negotiator": "0.6.1"
+ }
+ },
+ "mime-types": {
+ "version": "2.1.17",
+ "resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.17.tgz",
+ "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
+ "requires": {
+ "mime-db": "1.30.0"
+ }
+ },
+ "negotiator": {
+ "version": "0.6.1",
+ "resolved": "http://registry.npm.taobao.org/negotiator/download/negotiator-0.6.1.tgz",
+ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
+ }
+ }
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ },
+ "etag": {
+ "version": "1.7.0",
+ "resolved": "http://registry.npm.taobao.org/etag/download/etag-1.7.0.tgz",
+ "integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg="
+ },
+ "event-target-shim": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/event-target-shim/download/event-target-shim-1.1.1.tgz",
+ "integrity": "sha1-qG5e5r2qFgVEddp5fM3fDFVphJE="
+ },
+ "exec-sh": {
+ "version": "0.2.1",
+ "resolved": "http://registry.npm.taobao.org/exec-sh/download/exec-sh-0.2.1.tgz",
+ "integrity": "sha1-FjuYpuiea2W0fCoo0hW8H2OYnDg=",
+ "requires": {
+ "merge": "1.2.0"
+ }
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "requires": {
+ "is-posix-bracket": "0.1.1"
+ }
+ },
+ "expand-range": {
+ "version": "1.8.2",
+ "resolved": "http://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "requires": {
+ "fill-range": "2.2.3"
+ }
+ },
+ "express-session": {
+ "version": "1.11.3",
+ "resolved": "http://registry.npm.taobao.org/express-session/download/express-session-1.11.3.tgz",
+ "integrity": "sha1-XMmPP1/4Ttg1+Ry/CqvQxxB0AK8=",
+ "requires": {
+ "cookie": "0.1.3",
+ "cookie-signature": "1.0.6",
+ "crc": "3.3.0",
+ "debug": "2.2.0",
+ "depd": "1.0.1",
+ "on-headers": "1.0.1",
+ "parseurl": "1.3.2",
+ "uid-safe": "2.0.0",
+ "utils-merge": "1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
+ },
+ "uid-safe": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/uid-safe/download/uid-safe-2.0.0.tgz",
+ "integrity": "sha1-p/PGymSh9qXQTsDvPkw9U2cxcTc=",
+ "requires": {
+ "base64-url": "1.2.1"
+ }
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npm.taobao.org/extend/download/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
+ },
+ "external-editor": {
+ "version": "2.0.4",
+ "resolved": "http://registry.npm.taobao.org/external-editor/download/external-editor-2.0.4.tgz",
+ "integrity": "sha1-HtkZnanL/i7y96MbL96LDRI2iXI=",
+ "requires": {
+ "iconv-lite": "0.4.19",
+ "jschardet": "1.5.1",
+ "tmp": "0.0.31"
+ }
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
+ },
+ "fancy-log": {
+ "version": "1.3.0",
+ "resolved": "http://registry.npm.taobao.org/fancy-log/download/fancy-log-1.3.0.tgz",
+ "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=",
+ "requires": {
+ "chalk": "1.1.3",
+ "time-stamp": "1.1.0"
+ }
+ },
+ "fb-watchman": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/fb-watchman/download/fb-watchman-2.0.0.tgz",
+ "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=",
+ "requires": {
+ "bser": "2.0.0"
+ },
+ "dependencies": {
+ "bser": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/bser/download/bser-2.0.0.tgz",
+ "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=",
+ "requires": {
+ "node-int64": "0.4.0"
+ }
+ }
+ }
+ },
+ "fbjs": {
+ "version": "0.8.15",
+ "resolved": "http://registry.npm.taobao.org/fbjs/download/fbjs-0.8.15.tgz",
+ "integrity": "sha1-TwaV/fzBbDfAsH+s7Iy0xAkWhbk=",
+ "requires": {
+ "core-js": "1.2.7",
+ "isomorphic-fetch": "2.2.1",
+ "loose-envify": "1.3.1",
+ "object-assign": "4.1.1",
+ "promise": "7.3.1",
+ "setimmediate": "1.0.5",
+ "ua-parser-js": "0.7.14"
+ }
+ },
+ "fbjs-scripts": {
+ "version": "0.7.1",
+ "resolved": "http://registry.npm.taobao.org/fbjs-scripts/download/fbjs-scripts-0.7.1.tgz",
+ "integrity": "sha1-TxFeIY4kPjrdvw7dqsHjxi9wP6w=",
+ "requires": {
+ "babel-core": "6.26.0",
+ "babel-preset-fbjs": "1.0.0",
+ "core-js": "1.2.7",
+ "cross-spawn": "3.0.1",
+ "gulp-util": "3.0.8",
+ "object-assign": "4.1.1",
+ "semver": "5.4.1",
+ "through2": "2.0.3"
+ },
+ "dependencies": {
+ "babel-preset-fbjs": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/babel-preset-fbjs/download/babel-preset-fbjs-1.0.0.tgz",
+ "integrity": "sha1-yXLlybMB1OyeeXH0rsPhSsAXqLA=",
+ "requires": {
+ "babel-plugin-check-es2015-constants": "6.22.0",
+ "babel-plugin-syntax-flow": "6.18.0",
+ "babel-plugin-syntax-object-rest-spread": "6.13.0",
+ "babel-plugin-syntax-trailing-function-commas": "6.22.0",
+ "babel-plugin-transform-class-properties": "6.24.1",
+ "babel-plugin-transform-es2015-arrow-functions": "6.22.0",
+ "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
+ "babel-plugin-transform-es2015-block-scoping": "6.26.0",
+ "babel-plugin-transform-es2015-classes": "6.24.1",
+ "babel-plugin-transform-es2015-computed-properties": "6.24.1",
+ "babel-plugin-transform-es2015-destructuring": "6.23.0",
+ "babel-plugin-transform-es2015-for-of": "6.23.0",
+ "babel-plugin-transform-es2015-literals": "6.22.0",
+ "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
+ "babel-plugin-transform-es2015-object-super": "6.24.1",
+ "babel-plugin-transform-es2015-parameters": "6.24.1",
+ "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
+ "babel-plugin-transform-es2015-spread": "6.22.0",
+ "babel-plugin-transform-es2015-template-literals": "6.22.0",
+ "babel-plugin-transform-es3-member-expression-literals": "6.22.0",
+ "babel-plugin-transform-es3-property-literals": "6.22.0",
+ "babel-plugin-transform-flow-strip-types": "6.22.0",
+ "babel-plugin-transform-object-rest-spread": "6.26.0",
+ "object-assign": "4.1.1"
+ }
+ }
+ }
+ },
+ "figures": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz",
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "requires": {
+ "escape-string-regexp": "1.0.5"
+ }
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY="
+ },
+ "fill-range": {
+ "version": "2.2.3",
+ "resolved": "http://registry.npm.taobao.org/fill-range/download/fill-range-2.2.3.tgz",
+ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+ "requires": {
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "1.1.7",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "finalhandler": {
+ "version": "0.4.0",
+ "resolved": "http://registry.npm.taobao.org/finalhandler/download/finalhandler-0.4.0.tgz",
+ "integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=",
+ "requires": {
+ "debug": "2.2.0",
+ "escape-html": "1.0.2",
+ "on-finished": "2.3.0",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "escape-html": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.2.tgz",
+ "integrity": "sha1-130y+pjjjC9BroXpJ44ODmuhAiw="
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
+ }
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "resolved": "http://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "requires": {
+ "for-in": "1.0.2"
+ }
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
+ },
+ "form-data": {
+ "version": "2.3.1",
+ "resolved": "http://registry.npm.taobao.org/form-data/download/form-data-2.3.1.tgz",
+ "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=",
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.17"
+ },
+ "dependencies": {
+ "mime-types": {
+ "version": "2.1.17",
+ "resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.17.tgz",
+ "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
+ "requires": {
+ "mime-db": "1.30.0"
+ }
+ }
+ }
+ },
+ "fresh": {
+ "version": "0.3.0",
+ "resolved": "http://registry.npm.taobao.org/fresh/download/fresh-0.3.0.tgz",
+ "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8="
+ },
+ "fs-extra": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/fs-extra/download/fs-extra-1.0.0.tgz",
+ "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "jsonfile": "2.4.0",
+ "klaw": "1.3.1"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "gauge": {
+ "version": "1.2.7",
+ "resolved": "http://registry.npm.taobao.org/gauge/download/gauge-1.2.7.tgz",
+ "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=",
+ "requires": {
+ "ansi": "0.3.1",
+ "has-unicode": "2.0.1",
+ "lodash.pad": "4.5.1",
+ "lodash.padend": "4.6.1",
+ "lodash.padstart": "4.6.1"
+ }
+ },
+ "get-caller-file": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.2.tgz",
+ "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U="
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "http://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz",
+ "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "http://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "requires": {
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "requires": {
+ "is-glob": "2.0.1"
+ }
+ },
+ "global": {
+ "version": "4.3.2",
+ "resolved": "http://registry.npm.taobao.org/global/download/global-4.3.2.tgz",
+ "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
+ "requires": {
+ "min-document": "2.19.0",
+ "process": "0.5.2"
+ }
+ },
+ "globals": {
+ "version": "9.18.0",
+ "resolved": "http://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz",
+ "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo="
+ },
+ "glogg": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/glogg/download/glogg-1.0.0.tgz",
+ "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=",
+ "requires": {
+ "sparkles": "1.0.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
+ },
+ "gulp-util": {
+ "version": "3.0.8",
+ "resolved": "http://registry.npm.taobao.org/gulp-util/download/gulp-util-3.0.8.tgz",
+ "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
+ "requires": {
+ "array-differ": "1.0.0",
+ "array-uniq": "1.0.3",
+ "beeper": "1.1.1",
+ "chalk": "1.1.3",
+ "dateformat": "2.0.0",
+ "fancy-log": "1.3.0",
+ "gulplog": "1.0.0",
+ "has-gulplog": "0.1.0",
+ "lodash._reescape": "3.0.0",
+ "lodash._reevaluate": "3.0.0",
+ "lodash._reinterpolate": "3.0.0",
+ "lodash.template": "3.6.2",
+ "minimist": "1.2.0",
+ "multipipe": "0.1.2",
+ "object-assign": "3.0.0",
+ "replace-ext": "0.0.1",
+ "through2": "2.0.3",
+ "vinyl": "0.5.3"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-3.0.0.tgz",
+ "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I="
+ }
+ }
+ },
+ "gulplog": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/gulplog/download/gulplog-1.0.0.tgz",
+ "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
+ "requires": {
+ "glogg": "1.0.0"
+ }
+ },
+ "har-schema": {
+ "version": "1.0.5",
+ "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-1.0.5.tgz",
+ "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4="
+ },
+ "har-validator": {
+ "version": "4.2.1",
+ "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-4.2.1.tgz",
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+ "requires": {
+ "ajv": "4.11.8",
+ "har-schema": "1.0.5"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE="
+ },
+ "has-gulplog": {
+ "version": "0.1.0",
+ "resolved": "http://registry.npm.taobao.org/has-gulplog/download/has-gulplog-0.1.0.tgz",
+ "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
+ "requires": {
+ "sparkles": "1.0.0"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+ },
+ "hawk": {
+ "version": "3.1.3",
+ "resolved": "http://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz",
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+ "requires": {
+ "boom": "2.10.1",
+ "cryptiles": "2.0.5",
+ "hoek": "2.16.3",
+ "sntp": "1.0.9"
+ }
+ },
+ "hoek": {
+ "version": "2.16.3",
+ "resolved": "http://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz",
+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
+ },
+ "hoist-non-react-statics": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-1.2.0.tgz",
+ "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs="
+ },
+ "home-or-tmp": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz",
+ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.5.0",
+ "resolved": "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.5.0.tgz",
+ "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw="
+ },
+ "http-errors": {
+ "version": "1.3.1",
+ "resolved": "http://registry.npm.taobao.org/http-errors/download/http-errors-1.3.1.tgz",
+ "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",
+ "requires": {
+ "inherits": "2.0.3",
+ "statuses": "1.3.1"
+ }
+ },
+ "http-signature": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz",
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "requires": {
+ "assert-plus": "0.2.0",
+ "jsprim": "1.4.1",
+ "sshpk": "1.13.1"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.19",
+ "resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.19.tgz",
+ "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs="
+ },
+ "image-size": {
+ "version": "0.6.1",
+ "resolved": "http://registry.npm.taobao.org/image-size/download/image-size-0.6.1.tgz",
+ "integrity": "sha1-mBIqVi1Z3MCX7xssgZGGbrj11mM="
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "http://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "inquirer": {
+ "version": "3.3.0",
+ "resolved": "http://registry.npm.taobao.org/inquirer/download/inquirer-3.3.0.tgz",
+ "integrity": "sha1-ndLyrXZdyrH/BEO0kUQqILoifck=",
+ "requires": {
+ "ansi-escapes": "3.0.0",
+ "chalk": "2.1.0",
+ "cli-cursor": "2.1.0",
+ "cli-width": "2.2.0",
+ "external-editor": "2.0.4",
+ "figures": "2.0.0",
+ "lodash": "4.17.4",
+ "mute-stream": "0.0.7",
+ "run-async": "2.3.0",
+ "rx-lite": "4.0.8",
+ "rx-lite-aggregates": "4.0.8",
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "through": "2.3.8"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ },
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
+ "requires": {
+ "color-convert": "1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.1.0.tgz",
+ "integrity": "sha1-rFvs8U+iG5nGySynp9fP1bF+dD4=",
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.4.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "4.4.0",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.4.0.tgz",
+ "integrity": "sha1-iD992rwWUUKyphQn8zUt7RldGj4=",
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "invariant": {
+ "version": "2.2.2",
+ "resolved": "http://registry.npm.taobao.org/invariant/download/invariant-2.2.2.tgz",
+ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+ "requires": {
+ "loose-envify": "1.3.1"
+ }
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+ },
+ "is-buffer": {
+ "version": "1.1.5",
+ "resolved": "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.5.tgz",
+ "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw="
+ },
+ "is-builtin-module": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "requires": {
+ "builtin-modules": "1.1.1"
+ }
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/is-dotfile/download/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE="
+ },
+ "is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "http://registry.npm.taobao.org/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "requires": {
+ "is-primitive": "2.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
+ },
+ "is-finite": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q="
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU="
+ },
+ "is-promise": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ },
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ },
+ "isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "http://registry.npm.taobao.org/isomorphic-fetch/download/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+ "requires": {
+ "node-fetch": "1.7.3",
+ "whatwg-fetch": "2.0.3"
+ }
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
+ },
+ "jest-docblock": {
+ "version": "20.1.0-delta.4",
+ "resolved": "http://registry.npm.taobao.org/jest-docblock/download/jest-docblock-20.1.0-delta.4.tgz",
+ "integrity": "sha1-Ng1PX7cCcwxBNsTnHlcGGIppRoI="
+ },
+ "jest-haste-map": {
+ "version": "20.1.0-delta.4",
+ "resolved": "http://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-20.1.0-delta.4.tgz",
+ "integrity": "sha1-EuMrKXpt1JcFys3pOAKfwViDQAY=",
+ "requires": {
+ "fb-watchman": "2.0.0",
+ "graceful-fs": "4.1.11",
+ "jest-docblock": "20.1.0-delta.4",
+ "micromatch": "2.3.11",
+ "sane": "2.0.0",
+ "worker-farm": "1.5.0"
+ },
+ "dependencies": {
+ "sane": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/sane/download/sane-2.0.0.tgz",
+ "integrity": "sha1-mct58h9KU6adTQzZV8LbBAJLjrI=",
+ "requires": {
+ "anymatch": "1.3.2",
+ "exec-sh": "0.2.1",
+ "fb-watchman": "2.0.0",
+ "minimatch": "3.0.4",
+ "minimist": "1.2.0",
+ "walker": "1.0.7",
+ "watch": "0.10.0"
+ }
+ }
+ }
+ },
+ "js-tokens": {
+ "version": "3.0.2",
+ "resolved": "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz",
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "optional": true
+ },
+ "jschardet": {
+ "version": "1.5.1",
+ "resolved": "http://registry.npm.taobao.org/jschardet/download/jschardet-1.5.1.tgz",
+ "integrity": "sha1-xRn2KfhrOlvtuliojTETCe7Al/k="
+ },
+ "jsesc": {
+ "version": "1.3.0",
+ "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s="
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "requires": {
+ "jsonify": "0.0.0"
+ }
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+ },
+ "json5": {
+ "version": "0.4.0",
+ "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.4.0.tgz",
+ "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0="
+ },
+ "jsonfile": {
+ "version": "2.4.0",
+ "resolved": "http://registry.npm.taobao.org/jsonfile/download/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "http://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ },
+ "klaw": {
+ "version": "1.3.1",
+ "resolved": "http://registry.npm.taobao.org/klaw/download/klaw-1.3.1.tgz",
+ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ },
+ "lazy-cache": {
+ "version": "1.0.4",
+ "resolved": "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "requires": {
+ "invert-kv": "1.0.0"
+ }
+ },
+ "left-pad": {
+ "version": "1.1.3",
+ "resolved": "http://registry.npm.taobao.org/left-pad/download/left-pad-1.1.3.tgz",
+ "integrity": "sha1-YS9hwDPzqeCOk58crr7qQbbzGZo="
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.4",
+ "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
+ },
+ "lodash._basecopy": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npm.taobao.org/lodash._basecopy/download/lodash._basecopy-3.0.1.tgz",
+ "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY="
+ },
+ "lodash._basetostring": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npm.taobao.org/lodash._basetostring/download/lodash._basetostring-3.0.1.tgz",
+ "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U="
+ },
+ "lodash._basevalues": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/lodash._basevalues/download/lodash._basevalues-3.0.0.tgz",
+ "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc="
+ },
+ "lodash._getnative": {
+ "version": "3.9.1",
+ "resolved": "http://registry.npm.taobao.org/lodash._getnative/download/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U="
+ },
+ "lodash._isiterateecall": {
+ "version": "3.0.9",
+ "resolved": "http://registry.npm.taobao.org/lodash._isiterateecall/download/lodash._isiterateecall-3.0.9.tgz",
+ "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw="
+ },
+ "lodash._reescape": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/lodash._reescape/download/lodash._reescape-3.0.0.tgz",
+ "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo="
+ },
+ "lodash._reevaluate": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/lodash._reevaluate/download/lodash._reevaluate-3.0.0.tgz",
+ "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0="
+ },
+ "lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0="
+ },
+ "lodash._root": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npm.taobao.org/lodash._root/download/lodash._root-3.0.1.tgz",
+ "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI="
+ },
+ "lodash.escape": {
+ "version": "3.2.0",
+ "resolved": "http://registry.npm.taobao.org/lodash.escape/download/lodash.escape-3.2.0.tgz",
+ "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
+ "requires": {
+ "lodash._root": "3.0.1"
+ }
+ },
+ "lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "http://registry.npm.taobao.org/lodash.isarguments/download/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo="
+ },
+ "lodash.isarray": {
+ "version": "3.0.4",
+ "resolved": "http://registry.npm.taobao.org/lodash.isarray/download/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U="
+ },
+ "lodash.isequal": {
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/lodash.isequal/download/lodash.isequal-4.5.0.tgz",
+ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
+ },
+ "lodash.keys": {
+ "version": "3.1.2",
+ "resolved": "http://registry.npm.taobao.org/lodash.keys/download/lodash.keys-3.1.2.tgz",
+ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+ "requires": {
+ "lodash._getnative": "3.9.1",
+ "lodash.isarguments": "3.1.0",
+ "lodash.isarray": "3.0.4"
+ }
+ },
+ "lodash.pad": {
+ "version": "4.5.1",
+ "resolved": "http://registry.npm.taobao.org/lodash.pad/download/lodash.pad-4.5.1.tgz",
+ "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA="
+ },
+ "lodash.padend": {
+ "version": "4.6.1",
+ "resolved": "http://registry.npm.taobao.org/lodash.padend/download/lodash.padend-4.6.1.tgz",
+ "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4="
+ },
+ "lodash.padstart": {
+ "version": "4.6.1",
+ "resolved": "http://registry.npm.taobao.org/lodash.padstart/download/lodash.padstart-4.6.1.tgz",
+ "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs="
+ },
+ "lodash.restparam": {
+ "version": "3.6.1",
+ "resolved": "http://registry.npm.taobao.org/lodash.restparam/download/lodash.restparam-3.6.1.tgz",
+ "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU="
+ },
+ "lodash.template": {
+ "version": "3.6.2",
+ "resolved": "http://registry.npm.taobao.org/lodash.template/download/lodash.template-3.6.2.tgz",
+ "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
+ "requires": {
+ "lodash._basecopy": "3.0.1",
+ "lodash._basetostring": "3.0.1",
+ "lodash._basevalues": "3.0.0",
+ "lodash._isiterateecall": "3.0.9",
+ "lodash._reinterpolate": "3.0.0",
+ "lodash.escape": "3.2.0",
+ "lodash.keys": "3.1.2",
+ "lodash.restparam": "3.6.1",
+ "lodash.templatesettings": "3.1.1"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "3.1.1",
+ "resolved": "http://registry.npm.taobao.org/lodash.templatesettings/download/lodash.templatesettings-3.1.1.tgz",
+ "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
+ "requires": {
+ "lodash._reinterpolate": "3.0.0",
+ "lodash.escape": "3.2.0"
+ }
+ },
+ "longest": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "http://registry.npm.taobao.org/loose-envify/download/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "requires": {
+ "js-tokens": "3.0.2"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.1",
+ "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.1.tgz",
+ "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=",
+ "requires": {
+ "pseudomap": "1.0.2",
+ "yallist": "2.1.2"
+ }
+ },
+ "macos-release": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/macos-release/download/macos-release-1.1.0.tgz",
+ "integrity": "sha1-gxlF4pNltHCqhySwqzbI+JWdEPs="
+ },
+ "makeerror": {
+ "version": "1.0.11",
+ "resolved": "http://registry.npm.taobao.org/makeerror/download/makeerror-1.0.11.tgz",
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+ "requires": {
+ "tmpl": "1.0.4"
+ }
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "http://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
+ },
+ "merge": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/merge/download/merge-1.2.0.tgz",
+ "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo="
+ },
+ "merge-stream": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/merge-stream/download/merge-stream-1.0.1.tgz",
+ "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
+ "requires": {
+ "readable-stream": "2.3.3"
+ }
+ },
+ "method-override": {
+ "version": "2.3.9",
+ "resolved": "http://registry.npm.taobao.org/method-override/download/method-override-2.3.9.tgz",
+ "integrity": "sha1-vRUfLONM8Bp2ykAKuVwBKxAtj3E=",
+ "requires": {
+ "debug": "2.6.8",
+ "methods": "1.1.2",
+ "parseurl": "1.3.2",
+ "vary": "1.1.1"
+ },
+ "dependencies": {
+ "vary": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/vary/download/vary-1.1.1.tgz",
+ "integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc="
+ }
+ }
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "http://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
+ },
+ "metro-bundler": {
+ "version": "0.11.0",
+ "resolved": "http://registry.npm.taobao.org/metro-bundler/download/metro-bundler-0.11.0.tgz",
+ "integrity": "sha1-ul0q40lD2iijfCCYBHrSZcFv3fQ=",
+ "requires": {
+ "absolute-path": "0.0.0",
+ "async": "2.5.0",
+ "babel-core": "6.26.0",
+ "babel-generator": "6.26.0",
+ "babel-plugin-external-helpers": "6.22.0",
+ "babel-preset-es2015-node": "6.1.1",
+ "babel-preset-fbjs": "2.1.4",
+ "babel-preset-react-native": "2.1.0",
+ "babel-register": "6.26.0",
+ "babylon": "6.18.0",
+ "chalk": "1.1.3",
+ "concat-stream": "1.6.0",
+ "core-js": "2.5.1",
+ "debug": "2.6.8",
+ "denodeify": "1.2.1",
+ "fbjs": "0.8.12",
+ "graceful-fs": "4.1.11",
+ "image-size": "0.6.1",
+ "jest-docblock": "20.1.0-chi.1",
+ "jest-haste-map": "20.1.0-chi.1",
+ "json-stable-stringify": "1.0.1",
+ "json5": "0.4.0",
+ "left-pad": "1.1.3",
+ "lodash": "4.17.4",
+ "merge-stream": "1.0.1",
+ "mime-types": "2.1.11",
+ "mkdirp": "0.5.1",
+ "request": "2.81.0",
+ "rimraf": "2.6.2",
+ "source-map": "0.5.7",
+ "temp": "0.8.3",
+ "throat": "4.1.0",
+ "uglify-js": "2.7.5",
+ "write-file-atomic": "1.3.4",
+ "xpipe": "1.0.5"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "2.5.1",
+ "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.1.tgz",
+ "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs="
+ },
+ "fbjs": {
+ "version": "0.8.12",
+ "resolved": "http://registry.npm.taobao.org/fbjs/download/fbjs-0.8.12.tgz",
+ "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=",
+ "requires": {
+ "core-js": "1.2.7",
+ "isomorphic-fetch": "2.2.1",
+ "loose-envify": "1.3.1",
+ "object-assign": "4.1.1",
+ "promise": "7.3.1",
+ "setimmediate": "1.0.5",
+ "ua-parser-js": "0.7.14"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "1.2.7",
+ "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-1.2.7.tgz",
+ "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
+ }
+ }
+ },
+ "jest-docblock": {
+ "version": "20.1.0-chi.1",
+ "resolved": "http://registry.npm.taobao.org/jest-docblock/download/jest-docblock-20.1.0-chi.1.tgz",
+ "integrity": "sha1-BpgasOWUmKJJIzOwxVAqguRgMgc="
+ },
+ "jest-haste-map": {
+ "version": "20.1.0-chi.1",
+ "resolved": "http://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-20.1.0-chi.1.tgz",
+ "integrity": "sha1-219fMTYsduJCtA6po8z6NkcZzuM=",
+ "requires": {
+ "fb-watchman": "2.0.0",
+ "graceful-fs": "4.1.11",
+ "jest-docblock": "20.1.0-chi.1",
+ "micromatch": "2.3.11",
+ "sane": "2.0.0",
+ "worker-farm": "1.5.0"
+ }
+ },
+ "sane": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/sane/download/sane-2.0.0.tgz",
+ "integrity": "sha1-mct58h9KU6adTQzZV8LbBAJLjrI=",
+ "requires": {
+ "anymatch": "1.3.2",
+ "exec-sh": "0.2.1",
+ "fb-watchman": "2.0.0",
+ "minimatch": "3.0.4",
+ "minimist": "1.2.0",
+ "walker": "1.0.7",
+ "watch": "0.10.0"
+ }
+ }
+ }
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "http://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "requires": {
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.1",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "2.1.1",
+ "object.omit": "2.0.1",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.4"
+ }
+ },
+ "mime": {
+ "version": "1.4.0",
+ "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.4.0.tgz",
+ "integrity": "sha1-aeng21HUTyo7VuSLeBfX0Tfxo0M="
+ },
+ "mime-db": {
+ "version": "1.30.0",
+ "resolved": "http://registry.npm.taobao.org/mime-db/download/mime-db-1.30.0.tgz",
+ "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE="
+ },
+ "mime-types": {
+ "version": "2.1.11",
+ "resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.11.tgz",
+ "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=",
+ "requires": {
+ "mime-db": "1.23.0"
+ },
+ "dependencies": {
+ "mime-db": {
+ "version": "1.23.0",
+ "resolved": "http://registry.npm.taobao.org/mime-db/download/mime-db-1.23.0.tgz",
+ "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk="
+ }
+ }
+ },
+ "mimic-fn": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.1.0.tgz",
+ "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg="
+ },
+ "min-document": {
+ "version": "2.19.0",
+ "resolved": "http://registry.npm.taobao.org/min-document/download/min-document-2.19.0.tgz",
+ "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
+ "requires": {
+ "dom-walk": "0.1.1"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
+ "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+ "requires": {
+ "brace-expansion": "1.1.8"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "requires": {
+ "minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ }
+ }
+ },
+ "mobx": {
+ "version": "3.3.0",
+ "resolved": "http://registry.npm.taobao.org/mobx/download/mobx-3.3.0.tgz",
+ "integrity": "sha1-G8HdfnhUcGWvBLSb238gmMraR6o="
+ },
+ "mobx-react": {
+ "version": "4.3.2",
+ "resolved": "http://registry.npm.taobao.org/mobx-react/download/mobx-react-4.3.2.tgz",
+ "integrity": "sha1-Hsv/pWkMxkYNtrsWwMEQNPC3g9o=",
+ "requires": {
+ "hoist-non-react-statics": "1.2.0"
+ }
+ },
+ "morgan": {
+ "version": "1.6.1",
+ "resolved": "http://registry.npm.taobao.org/morgan/download/morgan-1.6.1.tgz",
+ "integrity": "sha1-X9gYOYxoGcuiinzWZk8pL+HAu/I=",
+ "requires": {
+ "basic-auth": "1.0.4",
+ "debug": "2.2.0",
+ "depd": "1.0.1",
+ "on-finished": "2.3.0",
+ "on-headers": "1.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
+ }
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "multiparty": {
+ "version": "3.3.2",
+ "resolved": "http://registry.npm.taobao.org/multiparty/download/multiparty-3.3.2.tgz",
+ "integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=",
+ "requires": {
+ "readable-stream": "1.1.14",
+ "stream-counter": "0.2.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ }
+ }
+ },
+ "multipipe": {
+ "version": "0.1.2",
+ "resolved": "http://registry.npm.taobao.org/multipipe/download/multipipe-0.1.2.tgz",
+ "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
+ "requires": {
+ "duplexer2": "0.0.2"
+ }
+ },
+ "mute-stream": {
+ "version": "0.0.7",
+ "resolved": "http://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz",
+ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
+ },
+ "negotiator": {
+ "version": "0.5.3",
+ "resolved": "http://registry.npm.taobao.org/negotiator/download/negotiator-0.5.3.tgz",
+ "integrity": "sha1-Jp1cR2gQ7JLtvntsLygxY4T5p+g="
+ },
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "http://registry.npm.taobao.org/node-fetch/download/node-fetch-1.7.3.tgz",
+ "integrity": "sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8=",
+ "requires": {
+ "encoding": "0.1.12",
+ "is-stream": "1.1.0"
+ }
+ },
+ "node-int64": {
+ "version": "0.4.0",
+ "resolved": "http://registry.npm.taobao.org/node-int64/download/node-int64-0.4.0.tgz",
+ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs="
+ },
+ "normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
+ "requires": {
+ "hosted-git-info": "2.5.0",
+ "is-builtin-module": "1.0.0",
+ "semver": "5.4.1",
+ "validate-npm-package-license": "3.0.1"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "requires": {
+ "remove-trailing-separator": "1.1.0"
+ }
+ },
+ "npmlog": {
+ "version": "2.0.4",
+ "resolved": "http://registry.npm.taobao.org/npmlog/download/npmlog-2.0.4.tgz",
+ "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=",
+ "requires": {
+ "ansi": "0.3.1",
+ "are-we-there-yet": "1.1.4",
+ "gauge": "1.2.7"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
+ "object.omit": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/object.omit/download/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "requires": {
+ "for-own": "0.1.5",
+ "is-extendable": "0.1.1"
+ }
+ },
+ "on-finished": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "on-headers": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/on-headers/download/on-headers-1.0.1.tgz",
+ "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c="
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "requires": {
+ "mimic-fn": "1.1.0"
+ }
+ },
+ "opencollective": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/opencollective/download/opencollective-1.0.3.tgz",
+ "integrity": "sha1-ruY3K8KBRFg2kMPKja7PwSDdDvE=",
+ "requires": {
+ "babel-polyfill": "6.23.0",
+ "chalk": "1.1.3",
+ "inquirer": "3.0.6",
+ "minimist": "1.2.0",
+ "node-fetch": "1.6.3",
+ "opn": "4.0.2"
+ },
+ "dependencies": {
+ "ansi-escapes": {
+ "version": "1.4.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-1.4.0.tgz",
+ "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4="
+ },
+ "babel-polyfill": {
+ "version": "6.23.0",
+ "resolved": "http://registry.npm.taobao.org/babel-polyfill/download/babel-polyfill-6.23.0.tgz",
+ "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "core-js": "2.5.1",
+ "regenerator-runtime": "0.10.5"
+ }
+ },
+ "core-js": {
+ "version": "2.5.1",
+ "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.1.tgz",
+ "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs="
+ },
+ "inquirer": {
+ "version": "3.0.6",
+ "resolved": "http://registry.npm.taobao.org/inquirer/download/inquirer-3.0.6.tgz",
+ "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=",
+ "requires": {
+ "ansi-escapes": "1.4.0",
+ "chalk": "1.1.3",
+ "cli-cursor": "2.1.0",
+ "cli-width": "2.2.0",
+ "external-editor": "2.0.4",
+ "figures": "2.0.0",
+ "lodash": "4.17.4",
+ "mute-stream": "0.0.7",
+ "run-async": "2.3.0",
+ "rx": "4.1.0",
+ "string-width": "2.1.1",
+ "strip-ansi": "3.0.1",
+ "through": "2.3.8"
+ }
+ },
+ "node-fetch": {
+ "version": "1.6.3",
+ "resolved": "http://registry.npm.taobao.org/node-fetch/download/node-fetch-1.6.3.tgz",
+ "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=",
+ "requires": {
+ "encoding": "0.1.12",
+ "is-stream": "1.1.0"
+ }
+ },
+ "opn": {
+ "version": "4.0.2",
+ "resolved": "http://registry.npm.taobao.org/opn/download/opn-4.0.2.tgz",
+ "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=",
+ "requires": {
+ "object-assign": "4.1.1",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.10.5",
+ "resolved": "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.10.5.tgz",
+ "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg="
+ }
+ }
+ },
+ "opn": {
+ "version": "3.0.3",
+ "resolved": "http://registry.npm.taobao.org/opn/download/opn-3.0.3.tgz",
+ "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=",
+ "requires": {
+ "object-assign": "4.1.1"
+ }
+ },
+ "optimist": {
+ "version": "0.6.1",
+ "resolved": "http://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "requires": {
+ "minimist": "0.0.10",
+ "wordwrap": "0.0.3"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.10",
+ "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.10.tgz",
+ "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
+ },
+ "wordwrap": {
+ "version": "0.0.3",
+ "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz",
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
+ }
+ }
+ },
+ "options": {
+ "version": "0.0.6",
+ "resolved": "http://registry.npm.taobao.org/options/download/options-0.0.6.tgz",
+ "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8="
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "requires": {
+ "lcid": "1.0.0"
+ }
+ },
+ "os-name": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/os-name/download/os-name-2.0.1.tgz",
+ "integrity": "sha1-uaOGNhwXrjohc27wWZQFyajF3F4=",
+ "requires": {
+ "macos-release": "1.1.0",
+ "win-release": "1.1.1"
+ }
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+ },
+ "parse-glob": {
+ "version": "3.0.4",
+ "resolved": "http://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "requires": {
+ "glob-base": "0.3.0",
+ "is-dotfile": "1.0.3",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "requires": {
+ "error-ex": "1.3.1"
+ }
+ },
+ "parseurl": {
+ "version": "1.3.2",
+ "resolved": "http://registry.npm.taobao.org/parseurl/download/parseurl-1.3.2.tgz",
+ "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
+ "path-to-regexp": {
+ "version": "1.7.0",
+ "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.7.0.tgz",
+ "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
+ "requires": {
+ "isarray": "0.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ }
+ }
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "pause": {
+ "version": "0.1.0",
+ "resolved": "http://registry.npm.taobao.org/pause/download/pause-0.1.0.tgz",
+ "integrity": "sha1-68ikqGGf8LioGsFRPDQ0/0af23Q="
+ },
+ "pegjs": {
+ "version": "0.10.0",
+ "resolved": "http://registry.npm.taobao.org/pegjs/download/pegjs-0.10.0.tgz",
+ "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0="
+ },
+ "performance-now": {
+ "version": "0.2.0",
+ "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz",
+ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU="
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "requires": {
+ "pinkie": "2.0.4"
+ }
+ },
+ "plist": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/plist/download/plist-1.2.0.tgz",
+ "integrity": "sha1-CEtQk93JJQbiWfh0uNmxr7jHlZM=",
+ "requires": {
+ "base64-js": "0.0.8",
+ "util-deprecate": "1.0.2",
+ "xmlbuilder": "4.0.0",
+ "xmldom": "0.1.27"
+ },
+ "dependencies": {
+ "base64-js": {
+ "version": "0.0.8",
+ "resolved": "http://registry.npm.taobao.org/base64-js/download/base64-js-0.0.8.tgz",
+ "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg="
+ }
+ }
+ },
+ "preserve": {
+ "version": "0.2.0",
+ "resolved": "http://registry.npm.taobao.org/preserve/download/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks="
+ },
+ "pretty-format": {
+ "version": "4.3.1",
+ "resolved": "http://registry.npm.taobao.org/pretty-format/download/pretty-format-4.3.1.tgz",
+ "integrity": "sha1-UwvlxCs8BbNkFKeipDN6qArNDo0="
+ },
+ "private": {
+ "version": "0.1.7",
+ "resolved": "http://registry.npm.taobao.org/private/download/private-0.1.7.tgz",
+ "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE="
+ },
+ "process": {
+ "version": "0.5.2",
+ "resolved": "http://registry.npm.taobao.org/process/download/process-0.5.2.tgz",
+ "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8="
+ },
+ "process-nextick-args": {
+ "version": "1.0.7",
+ "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz",
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
+ },
+ "promise": {
+ "version": "7.3.1",
+ "resolved": "http://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz",
+ "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=",
+ "requires": {
+ "asap": "2.0.6"
+ }
+ },
+ "prop-types": {
+ "version": "15.5.10",
+ "resolved": "http://registry.npm.taobao.org/prop-types/download/prop-types-15.5.10.tgz",
+ "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=",
+ "requires": {
+ "fbjs": "0.8.15",
+ "loose-envify": "1.3.1"
+ }
+ },
+ "prr": {
+ "version": "0.0.0",
+ "resolved": "http://registry.npm.taobao.org/prr/download/prr-0.0.0.tgz",
+ "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo="
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+ },
+ "qs": {
+ "version": "4.0.0",
+ "resolved": "http://registry.npm.taobao.org/qs/download/qs-4.0.0.tgz",
+ "integrity": "sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc="
+ },
+ "random-bytes": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/random-bytes/download/random-bytes-1.0.0.tgz",
+ "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs="
+ },
+ "randomatic": {
+ "version": "1.1.7",
+ "resolved": "http://registry.npm.taobao.org/randomatic/download/randomatic-1.1.7.tgz",
+ "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=",
+ "requires": {
+ "is-number": "3.0.0",
+ "kind-of": "4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ }
+ }
+ },
+ "range-parser": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/range-parser/download/range-parser-1.0.3.tgz",
+ "integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU="
+ },
+ "raw-body": {
+ "version": "2.1.7",
+ "resolved": "http://registry.npm.taobao.org/raw-body/download/raw-body-2.1.7.tgz",
+ "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
+ "requires": {
+ "bytes": "2.4.0",
+ "iconv-lite": "0.4.13",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "2.4.0",
+ "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-2.4.0.tgz",
+ "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk="
+ },
+ "iconv-lite": {
+ "version": "0.4.13",
+ "resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.13.tgz",
+ "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI="
+ }
+ }
+ },
+ "react": {
+ "version": "16.0.0-alpha.12",
+ "resolved": "http://registry.npm.taobao.org/react/download/react-16.0.0-alpha.12.tgz",
+ "integrity": "sha1-jFlIUoFIXfMZtvd2gtjdBiHAgZQ=",
+ "requires": {
+ "create-react-class": "15.6.0",
+ "fbjs": "0.8.15",
+ "loose-envify": "1.3.1",
+ "object-assign": "4.1.1",
+ "prop-types": "15.5.10"
+ }
+ },
+ "react-clone-referenced-element": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/react-clone-referenced-element/download/react-clone-referenced-element-1.0.1.tgz",
+ "integrity": "sha1-K7qMaUBMXkqUQ5hgC8xMlB+GBoI="
+ },
+ "react-deep-force-update": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/react-deep-force-update/download/react-deep-force-update-1.1.1.tgz",
+ "integrity": "sha1-vNMUeAJ7ZLMznxCJIatSC0MT3Cw="
+ },
+ "react-devtools-core": {
+ "version": "2.5.1",
+ "resolved": "http://registry.npm.taobao.org/react-devtools-core/download/react-devtools-core-2.5.1.tgz",
+ "integrity": "sha1-ge8w4Kw1xnDZa0NtH3UQ6uvmwIs=",
+ "requires": {
+ "shell-quote": "1.6.1",
+ "ws": "2.3.1"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.0.1",
+ "resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.0.1.tgz",
+ "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c="
+ },
+ "ws": {
+ "version": "2.3.1",
+ "resolved": "http://registry.npm.taobao.org/ws/download/ws-2.3.1.tgz",
+ "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=",
+ "requires": {
+ "safe-buffer": "5.0.1",
+ "ultron": "1.1.0"
+ }
+ }
+ }
+ },
+ "react-native": {
+ "version": "0.48.3",
+ "resolved": "http://registry.npm.taobao.org/react-native/download/react-native-0.48.3.tgz",
+ "integrity": "sha1-7BemaSnrKSUSsUwJHPJgsl4vuhg=",
+ "requires": {
+ "absolute-path": "0.0.0",
+ "art": "0.10.1",
+ "async": "2.5.0",
+ "babel-core": "6.26.0",
+ "babel-generator": "6.26.0",
+ "babel-plugin-external-helpers": "6.22.0",
+ "babel-plugin-syntax-trailing-function-commas": "6.22.0",
+ "babel-plugin-transform-async-to-generator": "6.16.0",
+ "babel-plugin-transform-class-properties": "6.24.1",
+ "babel-plugin-transform-flow-strip-types": "6.22.0",
+ "babel-plugin-transform-object-rest-spread": "6.26.0",
+ "babel-polyfill": "6.26.0",
+ "babel-preset-es2015-node": "6.1.1",
+ "babel-preset-fbjs": "2.1.4",
+ "babel-preset-react-native": "2.1.0",
+ "babel-register": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "base64-js": "1.2.1",
+ "bser": "1.0.3",
+ "chalk": "1.1.3",
+ "commander": "2.11.0",
+ "concat-stream": "1.6.0",
+ "connect": "2.30.2",
+ "core-js": "2.5.1",
+ "create-react-class": "15.6.0",
+ "debug": "2.6.8",
+ "denodeify": "1.2.1",
+ "envinfo": "3.4.1",
+ "errno": "0.1.4",
+ "event-target-shim": "1.1.1",
+ "fbjs": "0.8.12",
+ "fbjs-scripts": "0.7.1",
+ "form-data": "2.3.1",
+ "fs-extra": "1.0.0",
+ "glob": "7.1.2",
+ "graceful-fs": "4.1.11",
+ "inquirer": "3.3.0",
+ "jest-haste-map": "20.1.0-delta.4",
+ "json-stable-stringify": "1.0.1",
+ "json5": "0.4.0",
+ "left-pad": "1.1.3",
+ "lodash": "4.17.4",
+ "merge-stream": "1.0.1",
+ "metro-bundler": "0.11.0",
+ "mime": "1.4.0",
+ "mime-types": "2.1.11",
+ "minimist": "1.2.0",
+ "mkdirp": "0.5.1",
+ "node-fetch": "1.7.3",
+ "npmlog": "2.0.4",
+ "opn": "3.0.3",
+ "optimist": "0.6.1",
+ "plist": "1.2.0",
+ "pretty-format": "4.3.1",
+ "promise": "7.3.1",
+ "prop-types": "15.5.10",
+ "react-clone-referenced-element": "1.0.1",
+ "react-devtools-core": "2.5.1",
+ "react-timer-mixin": "0.13.3",
+ "react-transform-hmr": "1.0.4",
+ "rebound": "0.0.13",
+ "regenerator-runtime": "0.9.6",
+ "request": "2.81.0",
+ "rimraf": "2.6.2",
+ "sane": "1.4.1",
+ "semver": "5.4.1",
+ "shell-quote": "1.6.1",
+ "source-map": "0.5.7",
+ "stacktrace-parser": "0.1.4",
+ "temp": "0.8.3",
+ "throat": "4.1.0",
+ "whatwg-fetch": "1.1.1",
+ "wordwrap": "1.0.0",
+ "write-file-atomic": "1.3.4",
+ "ws": "1.1.4",
+ "xcode": "0.9.3",
+ "xmldoc": "0.4.0",
+ "xpipe": "1.0.5",
+ "xtend": "4.0.1",
+ "yargs": "6.6.0"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "2.5.1",
+ "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.1.tgz",
+ "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs="
+ },
+ "fbjs": {
+ "version": "0.8.12",
+ "resolved": "http://registry.npm.taobao.org/fbjs/download/fbjs-0.8.12.tgz",
+ "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=",
+ "requires": {
+ "core-js": "1.2.7",
+ "isomorphic-fetch": "2.2.1",
+ "loose-envify": "1.3.1",
+ "object-assign": "4.1.1",
+ "promise": "7.3.1",
+ "setimmediate": "1.0.5",
+ "ua-parser-js": "0.7.14"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "1.2.7",
+ "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-1.2.7.tgz",
+ "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
+ }
+ }
+ },
+ "whatwg-fetch": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/whatwg-fetch/download/whatwg-fetch-1.1.1.tgz",
+ "integrity": "sha1-rDydOfMgxtzlM5lp0FTvQ90zMxk="
+ }
+ }
+ },
+ "react-native-button": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/react-native-button/download/react-native-button-2.1.0.tgz",
+ "integrity": "sha1-o54jKSkir+6k974UHdQ+GPG1GHY=",
+ "requires": {
+ "prop-types": "15.5.10"
+ }
+ },
+ "react-native-dismiss-keyboard": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/react-native-dismiss-keyboard/download/react-native-dismiss-keyboard-1.0.0.tgz",
+ "integrity": "sha1-MohiQrPyMX4SHzrrmwpYXiuHm0k="
+ },
+ "react-native-drawer-layout": {
+ "version": "1.3.2",
+ "resolved": "http://registry.npm.taobao.org/react-native-drawer-layout/download/react-native-drawer-layout-1.3.2.tgz",
+ "integrity": "sha1-uXQNdmOh3E+IphucbZPS2UjqQm4=",
+ "requires": {
+ "react-native-dismiss-keyboard": "1.0.0"
+ }
+ },
+ "react-native-drawer-layout-polyfill": {
+ "version": "1.3.2",
+ "resolved": "http://registry.npm.taobao.org/react-native-drawer-layout-polyfill/download/react-native-drawer-layout-polyfill-1.3.2.tgz",
+ "integrity": "sha1-GSyE16WmuKbSvix9ql5BZFGNDMc=",
+ "requires": {
+ "react-native-drawer-layout": "1.3.2"
+ }
+ },
+ "react-native-message-bar": {
+ "version": "1.6.0",
+ "resolved": "http://registry.npm.taobao.org/react-native-message-bar/download/react-native-message-bar-1.6.0.tgz",
+ "integrity": "sha1-eWI+iWVUdSFpJwkHcbAjhha28cc="
+ },
+ "react-native-router-flux": {
+ "version": "4.0.0-beta.21",
+ "resolved": "http://registry.npm.taobao.org/react-native-router-flux/download/react-native-router-flux-4.0.0-beta.21.tgz",
+ "integrity": "sha1-zbs87FsY+rD/24q/OM55B0n2JdA=",
+ "requires": {
+ "lodash.isequal": "4.5.0",
+ "mobx": "3.3.0",
+ "mobx-react": "4.3.2",
+ "opencollective": "1.0.3",
+ "prop-types": "15.5.10",
+ "react-native-button": "2.1.0",
+ "react-navigation": "1.0.0-beta.11"
+ }
+ },
+ "react-native-tab-view": {
+ "version": "0.0.65",
+ "resolved": "http://registry.npm.taobao.org/react-native-tab-view/download/react-native-tab-view-0.0.65.tgz",
+ "integrity": "sha1-toXqMIH/fJZIbNmXNhAmxAcwLFk=",
+ "requires": {
+ "prop-types": "15.5.10"
+ }
+ },
+ "react-navigation": {
+ "version": "1.0.0-beta.11",
+ "resolved": "http://registry.npm.taobao.org/react-navigation/download/react-navigation-1.0.0-beta.11.tgz",
+ "integrity": "sha1-QnHtsjzbzG64hgL3/eCnfw73oWA=",
+ "requires": {
+ "clamp": "1.0.1",
+ "fbjs": "0.8.15",
+ "hoist-non-react-statics": "1.2.0",
+ "path-to-regexp": "1.7.0",
+ "prop-types": "15.5.10",
+ "react-native-drawer-layout-polyfill": "1.3.2",
+ "react-native-tab-view": "0.0.65"
+ }
+ },
+ "react-proxy": {
+ "version": "1.1.8",
+ "resolved": "http://registry.npm.taobao.org/react-proxy/download/react-proxy-1.1.8.tgz",
+ "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=",
+ "requires": {
+ "lodash": "4.17.4",
+ "react-deep-force-update": "1.1.1"
+ }
+ },
+ "react-timer-mixin": {
+ "version": "0.13.3",
+ "resolved": "http://registry.npm.taobao.org/react-timer-mixin/download/react-timer-mixin-0.13.3.tgz",
+ "integrity": "sha1-Dai5+AfsB9w+hU0ILHN8ZWBbPSI="
+ },
+ "react-transform-hmr": {
+ "version": "1.0.4",
+ "resolved": "http://registry.npm.taobao.org/react-transform-hmr/download/react-transform-hmr-1.0.4.tgz",
+ "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=",
+ "requires": {
+ "global": "4.3.2",
+ "react-proxy": "1.1.8"
+ }
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "requires": {
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "1.1.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "requires": {
+ "find-up": "1.1.2",
+ "read-pkg": "1.1.0"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.3",
+ "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz",
+ "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.1",
+ "string_decoder": "1.0.3",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "rebound": {
+ "version": "0.0.13",
+ "resolved": "http://registry.npm.taobao.org/rebound/download/rebound-0.0.13.tgz",
+ "integrity": "sha1-SiJSVMr32nVnl7GcWBe/enlB+sE="
+ },
+ "regenerate": {
+ "version": "1.3.3",
+ "resolved": "http://registry.npm.taobao.org/regenerate/download/regenerate-1.3.3.tgz",
+ "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38="
+ },
+ "regenerator-runtime": {
+ "version": "0.9.6",
+ "resolved": "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.9.6.tgz",
+ "integrity": "sha1-0z65XQ0gAaS+OWWXB8UbDLcc4Ck="
+ },
+ "regenerator-transform": {
+ "version": "0.10.1",
+ "resolved": "http://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.10.1.tgz",
+ "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=",
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "private": "0.1.7"
+ }
+ },
+ "regex-cache": {
+ "version": "0.4.4",
+ "resolved": "http://registry.npm.taobao.org/regex-cache/download/regex-cache-0.4.4.tgz",
+ "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=",
+ "requires": {
+ "is-equal-shallow": "0.1.3"
+ }
+ },
+ "regexpu-core": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz",
+ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+ "requires": {
+ "regenerate": "1.3.3",
+ "regjsgen": "0.2.0",
+ "regjsparser": "0.1.5"
+ }
+ },
+ "regjsgen": {
+ "version": "0.2.0",
+ "resolved": "http://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz",
+ "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc="
+ },
+ "regjsparser": {
+ "version": "0.1.5",
+ "resolved": "http://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz",
+ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "requires": {
+ "jsesc": "0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
+ }
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
+ },
+ "repeat-element": {
+ "version": "1.1.2",
+ "resolved": "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz",
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo="
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "requires": {
+ "is-finite": "1.0.2"
+ }
+ },
+ "replace-ext": {
+ "version": "0.0.1",
+ "resolved": "http://registry.npm.taobao.org/replace-ext/download/replace-ext-0.0.1.tgz",
+ "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ="
+ },
+ "request": {
+ "version": "2.81.0",
+ "resolved": "http://registry.npm.taobao.org/request/download/request-2.81.0.tgz",
+ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "4.2.1",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.11",
+ "oauth-sign": "0.8.2",
+ "performance-now": "0.2.0",
+ "qs": "6.4.0",
+ "safe-buffer": "5.1.1",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.2",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.1.0"
+ },
+ "dependencies": {
+ "form-data": {
+ "version": "2.1.4",
+ "resolved": "http://registry.npm.taobao.org/form-data/download/form-data-2.1.4.tgz",
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.17"
+ },
+ "dependencies": {
+ "mime-types": {
+ "version": "2.1.17",
+ "resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.17.tgz",
+ "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
+ "requires": {
+ "mime-db": "1.30.0"
+ }
+ }
+ }
+ },
+ "qs": {
+ "version": "6.4.0",
+ "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.4.0.tgz",
+ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
+ }
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "http://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+ },
+ "response-time": {
+ "version": "2.3.2",
+ "resolved": "http://registry.npm.taobao.org/response-time/download/response-time-2.3.2.tgz",
+ "integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=",
+ "requires": {
+ "depd": "1.1.1",
+ "on-headers": "1.0.1"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/depd/download/depd-1.1.1.tgz",
+ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
+ }
+ }
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "requires": {
+ "onetime": "2.0.1",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "right-align": {
+ "version": "0.1.3",
+ "resolved": "http://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz",
+ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "requires": {
+ "align-text": "0.1.4"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.2",
+ "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz",
+ "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=",
+ "requires": {
+ "glob": "7.1.2"
+ }
+ },
+ "rndm": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/rndm/download/rndm-1.2.0.tgz",
+ "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w="
+ },
+ "run-async": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/run-async/download/run-async-2.3.0.tgz",
+ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+ "requires": {
+ "is-promise": "2.1.0"
+ }
+ },
+ "rx": {
+ "version": "4.1.0",
+ "resolved": "http://registry.npm.taobao.org/rx/download/rx-4.1.0.tgz",
+ "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I="
+ },
+ "rx-lite": {
+ "version": "4.0.8",
+ "resolved": "http://registry.npm.taobao.org/rx-lite/download/rx-lite-4.0.8.tgz",
+ "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ="
+ },
+ "rx-lite-aggregates": {
+ "version": "4.0.8",
+ "resolved": "http://registry.npm.taobao.org/rx-lite-aggregates/download/rx-lite-aggregates-4.0.8.tgz",
+ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
+ "requires": {
+ "rx-lite": "4.0.8"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.1.tgz",
+ "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM="
+ },
+ "sane": {
+ "version": "1.4.1",
+ "resolved": "http://registry.npm.taobao.org/sane/download/sane-1.4.1.tgz",
+ "integrity": "sha1-iPdj10BA9fDCVrYWPbOZvxEKxxU=",
+ "requires": {
+ "exec-sh": "0.2.1",
+ "fb-watchman": "1.9.2",
+ "minimatch": "3.0.4",
+ "minimist": "1.2.0",
+ "walker": "1.0.7",
+ "watch": "0.10.0"
+ },
+ "dependencies": {
+ "bser": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/bser/download/bser-1.0.2.tgz",
+ "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=",
+ "requires": {
+ "node-int64": "0.4.0"
+ }
+ },
+ "fb-watchman": {
+ "version": "1.9.2",
+ "resolved": "http://registry.npm.taobao.org/fb-watchman/download/fb-watchman-1.9.2.tgz",
+ "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=",
+ "requires": {
+ "bser": "1.0.2"
+ }
+ }
+ }
+ },
+ "sax": {
+ "version": "1.1.6",
+ "resolved": "http://registry.npm.taobao.org/sax/download/sax-1.1.6.tgz",
+ "integrity": "sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA="
+ },
+ "semver": {
+ "version": "5.4.1",
+ "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.4.1.tgz",
+ "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4="
+ },
+ "send": {
+ "version": "0.13.2",
+ "resolved": "http://registry.npm.taobao.org/send/download/send-0.13.2.tgz",
+ "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=",
+ "requires": {
+ "debug": "2.2.0",
+ "depd": "1.1.1",
+ "destroy": "1.0.4",
+ "escape-html": "1.0.3",
+ "etag": "1.7.0",
+ "fresh": "0.3.0",
+ "http-errors": "1.3.1",
+ "mime": "1.3.4",
+ "ms": "0.7.1",
+ "on-finished": "2.3.0",
+ "range-parser": "1.0.3",
+ "statuses": "1.2.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "depd": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/depd/download/depd-1.1.1.tgz",
+ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
+ },
+ "mime": {
+ "version": "1.3.4",
+ "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.3.4.tgz",
+ "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM="
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
+ },
+ "statuses": {
+ "version": "1.2.1",
+ "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.2.1.tgz",
+ "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg="
+ }
+ }
+ },
+ "serve-favicon": {
+ "version": "2.3.2",
+ "resolved": "http://registry.npm.taobao.org/serve-favicon/download/serve-favicon-2.3.2.tgz",
+ "integrity": "sha1-3UGeJo3gEqtysxnTN/IQUBP5OB8=",
+ "requires": {
+ "etag": "1.7.0",
+ "fresh": "0.3.0",
+ "ms": "0.7.2",
+ "parseurl": "1.3.2"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "0.7.2",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U="
+ }
+ }
+ },
+ "serve-index": {
+ "version": "1.7.3",
+ "resolved": "http://registry.npm.taobao.org/serve-index/download/serve-index-1.7.3.tgz",
+ "integrity": "sha1-egV/xu4o3GP2RWbl+lexEahq7NI=",
+ "requires": {
+ "accepts": "1.2.13",
+ "batch": "0.5.3",
+ "debug": "2.2.0",
+ "escape-html": "1.0.3",
+ "http-errors": "1.3.1",
+ "mime-types": "2.1.11",
+ "parseurl": "1.3.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
+ }
+ }
+ },
+ "serve-static": {
+ "version": "1.10.3",
+ "resolved": "http://registry.npm.taobao.org/serve-static/download/serve-static-1.10.3.tgz",
+ "integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=",
+ "requires": {
+ "escape-html": "1.0.3",
+ "parseurl": "1.3.2",
+ "send": "0.13.2"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "http://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
+ },
+ "shell-quote": {
+ "version": "1.6.1",
+ "resolved": "http://registry.npm.taobao.org/shell-quote/download/shell-quote-1.6.1.tgz",
+ "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
+ "requires": {
+ "array-filter": "0.0.1",
+ "array-map": "0.0.0",
+ "array-reduce": "0.0.0",
+ "jsonify": "0.0.0"
+ }
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
+ },
+ "simple-plist": {
+ "version": "0.2.1",
+ "resolved": "http://registry.npm.taobao.org/simple-plist/download/simple-plist-0.2.1.tgz",
+ "integrity": "sha1-cXZts1IyaSjPOoByQrp2IyJjZyM=",
+ "requires": {
+ "bplist-creator": "0.0.7",
+ "bplist-parser": "0.1.1",
+ "plist": "2.0.1"
+ },
+ "dependencies": {
+ "base64-js": {
+ "version": "1.1.2",
+ "resolved": "http://registry.npm.taobao.org/base64-js/download/base64-js-1.1.2.tgz",
+ "integrity": "sha1-1kAMrBxMZgl22Q0HoENR2JOV9eg="
+ },
+ "plist": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/plist/download/plist-2.0.1.tgz",
+ "integrity": "sha1-CjLKlIGxw2TpLhjcVch23p0B2os=",
+ "requires": {
+ "base64-js": "1.1.2",
+ "xmlbuilder": "8.2.2",
+ "xmldom": "0.1.27"
+ }
+ },
+ "xmlbuilder": {
+ "version": "8.2.2",
+ "resolved": "http://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-8.2.2.tgz",
+ "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M="
+ }
+ }
+ },
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
+ },
+ "slide": {
+ "version": "1.1.6",
+ "resolved": "http://registry.npm.taobao.org/slide/download/slide-1.1.6.tgz",
+ "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc="
+ },
+ "sntp": {
+ "version": "1.0.9",
+ "resolved": "http://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz",
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ },
+ "source-map-support": {
+ "version": "0.4.18",
+ "resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz",
+ "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=",
+ "requires": {
+ "source-map": "0.5.7"
+ }
+ },
+ "sparkles": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/sparkles/download/sparkles-1.0.0.tgz",
+ "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM="
+ },
+ "spdx-correct": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-1.0.2.tgz",
+ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+ "requires": {
+ "spdx-license-ids": "1.2.2"
+ }
+ },
+ "spdx-expression-parse": {
+ "version": "1.0.4",
+ "resolved": "http://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-1.0.4.tgz",
+ "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw="
+ },
+ "spdx-license-ids": {
+ "version": "1.2.2",
+ "resolved": "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-1.2.2.tgz",
+ "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc="
+ },
+ "sshpk": {
+ "version": "1.13.1",
+ "resolved": "http://registry.npm.taobao.org/sshpk/download/sshpk-1.13.1.tgz",
+ "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
+ "requires": {
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jsbn": "0.1.1",
+ "tweetnacl": "0.14.5"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
+ "stacktrace-parser": {
+ "version": "0.1.4",
+ "resolved": "http://registry.npm.taobao.org/stacktrace-parser/download/stacktrace-parser-0.1.4.tgz",
+ "integrity": "sha1-ATl5IuX2Ls8whFUiyVxP4dJefU4="
+ },
+ "statuses": {
+ "version": "1.3.1",
+ "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.3.1.tgz",
+ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
+ },
+ "stream-buffers": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/stream-buffers/download/stream-buffers-2.2.0.tgz",
+ "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ="
+ },
+ "stream-counter": {
+ "version": "0.2.0",
+ "resolved": "http://registry.npm.taobao.org/stream-counter/download/stream-counter-0.2.0.tgz",
+ "integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=",
+ "requires": {
+ "readable-stream": "1.1.14"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ }
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz",
+ "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz",
+ "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "stringstream": {
+ "version": "0.0.5",
+ "resolved": "http://registry.npm.taobao.org/stringstream/download/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ },
+ "temp": {
+ "version": "0.8.3",
+ "resolved": "http://registry.npm.taobao.org/temp/download/temp-0.8.3.tgz",
+ "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=",
+ "requires": {
+ "os-tmpdir": "1.0.2",
+ "rimraf": "2.2.8"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.2.8",
+ "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.2.8.tgz",
+ "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI="
+ }
+ }
+ },
+ "throat": {
+ "version": "4.1.0",
+ "resolved": "http://registry.npm.taobao.org/throat/download/throat-4.1.0.tgz",
+ "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo="
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "http://registry.npm.taobao.org/through/download/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "http://registry.npm.taobao.org/through2/download/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "requires": {
+ "readable-stream": "2.3.3",
+ "xtend": "4.0.1"
+ }
+ },
+ "time-stamp": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/time-stamp/download/time-stamp-1.1.0.tgz",
+ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM="
+ },
+ "tmp": {
+ "version": "0.0.31",
+ "resolved": "http://registry.npm.taobao.org/tmp/download/tmp-0.0.31.tgz",
+ "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=",
+ "requires": {
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "tmpl": {
+ "version": "1.0.4",
+ "resolved": "http://registry.npm.taobao.org/tmpl/download/tmpl-1.0.4.tgz",
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE="
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
+ },
+ "tough-cookie": {
+ "version": "2.3.2",
+ "resolved": "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.2.tgz",
+ "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
+ "requires": {
+ "punycode": "1.4.1"
+ }
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
+ },
+ "tsscmp": {
+ "version": "1.0.5",
+ "resolved": "http://registry.npm.taobao.org/tsscmp/download/tsscmp-1.0.5.tgz",
+ "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc="
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "optional": true
+ },
+ "type-is": {
+ "version": "1.6.15",
+ "resolved": "http://registry.npm.taobao.org/type-is/download/type-is-1.6.15.tgz",
+ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "2.1.17"
+ },
+ "dependencies": {
+ "mime-types": {
+ "version": "2.1.17",
+ "resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.17.tgz",
+ "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
+ "requires": {
+ "mime-db": "1.30.0"
+ }
+ }
+ }
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ },
+ "ua-parser-js": {
+ "version": "0.7.14",
+ "resolved": "http://registry.npm.taobao.org/ua-parser-js/download/ua-parser-js-0.7.14.tgz",
+ "integrity": "sha1-EQ1T+kw/MmwSEpK76skE0uAzh8o="
+ },
+ "uglify-js": {
+ "version": "2.7.5",
+ "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.7.5.tgz",
+ "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=",
+ "requires": {
+ "async": "0.2.10",
+ "source-map": "0.5.7",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.2.10",
+ "resolved": "http://registry.npm.taobao.org/async/download/async-0.2.10.tgz",
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E="
+ },
+ "yargs": {
+ "version": "3.10.0",
+ "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz",
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "requires": {
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0"
+ }
+ }
+ }
+ },
+ "uglify-to-browserify": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz",
+ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc="
+ },
+ "uid-safe": {
+ "version": "2.1.4",
+ "resolved": "http://registry.npm.taobao.org/uid-safe/download/uid-safe-2.1.4.tgz",
+ "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=",
+ "requires": {
+ "random-bytes": "1.0.0"
+ }
+ },
+ "ultron": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/ultron/download/ultron-1.1.0.tgz",
+ "integrity": "sha1-sHoualQagV/Go0zNRTO67DB8qGQ="
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "utils-merge": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.0.tgz",
+ "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg="
+ },
+ "uuid": {
+ "version": "3.1.0",
+ "resolved": "http://registry.npm.taobao.org/uuid/download/uuid-3.1.0.tgz",
+ "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ="
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.1.tgz",
+ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+ "requires": {
+ "spdx-correct": "1.0.2",
+ "spdx-expression-parse": "1.0.4"
+ }
+ },
+ "vary": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/vary/download/vary-1.0.1.tgz",
+ "integrity": "sha1-meSYFWaihhGN+yuBc1ffeZM3bRA="
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "1.3.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
+ "vhost": {
+ "version": "3.0.2",
+ "resolved": "http://registry.npm.taobao.org/vhost/download/vhost-3.0.2.tgz",
+ "integrity": "sha1-L7HezUxGaqiLD5NBrzPcGv8keNU="
+ },
+ "vinyl": {
+ "version": "0.5.3",
+ "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-0.5.3.tgz",
+ "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
+ "requires": {
+ "clone": "1.0.2",
+ "clone-stats": "0.0.1",
+ "replace-ext": "0.0.1"
+ }
+ },
+ "walker": {
+ "version": "1.0.7",
+ "resolved": "http://registry.npm.taobao.org/walker/download/walker-1.0.7.tgz",
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+ "requires": {
+ "makeerror": "1.0.11"
+ }
+ },
+ "watch": {
+ "version": "0.10.0",
+ "resolved": "http://registry.npm.taobao.org/watch/download/watch-0.10.0.tgz",
+ "integrity": "sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw="
+ },
+ "whatwg-fetch": {
+ "version": "2.0.3",
+ "resolved": "http://registry.npm.taobao.org/whatwg-fetch/download/whatwg-fetch-2.0.3.tgz",
+ "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ="
+ },
+ "which": {
+ "version": "1.3.0",
+ "resolved": "http://registry.npm.taobao.org/which/download/which-1.3.0.tgz",
+ "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=",
+ "requires": {
+ "isexe": "2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz",
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8="
+ },
+ "win-release": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/win-release/download/win-release-1.1.1.tgz",
+ "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=",
+ "requires": {
+ "semver": "5.4.1"
+ }
+ },
+ "window-size": {
+ "version": "0.1.0",
+ "resolved": "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz",
+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0="
+ },
+ "wordwrap": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
+ },
+ "worker-farm": {
+ "version": "1.5.0",
+ "resolved": "http://registry.npm.taobao.org/worker-farm/download/worker-farm-1.5.0.tgz",
+ "integrity": "sha1-rf3wzUBYFGXtCh9kj5c1cir9XI0=",
+ "requires": {
+ "errno": "0.1.4",
+ "xtend": "4.0.1"
+ }
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1"
+ },
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "write-file-atomic": {
+ "version": "1.3.4",
+ "resolved": "http://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-1.3.4.tgz",
+ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=",
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "imurmurhash": "0.1.4",
+ "slide": "1.1.6"
+ }
+ },
+ "ws": {
+ "version": "1.1.4",
+ "resolved": "http://registry.npm.taobao.org/ws/download/ws-1.1.4.tgz",
+ "integrity": "sha1-V/QNA2gy5fUFVmKjl8Tedu1mv2E=",
+ "requires": {
+ "options": "0.0.6",
+ "ultron": "1.0.2"
+ },
+ "dependencies": {
+ "ultron": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/ultron/download/ultron-1.0.2.tgz",
+ "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po="
+ }
+ }
+ },
+ "xcode": {
+ "version": "0.9.3",
+ "resolved": "http://registry.npm.taobao.org/xcode/download/xcode-0.9.3.tgz",
+ "integrity": "sha1-kQqJwWrubMC0LKgFptC0z4chHPM=",
+ "requires": {
+ "pegjs": "0.10.0",
+ "simple-plist": "0.2.1",
+ "uuid": "3.0.1"
+ },
+ "dependencies": {
+ "uuid": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npm.taobao.org/uuid/download/uuid-3.0.1.tgz",
+ "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE="
+ }
+ }
+ },
+ "xmlbuilder": {
+ "version": "4.0.0",
+ "resolved": "http://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-4.0.0.tgz",
+ "integrity": "sha1-mLj2UcowqmJANvEn0RzGbce5B6M=",
+ "requires": {
+ "lodash": "3.10.1"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "3.10.1",
+ "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-3.10.1.tgz",
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y="
+ }
+ }
+ },
+ "xmldoc": {
+ "version": "0.4.0",
+ "resolved": "http://registry.npm.taobao.org/xmldoc/download/xmldoc-0.4.0.tgz",
+ "integrity": "sha1-0lciS+g5PqrL+DfvIn/Y7CWzaIg=",
+ "requires": {
+ "sax": "1.1.6"
+ }
+ },
+ "xmldom": {
+ "version": "0.1.27",
+ "resolved": "http://registry.npm.taobao.org/xmldom/download/xmldom-0.1.27.tgz",
+ "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
+ },
+ "xpipe": {
+ "version": "1.0.5",
+ "resolved": "http://registry.npm.taobao.org/xpipe/download/xpipe-1.0.5.tgz",
+ "integrity": "sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98="
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "http://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+ },
+ "yargs": {
+ "version": "6.6.0",
+ "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-6.6.0.tgz",
+ "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
+ "requires": {
+ "camelcase": "3.0.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "1.4.0",
+ "read-pkg-up": "1.0.1",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "1.0.2",
+ "which-module": "1.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "4.2.1"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "4.2.1",
+ "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-4.2.1.tgz",
+ "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
+ "requires": {
+ "camelcase": "3.0.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
+ }
+ }
+ }
+ }
+}
diff --git a/rn/package.json b/rn/package.json
new file mode 100644
index 0000000..53b49e0
--- /dev/null
+++ b/rn/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "MyReactNativeApp",
+ "version": "0.0.1",
+ "private": true,
+ "scripts": {
+ "start": "node node_modules/react-native/local-cli/cli.js start",
+ "bundle-android": "react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output Widgets/app/src/main/assets/index.android.bundle --sourcemap-output Widgets/app/src/main/assets/index.android.map --assets-dest Widgets/app/src/main/res/"
+ },
+ "dependencies": {
+ "react": "^16.0.0-alpha.12",
+ "react-native": "^0.48.3",
+ "autobind-decorator": "^1.4.1",
+ "babel-plugin-transform-decorators-legacy": "^1.3.4",
+ "mobx": "^3.2.1",
+ "mobx-react": "^4.2.1",
+ "prop-types": "^15.5.10",
+ "react-native-button": "^2.0.0",
+ "react-native-message-bar": "^1.6.0",
+ "react-native-router-flux": "4.0.0-beta.21",
+ "react-navigation": "^1.0.0-beta.11"
+ }
+}
diff --git a/wecat/proguard-rules.pro b/rn/proguard-rules.pro
similarity index 100%
rename from wecat/proguard-rules.pro
rename to rn/proguard-rules.pro
diff --git a/wecat/src/androidTest/java/com/dhc/flyabbit/wecat/ExampleInstrumentedTest.java b/rn/src/androidTest/java/com/dhc/flyabbit/rn/ExampleInstrumentedTest.java
similarity index 100%
rename from wecat/src/androidTest/java/com/dhc/flyabbit/wecat/ExampleInstrumentedTest.java
rename to rn/src/androidTest/java/com/dhc/flyabbit/rn/ExampleInstrumentedTest.java
diff --git a/wecat/src/main/debug/AndroidManifest.xml b/rn/src/main/debug/AndroidManifest.xml
similarity index 56%
rename from wecat/src/main/debug/AndroidManifest.xml
rename to rn/src/main/debug/AndroidManifest.xml
index f021b3f..96b1598 100644
--- a/wecat/src/main/debug/AndroidManifest.xml
+++ b/rn/src/main/debug/AndroidManifest.xml
@@ -1,13 +1,13 @@
-
-
+
-
+
diff --git a/rn/src/main/java/com/dhc/flyabbit/rn/ReactNativeFragment.java b/rn/src/main/java/com/dhc/flyabbit/rn/ReactNativeFragment.java
new file mode 100644
index 0000000..e552ea8
--- /dev/null
+++ b/rn/src/main/java/com/dhc/flyabbit/rn/ReactNativeFragment.java
@@ -0,0 +1,142 @@
+package com.dhc.flyabbit.rn;
+
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.dhc.library.base.BaseFragment;
+import com.dhc.library.utils.ReactManagerFactory;
+import com.dhc.library.utils.delegate.OnBackToFirstListener;
+import com.facebook.react.ReactInstanceManager;
+import com.facebook.react.ReactRootView;
+import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
+
+import di.HDiHelper;
+
+
+/**
+ * 创建者:邓浩宸
+ * 时间 :2017/6/30 0030 上午 10:23
+ * 描述 :TODO 请描述该类职责
+ */
+
+public class ReactNativeFragment extends BaseFragment implements DefaultHardwareBackBtnHandler {
+
+ protected OnBackToFirstListener _mBackToFirstListener;
+ private ReactRootView mReactRootView;
+ protected ReactInstanceManager mReactInstanceManager;
+
+
+
+ public static ReactNativeFragment newInstance() {
+ ReactNativeFragment fragment = new ReactNativeFragment();
+ return fragment;
+ }
+
+ @Override
+ protected int getLayoutId() {
+ return 0;
+ }
+
+ @Nullable
+ @Override
+ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ mReactRootView = new ReactRootView(_mActivity);
+ mReactInstanceManager= ReactManagerFactory.getReactInstanceManager();
+ mReactRootView.startReactApplication(mReactInstanceManager, "MyReactNativeApp", null);
+ mView = mReactRootView;
+ return super.onCreateView(inflater, container, savedInstanceState);
+ }
+
+ @Override
+ protected void initEventAndData(View view) {
+ BaseFragment baseFragment = (BaseFragment) getParentFragment();
+ if (baseFragment instanceof OnBackToFirstListener) {
+ _mBackToFirstListener = (OnBackToFirstListener) baseFragment;
+ }
+// initTitle();
+ }
+
+ @Override
+ public void initInject(Bundle savedInstanceState) {
+ HDiHelper.getFragmentComponent(getFragmentModule()).inject(this);
+ }
+
+// private void initTitle() {
+// ToolBarOptions options = new ToolBarOptions()
+// .isNeedNavigate(false).titleString("微信精选");
+// setToolBar(R.id.toolbar, options);
+// }
+
+ /**
+ * 处理回退事件
+ *
+ * @return
+ */
+ @Override
+ public boolean onBackPressedSupport() {
+ if (getChildFragmentManager().getBackStackEntryCount() > 1) {
+ popChild();
+ } else {
+ if (_mBackToFirstListener != null) {
+ _mBackToFirstListener.onBackToFirstFragment();
+ } else {
+ if (mReactInstanceManager != null) {
+ mReactInstanceManager.onBackPressed();
+ } else {
+ _mActivity.finish();
+ }
+ }
+ }
+ return true;
+ }
+
+
+ @Override
+ public void invokeDefaultOnBackPressed() {
+ if (getChildFragmentManager().getBackStackEntryCount() > 1) {
+ popChild();
+ } else {
+ if (_mBackToFirstListener != null) {
+ _mBackToFirstListener.onBackToFirstFragment();
+ } else {
+ _mActivity.finish();
+ }
+ }
+ }
+
+
+
+
+ @Override
+ public void onPause() {
+ super.onPause();
+
+ if (mReactInstanceManager != null) {
+ mReactInstanceManager.onHostPause(_mActivity);
+ }
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+
+ if (mReactInstanceManager != null) {
+ mReactInstanceManager.onHostResume(_mActivity, this);
+ }
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+
+ if (mReactInstanceManager != null) {
+ mReactInstanceManager.onHostDestroy();
+ }
+ }
+
+
+
+}
diff --git a/rn/src/main/java/di/HDiHelper.java b/rn/src/main/java/di/HDiHelper.java
new file mode 100644
index 0000000..e996af2
--- /dev/null
+++ b/rn/src/main/java/di/HDiHelper.java
@@ -0,0 +1,34 @@
+package di;
+import di.component.DaggerHActivityComponent;
+import di.component.DaggerHFragmentComponent;
+import com.dhc.library.base.BaseApplication;
+import com.dhc.library.di.module.ActivityModule;
+import com.dhc.library.di.module.FragmentModule;
+
+import di.component.HActivityComponent;
+import di.component.HFragmentComponent;
+
+/**
+ * 创建者 邓浩宸
+ * 创建时间 2017/3/24 8:54
+ * 描述 ${TODO}
+ */
+public class HDiHelper {
+
+ public static HActivityComponent getActivityComponent(ActivityModule activityModule) {
+ return DaggerHActivityComponent.builder()
+ .appComponent(BaseApplication.getAppComponent())
+ .activityModule(activityModule)
+ .build();
+ }
+
+
+ public static HFragmentComponent getFragmentComponent(FragmentModule fragmentModule){
+ return DaggerHFragmentComponent.builder()
+ .appComponent(BaseApplication.getAppComponent())
+ .fragmentModule(fragmentModule)
+ .build();
+ }
+
+
+}
diff --git a/rn/src/main/java/di/component/HActivityComponent.java b/rn/src/main/java/di/component/HActivityComponent.java
new file mode 100644
index 0000000..da439a2
--- /dev/null
+++ b/rn/src/main/java/di/component/HActivityComponent.java
@@ -0,0 +1,24 @@
+package di.component;
+
+import com.dhc.library.di.ActivityScope;
+import com.dhc.library.di.component.AppComponent;
+import com.dhc.library.di.module.ActivityModule;
+
+import dagger.Component;
+
+/**
+ * 创建者:邓浩宸
+ * 时间 :2016/11/15 16:42
+ * 描述 :activity的注解使用,限定Context的范围,以及依赖注入的范围
+ */
+@ActivityScope
+@Component(dependencies =AppComponent.class, modules = ActivityModule.class)
+public interface HActivityComponent {
+
+
+// void inject(WelcomeActivity WelcomeActivity);
+//
+
+// void inject(HomeActivity homeActivity);
+
+}
diff --git a/rn/src/main/java/di/component/HFragmentComponent.java b/rn/src/main/java/di/component/HFragmentComponent.java
new file mode 100644
index 0000000..d352353
--- /dev/null
+++ b/rn/src/main/java/di/component/HFragmentComponent.java
@@ -0,0 +1,22 @@
+package di.component;
+
+import com.dhc.flyabbit.rn.ReactNativeFragment;
+import com.dhc.library.di.FragmentScope;
+import com.dhc.library.di.component.AppComponent;
+import com.dhc.library.di.module.FragmentModule;
+
+import dagger.Component;
+
+
+/**
+ * 创建者:邓浩宸
+ * 时间 :2017/3/21 10:54
+ * 描述 :Fragment里的注解,限定Activity的范围,以及依赖注入的范围为Fragment
+ */
+@FragmentScope
+@Component(dependencies = AppComponent.class, modules = FragmentModule.class)
+public interface HFragmentComponent {
+
+
+ void inject(ReactNativeFragment reactNativeFragment);
+}
diff --git a/wecat/src/main/release/AndroidManifest.xml b/rn/src/main/release/AndroidManifest.xml
similarity index 56%
rename from wecat/src/main/release/AndroidManifest.xml
rename to rn/src/main/release/AndroidManifest.xml
index c05c119..b9208ff 100644
--- a/wecat/src/main/release/AndroidManifest.xml
+++ b/rn/src/main/release/AndroidManifest.xml
@@ -1,8 +1,8 @@
-
-
+
-
+
diff --git a/wecat/src/main/res/layout/fragment_wecat_main.xml b/rn/src/main/res/layout/fragment_wecat_main.xml
similarity index 100%
rename from wecat/src/main/res/layout/fragment_wecat_main.xml
rename to rn/src/main/res/layout/fragment_wecat_main.xml
diff --git a/rn/src/main/res/values/strings.xml b/rn/src/main/res/values/strings.xml
new file mode 100644
index 0000000..8dc98ed
--- /dev/null
+++ b/rn/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ rn
+
diff --git a/wecat/src/test/java/com/dhc/flyabbit/wecat/ExampleUnitTest.java b/rn/src/test/java/com/dhc/flyabbit/rn/ExampleUnitTest.java
similarity index 100%
rename from wecat/src/test/java/com/dhc/flyabbit/wecat/ExampleUnitTest.java
rename to rn/src/test/java/com/dhc/flyabbit/rn/ExampleUnitTest.java
diff --git a/settings.gradle b/settings.gradle
index 8c0a554..9dae897 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1 @@
-include ':app', ':library', ':home', ':my', ':girls'
+include ':app', ':library', ':home', ':my', ':girls','rn'
diff --git a/version.gradle b/version.gradle
index 313e69b..c190bb5 100644
--- a/version.gradle
+++ b/version.gradle
@@ -4,8 +4,8 @@ ext {
compileSdkVersion : 25,
buildToolsVersion : "26.0.0",
- minSdkVersion : 15,
- targetSdkVersion : 24,
+ minSdkVersion : 16,
+ targetSdkVersion : 23,
versionCode : 1,
versionName : '1.0.0',
@@ -32,7 +32,6 @@ ext {
VLeakcanary : "1.5",
//other
- VFlycoDialog_Lib : "1.3.2@aar",
VFragmentation : "0.10.4",
VLogger : "1.15",
VEventbus : "3.0.0",
@@ -48,6 +47,7 @@ ext {
//ui
VBaseAdapterHelper : "2.9.27",
VUltraPtr : "1.0.11",
+ VFlycoDialog_Lib : "1.3.2@aar",
VFlycoTabLayout_Lib : "2.1.2@aar",
VBanner : "1.4.9",
VOverscrollDecorAndroid: "1.0.4",
diff --git a/wecat/.gitignore b/wecat/.gitignore
deleted file mode 100644
index 796b96d..0000000
--- a/wecat/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/wecat/src/main/java/com/dhc/flyabbit/wecat/WecatFragment.java b/wecat/src/main/java/com/dhc/flyabbit/wecat/WecatFragment.java
deleted file mode 100644
index 7f6de23..0000000
--- a/wecat/src/main/java/com/dhc/flyabbit/wecat/WecatFragment.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.dhc.flyabbit.wecat;
-
-import android.os.Bundle;
-import android.view.View;
-
-import com.dhc.library.OnBackToFirstListener;
-import com.dhc.library.base.BaseFragment;
-import com.dhc.library.base.XDaggerFragment;
-import com.dhc.library.bean.ToolBarOptions;
-
-/**
- * 创建者:邓浩宸
- * 时间 :2017/6/30 0030 上午 10:23
- * 描述 :TODO 请描述该类职责
- */
-
-public class WecatFragment extends XDaggerFragment {
-
- protected OnBackToFirstListener _mBackToFirstListener;
-
-
- public static WecatFragment newInstance() {
- WecatFragment fragment = new WecatFragment();
- return fragment;
- }
-
- @Override
- protected int getLayoutId() {
- return R.layout.fragment_wecat_main;
- }
-
- @Override
- protected void initEventAndData(View view) {
- BaseFragment baseFragment = (BaseFragment) getParentFragment();
- if (baseFragment instanceof OnBackToFirstListener) {
- _mBackToFirstListener = (OnBackToFirstListener) baseFragment;
- }
- initTitle();
- }
-
- @Override
- public void initInject(Bundle savedInstanceState) {
-
- }
-
- private void initTitle() {
- ToolBarOptions options = new ToolBarOptions()
- .isNeedNavigate(false).titleString("微信精选");
- setToolBar(R.id.toolbar, options);
- }
- /**
- * 处理回退事件
- *
- * @return
- */
- @Override
- public boolean onBackPressedSupport() {
- if (getChildFragmentManager().getBackStackEntryCount() > 1) {
- popChild();
- } else {
- if (_mBackToFirstListener != null) {
- _mBackToFirstListener.onBackToFirstFragment();
- } else {
- _mActivity.finish();
- }
- }
- return true;
- }
-}
diff --git a/wecat/src/main/res/values/strings.xml b/wecat/src/main/res/values/strings.xml
deleted file mode 100644
index 38cc46c..0000000
--- a/wecat/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
- wecat
-