diff --git a/.eslintrc b/.eslintrc
new file mode 100755
index 0000000000..78d122d954
--- /dev/null
+++ b/.eslintrc
@@ -0,0 +1,5 @@
+{
+ "globals": {
+ "AMap": true
+ }
+}
diff --git a/.gitignore b/.gitignore
index a5542c8ad0..c5dea2def4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -67,3 +67,92 @@ jspm_packages/
lib/
.DS_Store
+public
+.cache/redirects.json
+.cache/redux.state
+.cache/caches/gatsby-transformer-remark/diskstore-0b12f383a1ce9a8cdbb2a4f52cf8af84.json
+.cache/caches/gatsby-transformer-remark/diskstore-1ea0cd3c8f491f1774b8edd1ce38b1f9.json
+.cache/caches/gatsby-transformer-remark/diskstore-2b8cd1df4f8a6941bff4108301b5d6a9.json
+.cache/caches/gatsby-transformer-remark/diskstore-2c713f7ba9a30ac45cbadf6d86d5d544.json
+.cache/caches/gatsby-transformer-remark/diskstore-2e9a5d11bfbd9e331e877b0e013a0ab8.json
+.cache/caches/gatsby-transformer-remark/diskstore-03f70e3c5a52291e52b331e3d35900a4.json
+.cache/caches/gatsby-transformer-remark/diskstore-5a894e6dcf41aaf38dcfe7c4ef24bb6c.json
+.cache/caches/gatsby-transformer-remark/diskstore-5aa0c32748bae2a74e08828fed4fd3a6.json
+.cache/caches/gatsby-transformer-remark/diskstore-5be2deb5db771c62d6348aacc8798213.json
+.cache/caches/gatsby-transformer-remark/diskstore-5ce457da6f1384d2d0a1c8d65aa7035f.json
+.cache/caches/gatsby-transformer-remark/diskstore-5e29728bfdb977a2a740b90f7e81c026.json
+.cache/caches/gatsby-transformer-remark/diskstore-6e44d9bde57e425196c802f385c59145.json
+.cache/caches/gatsby-transformer-remark/diskstore-7c691ebc8b681ec76a0dd2b62e2186ba.json
+.cache/caches/gatsby-transformer-remark/diskstore-8a657829abac5ed5e9e205e519d6ded0.json
+.cache/caches/gatsby-transformer-remark/diskstore-8c6f6648e48a1e25d0879cba52c6f15c.json
+.cache/caches/gatsby-transformer-remark/diskstore-9a6db7a621d98f2e40fca942ffec8d7f.json
+.cache/caches/gatsby-transformer-remark/diskstore-09be3cfc8fb53b393e594e000fb9c3c4.json
+.cache/caches/gatsby-transformer-remark/diskstore-9ea0254de64dbc01eafc57f7dafb6400.json
+.cache/caches/gatsby-transformer-remark/diskstore-9fb8c242123b7f40762c92122bacea8e.json
+.cache/caches/gatsby-transformer-remark/diskstore-31a80985ee546abb7aa91ce454986fb1.json
+.cache/caches/gatsby-transformer-remark/diskstore-34caa57442541fb555e65adf766c9dbf.json
+.cache/caches/gatsby-transformer-remark/diskstore-35f1e3ed2504889557819cd85f730da3.json
+.cache/caches/gatsby-transformer-remark/diskstore-51d0f3b693c1d063f395570395293fb4.json
+.cache/caches/gatsby-transformer-remark/diskstore-60ffaa0253ce67428f5a7e31a4a0bad1.json
+.cache/caches/gatsby-transformer-remark/diskstore-61c1d71d82d9e8cb724bc675e994ee07.json
+.cache/caches/gatsby-transformer-remark/diskstore-62ff8f6ebb8d87c110d712e03f9a98e9.json
+.cache/caches/gatsby-transformer-remark/diskstore-63f86e913288c0406ba43ec83f25684f.json
+.cache/caches/gatsby-transformer-remark/diskstore-97cfab1e1ad583ea0fa987b5c84f159c.json
+.cache/caches/gatsby-transformer-remark/diskstore-314bc0cb54aa930a49cfb58df8b50ffa.json
+.cache/caches/gatsby-transformer-remark/diskstore-335fc52df6558698584a4c58a93133dc.json
+.cache/caches/gatsby-transformer-remark/diskstore-468b5bae8ef758f28811323986a026ca.json
+.cache/caches/gatsby-transformer-remark/diskstore-479f7412bfaf2ad395f176418584631a.json
+.cache/caches/gatsby-transformer-remark/diskstore-509da604a7cd9c41a31392dd15cfd143.json
+.cache/caches/gatsby-transformer-remark/diskstore-833c6a9868536cc7f0ee995069745bd6.json
+.cache/caches/gatsby-transformer-remark/diskstore-3240b72791cdbb0de473bd7b0fc3f4a3.json
+.cache/caches/gatsby-transformer-remark/diskstore-4959c881d2fccc57dea5cba657223041.json
+.cache/caches/gatsby-transformer-remark/diskstore-6195db1b342fb1235a247e18694e1cc8.json
+.cache/caches/gatsby-transformer-remark/diskstore-8152d0a6832522eb79f34eecc5e89cd4.json
+.cache/caches/gatsby-transformer-remark/diskstore-9429c44d730cc08b4b28804d3d7d5a2c.json
+.cache/caches/gatsby-transformer-remark/diskstore-19012e1f6f28c599baa0778f3e002c21.json
+.cache/caches/gatsby-transformer-remark/diskstore-20649dc8fd4cdde49b1d9ea0c26371b2.json
+.cache/caches/gatsby-transformer-remark/diskstore-96374eabb69d89610d3ad583e7ef7bfc.json
+.cache/caches/gatsby-transformer-remark/diskstore-164252f91872bc33e77d29eb616fafa1.json
+.cache/caches/gatsby-transformer-remark/diskstore-419766453a3a10f392d412948ad4520a.json
+.cache/caches/gatsby-transformer-remark/diskstore-2763556052b3406bbcf4532fe8fa5d4e.json
+.cache/caches/gatsby-transformer-remark/diskstore-a9a7598872d374acd56469ecbe4a84da.json
+.cache/caches/gatsby-transformer-remark/diskstore-a7725b15bd64a40f9d4d5eb35340b314.json
+.cache/caches/gatsby-transformer-remark/diskstore-aae05a37d5dbc73377131a3df8a830bd.json
+.cache/caches/gatsby-transformer-remark/diskstore-b0407a444ef8acb3f4819a2fd00c5ae3.json
+.cache/caches/gatsby-transformer-remark/diskstore-b923ecb39dc7dd6f4752bf9bbf5c94da.json
+.cache/caches/gatsby-transformer-remark/diskstore-b089023713dde4294665d832c48ccd63.json
+.cache/caches/gatsby-transformer-remark/diskstore-bbdcb1122dc2a86aef4134f4c5c42dc1.json
+.cache/caches/gatsby-transformer-remark/diskstore-bd3cd1387f798ad20e18475f0929f324.json
+.cache/caches/gatsby-transformer-remark/diskstore-be4a0f00b712d152c6b7536968d29cef.json
+.cache/caches/gatsby-transformer-remark/diskstore-bea1dfafb379b4e5e4393814eff70f54.json
+.cache/caches/gatsby-transformer-remark/diskstore-bee012580db1a2e5f57e03421caf971f.json
+.cache/caches/gatsby-transformer-remark/diskstore-bf54f7f5282b043f03b2a3733bdac4f3.json
+.cache/caches/gatsby-transformer-remark/diskstore-bf0995ffe3e44d36b50e8f808495c563.json
+.cache/caches/gatsby-transformer-remark/diskstore-bf3648bcc8f9d552a4439069ae408fad.json
+.cache/caches/gatsby-transformer-remark/diskstore-c32f0608dadae224d91a44d7bb4b66db.json
+.cache/caches/gatsby-transformer-remark/diskstore-c320ffacf9b8eef3d92229d6a1a70d96.json
+.cache/caches/gatsby-transformer-remark/diskstore-ca2fb97dfd9c7f243ca223efc08ffba5.json
+.cache/caches/gatsby-transformer-remark/diskstore-ca3867e16d821cfd8579d7b29582e0b8.json
+.cache/caches/gatsby-transformer-remark/diskstore-cbe5331f7cf63c058404726cdea224c2.json
+.cache/caches/gatsby-transformer-remark/diskstore-cc83f0f387424948934f22053503ed85.json
+.cache/caches/gatsby-transformer-remark/diskstore-d0b48925fc35a486d2edcefd379a8067.json
+.cache/caches/gatsby-transformer-remark/diskstore-d2b3f82b0a8e66040aa810a8958afe0d.json
+.cache/caches/gatsby-transformer-remark/diskstore-d4b28ce0015b79c52ff804a21a129aa0.json
+.cache/caches/gatsby-transformer-remark/diskstore-d41ece99b0e508f70b31a8152b25f8a5.json
+.cache/caches/gatsby-transformer-remark/diskstore-db5d13902d2d007ceff5537b4ca04b11.json
+.cache/caches/gatsby-transformer-remark/diskstore-dc1901f7f1baf243df1556f52717b2ba.json
+.cache/caches/gatsby-transformer-remark/diskstore-ddc1db31dfe2bcb6d2040bce323f5828.json
+.cache/caches/gatsby-transformer-remark/diskstore-df75817e83ad0a2f79b98ce42e6056a8.json
+.cache/caches/gatsby-transformer-remark/diskstore-e49d5822f90847d686ab7ed05c412e0b.json
+.cache/caches/gatsby-transformer-remark/diskstore-e2145ab61e30e98413fb69c2f3d5098f.json
+.cache/caches/gatsby-transformer-remark/diskstore-e8067f3515dcae00ea981c2733ca40cb.json
+.cache/caches/gatsby-transformer-remark/diskstore-e72135977ad05cc3007997a59f58e7ed.json
+.cache/caches/gatsby-transformer-remark/diskstore-ec259f9adac459854ebecf9375d97a8d.json
+.cache/caches/gatsby-transformer-remark/diskstore-ee0df53bccbd3ad6e6ad1b28c1331ca4.json
+.cache/caches/gatsby-transformer-remark/diskstore-f5cfa5aac1b0651a071bc0b0f90efa3c.json
+.cache/caches/gatsby-transformer-remark/diskstore-f9c2ec20398ba84a7058c3475b4845c3.json
+.cache/caches/gatsby-transformer-remark/diskstore-f250d30e0f7c9f0380924fbf1033efc3.json
+.cache/caches/gatsby-transformer-remark/diskstore-fb18e835921f3dc32ae5b74bdfb36220.json
+.cache/caches/gatsby-transformer-remark/diskstore-fbddf0de549e59cfa8bf242898a85984.json
+.cache/caches/gatsby-transformer-remark/diskstore-feb74fcce830febf6919bf3857a7765f.json
+.cache/caches/gatsby-transformer-remark/diskstore-fffb15ec8285c18963c880046e7fccce.json
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000000..c9a6c1bda8
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1,4 @@
+sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
+phantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs/
+electron_mirror=https://npm.taobao.org/mirrors/electron/
+registry=https://registry.npm.taobao.org
diff --git a/.storybook/addons.ts b/.storybook/addons.ts
index b5cbcc0466..06915d6e12 100644
--- a/.storybook/addons.ts
+++ b/.storybook/addons.ts
@@ -1,3 +1,3 @@
import '@storybook/addon-actions/register';
import '@storybook/addon-notes/register';
-import '@storybook/addon-storysource/register';
\ No newline at end of file
+import '@storybook/addon-storysource/register';
diff --git a/README.md b/README.md
index 5a1c9b9362..a034d6c866 100644
--- a/README.md
+++ b/README.md
@@ -23,6 +23,13 @@ yarn storybook
yarn commit
```
+## view doc example
+
+```bash
+ npm start
+```
+visit http://localhost:8000/
+
## Add Package
创建一个新的 package:
@@ -43,4 +50,4 @@ yarn workspaces run add lodash
将 typescript 设置为 root 的开发依赖
```bash
yarn add -W -D typescript jest
-```
\ No newline at end of file
+```
diff --git a/babel.config.js b/babel.config.js
index 0c7267bf38..b4f13b79e8 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -1,7 +1,21 @@
// @see https://babeljs.io/docs/en/next/config-files#project-wide-configuration
module.exports = (api) => {
- api.cache(true);
-
+ api.cache(() => process.env.NODE_ENV);
+ if(api.env("site")) { //
+ return {
+ "presets": [
+ [
+ "@babel/preset-env",
+ {
+ "loose": true,
+ "modules": false
+ }
+ ],
+ '@babel/preset-react',
+ "babel-preset-gatsby"
+ ]
+ };
+ }
return {
presets: [
[
diff --git a/dev-docs/TAA.md b/dev-docs/TAA.md
index 466f16660d..d0ceb98bd5 100644
--- a/dev-docs/TAA.md
+++ b/dev-docs/TAA.md
@@ -71,7 +71,7 @@ this.cameraService.jitterProjectionMatrix(
useFramebuffer(this.outputRenderTarget, () => {
this.blendModel.draw({
uniforms: {
- u_Opacity: layerStyleOptions.opacity || 1,
+ u_opacity: layerStyleOptions.opacity || 1,
u_MixRatio: this.frame === 0 ? 1 : 0.9,
u_Diffuse1: this.sampleRenderTarget,
u_Diffuse2:
@@ -115,4 +115,4 @@ layer.multiPassRenderer.getPostProcessor().render(layer);
* 「Three.js - TAA example」[🔗](https://threejs.org/examples/#webgl_postprocessing_taa)
* 「Paper - Amortized Supersampling」[🔗](http://hhoppe.com/supersample.pdf)
* 「GDC - Temporal Reprojection Anti-Aliasing in INSIDE」[🔗](http://twvideo01.ubm-us.net/o1/vault/gdc2016/Presentations/Pedersen_LasseJonFuglsang_TemporalReprojectionAntiAliasing.pdf)
-* 「知乎 - 低差异序列(一)- 常见序列的定义及性质」[🔗](https://zhuanlan.zhihu.com/p/20197323)
\ No newline at end of file
+* 「知乎 - 低差异序列(一)- 常见序列的定义及性质」[🔗](https://zhuanlan.zhihu.com/p/20197323)
diff --git a/docs/API/L7.md b/docs/API/L7.md
new file mode 100644
index 0000000000..ee73dd9e10
--- /dev/null
+++ b/docs/API/L7.md
@@ -0,0 +1,6 @@
+---
+title: 简介
+order: 0
+redirect_from:
+ - /zh/docs/API
+---
diff --git a/docs/API/Scene.md b/docs/API/Scene.md
new file mode 100644
index 0000000000..345f9e5dc7
--- /dev/null
+++ b/docs/API/Scene.md
@@ -0,0 +1,321 @@
+---
+title: Scene
+order: 1
+---
+
+## 简介
+`Scene `基础的地图类,提供地图创建,图层创建,管理等功能
+
+示例代码
+
+```javascript
+import {Scene} from '@l7/scene';
+const scene =new L7.Scene({
+ id:'map',
+ mapStyle:'dark',
+ center:[ 110.770672, 34.159869 ],
+ pitch:45
+})
+```
+
+
+### 构造函数
+
+**Scene**
支持两种实例化方式
+
+- 独立实例化 内部根据id自动穿件地图实例
+- 传入地图实例
+
+
+
+
+
+#### 独立实例化 Scene
+
+```javascript
+const scene = new L7.Scene({
+ id: 'map',
+ mapStyle: 'dark',
+ center: [ 120.19382669582967, 30.258134 ],
+ pitch: 0,
+ zoom: 12,
+ maxZoom:20,
+ minZoom:0,
+});
+```
+
+
+#### 根据map 实例创建Sence
+
+_L7 基于高德地图3D模式开发的,因此传入Map实例 __viewModes需要设置成3d_
_
+```javascript
+var mapinstance = new AMap.Map('map',{
+ center: [ 120.19382669582967, 30.258134 ],
+ viewMode: '3D',
+ pitch: 0,
+ zoom: 12,
+ maxZoom:20,
+ minZoom:0,
+ });
+
+const scene = new L7.Scene({
+ mapStyle: 'dark',
+ map:mapinstance
+});
+```
+
+
+## map
+L7 在scene 下保留了高德地图实例,可以通过scene.map 调用高德地图的map方法。
map 实例方法见[高德地图文档](https://lbs.amap.com/api/javascript-api/reference/map)
+
+```javascript
+scene.map
+```
+
+
+## 构造类
+
+### PointLayer
+新建点图层
+
+### PolylineLayer
+新建线图层
+
+### PolygonLayer
+新建面图层
+
+### ImageLayer
+新建图片图层
+
+
+## 配置项
+
+### id
+需传入 dom 容器或者容器 id {domObject || string} [必选]
+
+
+### zoom
+地图初始显示级别 {number} (0-22)
+
+### center
+地图初始中心经纬度 {Lnglat}
+
+### pitch
+地图初始俯仰角度 {number} default 0
+
+### mapSyle
+地图样式 {style} 目前仅支持高德地图。 default 'dark'
L7 内置三种种默认地图样式 dark | light|blank 空地图
+
+设置地图的显示样式,目前支持两种地图样式:
第一种:自定义地图样式,如`"amap://styles/d6bf8c1d69cea9f5c696185ad4ac4c86"`
可前往[地图自定义平台](https://lbs.amap.com/dev/mapstyle/index)定制自己的个性地图样式;
第二种:官方样式模版,如`"amap://styles/grey"`。
其他模版样式及自定义地图的使用说明见[开发指南](https://lbs.amap.com/api/javascript-api/guide/create-map/mapstye/)
+
+
+### minZoom
+地图最小缩放等级 {number} default 0 (0-22)
+
+### maxZoom
+地图最大缩放等级 {number} default 22 (0-22)
+
+### rotateEnable
+地图是否可旋转 {Boolean} default true
+
+
+
+
+## 方法
+
+### getZoom
+获取当前缩放等级
+
+```javascript
+scene.getZoom();
+```
+
+return {float} 当前缩放等级
+
+### getLayers()
+获取所有的地图图层
+```javascript
+scene.getLayers();
+```
+
+return 图层数组 {Array}
+
+
+### getCenter()
+获取地图中心点
+```javascript
+scene.getCenter()
+```
+
+return {Lnglat} :地图中心点
+
+### getSize()
+获取地图容器大小
+```javascript
+scene.getSize()
+```
+return { Object } 地图容器的 width,height
+
+### getPitch()
+获取地图俯仰角
+```javascript
+scene.getPitch();
+```
+
+return {number} pitch
+
+### setCenter()
+设置地图中心点坐标
+
+```javascript
+scene.setCenter([lng,lat])
+```
+
+参数:`center` {LngLat} 地图中心点
+
+
+### setZoomAndCenter
+设置地图等级和中心
+```javascript
+scene.setZoomAndCenter(zoom,center)
+```
+
+参数:zoom {number}
center {LngLat}
+
+
+### setRotation
+设置地图顺时针旋转角度,旋转原点为地图容器中心点,取值范围 [0-360]
+```javascript
+scene.setRotation(rotation)
+```
+
+参数: `rotation` {number}
+
+### zoomIn
+地图放大一级
+```javascript
+scene.zoomIn()
+```
+
+### zoomOut
+地图缩小一级
+```javascript
+scene.ZoomOUt()
+```
+
+### panTo
+地图平移到指定的位置
+```javascript
+scene.panTo(LngLat)
+```
+
+参数:`center` LngLat 中心位置坐标
+
+### panBy
+以像素为单位沿X方向和Y方向移动地图
+```javascript
+scene.panBy(x,y)
+```
+参数:
`x` {number} 水平方向移动像素 向右为正方向
`y` {number} 垂直方向移动像素 向下为正方向
+
+
+### setPitch
+设置地图仰俯角度
+```javascript
+scene.setPitch(pitch)
+```
+
+参数 :
`pitch` {number}
+
+###
+
+### setStatus
+设置当前地图显示状态,包括是否可鼠标拖拽移动地图、地图是否可缩放、地图是否可旋转(rotateEnable)、是否可双击放大地图、是否可以通过键盘控制地图旋转(keyboardEnable)等
+
+```javascript
+ scene.setStatus({
+ dragEnable: true,
+ keyboardEnable: true,
+ doubleClickZoom: true,
+ zoomEnable: true,
+ rotateEnable: true
+ });
+```
+
+
+### fitBounds
+地图缩放到某个范围内
参数 :
`extent` { array} 经纬度范围 [minlng,minlat,maxlng,maxlat]
+
+```javascript
+scene.fitBounds([112,32,114,35]);
+```
+
+
+
+### removeLayer
+移除layer
+
+```javascript
+scene.removeLayer(layer)
+```
+
+参数
`layer` {Layer}
+
+### getLayers
+ 获取所有的layer
+
+```javascript
+scene.getLayers()
+```
+
+return layers {array}
+
+## 事件
+
+
+### on
+事件监听
+
+#### 参数
+`eventName` {string} 事件名
`hander` {function } 事件回调函数
+
+
+### off
+移除事件监听
`eventName` {string} 事件名
`hander` {function } 事件回调函数
+
+
+### 地图事件
+```javascript
+scene.on('loaded',()=>{}) //地图加载完成触发
+scene.on('mapmove',()=>{}) // 地图平移时触发事件
+scene.on('movestart',()=>{}) // 地图平移开始时触发
+scene.on('moveend',()=>{}) // 地图移动结束后触发,包括平移,以及中心点变化的缩放。如地图有拖拽缓动效果,则在缓动结束后触发
+scene.on('zoomchange',()=>{}) // 地图缩放级别更改后触发
+scene.on('zoomstart',()=>{}) // 缩放开始时触发
+scene.on('zoomend',()=>{}) // 缩放停止时触发
+```
+
+
+### 鼠标事件
+
+```javascript
+scene.on('click', (ev)=>{}); // 鼠标左键点击事件
+scene.on('dblclick', (ev)=>{}); // 鼠标左键双击事件
+scene.on('mousemove', (ev)=>{}); // 鼠标在地图上移动时触发
+scene.on('mousewheel', (ev)=>{}); // 鼠标滚轮开始缩放地图时触发
+scene.on('mouseover', (ev)=>{}); // 鼠标移入地图容器内时触发
+scene.on('mouseout', (ev)=>{}); // 鼠标移出地图容器时触发
+scene.on('mouseup', (ev)=>{}); // 鼠标在地图上单击抬起时触发
+scene.on('mousedown', (ev)=>{}); // 鼠标在地图上单击按下时触发
+scene.on('rightclick', (ev)=>{}); // 鼠标右键单击事件
+scene.on('dragstart', (ev)=>{}); //开始拖拽地图时触发
+scene.on('dragging', (ev)=>{}); // 拖拽地图过程中触发
+scene.on('dragend', (ev)=>{}); //停止拖拽地图时触发。如地图有拖拽缓动效果,则在拽停止,缓动开始前触发
+```
+
+### 其它事件
+```javascript
+scene.on('resize',()=>{}) // 地图容器大小改变事件
+```
+
+
diff --git a/docs/API/component/control.md b/docs/API/component/control.md
new file mode 100644
index 0000000000..e5884f012e
--- /dev/null
+++ b/docs/API/component/control.md
@@ -0,0 +1,137 @@
+---
+title: 地图组件
+order: 1
+---
+# control
+
+地图组件 用于控制地图的状态如果平移,缩放,或者展示地图一些的辅助信息如图例,比例尺
+
+
+## 构造函数
+
+```javascript
+const baseControl = new L7.Control.Base(option);
+```
+
+
+#### option
+ position: `string` 控件位置支持是个方位 `bottomright, topright, bottomleft, topleft`
+
+
+#### scene 内置地图组件
+zoom 地图放大缩小 默认添加
Scale 地图比例尺 默认添加
attribution 地图数据属性 默认添加
layer 图层列表
+
+**scene配置项设置控件添加状态**
+
+```javascript
+scene = new L7.scene({
+ zoomControl: true,
+ scaleControl: true,
+ attributionControl: true
+})
+```
+
+####
+
+#### Zoom
+放大缩小组件 默认 左上角
+
+```javascript
+ new L7.Control.Zoom({
+ position: 'topleft'
+ }).addTo(scene);
+```
+
+
+#### Scale
+比例尺组件默认左下角
+
+```javascript
+ new L7.Control.Scale({
+ position: 'bottomleft'
+ }).addTo(scene);
+```
+
+
+#### attribution
+默认右下角
+
+```javascript
+new L7.Control.Attribution({
+ position: 'bottomleft'
+ }).addTo(scene);
+```
+
+
+#### layer
+图层列表目前只支持可视化overlayers 图层控制
+
+```javascript
+ var overlayers = {
+ "围栏填充": layer,
+ "围栏边界": layer2
+ };
+new L7.Control.Layers({
+ overlayers: overlayers
+}).addTo(scene);
+```
+
+
+## 方法
+
+#### onAdd
+组件添加到地图Scene时调用,自定义组件时需要实现此方法
+
+
+#### addTo
+添加到地图scene
+
+```javascript
+control.addTo(scene);
+```
+
+
+#### setPosition
+设置组件位置
+
+```javascript
+control.setPosition('bottomright');
+```
+
+
+#### remove
+移除地图组件
+
+```javascript
+control.remove();
+```
+
+
+
+## 示例代码
+
+
+#### 自定义图例控件
+[源码](https://antv.alipay.com/zh-cn/l7/1.x/demo/component/extendControl.html)
+
+```javascript
+var legend = new L7.Control.Base({
+ position: 'bottomright'
+ });
+ legend.onAdd = function() {
+ var el = document.createElement('div');
+ el.className = 'infolegend legend';
+ var grades = [0, 8, 15, 30, 65, 120];
+ for (var i = 0; i < grades.length; i++) {
+ el.innerHTML += ' ' + grades[i] + (grades[i + 1] ? '–' + grades[i + 1] + '
' : '+');
+ }
+ return el;
+ };
+ legend.addTo(scene);
+
+```
+
+##
+
+## FAQ
+
diff --git a/docs/API/component/marker.md b/docs/API/component/marker.md
new file mode 100644
index 0000000000..23758ac090
--- /dev/null
+++ b/docs/API/component/marker.md
@@ -0,0 +1,83 @@
+---
+title: 地图标注
+order: 0
+---
+
+Marker 地图标注 目前只支持2D dom标注
+
+
+## 构造函数
+Marker
`const Marker = new L7.Marker(option)`
+
+
+#### option
+
+- color `string ` ![map-marker.png](https://cdn.nlark.com/yuque/0/2019/png/104251/1566814628445-4f3152c8-71d1-4908-a651-246c17e507b5.png#align=left&display=inline&height=32&name=map-marker.png&originHeight=32&originWidth=32&size=635&status=done&width=32) 设置默认marker的颜色
+- element `Dom|string` 自定义marker Dom节点,可以是dom实例,也可以是dom id
+- anchor `string` 锚点位置 支持 center, top, top-left, top-right, bottom, bottom-left,bottom- right,left, right
+- offset `Array` 偏移量 [ 0, 0 ] 分别表示 X, Y 的偏移量
+
+
+## 方法
+
+#### setLnglat
+设置marker经纬度位置
+
+#### addTo
+将marker添加到地图Scene
+
+#### remove
+移除marker
+
+#### getElement
+获取marker dom Element
+
+#### getLngLat
+获取marker经纬度坐标
+
+#### togglePopup
+开启或者关闭marker弹出框
+
+#### setPopup
+为marker设置popup
+
+#### getPopup
+获取marker弹出框
+
+
+## 示例代码
+
+#### 默认Marker
+**
` const marker = new L7.Marker({color:'blue'})`
+
+
+#### 自定义Marker
+
+```javascript
+var el = document.createElement('label');
+ el.className = 'lableclass';
+ el.textContent = data[i].v;
+ el.style.background = getColor(data[i].v);
+ new L7.Marker({
+ element: el
+ })
+ .setLnglat([data[i].x * 1, data[i].y])
+ .addTo(scene);
+```
+
+
+#### 设置 popup
+
+```javascript
+ var popup = new L7.Popup({
+ anchor: 'left'
+ }).setText(item.name);
+
+new L7.Marker({
+ element: el
+}).setLnglat(item.coordinates)
+ .setPopup(popup)
+ .addTo(scene);
+```
+
+
diff --git a/docs/API/component/popup.md b/docs/API/component/popup.md
new file mode 100644
index 0000000000..3d2c0cf7a3
--- /dev/null
+++ b/docs/API/component/popup.md
@@ -0,0 +1,92 @@
+---
+title: 地图信息框
+order: 0
+---
+# popup
+
+地图标注信息窗口,用于展示地图要素的属性信息
+
+
+## 构造函数
+Popup
+
+```javascript
+const popup = new L7.Popup(option)
+```
+
+
+#### option
+
+- closeButton
+- closeOnClick
+- maxWidth
+- anchor
+
+
+## 方法
+
+#### setLnglat
+设置popup的经纬度位置
**参数**:lnglat 经纬度数组 [112,32]
+
+```javascript
+popup.setLnglat([112, 32]);
+```
+
+
+#### addTo
+**参数**:scene 地图scene实例
+
+将popup添加到地图scene显示
+
+```javascript
+popup.addTo(scene);
+```
+
+
+#### setHtml
+**参数**:html 字符串
+
+设置popup html 内容
+
+```javascript
+var html = '
\u7701\u4EFD\uFF1A' + feature.s + '
\n \u5730\u533A\uFF1A' + feature.m + '
\n \u6E29\u5EA6\uFF1A' + feature.t + '
\n ';
+popup.setHtml(html);
+
+```
+
+
+#### setText
+设置 popup 显示文本内容
+
+```javascript
+popup.setText('hello world');
+```
+
+
+#### remove
+移除popup
+
+```javascript
+popup.remove()
+```
+
+
+## 事件
+
+#### close
+
+```javascript
+popup.on('close',()=>{})
+```
+
+
+## 示例代码
+
+#### 添加popup
+
+```
+ var html = ''+feature.m+'
';
+ const new L7.Popup().setLnglat([112, 32]).setHTML(html).addTo(scene);
+```
+
+### FAQ
diff --git a/docs/manual/tutorial/data.md b/docs/manual/tutorial/data.md
new file mode 100644
index 0000000000..01c98b4fc2
--- /dev/null
+++ b/docs/manual/tutorial/data.md
@@ -0,0 +1,65 @@
+---
+title: 数据
+order: 1
+---
+
+## 数据
+
+目前L7支持的数据格式有GeoJson,CSV,JSon Image
+
+GeoJSON 支持点、线、面,等所有的空间数据格式。
CSV 支持,点,线段,弧线的支持。
JSON 支持简单的点、线,面,不支持多点,多线的,多面数据格式。
+
+
+## GeoJSON
+
+> GeoJSON是一种对各种地理数据结构进行编码的格式。GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面几何类型:点、线、面、多点、多线、多面和几何集合。GeoJSON里的特征包含一个几何对象和其他属性,特征集合表示一系列特征。
+
+
+
+```json
+{
+ "type": "FeatureCollection",
+ "features": [
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 110.478515625,
+ 32.76880048488168
+ ],
+ [
+ 117.68554687499999,
+ 32.76880048488168
+ ],
+ [
+ 117.68554687499999,
+ 37.64903402157866
+ ],
+ [
+ 110.478515625,
+ 37.64903402157866
+ ],
+ [
+ 110.478515625,
+ 32.76880048488168
+ ]
+ ]
+ ]
+ }
+ }
+ ]
+}
+```
+
+## 地理统计分析工具
+[turfjs](http://turfjs.org/): 地理数据计算,处理,统计,分析的Javascript 库
+
+## 在线工具
+
+[http://geojson.io/](http://geojson.io/) 可以在线查看,绘制,修改GeoJSON数据
+
+[https://mapshaper.org/](https://mapshaper.org/) 可以查看较大的geojson,还能够简化GeoJSON数据
diff --git a/docs/manual/tutorial/quickStart.md b/docs/manual/tutorial/quickStart.md
new file mode 100644
index 0000000000..c503ca42b4
--- /dev/null
+++ b/docs/manual/tutorial/quickStart.md
@@ -0,0 +1,8 @@
+---
+title: 快速上手
+order: 0
+redirect_from:
+ - /zh/docs/tutorial
+---
+
+内容
diff --git a/docs/specification/introduction.md b/docs/specification/introduction.md
new file mode 100644
index 0000000000..b29f7d15d3
--- /dev/null
+++ b/docs/specification/introduction.md
@@ -0,0 +1,7 @@
+---
+title: 简介
+order: 1
+redirect_from:
+ - /zh/docs/specification
+---
+L7 地理空间可视化设计语言
diff --git a/examples/data/basic/demo/line.js b/examples/data/basic/demo/line.js
new file mode 100644
index 0000000000..288f28b1dd
--- /dev/null
+++ b/examples/data/basic/demo/line.js
@@ -0,0 +1,39 @@
+import { Scene } from '@l7/scene';
+import { LineLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'mapbox',
+ style: 'light',
+ center: [102.602992, 23.107329],
+ zoom: 13,
+});
+
+fetch('https://gw.alipayobjects.com/os/rmsportal/ZVfOvhVCzwBkISNsuKCc.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new LineLayer({
+ })
+ .source(data)
+ .size(1)
+ .shape('line')
+ .color(
+ 'ELEV',
+ [
+ '#E8FCFF',
+ '#CFF6FF',
+ '#A1E9ff',
+ '#65CEF7',
+ '#3CB1F0',
+ '#2894E0',
+ '#1772c2',
+ '#105CB3',
+ '#0D408C',
+ '#002466',
+ ].reverse(),
+ )
+ scene.addLayer(layer);
+ console.log(layer);
+
+ });
diff --git a/examples/data/basic/demo/meta.json b/examples/data/basic/demo/meta.json
new file mode 100644
index 0000000000..42812b23e6
--- /dev/null
+++ b/examples/data/basic/demo/meta.json
@@ -0,0 +1,13 @@
+{
+ "title": {
+ "zh": "图库",
+ "en": "Gallery"
+ },
+ "demos": [
+ {
+ "filename": "line.js",
+ "title": "线图层",
+ "screenshot": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*KCyXTJrePiYAAAAAAAAAAABkARQnAQ"
+ }
+ ]
+}
diff --git a/examples/data/basic/index.zh.md b/examples/data/basic/index.zh.md
new file mode 100644
index 0000000000..a005c7b254
--- /dev/null
+++ b/examples/data/basic/index.zh.md
@@ -0,0 +1,4 @@
+---
+title: 数据
+order: 0
+---
diff --git a/examples/gallery/basic/demo/line.js b/examples/gallery/basic/demo/line.js
new file mode 100644
index 0000000000..288f28b1dd
--- /dev/null
+++ b/examples/gallery/basic/demo/line.js
@@ -0,0 +1,39 @@
+import { Scene } from '@l7/scene';
+import { LineLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'mapbox',
+ style: 'light',
+ center: [102.602992, 23.107329],
+ zoom: 13,
+});
+
+fetch('https://gw.alipayobjects.com/os/rmsportal/ZVfOvhVCzwBkISNsuKCc.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new LineLayer({
+ })
+ .source(data)
+ .size(1)
+ .shape('line')
+ .color(
+ 'ELEV',
+ [
+ '#E8FCFF',
+ '#CFF6FF',
+ '#A1E9ff',
+ '#65CEF7',
+ '#3CB1F0',
+ '#2894E0',
+ '#1772c2',
+ '#105CB3',
+ '#0D408C',
+ '#002466',
+ ].reverse(),
+ )
+ scene.addLayer(layer);
+ console.log(layer);
+
+ });
diff --git a/examples/gallery/basic/demo/meta.json b/examples/gallery/basic/demo/meta.json
new file mode 100644
index 0000000000..42812b23e6
--- /dev/null
+++ b/examples/gallery/basic/demo/meta.json
@@ -0,0 +1,13 @@
+{
+ "title": {
+ "zh": "图库",
+ "en": "Gallery"
+ },
+ "demos": [
+ {
+ "filename": "line.js",
+ "title": "线图层",
+ "screenshot": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*KCyXTJrePiYAAAAAAAAAAABkARQnAQ"
+ }
+ ]
+}
diff --git a/examples/gallery/basic/index.zh.md b/examples/gallery/basic/index.zh.md
new file mode 100644
index 0000000000..a8885a5a95
--- /dev/null
+++ b/examples/gallery/basic/index.zh.md
@@ -0,0 +1,4 @@
+---
+title: Gallery
+order: 0
+---
diff --git a/examples/heatmap/basic/demo/grid.js b/examples/heatmap/basic/demo/grid.js
new file mode 100644
index 0000000000..8c272874ca
--- /dev/null
+++ b/examples/heatmap/basic/demo/grid.js
@@ -0,0 +1,55 @@
+import { Scene } from '@l7/scene';
+import { HeatMapGridLayer } from '@l7/layers';
+const scene = new Scene({
+ id: 'map',
+ style: 'light',
+ pitch: 0,
+ center: [116.49434030056, 39.868073421167621],
+ type: 'amap',
+ zoom: 16,
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/c3f8bda2-081b-449d-aa9f-9413b779205b.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new HeatMapGridLayer({
+ })
+ .source(data, {
+ parser: {
+ type: 'json',
+ x: 'lng',
+ y: 'lat',
+ },
+ transforms: [
+ {
+ type: 'grid',
+ size: 50,
+ field: 'count',
+ method: 'sum',
+ },
+ ],
+ })
+ .size('sum', (value) => {
+ return value;
+ })
+ .shape('square')
+ .style({
+ coverage: 0.8,
+ angle: 0,
+ opacity: 0.6,
+ })
+ .color('count', [
+ '#002466',
+ '#105CB3',
+ '#2894E0',
+ '#CFF6FF',
+ '#FFF5B8',
+ '#FFAB5C',
+ '#F27049',
+ '#730D1C',
+ ]);
+ scene.addLayer(layer);
+
+
+ });
diff --git a/examples/heatmap/basic/demo/meta.json b/examples/heatmap/basic/demo/meta.json
new file mode 100644
index 0000000000..5c63ae78a9
--- /dev/null
+++ b/examples/heatmap/basic/demo/meta.json
@@ -0,0 +1,16 @@
+{
+ "title": {
+ "zh": "网格热力图",
+ "en": "heatmap"
+ },
+ "demos": [
+ {
+ "filename": "grid.js",
+ "title": "网格热力图"
+ },
+ {
+ "filename": "world.js",
+ "title": "世界电厂热力图"
+ }
+ ]
+}
diff --git a/examples/heatmap/basic/demo/world.js b/examples/heatmap/basic/demo/world.js
new file mode 100644
index 0000000000..120597aa68
--- /dev/null
+++ b/examples/heatmap/basic/demo/world.js
@@ -0,0 +1,53 @@
+import { Scene } from '@l7/scene';
+import { HeatMapGridLayer } from '@l7/layers';
+const scene = new Scene({
+ id: 'map',
+ style: 'light',
+ pitch: 0,
+ center: [116.49434030056, 39.868073421167621],
+ type: 'amap',
+ zoom: 3,
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/337ddbb7-aa3f-4679-ab60-d64359241955.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new HeatMapGridLayer({
+ })
+ .source(data, {
+ transforms: [
+ {
+ type: 'grid',
+ size: 100000,
+ field: 'capacity',
+ method: 'sum',
+ },
+ ],
+ })
+ .size('sum', (value) => {
+ return value;
+ })
+ .scale('sum',{
+ type:'quantile',
+ })
+ .shape('square')
+ .style({
+ coverage: 1,
+ angle: 0,
+ opacity: 1.0,
+ })
+ .color('sum', [
+ '#002466',
+ '#105CB3',
+ '#2894E0',
+ '#CFF6FF',
+ '#FFF5B8',
+ '#FFAB5C',
+ '#F27049',
+ '#730D1C',
+ ]);
+ scene.addLayer(layer);
+
+
+ });
diff --git a/examples/heatmap/basic/index.zh.md b/examples/heatmap/basic/index.zh.md
new file mode 100644
index 0000000000..04b2d4a469
--- /dev/null
+++ b/examples/heatmap/basic/index.zh.md
@@ -0,0 +1,4 @@
+---
+title: 网格热力图
+order: 1
+---
diff --git a/examples/heatmap/heatmap/demo/grid.js b/examples/heatmap/heatmap/demo/grid.js
new file mode 100644
index 0000000000..8c272874ca
--- /dev/null
+++ b/examples/heatmap/heatmap/demo/grid.js
@@ -0,0 +1,55 @@
+import { Scene } from '@l7/scene';
+import { HeatMapGridLayer } from '@l7/layers';
+const scene = new Scene({
+ id: 'map',
+ style: 'light',
+ pitch: 0,
+ center: [116.49434030056, 39.868073421167621],
+ type: 'amap',
+ zoom: 16,
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/c3f8bda2-081b-449d-aa9f-9413b779205b.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new HeatMapGridLayer({
+ })
+ .source(data, {
+ parser: {
+ type: 'json',
+ x: 'lng',
+ y: 'lat',
+ },
+ transforms: [
+ {
+ type: 'grid',
+ size: 50,
+ field: 'count',
+ method: 'sum',
+ },
+ ],
+ })
+ .size('sum', (value) => {
+ return value;
+ })
+ .shape('square')
+ .style({
+ coverage: 0.8,
+ angle: 0,
+ opacity: 0.6,
+ })
+ .color('count', [
+ '#002466',
+ '#105CB3',
+ '#2894E0',
+ '#CFF6FF',
+ '#FFF5B8',
+ '#FFAB5C',
+ '#F27049',
+ '#730D1C',
+ ]);
+ scene.addLayer(layer);
+
+
+ });
diff --git a/examples/heatmap/heatmap/demo/meta.json b/examples/heatmap/heatmap/demo/meta.json
new file mode 100644
index 0000000000..5c63ae78a9
--- /dev/null
+++ b/examples/heatmap/heatmap/demo/meta.json
@@ -0,0 +1,16 @@
+{
+ "title": {
+ "zh": "网格热力图",
+ "en": "heatmap"
+ },
+ "demos": [
+ {
+ "filename": "grid.js",
+ "title": "网格热力图"
+ },
+ {
+ "filename": "world.js",
+ "title": "世界电厂热力图"
+ }
+ ]
+}
diff --git a/examples/heatmap/heatmap/demo/world.js b/examples/heatmap/heatmap/demo/world.js
new file mode 100644
index 0000000000..91a0f2c2f1
--- /dev/null
+++ b/examples/heatmap/heatmap/demo/world.js
@@ -0,0 +1,39 @@
+import { Scene } from '@l7/scene';
+import { HeatMapLayer } from '@l7/layers';
+const scene = new Scene({
+ id: 'map',
+ style: 'dark',
+ pitch: 0,
+ center: [116.49434030056, 39.868073421167621],
+ type: 'mapbox',
+ zoom: 3,
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/337ddbb7-aa3f-4679-ab60-d64359241955.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new HeatMapLayer({
+ })
+ .source(data)
+ .size('capacity', [0, 1]) // weight映射通道
+ .style({
+ intensity: 10,
+ radius: 5,
+ opacity: 1.0,
+ rampColors: {
+ colors: [
+ '#2E8AE6',
+ '#69D1AB',
+ '#DAF291',
+ '#FFD591',
+ '#FF7A45',
+ '#CF1D49',
+ ],
+ positions: [0,0.2, 0.4, 0.6, 0.8, 1.0],
+ },
+ });
+ scene.addLayer(layer);
+
+
+ });
diff --git a/examples/heatmap/heatmap/index.zh.md b/examples/heatmap/heatmap/index.zh.md
new file mode 100644
index 0000000000..bd8e98cbc4
--- /dev/null
+++ b/examples/heatmap/heatmap/index.zh.md
@@ -0,0 +1,4 @@
+---
+title: 热力图
+order: 0
+---
diff --git a/examples/line/arc/demo/arc.js b/examples/line/arc/demo/arc.js
new file mode 100644
index 0000000000..abc47e51cd
--- /dev/null
+++ b/examples/line/arc/demo/arc.js
@@ -0,0 +1,44 @@
+import { ArcLineLayer } from '@l7/layers';
+import { Scene } from '@l7/scene';
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'mapbox',
+ style: 'dark',
+ center: [102.602992, 23.107329],
+ zoom: 0,
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/b83699f9-a96d-49b8-b2ea-f99299faebaf.json')
+ .then((res) => res.json())
+ .then((data) => {
+
+ function getAirportCoord(idx) {
+ return [data.airports[idx][3], data.airports[idx][4]];
+ }
+ const routes = data.routes.map(function (airline) {
+ return {
+ coord: [
+ getAirportCoord(airline[1]),
+ getAirportCoord(airline[2])
+ ]
+ }
+ });
+
+ const layer =
+ new ArcLineLayer({})
+ .source(routes, {
+ parser: {
+ type: 'json',
+ coordinates: 'coord',
+ },
+ })
+ .size(0.6)
+ .shape('arc')
+ .color('rgb(5, 5, 50)')
+ .style({
+ opacity: 0.05,
+ })
+ ;
+ scene.addLayer(layer);
+ })
diff --git a/examples/line/arc/demo/arc3d.js b/examples/line/arc/demo/arc3d.js
new file mode 100644
index 0000000000..3a7dcb3650
--- /dev/null
+++ b/examples/line/arc/demo/arc3d.js
@@ -0,0 +1,34 @@
+import { Arc3DLineLayer } from '@l7/layers';
+import { Scene } from '@l7/scene';
+const scene = new Scene({
+ id: 'map',
+ pitch: 40,
+ type: 'amap',
+ style: 'dark',
+ center: [102.602992, 23.107329],
+ zoom: 3,
+});
+
+fetch('https://gw.alipayobjects.com/os/rmsportal/UEXQMifxtkQlYfChpPwT.txt')
+ .then((res) => res.text())
+ .then((data) => {
+ const layer =
+ new Arc3DLineLayer({})
+ .source(data, {
+ parser: {
+ type: 'csv',
+ x: 'lng1',
+ y: 'lat1',
+ x1: 'lng2',
+ y1: 'lat2',
+ },
+ })
+ .size(1)
+ .shape('arc')
+ .color('#1558AC')
+ .style({
+ opacity: 0.8,
+ })
+ ;
+ scene.addLayer(layer);
+ })
diff --git a/examples/line/arc/demo/arcCircle.js b/examples/line/arc/demo/arcCircle.js
new file mode 100644
index 0000000000..c141782c89
--- /dev/null
+++ b/examples/line/arc/demo/arcCircle.js
@@ -0,0 +1,35 @@
+import { Arc2DLineLayer } from '@l7/layers';
+import { Scene } from '@l7/scene';
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'dark',
+ center: [102.602992, 23.107329],
+ zoom: 2,
+});
+
+fetch('https://gw.alipayobjects.com/os/rmsportal/UEXQMifxtkQlYfChpPwT.txt')
+ .then((res) => res.text())
+ .then((data) => {
+ const layer =
+ new Arc2DLineLayer({})
+ .source(data, {
+ parser: {
+ type: 'csv',
+ x: 'lng1',
+ y: 'lat1',
+ x1: 'lng2',
+ y1: 'lat2',
+ },
+ })
+ .size(1)
+ .shape('arc')
+ .color('#113681')
+ .style({
+ opacity: 0.8,
+ blur: 0.99
+ })
+ ;
+ scene.addLayer(layer);
+ })
diff --git a/examples/line/arc/demo/meta.json b/examples/line/arc/demo/meta.json
new file mode 100644
index 0000000000..13f439dbaa
--- /dev/null
+++ b/examples/line/arc/demo/meta.json
@@ -0,0 +1,24 @@
+{
+ "title": {
+ "zh": "弧线",
+ "en": "line"
+ },
+ "demos": [
+
+ {
+ "filename": "arc3d.js",
+ "title": "3D弧线"
+
+ },
+ {
+ "filename": "arcCircle.js",
+ "title": "大圆弧线"
+
+ },
+ {
+ "filename": "arc.js",
+ "title": "弧线"
+
+ }
+ ]
+}
diff --git a/examples/line/arc/index.zh.md b/examples/line/arc/index.zh.md
new file mode 100644
index 0000000000..d606493acc
--- /dev/null
+++ b/examples/line/arc/index.zh.md
@@ -0,0 +1,4 @@
+---
+title: 弧线
+order: 1
+---
diff --git a/examples/line/basic/demo/line.js b/examples/line/basic/demo/line.js
new file mode 100644
index 0000000000..5c8a4b2a80
--- /dev/null
+++ b/examples/line/basic/demo/line.js
@@ -0,0 +1,42 @@
+import { Scene } from '@l7/scene';
+import { LineLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'light',
+ center: [102.602992, 23.107329],
+ zoom: 14,
+});
+
+fetch('https://gw.alipayobjects.com/os/rmsportal/ZVfOvhVCzwBkISNsuKCc.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new LineLayer({
+ })
+ .source(data)
+ .size('ELEV', (h) => {
+ return h % 50 === 0 ? 1.0 : 0.5;
+ })
+ .shape('line')
+ .scale('ELEV', {
+ type: 'quantize'
+ })
+ .color(
+ 'ELEV',
+ [ '#E4682F',
+ '#FF8752',
+ '#FFA783',
+ '#FFBEA8',
+ '#FFDCD6',
+ '#EEF3FF',
+ '#C8D7F5',
+ '#A5C1FC',
+ '#7FA7F9',
+ '#5F8AE5' ].reverse()
+ )
+ scene.addLayer(layer);
+ console.log(layer);
+
+ });
diff --git a/examples/line/basic/demo/line2.js b/examples/line/basic/demo/line2.js
new file mode 100644
index 0000000000..9049913700
--- /dev/null
+++ b/examples/line/basic/demo/line2.js
@@ -0,0 +1,28 @@
+import { Scene } from '@l7/scene';
+import { LineLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'light',
+ center: [102.602992, 23.107329],
+ zoom: 4,
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/9f6afbcd-3aec-4a26-bd4a-2276d3439e0d.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new LineLayer({
+ })
+ .source(data)
+ .scale('value',{
+ type: 'quantile'
+ })
+ .size('value', [0.5, 1, 1.5, 2])
+ .shape('line')
+ .color('value', ['#FFF2E8', '#FFCEA7', '#F0A66C', '#CC464B', '#8A191A'])
+ scene.addLayer(layer);
+ console.log(layer);
+
+ });
diff --git a/examples/line/basic/demo/meta.json b/examples/line/basic/demo/meta.json
new file mode 100644
index 0000000000..ac88d09d2f
--- /dev/null
+++ b/examples/line/basic/demo/meta.json
@@ -0,0 +1,20 @@
+{
+ "title": {
+ "zh": "线图层",
+ "en": "line"
+ },
+ "demos": [
+ {
+ "filename": "path.js",
+ "title": "路径"
+ },
+ {
+ "filename": "line.js",
+ "title": "等高线"
+ },
+ {
+ "filename": "line2.js",
+ "title": "等值线"
+ }
+ ]
+}
diff --git a/examples/line/basic/demo/path.js b/examples/line/basic/demo/path.js
new file mode 100644
index 0000000000..5558c7bd11
--- /dev/null
+++ b/examples/line/basic/demo/path.js
@@ -0,0 +1,28 @@
+import { Scene } from '@l7/scene';
+import { LineLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'light',
+ center: [120.2336, 30.2002],
+ zoom: 15,
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/65e9cebb-8063-45e7-b18f-727da84e9908.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new LineLayer({
+ })
+ .source(data)
+ .size(1.5)
+ .shape('line')
+ .color(
+ 'name',
+ ['#5B8FF9','#5CCEA1','#7B320A' ]
+ )
+ scene.addLayer(layer);
+ console.log(layer);
+
+ });
diff --git a/examples/line/basic/index.zh.md b/examples/line/basic/index.zh.md
new file mode 100644
index 0000000000..f7c0846dd7
--- /dev/null
+++ b/examples/line/basic/index.zh.md
@@ -0,0 +1,4 @@
+---
+title: 路径
+order: 0
+---
diff --git a/examples/line/dash/demo/line.js b/examples/line/dash/demo/line.js
new file mode 100644
index 0000000000..c06857cc8f
--- /dev/null
+++ b/examples/line/dash/demo/line.js
@@ -0,0 +1,44 @@
+import { Scene } from '@l7/scene';
+import { DashLineLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'light',
+ center: [102.602992, 23.107329],
+ zoom: 14,
+});
+
+fetch('https://gw.alipayobjects.com/os/rmsportal/ZVfOvhVCzwBkISNsuKCc.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new DashLineLayer({
+ })
+ .source(data)
+ .size('ELEV', (h) => {
+ return h % 50 === 0 ? 1.0 : 0.5;
+ })
+ .shape('line')
+ .scale('ELEV', {
+ type: 'quantize'
+ })
+ .color(
+ 'ELEV',
+ [ '#E4682F',
+ '#FF8752',
+ '#FFA783',
+ '#FFBEA8',
+ '#FFDCD6',
+ '#EEF3FF',
+ '#C8D7F5',
+ '#A5C1FC',
+ '#7FA7F9',
+ '#5F8AE5' ].reverse()
+ ).style({
+ dashArray:[10, 1],
+ })
+ scene.addLayer(layer);
+ console.log(layer);
+
+ });
diff --git a/examples/line/dash/demo/line2.js b/examples/line/dash/demo/line2.js
new file mode 100644
index 0000000000..6f02472e56
--- /dev/null
+++ b/examples/line/dash/demo/line2.js
@@ -0,0 +1,28 @@
+import { Scene } from '@l7/scene';
+import { DashLineLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'light',
+ center: [102.602992, 23.107329],
+ zoom: 4,
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/9f6afbcd-3aec-4a26-bd4a-2276d3439e0d.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new DashLineLayer({
+ })
+ .source(data)
+ .scale('value',{
+ type: 'quantile'
+ })
+ .size('value', [0.5, 1, 1.5, 2])
+ .shape('line')
+ .color('value', ['#FFF2E8', '#FFCEA7', '#F0A66C', '#CC464B', '#8A191A'])
+ scene.addLayer(layer);
+ console.log(layer);
+
+ });
diff --git a/examples/line/dash/demo/meta.json b/examples/line/dash/demo/meta.json
new file mode 100644
index 0000000000..ac88d09d2f
--- /dev/null
+++ b/examples/line/dash/demo/meta.json
@@ -0,0 +1,20 @@
+{
+ "title": {
+ "zh": "线图层",
+ "en": "line"
+ },
+ "demos": [
+ {
+ "filename": "path.js",
+ "title": "路径"
+ },
+ {
+ "filename": "line.js",
+ "title": "等高线"
+ },
+ {
+ "filename": "line2.js",
+ "title": "等值线"
+ }
+ ]
+}
diff --git a/examples/line/dash/demo/path.js b/examples/line/dash/demo/path.js
new file mode 100644
index 0000000000..a61fd36f91
--- /dev/null
+++ b/examples/line/dash/demo/path.js
@@ -0,0 +1,96 @@
+import { Scene } from '@l7/scene';
+import { DashLineLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'light',
+ center: [120.2336, 30.2002],
+ zoom: 3,
+});
+const lineData ={
+ "type": "FeatureCollection",
+ "features": [
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ 102.98583984374999,
+ 37.666429212090605
+ ],
+ [
+ 111.33544921874999,
+ 37.23032838760387
+ ],
+ [
+ 111.24755859375,
+ 34.92197103616377
+ ],
+ [
+ 98.15185546874999,
+ 35.44277092585766
+ ],
+ [
+ 98.701171875,
+ 41.09591205639546
+ ],
+ [
+ 100.5908203125,
+ 41.0130657870063
+ ],
+ [
+ 101.09619140625,
+ 41.0130657870063
+ ],
+ [
+ 101.689453125,
+ 41.0130657870063
+ ],
+ [
+ 102.26074218749999,
+ 41.0130657870063
+ ],
+ [
+ 102.26074218749999,
+ 40.58058466412761
+ ],
+ [
+ 102.23876953125,
+ 40.329795743702064
+ ],
+ [
+ 102.23876953125,
+ 39.977120098439634
+ ],
+ [
+ 102.26074218749999,
+ 40.212440718286466
+ ],
+ [
+ 102.48046875,
+ 39.87601941962116
+ ]
+ ]
+ }
+ }
+ ]
+};
+fetch('https://gw.alipayobjects.com/os/basement_prod/65e9cebb-8063-45e7-b18f-727da84e9908.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new DashLineLayer({
+ })
+ .source(lineData)
+ .size(1.5)
+ .shape('line')
+ .color(
+ '#5B8FF9'
+ )
+ scene.addLayer(layer);
+ console.log(layer);
+
+ });
diff --git a/examples/line/dash/index.zh.md b/examples/line/dash/index.zh.md
new file mode 100644
index 0000000000..5b28db9bce
--- /dev/null
+++ b/examples/line/dash/index.zh.md
@@ -0,0 +1,4 @@
+---
+title: 虚线
+order: 0
+---
diff --git a/examples/marker/basic/demo/line.js b/examples/marker/basic/demo/line.js
new file mode 100644
index 0000000000..288f28b1dd
--- /dev/null
+++ b/examples/marker/basic/demo/line.js
@@ -0,0 +1,39 @@
+import { Scene } from '@l7/scene';
+import { LineLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'mapbox',
+ style: 'light',
+ center: [102.602992, 23.107329],
+ zoom: 13,
+});
+
+fetch('https://gw.alipayobjects.com/os/rmsportal/ZVfOvhVCzwBkISNsuKCc.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new LineLayer({
+ })
+ .source(data)
+ .size(1)
+ .shape('line')
+ .color(
+ 'ELEV',
+ [
+ '#E8FCFF',
+ '#CFF6FF',
+ '#A1E9ff',
+ '#65CEF7',
+ '#3CB1F0',
+ '#2894E0',
+ '#1772c2',
+ '#105CB3',
+ '#0D408C',
+ '#002466',
+ ].reverse(),
+ )
+ scene.addLayer(layer);
+ console.log(layer);
+
+ });
diff --git a/examples/marker/basic/demo/meta.json b/examples/marker/basic/demo/meta.json
new file mode 100644
index 0000000000..42812b23e6
--- /dev/null
+++ b/examples/marker/basic/demo/meta.json
@@ -0,0 +1,13 @@
+{
+ "title": {
+ "zh": "图库",
+ "en": "Gallery"
+ },
+ "demos": [
+ {
+ "filename": "line.js",
+ "title": "线图层",
+ "screenshot": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*KCyXTJrePiYAAAAAAAAAAABkARQnAQ"
+ }
+ ]
+}
diff --git a/examples/marker/basic/index.zh.md b/examples/marker/basic/index.zh.md
new file mode 100644
index 0000000000..fc36b3a35a
--- /dev/null
+++ b/examples/marker/basic/index.zh.md
@@ -0,0 +1,4 @@
+---
+title: 标注
+order: 0
+---
diff --git a/examples/point/basic/demo/color.js b/examples/point/basic/demo/color.js
new file mode 100644
index 0000000000..e370f77fc9
--- /dev/null
+++ b/examples/point/basic/demo/color.js
@@ -0,0 +1,39 @@
+import { Scene } from '@l7/scene';
+import { PointLayer, PointImageLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'light',
+ center: [121.40, 31.258134],
+ zoom: 15,
+ minZoom: 10
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/893d1d5f-11d9-45f3-8322-ee9140d288ae.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const pointLayer =
+ new PointLayer({
+ })
+ .source(data, {
+ parser: {
+ type: 'json',
+ x: 'longitude',
+ y: 'latitude'
+ }
+ }).shape('circle')
+ .size('unit_price', [5, 25])
+ .color('#5B8FF9')
+ .style({
+ opacity: 0.3,
+ strokeWidth: 1,
+ strokeColor: "#5B8FF9",
+
+ })
+
+ scene.addLayer(pointLayer);
+
+ });
+
+
diff --git a/examples/point/basic/demo/meta.json b/examples/point/basic/demo/meta.json
new file mode 100644
index 0000000000..d435544d66
--- /dev/null
+++ b/examples/point/basic/demo/meta.json
@@ -0,0 +1,18 @@
+{
+ "title": {
+ "zh": "中文分类",
+ "en": "Category"
+ },
+ "demos": [
+ {
+ "filename": "point.js",
+ "title": "气泡图"
+
+ },
+ {
+ "filename": "world.js",
+ "title": "气泡图 - 电厂装机量"
+
+ }
+ ]
+}
diff --git a/examples/point/basic/demo/point.js b/examples/point/basic/demo/point.js
new file mode 100644
index 0000000000..e8cb87d3b8
--- /dev/null
+++ b/examples/point/basic/demo/point.js
@@ -0,0 +1,37 @@
+import { Scene } from '@l7/scene';
+import { PointLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'light',
+ center: [121.40, 31.258134],
+ zoom: 15,
+
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/893d1d5f-11d9-45f3-8322-ee9140d288ae.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const pointLayer =
+ new PointLayer({
+ })
+ .source(data, {
+ parser: {
+ type: 'json',
+ x: 'longitude',
+ y: 'latitude'
+ }
+ }).shape('circle')
+ .size('unit_price', [5, 25])
+ .color('name',['#49B5AD', "#5B8FF9"])
+ .style({
+ opacity: 0.3,
+ strokeWidth: 1,
+ })
+
+ scene.addLayer(pointLayer);
+
+ });
+
+
diff --git a/examples/point/basic/demo/world.js b/examples/point/basic/demo/world.js
new file mode 100644
index 0000000000..4a659c95cb
--- /dev/null
+++ b/examples/point/basic/demo/world.js
@@ -0,0 +1,32 @@
+import { Scene } from '@l7/scene';
+import { PointLayer, PointImageLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'mapbox',
+ style: 'dark',
+ center: [121.40, 31.258134],
+ zoom: 1,
+ maxZoom: 10
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/337ddbb7-aa3f-4679-ab60-d64359241955.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const pointLayer =
+ new PointLayer({
+ })
+ .source(data).shape('circle')
+ .size('capacity', [0, 20])
+ .color('status', ['#ced1cc','#ffc83e','#ff8767','#dd54b6','#a45edb'])
+ .style({
+ opacity: 0.3,
+ strokeWidth: 1,
+
+ })
+
+ scene.addLayer(pointLayer);
+
+ });
+
+
diff --git a/examples/point/basic/index.zh.md b/examples/point/basic/index.zh.md
new file mode 100644
index 0000000000..28816f38db
--- /dev/null
+++ b/examples/point/basic/index.zh.md
@@ -0,0 +1,6 @@
+---
+title: 气泡图
+order: 0
+redirect_from:
+ - /zh/examples
+---
diff --git a/examples/point/image/demo/image.js b/examples/point/image/demo/image.js
new file mode 100644
index 0000000000..c108b9cd7f
--- /dev/null
+++ b/examples/point/image/demo/image.js
@@ -0,0 +1,41 @@
+import { Scene } from '@l7/scene';
+import { PointImageLayer } from '@l7/layers'
+console.log(this);
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'light',
+ center: [121.40, 31.258134],
+ zoom: 15,
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/893d1d5f-11d9-45f3-8322-ee9140d288ae.json')
+ .then((res) => res.json())
+ .then((data) => {
+ scene.addImage(
+ '00',
+ 'https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*Rq6tQ5b4_JMAAAAAAAAAAABkARQnAQ',
+ );
+ scene.addImage(
+ '01',
+ 'https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*0D0SQ6AgkRMAAAAAAAAAAABkARQnAQ',
+ );
+ scene.addImage(
+ '02',
+ 'https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*o16fSIvcKdUAAAAAAAAAAABkARQnAQ',
+ );
+ const imageLayer = new PointImageLayer()
+ .source(data, {
+ parser: {
+ type: 'json',
+ x: 'longitude',
+ y: 'latitude'
+ }
+ })
+ .shape('name', ['00', '01','02'])
+ .size(20);
+ scene.addLayer(imageLayer);
+ });
+
+
diff --git a/examples/point/image/demo/meta.json b/examples/point/image/demo/meta.json
new file mode 100644
index 0000000000..63fdd2f8ef
--- /dev/null
+++ b/examples/point/image/demo/meta.json
@@ -0,0 +1,13 @@
+{
+ "title": {
+ "zh": "中文分类",
+ "en": "Category"
+ },
+ "demos": [
+ {
+ "filename": "point.js",
+ "title": "气泡图",
+ "screenshot": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*KCyXTJrePiYAAAAAAAAAAABkARQnAQ"
+ }
+ ]
+}
diff --git a/examples/point/image/demo/size.js b/examples/point/image/demo/size.js
new file mode 100644
index 0000000000..e1932a3a46
--- /dev/null
+++ b/examples/point/image/demo/size.js
@@ -0,0 +1,41 @@
+import { Scene } from '@l7/scene';
+import { PointImageLayer } from '@l7/layers'
+console.log(this);
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'light',
+ center: [121.40, 31.258134],
+ zoom: 15,
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/893d1d5f-11d9-45f3-8322-ee9140d288ae.json')
+ .then((res) => res.json())
+ .then((data) => {
+ scene.addImage(
+ '00',
+ 'https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*Rq6tQ5b4_JMAAAAAAAAAAABkARQnAQ',
+ );
+ scene.addImage(
+ '01',
+ 'https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*0D0SQ6AgkRMAAAAAAAAAAABkARQnAQ',
+ );
+ scene.addImage(
+ '02',
+ 'https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*o16fSIvcKdUAAAAAAAAAAABkARQnAQ',
+ );
+ const imageLayer = new PointImageLayer()
+ .source(data, {
+ parser: {
+ type: 'json',
+ x: 'longitude',
+ y: 'latitude'
+ }
+ })
+ .shape('name', ['00', '01','02'])
+ .size('unit_price', [30, 100])
+ scene.addLayer(imageLayer);
+ });
+
+
diff --git a/examples/point/image/index.zh.md b/examples/point/image/index.zh.md
new file mode 100644
index 0000000000..338e947362
--- /dev/null
+++ b/examples/point/image/index.zh.md
@@ -0,0 +1,4 @@
+---
+title: 符号图
+order: 1
+---
diff --git a/examples/polygon/basic/demo/meta.json b/examples/polygon/basic/demo/meta.json
new file mode 100644
index 0000000000..be1f983bc0
--- /dev/null
+++ b/examples/polygon/basic/demo/meta.json
@@ -0,0 +1,13 @@
+{
+ "title": {
+ "zh": "中文分类",
+ "en": "Category"
+ },
+ "demos": [
+ {
+ "filename": "point.js",
+ "title": "面图层",
+ "screenshot": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*KCyXTJrePiYAAAAAAAAAAABkARQnAQ"
+ }
+ ]
+}
diff --git a/examples/polygon/basic/demo/polygon.js b/examples/polygon/basic/demo/polygon.js
new file mode 100644
index 0000000000..241c844e12
--- /dev/null
+++ b/examples/polygon/basic/demo/polygon.js
@@ -0,0 +1,26 @@
+import { Scene } from '@l7/scene';
+import { PolygonLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'light',
+ center: [121.40, 31.258134],
+ zoom: 3,
+});
+
+fetch('https://gw.alipayobjects.com/os/rmsportal/JToMOWvicvJOISZFCkEI.json')
+ .then((res) => res.json())
+ .then((data) => {
+ var colors = ["#D7F9F0", "#A6E1E0", "#72BED6", "#5B8FF9", "#3474DB", "#005CBE",'#00419F','#00287E'];
+ const layer =
+ new PolygonLayer({
+ })
+ .source(data)
+ .color('name', colors).shape('fill')
+ .style({
+ opacity: 0.9
+ }).render();
+ scene.addLayer(layer);
+ console.log(layer);
+ });
diff --git a/examples/polygon/basic/index.zh.md b/examples/polygon/basic/index.zh.md
new file mode 100644
index 0000000000..3e98b0b14c
--- /dev/null
+++ b/examples/polygon/basic/index.zh.md
@@ -0,0 +1,6 @@
+---
+title: 面图层
+order: 0
+redirect_from:
+ - /zh/examples
+---
diff --git a/examples/raster/basic/demo/line.js b/examples/raster/basic/demo/line.js
new file mode 100644
index 0000000000..288f28b1dd
--- /dev/null
+++ b/examples/raster/basic/demo/line.js
@@ -0,0 +1,39 @@
+import { Scene } from '@l7/scene';
+import { LineLayer } from '@l7/layers'
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'mapbox',
+ style: 'light',
+ center: [102.602992, 23.107329],
+ zoom: 13,
+});
+
+fetch('https://gw.alipayobjects.com/os/rmsportal/ZVfOvhVCzwBkISNsuKCc.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const layer =
+ new LineLayer({
+ })
+ .source(data)
+ .size(1)
+ .shape('line')
+ .color(
+ 'ELEV',
+ [
+ '#E8FCFF',
+ '#CFF6FF',
+ '#A1E9ff',
+ '#65CEF7',
+ '#3CB1F0',
+ '#2894E0',
+ '#1772c2',
+ '#105CB3',
+ '#0D408C',
+ '#002466',
+ ].reverse(),
+ )
+ scene.addLayer(layer);
+ console.log(layer);
+
+ });
diff --git a/examples/raster/basic/demo/meta.json b/examples/raster/basic/demo/meta.json
new file mode 100644
index 0000000000..42812b23e6
--- /dev/null
+++ b/examples/raster/basic/demo/meta.json
@@ -0,0 +1,13 @@
+{
+ "title": {
+ "zh": "图库",
+ "en": "Gallery"
+ },
+ "demos": [
+ {
+ "filename": "line.js",
+ "title": "线图层",
+ "screenshot": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*KCyXTJrePiYAAAAAAAAAAABkARQnAQ"
+ }
+ ]
+}
diff --git a/examples/raster/basic/index.zh.md b/examples/raster/basic/index.zh.md
new file mode 100644
index 0000000000..6147459f75
--- /dev/null
+++ b/examples/raster/basic/index.zh.md
@@ -0,0 +1,4 @@
+---
+title: 栅格图层
+order: 0
+---
diff --git a/examples/scene/basic/demo/amap.js b/examples/scene/basic/demo/amap.js
new file mode 100644
index 0000000000..fd49089062
--- /dev/null
+++ b/examples/scene/basic/demo/amap.js
@@ -0,0 +1,9 @@
+import { Scene } from '@l7/scene';
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'dark',
+ center: [121.40, 31.258134],
+ zoom: 5,
+});
diff --git a/examples/scene/basic/demo/mapbox.js b/examples/scene/basic/demo/mapbox.js
new file mode 100644
index 0000000000..ec57775e93
--- /dev/null
+++ b/examples/scene/basic/demo/mapbox.js
@@ -0,0 +1,10 @@
+import { Scene } from '@l7/scene';
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'mapbox',
+ style: 'light',
+ center: [ -97.119140625, 38.75408327579141],
+ zoom: 2,
+});
+
diff --git a/examples/scene/basic/demo/meta.json b/examples/scene/basic/demo/meta.json
new file mode 100644
index 0000000000..31bfd25527
--- /dev/null
+++ b/examples/scene/basic/demo/meta.json
@@ -0,0 +1,18 @@
+{
+ "title": {
+ "zh": "地图",
+ "en": "Category"
+ },
+ "demos": [
+ {
+ "filename": "amap.js",
+ "title": "高德底图",
+ "screenshot": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*KCyXTJrePiYAAAAAAAAAAABkARQnAQ"
+ },
+ {
+ "filename": "mapbox.js",
+ "title": "MapBox底图",
+ "screenshot": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*KCyXTJrePiYAAAAAAAAAAABkARQnAQ"
+ }
+ ]
+}
diff --git a/examples/scene/basic/index.zh.md b/examples/scene/basic/index.zh.md
new file mode 100644
index 0000000000..56c0e06be5
--- /dev/null
+++ b/examples/scene/basic/index.zh.md
@@ -0,0 +1,7 @@
+---
+title: 地图
+order: 0
+---
+初始 L7 地图实例
+
+
diff --git a/examples/scene/control/demo/amap.js b/examples/scene/control/demo/amap.js
new file mode 100644
index 0000000000..755717b16b
--- /dev/null
+++ b/examples/scene/control/demo/amap.js
@@ -0,0 +1,57 @@
+import { Scene } from '@l7/scene';
+import { PointLayer } from '@l7/layers'
+import { Scale, Zoom, Layers } from '@l7/component';
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'dark',
+ center: [121.40, 31.258134],
+ zoom: 5,
+});
+
+fetch('https://gw.alipayobjects.com/os/basement_prod/893d1d5f-11d9-45f3-8322-ee9140d288ae.json')
+ .then((res) => res.json())
+ .then((data) => {
+ const pointLayer =
+ new PointLayer({
+ })
+ .source(data, {
+ parser: {
+ type: 'json',
+ x: 'longitude',
+ y: 'latitude'
+ }
+ }).shape('circle')
+ .size('unit_price', [5, 25])
+ .color('name',['#49B5AD', "#5B8FF9"])
+ .style({
+ opacity: 0.3,
+ strokeWidth: 1,
+ })
+
+ scene.addLayer(pointLayer);
+ var overlayers = {
+ "围栏填充": pointLayer,
+ };
+ var baseLayers = {
+ "基础地图": pointLayer,
+ };
+ const layersControl = new Layers({
+ overlayers: overlayers,
+ baseLayers,
+ });
+
+ scene.addControl(layersControl);
+
+ });
+
+
+
+
+ const zoomControl = new Zoom();
+ const scaleControl = new Scale();
+
+ scene.addControl(zoomControl);
+ scene.addControl(scaleControl);
+
diff --git a/examples/scene/control/demo/mapbox.js b/examples/scene/control/demo/mapbox.js
new file mode 100644
index 0000000000..bf40cfda9a
--- /dev/null
+++ b/examples/scene/control/demo/mapbox.js
@@ -0,0 +1,17 @@
+import { Scene } from '@l7/scene';
+import { Scale, Zoom } from '@l7/component';
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'mapbox',
+ style: 'light',
+ center: [-97.119140625, 38.75408327579141],
+ zoom: 2,
+});
+
+const zoomControl = new Zoom();
+const scaleControl = new Scale();
+scene.addControl(zoomControl);
+scene.addControl(scaleControl);
+
+
diff --git a/examples/scene/control/demo/meta.json b/examples/scene/control/demo/meta.json
new file mode 100644
index 0000000000..d921629ac5
--- /dev/null
+++ b/examples/scene/control/demo/meta.json
@@ -0,0 +1,16 @@
+{
+ "title": {
+ "zh": "地图",
+ "en": "Category"
+ },
+ "demos": [
+ {
+ "filename": "amap.js",
+ "title": "高德底图组件",
+ },
+ {
+ "filename": "mapbox.js",
+ "title": "MapBox底图组件"
+ }
+ ]
+}
diff --git a/examples/scene/control/index.zh.md b/examples/scene/control/index.zh.md
new file mode 100644
index 0000000000..906aff7bdf
--- /dev/null
+++ b/examples/scene/control/index.zh.md
@@ -0,0 +1,6 @@
+---
+title: 组件
+order: 0
+---
+
+
diff --git a/examples/scene/map/demo/amap.js b/examples/scene/map/demo/amap.js
new file mode 100644
index 0000000000..3b0a7f4e01
--- /dev/null
+++ b/examples/scene/map/demo/amap.js
@@ -0,0 +1,9 @@
+import { Scene } from './node_modules/@l7/scene';
+const scene = new Scene({
+ id: 'map',
+ pitch: 0,
+ type: 'amap',
+ style: 'dark',
+ center: [121.40, 31.258134],
+ zoom: 5,
+});
diff --git a/gatsby-browser.js b/gatsby-browser.js
new file mode 100644
index 0000000000..db9bc98d23
--- /dev/null
+++ b/gatsby-browser.js
@@ -0,0 +1,5 @@
+import './packages/component/src/css/l7.css';
+window.scene = require('@l7/scene');
+window.layers= require('@l7/layers');
+window.component= require('@l7/component');
+
diff --git a/gatsby-config.js b/gatsby-config.js
new file mode 100644
index 0000000000..01e28a6eb0
--- /dev/null
+++ b/gatsby-config.js
@@ -0,0 +1,161 @@
+module.exports = {
+ plugins: [
+ {
+ resolve: '@antv/gatsby-theme-antv',
+ options: {
+ pathPrefix: '/gatsby-theme-antv',
+ },
+ },
+ ],
+ siteMetadata: {
+ title: 'L7',
+ description: 'Large-scale WebGL-powered Geospatial data visualization analysis framework',
+ githubUrl: 'https://github.com/antvis/antvis.github.io',
+ navs: [
+ {
+ slug: 'docs/specification',
+ title: {
+ zh: '设计语言',
+ en: 'Specification',
+ },
+ },
+ {
+ slug: 'docs/API',
+ title: {
+ zh: '文档',
+ en: 'document',
+ },
+ },
+ {
+ slug: 'docs/tutorial',
+ title: {
+ zh: '教程',
+ en: 'tutorial',
+ },
+ },
+ {
+ slug: 'examples',
+ title: {
+ zh: '图表演示',
+ en: 'Examples',
+ },
+ redirect: 'point/basic',
+ },
+ // target: '_blank',
+ ],
+ docs: [
+ {
+ slug: 'specification',
+ title: {
+ zh: '简介',
+ en: 'introduction',
+ },
+ },
+ {
+ slug: 'manual/tutorial',
+ title: {
+ zh: '教程',
+ en: 'tutorial',
+ },
+ },
+ {
+ slug: 'API/L7.md',
+ title: {
+ zh: '简介',
+ en: 'intro',
+ },
+ order:1,
+ },
+ {
+ slug: 'API/component',
+ title: {
+ zh: '组件',
+ en: 'Component',
+ },
+ order:1,
+ },
+ ],
+ examples: [
+ {
+ slug: 'gallery',
+ icon: 'gallery',
+ title: {
+ zh: 'Gallery',
+ en: 'Gallery',
+ },
+ },
+ {
+ slug: 'data',
+ icon: 'data',
+ title: {
+ zh: '数据源',
+ en: 'data',
+ },
+ },
+ {
+ slug: 'scene',
+ icon: 'map',
+ title: {
+ zh: '场景',
+ en: 'Scene',
+ },
+ },
+ {
+ slug: 'point',
+ icon: 'point',
+ title: {
+ zh: '点图层',
+ en: 'PointLayer',
+ },
+ },
+ {
+ slug: 'line',
+ icon: 'line',
+ title: {
+ zh: '线图层',
+ en: 'LineLayer',
+ },
+ },
+ {
+ slug: 'polygon',
+ icon: 'polygon',
+ title: {
+ zh: '面图层',
+ en: 'PolygonLayer',
+ },
+ },
+ {
+ slug: 'heatmap',
+ icon: 'heatmap',
+ title: {
+ zh: '热力图',
+ en: 'HeatMapLayer',
+ },
+ order:5,
+ },
+ {
+ slug: 'raster',
+ icon: 'raster',
+ title: {
+ zh: '栅格图层',
+ en: 'RasterLayer',
+ },
+ },
+ {
+ slug: 'marker',
+ icon: 'mapmarker',
+ title: {
+ zh: '标注',
+ en: 'Marker',
+ },
+ }
+ ],
+ exampleContainer: '',
+ playground: {
+ container: '',
+ playgroundDidMount: 'console.log("playgroundDidMount");',
+ playgroundWillUnmount: 'console.log("scene");',
+ },
+ },
+
+};
diff --git a/package-lock.json b/package-lock.json
index 0166f905d5..53e72fdffd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2,6 +2,124 @@
"requires": true,
"lockfileVersion": 1,
"dependencies": {
+ "@ant-design/colors": {
+ "version": "3.2.2",
+ "resolved": "http://r.cnpmjs.org/@ant-design/colors/download/@ant-design/colors-3.2.2.tgz",
+ "integrity": "sha1-WtQ9YZ6RHzSI66wwPWBuZqhCOQM=",
+ "dev": true,
+ "requires": {
+ "tinycolor2": "^1.4.1"
+ }
+ },
+ "@ant-design/create-react-context": {
+ "version": "0.2.4",
+ "resolved": "http://r.cnpmjs.org/@ant-design/create-react-context/download/@ant-design/create-react-context-0.2.4.tgz",
+ "integrity": "sha1-D+mtrQMDUMDJuylt1tz1qKNr1CU=",
+ "dev": true,
+ "requires": {
+ "gud": "^1.0.0",
+ "warning": "^4.0.3"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/warning/download/warning-4.0.3.tgz",
+ "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "@ant-design/icons": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/@ant-design/icons/download/@ant-design/icons-2.1.1.tgz",
+ "integrity": "sha1-e5wI3/1PXUHbZn2dvl4BB9C9mko=",
+ "dev": true
+ },
+ "@ant-design/icons-react": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/@ant-design/icons-react/download/@ant-design/icons-react-2.0.1.tgz",
+ "integrity": "sha1-F6JRNXGrMXrKKSfljOol3THlNvs=",
+ "dev": true,
+ "requires": {
+ "@ant-design/colors": "^3.1.0",
+ "babel-runtime": "^6.26.0"
+ }
+ },
+ "@antv/gatsby-theme-antv": {
+ "version": "0.9.7",
+ "resolved": "http://r.cnpmjs.org/@antv/gatsby-theme-antv/download/@antv/gatsby-theme-antv-0.9.7.tgz",
+ "integrity": "sha1-8GGWwKl2IiIviQCI0V/mcf1O1z4=",
+ "dev": true,
+ "requires": {
+ "@babel/plugin-transform-modules-umd": "^7.2.0",
+ "@babel/preset-env": "^7.6.3",
+ "@babel/preset-react": "^7.6.3",
+ "@babel/preset-typescript": "^7.6.0",
+ "@babel/standalone": "^7.6.4",
+ "@hot-loader/react-dom": "^16.9.0+4.12.11",
+ "antd": "^3.23.3",
+ "babel-preset-gatsby": "^0.2.13",
+ "classnames": "^2.2.6",
+ "codemirror": "^5.49.2",
+ "gatsby": "^2.15.16",
+ "gatsby-image": "^2.2.19",
+ "gatsby-plugin-antd": "^2.0.2",
+ "gatsby-plugin-catch-links": "^2.1.12",
+ "gatsby-plugin-copy-files": "^1.0.3",
+ "gatsby-plugin-google-analytics": "^2.1.16",
+ "gatsby-plugin-i18n": "^1.0.1",
+ "gatsby-plugin-layout": "^1.1.11",
+ "gatsby-plugin-less": "^3.0.6",
+ "gatsby-plugin-manifest": "^2.2.16",
+ "gatsby-plugin-meta-redirect": "^1.1.1",
+ "gatsby-plugin-nprogress": "^2.1.12",
+ "gatsby-plugin-offline": "^3.0.7",
+ "gatsby-plugin-page-creator": "^2.1.25",
+ "gatsby-plugin-react-helmet": "^3.1.7",
+ "gatsby-plugin-remove-trailing-slashes": "^2.1.9",
+ "gatsby-plugin-sharp": "^2.2.22",
+ "gatsby-plugin-typescript": "^2.1.8",
+ "gatsby-redirect-from": "^0.2.1",
+ "gatsby-remark-autolink-headers": "^2.1.13",
+ "gatsby-remark-external-links": "^0.0.4",
+ "gatsby-remark-prettier": "^1.0.0",
+ "gatsby-remark-prismjs": "^3.3.16",
+ "gatsby-remark-reading-time": "^1.0.1",
+ "gatsby-source-filesystem": "^2.1.22",
+ "gatsby-source-github": "^0.0.2",
+ "gatsby-transformer-remark": "^2.6.24",
+ "gatsby-transformer-sharp": "^2.2.14",
+ "i18next": "^19.0.0",
+ "less": "^3.10.3",
+ "lodash-es": "^4.17.15",
+ "mkdirp": "^0.5.1",
+ "moment": "^2.24.0",
+ "normalize.css": "^8.0.1",
+ "prettier": "^1.18.2",
+ "prism-themes": "^1.2.0",
+ "prismjs": "^1.17.1",
+ "ptz-i18n": "^1.0.0",
+ "rc-footer": "^0.5.0",
+ "react": "^16.9.0",
+ "react-codemirror2": "^6.0.0",
+ "react-dom": "^16.9.0",
+ "react-github-corner": "^2.3.0",
+ "react-helmet": "^5.2.1",
+ "react-i18next": "^11.0.0",
+ "typescript": "^3.6.3"
+ },
+ "dependencies": {
+ "typescript": {
+ "version": "3.6.4",
+ "resolved": "http://r.cnpmjs.org/typescript/download/typescript-3.6.4.tgz",
+ "integrity": "sha1-sYdSuzeSvBoCgTNff26/G7/FuR0=",
+ "dev": true
+ }
+ }
+ },
"@babel/cli": {
"version": "7.6.4",
"resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.6.4.tgz",
@@ -436,6 +554,15 @@
"@babel/helper-plugin-utils": "^7.0.0"
}
},
+ "@babel/plugin-syntax-class-properties": {
+ "version": "7.2.0",
+ "resolved": "http://r.cnpmjs.org/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.2.0.tgz",
+ "integrity": "sha1-I7O3ubzavXNnKpFJ9yjNO+YhSBI=",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
"@babel/plugin-syntax-decorators": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz",
@@ -917,6 +1044,24 @@
"regexpu-core": "^4.6.0"
}
},
+ "@babel/polyfill": {
+ "version": "7.6.0",
+ "resolved": "http://r.cnpmjs.org/@babel/polyfill/download/@babel/polyfill-7.6.0.tgz",
+ "integrity": "sha1-bYkgP4ts0yPo2Ubkd3TqNdwGGcw=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.6.5",
+ "regenerator-runtime": "^0.13.2"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.13.3",
+ "resolved": "http://r.cnpmjs.org/regenerator-runtime/download/regenerator-runtime-0.13.3.tgz",
+ "integrity": "sha1-fPanfY9cb2Drc8X8GVWyzrAea/U=",
+ "dev": true
+ }
+ }
+ },
"@babel/preset-env": {
"version": "7.6.3",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.3.tgz",
@@ -1025,6 +1170,12 @@
}
}
},
+ "@babel/standalone": {
+ "version": "7.6.4",
+ "resolved": "http://r.cnpmjs.org/@babel/standalone/download/@babel/standalone-7.6.4.tgz",
+ "integrity": "sha1-EGhnaPJ6pM5LWSe5eRd2c49ssOE=",
+ "dev": true
+ },
"@babel/template": {
"version": "7.6.0",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
@@ -1648,6 +1799,322 @@
}
}
},
+ "@gatsbyjs/relay-compiler": {
+ "version": "2.0.0-printer-fix.4",
+ "resolved": "http://r.cnpmjs.org/@gatsbyjs/relay-compiler/download/@gatsbyjs/relay-compiler-2.0.0-printer-fix.4.tgz",
+ "integrity": "sha1-SwautPLO6lh4tYMqLO0b/5q7Yr0=",
+ "dev": true,
+ "requires": {
+ "@babel/generator": "^7.0.0",
+ "@babel/parser": "^7.0.0",
+ "@babel/polyfill": "^7.0.0",
+ "@babel/runtime": "^7.0.0",
+ "@babel/traverse": "^7.0.0",
+ "@babel/types": "^7.0.0",
+ "babel-preset-fbjs": "^3.1.2",
+ "chalk": "^2.4.1",
+ "fast-glob": "^2.2.2",
+ "fb-watchman": "^2.0.0",
+ "fbjs": "^1.0.0",
+ "immutable": "~3.7.6",
+ "nullthrows": "^1.1.0",
+ "relay-runtime": "2.0.0",
+ "signedsource": "^1.0.0",
+ "yargs": "^9.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "http://r.cnpmjs.org/cliui/download/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "http://r.cnpmjs.org/string-width/download/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ },
+ "fbjs": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/fbjs/download/fbjs-1.0.0.tgz",
+ "integrity": "sha1-UsIV4Ig6PIavKnp3btUVJa6OClo=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.1",
+ "fbjs-css-vars": "^1.0.0",
+ "isomorphic-fetch": "^2.1.1",
+ "loose-envify": "^1.0.0",
+ "object-assign": "^4.1.0",
+ "promise": "^7.1.1",
+ "setimmediate": "^1.0.5",
+ "ua-parser-js": "^0.7.18"
+ }
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "http://r.cnpmjs.org/get-caller-file/download/get-caller-file-1.0.3.tgz",
+ "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=",
+ "dev": true
+ },
+ "immutable": {
+ "version": "3.7.6",
+ "resolved": "http://r.cnpmjs.org/immutable/download/immutable-3.7.6.tgz",
+ "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=",
+ "dev": true
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/load-json-file/download/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "mem": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/mem/download/mem-1.1.0.tgz",
+ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ }
+ },
+ "os-locale": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/os-locale/download/os-locale-2.1.0.tgz",
+ "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=",
+ "dev": true,
+ "requires": {
+ "execa": "^0.7.0",
+ "lcid": "^1.0.0",
+ "mem": "^1.1.0"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "http://r.cnpmjs.org/parse-json/download/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/path-type/download/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "requires": {
+ "pify": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/read-pkg/download/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ }
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/require-main-filename/download/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/string-width/download/string-width-2.1.1.tgz",
+ "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ },
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "http://r.cnpmjs.org/string-width/download/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "http://r.cnpmjs.org/y18n/download/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "9.0.1",
+ "resolved": "http://r.cnpmjs.org/yargs/download/yargs-9.0.1.tgz",
+ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^4.1.0",
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^2.0.0",
+ "read-pkg-up": "^2.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^7.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "7.0.0",
+ "resolved": "http://r.cnpmjs.org/yargs-parser/download/yargs-parser-7.0.0.tgz",
+ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^4.1.0"
+ }
+ }
+ }
+ },
+ "@hapi/address": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/@hapi/address/download/@hapi/address-2.1.2.tgz",
+ "integrity": "sha1-HHlM1tvyNU0ese8Q4DA/Vz4cciI=",
+ "dev": true
+ },
+ "@hapi/bourne": {
+ "version": "1.3.2",
+ "resolved": "http://r.cnpmjs.org/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz",
+ "integrity": "sha1-CnCVreoGckPOMoPhtWuKj0U7JCo=",
+ "dev": true
+ },
+ "@hapi/hoek": {
+ "version": "8.5.0",
+ "resolved": "http://r.cnpmjs.org/@hapi/hoek/download/@hapi/hoek-8.5.0.tgz",
+ "integrity": "sha1-L5zjAciJjhwySLCoVkaWsk0amlo=",
+ "dev": true
+ },
+ "@hapi/joi": {
+ "version": "15.1.1",
+ "resolved": "http://r.cnpmjs.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz",
+ "integrity": "sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc=",
+ "dev": true,
+ "requires": {
+ "@hapi/address": "2.x.x",
+ "@hapi/bourne": "1.x.x",
+ "@hapi/hoek": "8.x.x",
+ "@hapi/topo": "3.x.x"
+ }
+ },
+ "@hapi/topo": {
+ "version": "3.1.6",
+ "resolved": "http://r.cnpmjs.org/@hapi/topo/download/@hapi/topo-3.1.6.tgz",
+ "integrity": "sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck=",
+ "dev": true,
+ "requires": {
+ "@hapi/hoek": "^8.3.0"
+ }
+ },
+ "@hot-loader/react-dom": {
+ "version": "16.10.2",
+ "resolved": "http://r.cnpmjs.org/@hot-loader/react-dom/download/@hot-loader/react-dom-16.10.2.tgz",
+ "integrity": "sha1-kZIEQiUqysbzQ+7130GsozP33Oo=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.6.2",
+ "scheduler": "^0.16.2"
+ },
+ "dependencies": {
+ "scheduler": {
+ "version": "0.16.2",
+ "resolved": "http://r.cnpmjs.org/scheduler/download/scheduler-0.16.2.tgz",
+ "integrity": "sha1-90zZ0z7/b8VU7ft5hkho5IGRMsE=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ }
+ }
+ }
+ },
"@icons/material": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz",
@@ -1863,6 +2330,330 @@
"@types/yargs": "^13.0.0"
}
},
+ "@jimp/bmp": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/bmp/download/@jimp/bmp-0.6.8.tgz",
+ "integrity": "sha1-irv9nia6F6R/qzEQWeqffdggBbY=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "bmp-js": "^0.1.0",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/core": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/core/download/@jimp/core-0.6.8.tgz",
+ "integrity": "sha1-akEIl5JRb25kpTAtEutWKqeEfHs=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "any-base": "^1.1.0",
+ "buffer": "^5.2.0",
+ "core-js": "^2.5.7",
+ "exif-parser": "^0.1.12",
+ "file-type": "^9.0.0",
+ "load-bmfont": "^1.3.1",
+ "mkdirp": "0.5.1",
+ "phin": "^2.9.1",
+ "pixelmatch": "^4.0.2",
+ "tinycolor2": "^1.4.1"
+ },
+ "dependencies": {
+ "buffer": {
+ "version": "5.4.3",
+ "resolved": "http://r.cnpmjs.org/buffer/download/buffer-5.4.3.tgz",
+ "integrity": "sha1-P7ycaetxPTI+P8Gole7gcQwHIRU=",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4"
+ }
+ },
+ "file-type": {
+ "version": "9.0.0",
+ "resolved": "http://r.cnpmjs.org/file-type/download/file-type-9.0.0.tgz",
+ "integrity": "sha1-po1a0H9IZBTfssiGb3MWGUZxShg=",
+ "dev": true
+ }
+ }
+ },
+ "@jimp/custom": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/custom/download/@jimp/custom-0.6.8.tgz",
+ "integrity": "sha1-BHbXs/XaMSHZiJWi4U8omeYC8rY=",
+ "dev": true,
+ "requires": {
+ "@jimp/core": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/gif": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/gif/download/@jimp/gif-0.6.8.tgz",
+ "integrity": "sha1-hI3U5uGlbKKzzlKJaeRN+pmlOxQ=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7",
+ "omggif": "^1.0.9"
+ }
+ },
+ "@jimp/jpeg": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/jpeg/download/@jimp/jpeg-0.6.8.tgz",
+ "integrity": "sha1-TK2FptHhV1mstWvd7ymqNHOFnyw=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7",
+ "jpeg-js": "^0.3.4"
+ }
+ },
+ "@jimp/plugin-blit": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-blit/download/@jimp/plugin-blit-0.6.8.tgz",
+ "integrity": "sha1-ZG67Yx81r8KMHokIUkvEPR6a+j0=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-blur": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-blur/download/@jimp/plugin-blur-0.6.8.tgz",
+ "integrity": "sha1-e3U66U9gmRA/V8Jow7JnkEfu/pU=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-color": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-color/download/@jimp/plugin-color-0.6.8.tgz",
+ "integrity": "sha1-QQHLEgiHmzMdtuQ+prlur4267bw=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7",
+ "tinycolor2": "^1.4.1"
+ }
+ },
+ "@jimp/plugin-contain": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-contain/download/@jimp/plugin-contain-0.6.8.tgz",
+ "integrity": "sha1-r5XTO2PQR4lDN0rhXdJgf8acrRQ=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-cover": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-cover/download/@jimp/plugin-cover-0.6.8.tgz",
+ "integrity": "sha1-SQ4xhmJ6NNk8wBXEFpuskHDWrRc=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-crop": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-crop/download/@jimp/plugin-crop-0.6.8.tgz",
+ "integrity": "sha1-/+yJUaLz7MrR48/5r/9TJr2YDOc=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-displace": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-displace/download/@jimp/plugin-displace-0.6.8.tgz",
+ "integrity": "sha1-id8Fq32q/2vvwZC7isVOyNV+Uzs=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-dither": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-dither/download/@jimp/plugin-dither-0.6.8.tgz",
+ "integrity": "sha1-F+W59WV1qHHjKf74s4jmFLkthPg=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-flip": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-flip/download/@jimp/plugin-flip-0.6.8.tgz",
+ "integrity": "sha1-FT3wxnf3nUB4u55MHyrDkrltw6E=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-gaussian": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-gaussian/download/@jimp/plugin-gaussian-0.6.8.tgz",
+ "integrity": "sha1-EAq8euHxn+nAntQWJbR1qufGCTw=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-invert": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-invert/download/@jimp/plugin-invert-0.6.8.tgz",
+ "integrity": "sha1-9Av6o7WS0h/xTt4OSaq+yIBIytA=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-mask": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-mask/download/@jimp/plugin-mask-0.6.8.tgz",
+ "integrity": "sha1-5kQF99rPBnK/9087lbck2axRf4Y=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-normalize": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-normalize/download/@jimp/plugin-normalize-0.6.8.tgz",
+ "integrity": "sha1-oBgPK4g142OM3F4Fe0SsY/YNtro=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-print": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-print/download/@jimp/plugin-print-0.6.8.tgz",
+ "integrity": "sha1-ZjCVSeAYlkcxEeOgrSzuQoY4vW4=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7",
+ "load-bmfont": "^1.4.0"
+ }
+ },
+ "@jimp/plugin-resize": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-resize/download/@jimp/plugin-resize-0.6.8.tgz",
+ "integrity": "sha1-wm2alz9+7FGtkBj8u6wRRvenOqA=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-rotate": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-rotate/download/@jimp/plugin-rotate-0.6.8.tgz",
+ "integrity": "sha1-Kv2iR5hO7r7ZXBuxsTzNO+WXMpk=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugin-scale": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugin-scale/download/@jimp/plugin-scale-0.6.8.tgz",
+ "integrity": "sha1-XeQDNFhZuwswvz4kLe3YzrbsuWw=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7"
+ }
+ },
+ "@jimp/plugins": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/plugins/download/@jimp/plugins-0.6.8.tgz",
+ "integrity": "sha1-VhgXCphs7R6nla3Nk3YSLyVDuFY=",
+ "dev": true,
+ "requires": {
+ "@jimp/plugin-blit": "^0.6.8",
+ "@jimp/plugin-blur": "^0.6.8",
+ "@jimp/plugin-color": "^0.6.8",
+ "@jimp/plugin-contain": "^0.6.8",
+ "@jimp/plugin-cover": "^0.6.8",
+ "@jimp/plugin-crop": "^0.6.8",
+ "@jimp/plugin-displace": "^0.6.8",
+ "@jimp/plugin-dither": "^0.6.8",
+ "@jimp/plugin-flip": "^0.6.8",
+ "@jimp/plugin-gaussian": "^0.6.8",
+ "@jimp/plugin-invert": "^0.6.8",
+ "@jimp/plugin-mask": "^0.6.8",
+ "@jimp/plugin-normalize": "^0.6.8",
+ "@jimp/plugin-print": "^0.6.8",
+ "@jimp/plugin-resize": "^0.6.8",
+ "@jimp/plugin-rotate": "^0.6.8",
+ "@jimp/plugin-scale": "^0.6.8",
+ "core-js": "^2.5.7",
+ "timm": "^1.6.1"
+ }
+ },
+ "@jimp/png": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/png/download/@jimp/png-0.6.8.tgz",
+ "integrity": "sha1-7gbPB4s4ETfscgbEuxtM/L4Vym8=",
+ "dev": true,
+ "requires": {
+ "@jimp/utils": "^0.6.8",
+ "core-js": "^2.5.7",
+ "pngjs": "^3.3.3"
+ }
+ },
+ "@jimp/tiff": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/tiff/download/@jimp/tiff-0.6.8.tgz",
+ "integrity": "sha1-eb0i7UNe2+KdAqLIyb+Cn5iOusw=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.5.7",
+ "utif": "^2.0.1"
+ }
+ },
+ "@jimp/types": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/types/download/@jimp/types-0.6.8.tgz",
+ "integrity": "sha1-RRDrY1zQCyAXRdcOOPeRdIuqcHU=",
+ "dev": true,
+ "requires": {
+ "@jimp/bmp": "^0.6.8",
+ "@jimp/gif": "^0.6.8",
+ "@jimp/jpeg": "^0.6.8",
+ "@jimp/png": "^0.6.8",
+ "@jimp/tiff": "^0.6.8",
+ "core-js": "^2.5.7",
+ "timm": "^1.6.1"
+ }
+ },
+ "@jimp/utils": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/@jimp/utils/download/@jimp/utils-0.6.8.tgz",
+ "integrity": "sha1-CfeUlFYxFzVnqlD3KsKBcN5Ypj0=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.5.7"
+ }
+ },
"@lerna/add": {
"version": "3.18.0",
"resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.18.0.tgz",
@@ -3143,6 +3934,12 @@
"rimraf": "^2.5.2"
}
},
+ "@mikaelkristiansson/domready": {
+ "version": "1.0.9",
+ "resolved": "http://r.cnpmjs.org/@mikaelkristiansson/domready/download/@mikaelkristiansson/domready-1.0.9.tgz",
+ "integrity": "sha1-srhdise7J5fldwULYa6vGyb72QY=",
+ "dev": true
+ },
"@mrmlnc/readdir-enhanced": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
@@ -3300,6 +4097,53 @@
"@types/node": "^12.11.1"
}
},
+ "@pieh/friendly-errors-webpack-plugin": {
+ "version": "1.7.0-chalk-2",
+ "resolved": "http://r.cnpmjs.org/@pieh/friendly-errors-webpack-plugin/download/@pieh/friendly-errors-webpack-plugin-1.7.0-chalk-2.tgz",
+ "integrity": "sha1-Lp2p063p0Y0BMzPrQIxFfQTqusA=",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "error-stack-parser": "^2.0.0",
+ "string-width": "^2.0.0",
+ "strip-ansi": "^3"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/string-width/download/string-width-2.1.1.tgz",
+ "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ }
+ }
+ },
"@reach/router": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@reach/router/-/router-1.2.1.tgz",
@@ -3322,6 +4166,12 @@
"any-observable": "^0.3.0"
}
},
+ "@sindresorhus/is": {
+ "version": "0.7.0",
+ "resolved": "http://r.cnpmjs.org/@sindresorhus/is/download/@sindresorhus/is-0.7.0.tgz",
+ "integrity": "sha1-mgb08TfuhNffBGDB/bETX/psUP0=",
+ "dev": true
+ },
"@storybook/addon-actions": {
"version": "5.2.5",
"resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-5.2.5.tgz",
@@ -4243,12 +5093,24 @@
"@types/node": "*"
}
},
+ "@types/configstore": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/@types/configstore/download/@types/configstore-2.1.1.tgz",
+ "integrity": "sha1-zR6FU2M60xhcPy8jns/10mQ+krY=",
+ "dev": true
+ },
"@types/dat.gui": {
"version": "0.7.5",
"resolved": "https://registry.npmjs.org/@types/dat.gui/-/dat.gui-0.7.5.tgz",
"integrity": "sha512-5AqLThlTiuDSOZA7XZFogRj/UdGKn/iIfdFPuh37kY4s7TjTt+YUOlUmcCrY6wAYFFyThtt2z8qZlYcdkhJZ5w==",
"dev": true
},
+ "@types/debug": {
+ "version": "0.0.29",
+ "resolved": "http://r.cnpmjs.org/@types/debug/download/@types/debug-0.0.29.tgz",
+ "integrity": "sha1-oeUUrfvZLwOiJLpU1pMRHb8fN1Q=",
+ "dev": true
+ },
"@types/enzyme": {
"version": "3.10.3",
"resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.3.tgz",
@@ -4268,6 +5130,12 @@
"@types/enzyme": "*"
}
},
+ "@types/eslint-visitor-keys": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz",
+ "integrity": "sha1-HuMNeVRMqE1o1LPNsK9PIFZj3S0=",
+ "dev": true
+ },
"@types/events": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
@@ -4280,6 +5148,12 @@
"integrity": "sha512-wE2v81i4C4Ol09RtsWFAqg3BUitWbHSpSlIo+bNdsCJijO9sjme+zm+73ZMCa/qMC8UEERxzGbvmr1cffo2SiQ==",
"dev": true
},
+ "@types/get-port": {
+ "version": "0.0.4",
+ "resolved": "http://r.cnpmjs.org/@types/get-port/download/@types/get-port-0.0.4.tgz",
+ "integrity": "sha1-62u3Qj2fiItjJmDcfS/T5po1ZD4=",
+ "dev": true
+ },
"@types/gl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@types/gl/-/gl-4.1.0.tgz",
@@ -4349,12 +5223,24 @@
"integrity": "sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA==",
"dev": true
},
+ "@types/json-schema": {
+ "version": "7.0.3",
+ "resolved": "http://r.cnpmjs.org/@types/json-schema/download/@types/json-schema-7.0.3.tgz",
+ "integrity": "sha1-vf1p1h5GTcyBslFZwnDXWnPBpjY=",
+ "dev": true
+ },
"@types/minimatch": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
"dev": true
},
+ "@types/mkdirp": {
+ "version": "0.3.29",
+ "resolved": "http://r.cnpmjs.org/@types/mkdirp/download/@types/mkdirp-0.3.29.tgz",
+ "integrity": "sha1-fyrX7FX5FEgvybHsS7GuYCjUYGY=",
+ "dev": true
+ },
"@types/node": {
"version": "12.12.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.5.tgz",
@@ -4408,6 +5294,15 @@
"@types/react": "*"
}
},
+ "@types/react-slick": {
+ "version": "0.23.4",
+ "resolved": "http://r.cnpmjs.org/@types/react-slick/download/@types/react-slick-0.23.4.tgz",
+ "integrity": "sha1-yX4qnn49GTPGhZO46CdS+rHozlM=",
+ "dev": true,
+ "requires": {
+ "@types/react": "*"
+ }
+ },
"@types/react-syntax-highlighter": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-10.1.0.tgz",
@@ -4457,6 +5352,12 @@
"@types/geojson": "*"
}
},
+ "@types/tmp": {
+ "version": "0.0.32",
+ "resolved": "http://r.cnpmjs.org/@types/tmp/download/@types/tmp-0.0.32.tgz",
+ "integrity": "sha1-DTyzECL4Qn6ljACK8yuA2hJspOM=",
+ "dev": true
+ },
"@types/unist": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz",
@@ -4505,6 +5406,101 @@
"integrity": "sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==",
"dev": true
},
+ "@typescript-eslint/eslint-plugin": {
+ "version": "2.6.0",
+ "resolved": "http://r.cnpmjs.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-2.6.0.tgz",
+ "integrity": "sha1-6C7UP8RSeyG/41wgotbk7Un8eVc=",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/experimental-utils": "2.6.0",
+ "eslint-utils": "^1.4.2",
+ "functional-red-black-tree": "^1.0.1",
+ "regexpp": "^2.0.1",
+ "tsutils": "^3.17.1"
+ },
+ "dependencies": {
+ "tsutils": {
+ "version": "3.17.1",
+ "resolved": "http://r.cnpmjs.org/tsutils/download/tsutils-3.17.1.tgz",
+ "integrity": "sha1-7XGZF/EcoN7lhicrKsSeAVot11k=",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.8.1"
+ }
+ }
+ }
+ },
+ "@typescript-eslint/experimental-utils": {
+ "version": "2.6.0",
+ "resolved": "http://r.cnpmjs.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-2.6.0.tgz",
+ "integrity": "sha1-7XC+9ygiv/VAMf8GFfyIi54rboo=",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/typescript-estree": "2.6.0",
+ "eslint-scope": "^5.0.0"
+ },
+ "dependencies": {
+ "eslint-scope": {
+ "version": "5.0.0",
+ "resolved": "http://r.cnpmjs.org/eslint-scope/download/eslint-scope-5.0.0.tgz",
+ "integrity": "sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ }
+ }
+ },
+ "@typescript-eslint/parser": {
+ "version": "2.6.0",
+ "resolved": "http://r.cnpmjs.org/@typescript-eslint/parser/download/@typescript-eslint/parser-2.6.0.tgz",
+ "integrity": "sha1-UQYpXGpwVih7RxniSq6NYpPVr0k=",
+ "dev": true,
+ "requires": {
+ "@types/eslint-visitor-keys": "^1.0.0",
+ "@typescript-eslint/experimental-utils": "2.6.0",
+ "@typescript-eslint/typescript-estree": "2.6.0",
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "2.6.0",
+ "resolved": "http://r.cnpmjs.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-2.6.0.tgz",
+ "integrity": "sha1-0+nY4AFJLiuRJMTUvU5/A8D9clQ=",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "glob": "^7.1.4",
+ "is-glob": "^4.0.1",
+ "lodash.unescape": "4.0.1",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "http://r.cnpmjs.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "http://r.cnpmjs.org/semver/download/semver-6.3.0.tgz",
+ "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
+ "dev": true
+ }
+ }
+ },
"@webassemblyjs/ast": {
"version": "1.8.5",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz",
@@ -4803,18 +5799,39 @@
}
}
},
+ "acorn-jsx": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/acorn-jsx/download/acorn-jsx-5.1.0.tgz",
+ "integrity": "sha1-KUrbcbVzmLBoABXwo4xWPuHbU4Q=",
+ "dev": true
+ },
"acorn-walk": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
"integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
"dev": true
},
+ "add-dom-event-listener": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/add-dom-event-listener/download/add-dom-event-listener-1.1.0.tgz",
+ "integrity": "sha1-apLbOg3Qq8JU4JXA8dwUrLuq4xA=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.x"
+ }
+ },
"address": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz",
"integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==",
"dev": true
},
+ "after": {
+ "version": "0.8.2",
+ "resolved": "http://r.cnpmjs.org/after/download/after-0.8.2.tgz",
+ "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
+ "dev": true
+ },
"agent-base": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
@@ -4918,6 +5935,12 @@
"integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==",
"dev": true
},
+ "alphanum-sort": {
+ "version": "1.0.2",
+ "resolved": "http://r.cnpmjs.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz",
+ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
+ "dev": true
+ },
"amdefine": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
@@ -5009,6 +6032,84 @@
"entities": "^1.1.2"
}
},
+ "antd": {
+ "version": "3.25.0",
+ "resolved": "http://r.cnpmjs.org/antd/download/antd-3.25.0.tgz",
+ "integrity": "sha1-0dYJA4s9F93538HD46kYbRxThJ0=",
+ "dev": true,
+ "requires": {
+ "@ant-design/create-react-context": "^0.2.4",
+ "@ant-design/icons": "~2.1.1",
+ "@ant-design/icons-react": "~2.0.1",
+ "@types/react-slick": "^0.23.4",
+ "array-tree-filter": "^2.1.0",
+ "babel-runtime": "6.x",
+ "classnames": "~2.2.6",
+ "copy-to-clipboard": "^3.2.0",
+ "css-animation": "^1.5.0",
+ "dom-closest": "^0.2.0",
+ "enquire.js": "^2.1.6",
+ "lodash": "^4.17.13",
+ "moment": "^2.24.0",
+ "omit.js": "^1.0.2",
+ "prop-types": "^15.7.2",
+ "raf": "^3.4.1",
+ "rc-animate": "^2.8.3",
+ "rc-calendar": "~9.15.5",
+ "rc-cascader": "~0.17.4",
+ "rc-checkbox": "~2.1.6",
+ "rc-collapse": "~1.11.3",
+ "rc-dialog": "~7.5.2",
+ "rc-drawer": "~3.0.0",
+ "rc-dropdown": "~2.4.1",
+ "rc-editor-mention": "^1.1.13",
+ "rc-form": "^2.4.5",
+ "rc-input-number": "~4.5.0",
+ "rc-mentions": "~0.4.0",
+ "rc-menu": "~7.5.1",
+ "rc-notification": "~3.3.1",
+ "rc-pagination": "~1.20.5",
+ "rc-progress": "~2.5.0",
+ "rc-rate": "~2.5.0",
+ "rc-resize-observer": "^0.1.0",
+ "rc-select": "~9.2.0",
+ "rc-slider": "~8.7.1",
+ "rc-steps": "~3.5.0",
+ "rc-switch": "~1.9.0",
+ "rc-table": "~6.9.4",
+ "rc-tabs": "~9.6.4",
+ "rc-time-picker": "~3.7.1",
+ "rc-tooltip": "~3.7.3",
+ "rc-tree": "~2.1.0",
+ "rc-tree-select": "~2.9.1",
+ "rc-trigger": "^2.6.2",
+ "rc-upload": "~2.9.1",
+ "rc-util": "^4.10.0",
+ "react-lazy-load": "^3.0.13",
+ "react-lifecycles-compat": "^3.0.4",
+ "react-slick": "~0.25.2",
+ "resize-observer-polyfill": "^1.5.1",
+ "shallowequal": "^1.1.0",
+ "warning": "~4.0.3"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/warning/download/warning-4.0.3.tgz",
+ "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "any-base": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/any-base/download/any-base-1.1.0.tgz",
+ "integrity": "sha1-rhAaYrwIpZe0yatbcInUVmMFSf4=",
+ "dev": true
+ },
"any-observable": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz",
@@ -5054,6 +6155,29 @@
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"dev": true
},
+ "arch": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/arch/download/arch-2.1.1.tgz",
+ "integrity": "sha1-j1wnMao1owkpIhuwZA7tZRdeyE4=",
+ "dev": true
+ },
+ "archive-type": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/archive-type/download/archive-type-4.0.0.tgz",
+ "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=",
+ "dev": true,
+ "requires": {
+ "file-type": "^4.2.0"
+ },
+ "dependencies": {
+ "file-type": {
+ "version": "4.4.0",
+ "resolved": "http://r.cnpmjs.org/file-type/download/file-type-4.4.0.tgz",
+ "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=",
+ "dev": true
+ }
+ }
+ },
"are-we-there-yet": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
@@ -5073,6 +6197,16 @@
"sprintf-js": "~1.0.2"
}
},
+ "aria-query": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/aria-query/download/aria-query-3.0.0.tgz",
+ "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=",
+ "dev": true,
+ "requires": {
+ "ast-types-flow": "0.0.7",
+ "commander": "^2.11.0"
+ }
+ },
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@@ -5137,6 +6271,30 @@
"es-abstract": "^1.7.0"
}
},
+ "array-iterate": {
+ "version": "1.1.3",
+ "resolved": "http://r.cnpmjs.org/array-iterate/download/array-iterate-1.1.3.tgz",
+ "integrity": "sha1-sRa9seN/PD/sE6zfuRrIKfEiVDw=",
+ "dev": true
+ },
+ "array-map": {
+ "version": "0.0.0",
+ "resolved": "http://r.cnpmjs.org/array-map/download/array-map-0.0.0.tgz",
+ "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=",
+ "dev": true
+ },
+ "array-reduce": {
+ "version": "0.0.0",
+ "resolved": "http://r.cnpmjs.org/array-reduce/download/array-reduce-0.0.0.tgz",
+ "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=",
+ "dev": true
+ },
+ "array-tree-filter": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/array-tree-filter/download/array-tree-filter-2.1.0.tgz",
+ "integrity": "sha1-hzrAD+yDdJ8lWsjdCDgUtPYykZA=",
+ "dev": true
+ },
"array-union": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
@@ -5190,6 +6348,12 @@
"function-bind": "^1.1.1"
}
},
+ "arraybuffer.slice": {
+ "version": "0.0.7",
+ "resolved": "http://r.cnpmjs.org/arraybuffer.slice/download/arraybuffer.slice-0.0.7.tgz",
+ "integrity": "sha1-O7xCdd1YTMGxCAm4nU6LY6aednU=",
+ "dev": true
+ },
"arrify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
@@ -5267,6 +6431,12 @@
"integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=",
"dev": true
},
+ "ast-types-flow": {
+ "version": "0.0.7",
+ "resolved": "http://r.cnpmjs.org/ast-types-flow/download/ast-types-flow-0.0.7.tgz",
+ "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
+ "dev": true
+ },
"astral-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
@@ -5300,6 +6470,12 @@
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
"dev": true
},
+ "async-validator": {
+ "version": "1.11.5",
+ "resolved": "http://r.cnpmjs.org/async-validator/download/async-validator-1.11.5.tgz",
+ "integrity": "sha1-nUPPSe9rt2vlRCOI0Z+5puR1l+o=",
+ "dev": true
+ },
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@@ -5318,6 +6494,16 @@
"integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=",
"dev": true
},
+ "auto-bind": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/auto-bind/download/auto-bind-2.1.1.tgz",
+ "integrity": "sha1-iuUJZx7N+9UAn8mbDxmunDoqv1A=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@types/react": "^16.8.12"
+ }
+ },
"autoprefixer": {
"version": "9.7.1",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.1.tgz",
@@ -5375,6 +6561,51 @@
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
"dev": true
},
+ "axios": {
+ "version": "0.19.0",
+ "resolved": "http://r.cnpmjs.org/axios/download/axios-0.19.0.tgz",
+ "integrity": "sha1-jgm/89kSLhM/e4EByPvdAO09Krg=",
+ "dev": true,
+ "requires": {
+ "follow-redirects": "1.5.10",
+ "is-buffer": "^2.0.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/debug/download/debug-3.1.0.tgz",
+ "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "follow-redirects": {
+ "version": "1.5.10",
+ "resolved": "http://r.cnpmjs.org/follow-redirects/download/follow-redirects-1.5.10.tgz",
+ "integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=",
+ "dev": true,
+ "requires": {
+ "debug": "=3.1.0"
+ }
+ },
+ "is-buffer": {
+ "version": "2.0.4",
+ "resolved": "http://r.cnpmjs.org/is-buffer/download/is-buffer-2.0.4.tgz",
+ "integrity": "sha1-PlcvI8hBGlz9lVfISeNmXgspBiM=",
+ "dev": true
+ }
+ }
+ },
+ "axobject-query": {
+ "version": "2.0.2",
+ "resolved": "http://r.cnpmjs.org/axobject-query/download/axobject-query-2.0.2.tgz",
+ "integrity": "sha1-6hh6vluQArN3+SXYv30cVhrfOPk=",
+ "dev": true,
+ "requires": {
+ "ast-types-flow": "0.0.7"
+ }
+ },
"babel-code-frame": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
@@ -5419,6 +6650,35 @@
}
}
},
+ "babel-core": {
+ "version": "7.0.0-bridge.0",
+ "resolved": "http://r.cnpmjs.org/babel-core/download/babel-core-7.0.0-bridge.0.tgz",
+ "integrity": "sha1-laSS3dkPm06aSh2hTrM1uHtjTs4=",
+ "dev": true
+ },
+ "babel-eslint": {
+ "version": "10.0.3",
+ "resolved": "http://r.cnpmjs.org/babel-eslint/download/babel-eslint-10.0.3.tgz",
+ "integrity": "sha1-gaLGab4PIF4ZRi/tJILTPkaHqIo=",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.0.0",
+ "@babel/traverse": "^7.0.0",
+ "@babel/types": "^7.0.0",
+ "eslint-visitor-keys": "^1.0.0",
+ "resolve": "^1.12.0"
+ }
+ },
+ "babel-extract-comments": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/babel-extract-comments/download/babel-extract-comments-1.0.0.tgz",
+ "integrity": "sha1-Cirt+BQX7TkbheGLRhTmk6A1GiE=",
+ "dev": true,
+ "requires": {
+ "babylon": "^6.18.0"
+ }
+ },
"babel-helper-evaluate-path": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz",
@@ -5507,6 +6767,15 @@
}
}
},
+ "babel-plugin-add-module-exports": {
+ "version": "0.3.3",
+ "resolved": "http://r.cnpmjs.org/babel-plugin-add-module-exports/download/babel-plugin-add-module-exports-0.3.3.tgz",
+ "integrity": "sha1-uffAqTuYkXDc4Hw+lwcakFoT/Ck=",
+ "dev": true,
+ "requires": {
+ "chokidar": "^2.0.4"
+ }
+ },
"babel-plugin-add-react-displayname": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz",
@@ -5560,6 +6829,16 @@
"source-map": "^0.5.7"
}
},
+ "babel-plugin-import": {
+ "version": "1.12.2",
+ "resolved": "http://r.cnpmjs.org/babel-plugin-import/download/babel-plugin-import-1.12.2.tgz",
+ "integrity": "sha1-u44R2rrmj7/0SEyOK8LbHghihqg=",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/runtime": "^7.0.0"
+ }
+ },
"babel-plugin-inline-import": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-inline-import/-/babel-plugin-inline-import-3.0.0.tgz",
@@ -5783,12 +7062,36 @@
}
}
},
+ "babel-plugin-remove-graphql-queries": {
+ "version": "2.7.14",
+ "resolved": "http://r.cnpmjs.org/babel-plugin-remove-graphql-queries/download/babel-plugin-remove-graphql-queries-2.7.14.tgz",
+ "integrity": "sha1-9gBk2XEXJXaFVwlssHmIUI5mFuM=",
+ "dev": true
+ },
+ "babel-plugin-syntax-dynamic-import": {
+ "version": "6.18.0",
+ "resolved": "http://r.cnpmjs.org/babel-plugin-syntax-dynamic-import/download/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+ "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
+ "dev": true
+ },
"babel-plugin-syntax-jsx": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
"integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
"dev": true
},
+ "babel-plugin-syntax-object-rest-spread": {
+ "version": "6.13.0",
+ "resolved": "http://r.cnpmjs.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
+ "dev": true
+ },
+ "babel-plugin-syntax-trailing-function-commas": {
+ "version": "7.0.0-beta.0",
+ "resolved": "http://r.cnpmjs.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz",
+ "integrity": "sha1-qiE8FDXiv/62/KhCKH71NK0F1c8=",
+ "dev": true
+ },
"babel-plugin-transform-inline-consecutive-adds": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz",
@@ -5813,6 +7116,16 @@
"integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=",
"dev": true
},
+ "babel-plugin-transform-object-rest-spread": {
+ "version": "6.26.0",
+ "resolved": "http://r.cnpmjs.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
+ "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-object-rest-spread": "^6.8.0",
+ "babel-runtime": "^6.26.0"
+ }
+ },
"babel-plugin-transform-postcss": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-postcss/-/babel-plugin-transform-postcss-0.3.0.tgz",
@@ -5940,6 +7253,82 @@
}
}
},
+ "babel-preset-fbjs": {
+ "version": "3.3.0",
+ "resolved": "http://r.cnpmjs.org/babel-preset-fbjs/download/babel-preset-fbjs-3.3.0.tgz",
+ "integrity": "sha1-pgJHZOqGyOBqIteUyotpU00mNUE=",
+ "dev": true,
+ "requires": {
+ "@babel/plugin-proposal-class-properties": "^7.0.0",
+ "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
+ "@babel/plugin-syntax-class-properties": "^7.0.0",
+ "@babel/plugin-syntax-flow": "^7.0.0",
+ "@babel/plugin-syntax-jsx": "^7.0.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
+ "@babel/plugin-transform-arrow-functions": "^7.0.0",
+ "@babel/plugin-transform-block-scoped-functions": "^7.0.0",
+ "@babel/plugin-transform-block-scoping": "^7.0.0",
+ "@babel/plugin-transform-classes": "^7.0.0",
+ "@babel/plugin-transform-computed-properties": "^7.0.0",
+ "@babel/plugin-transform-destructuring": "^7.0.0",
+ "@babel/plugin-transform-flow-strip-types": "^7.0.0",
+ "@babel/plugin-transform-for-of": "^7.0.0",
+ "@babel/plugin-transform-function-name": "^7.0.0",
+ "@babel/plugin-transform-literals": "^7.0.0",
+ "@babel/plugin-transform-member-expression-literals": "^7.0.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.0.0",
+ "@babel/plugin-transform-object-super": "^7.0.0",
+ "@babel/plugin-transform-parameters": "^7.0.0",
+ "@babel/plugin-transform-property-literals": "^7.0.0",
+ "@babel/plugin-transform-react-display-name": "^7.0.0",
+ "@babel/plugin-transform-react-jsx": "^7.0.0",
+ "@babel/plugin-transform-shorthand-properties": "^7.0.0",
+ "@babel/plugin-transform-spread": "^7.0.0",
+ "@babel/plugin-transform-template-literals": "^7.0.0",
+ "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0"
+ }
+ },
+ "babel-preset-gatsby": {
+ "version": "0.2.20",
+ "resolved": "http://r.cnpmjs.org/babel-preset-gatsby/download/babel-preset-gatsby-0.2.20.tgz",
+ "integrity": "sha1-Dqk9qyoNDngOkU6NhFAhtnDFPBc=",
+ "dev": true,
+ "requires": {
+ "@babel/plugin-proposal-class-properties": "^7.5.5",
+ "@babel/plugin-syntax-dynamic-import": "^7.2.0",
+ "@babel/plugin-transform-runtime": "^7.6.2",
+ "@babel/plugin-transform-spread": "^7.6.2",
+ "@babel/preset-env": "^7.6.3",
+ "@babel/preset-react": "^7.6.3",
+ "@babel/runtime": "^7.6.3",
+ "babel-plugin-dynamic-import-node": "^1.2.0",
+ "babel-plugin-macros": "^2.6.1",
+ "babel-plugin-transform-react-remove-prop-types": "^0.4.24"
+ },
+ "dependencies": {
+ "@babel/plugin-transform-runtime": {
+ "version": "7.6.2",
+ "resolved": "http://r.cnpmjs.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.6.2.tgz",
+ "integrity": "sha1-Jmn2fB+uCujYv2luQmOtUsuYtvg=",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "resolve": "^1.8.1",
+ "semver": "^5.5.1"
+ }
+ },
+ "babel-plugin-dynamic-import-node": {
+ "version": "1.2.0",
+ "resolved": "http://r.cnpmjs.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-1.2.0.tgz",
+ "integrity": "sha1-+RYx5wPgWV5H1L6vuwiFdsh/vu4=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-dynamic-import": "^6.18.0"
+ }
+ }
+ }
+ },
"babel-preset-jest": {
"version": "24.9.0",
"resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz",
@@ -6166,6 +7555,18 @@
"integrity": "sha1-Ffs9NfLEVmlYFevx7Zb+fwFbaIY=",
"dev": true
},
+ "babylon": {
+ "version": "6.18.0",
+ "resolved": "http://r.cnpmjs.org/babylon/download/babylon-6.18.0.tgz",
+ "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=",
+ "dev": true
+ },
+ "backo2": {
+ "version": "1.0.2",
+ "resolved": "http://r.cnpmjs.org/backo2/download/backo2-1.0.2.tgz",
+ "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
+ "dev": true
+ },
"bail": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz",
@@ -6239,12 +7640,24 @@
"integrity": "sha512-V6YHUbjLxN1ymqNLb1DPHoU1CpfdL7d2YTIp5W3U4hhoG4hhxNmsFDs66M9EXxBiSEke5Bt5dwdfMwwZF70iLA==",
"dev": true
},
+ "base64-arraybuffer": {
+ "version": "0.1.5",
+ "resolved": "http://r.cnpmjs.org/base64-arraybuffer/download/base64-arraybuffer-0.1.5.tgz",
+ "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
+ "dev": true
+ },
"base64-js": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
"integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
"dev": true
},
+ "base64id": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/base64id/download/base64id-2.0.0.tgz",
+ "integrity": "sha1-J3Csa8R9MSr5eov5pjQ0LgzSXLY=",
+ "dev": true
+ },
"batch": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
@@ -6272,12 +7685,212 @@
"integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==",
"dev": true
},
+ "better-assert": {
+ "version": "1.0.2",
+ "resolved": "http://r.cnpmjs.org/better-assert/download/better-assert-1.0.2.tgz",
+ "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
+ "dev": true,
+ "requires": {
+ "callsite": "1.0.0"
+ }
+ },
+ "better-opn": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/better-opn/download/better-opn-1.0.0.tgz",
+ "integrity": "sha1-BFTku5EVxqnk5XREF92cl/ufzkE=",
+ "dev": true,
+ "requires": {
+ "open": "^6.4.0"
+ }
+ },
+ "better-queue": {
+ "version": "3.8.10",
+ "resolved": "http://r.cnpmjs.org/better-queue/download/better-queue-3.8.10.tgz",
+ "integrity": "sha1-HJO57Eyz0bcuuR0O/LhPyA6MaDU=",
+ "dev": true,
+ "requires": {
+ "better-queue-memory": "^1.0.1",
+ "node-eta": "^0.9.0",
+ "uuid": "^3.0.0"
+ }
+ },
+ "better-queue-memory": {
+ "version": "1.0.4",
+ "resolved": "http://r.cnpmjs.org/better-queue-memory/download/better-queue-memory-1.0.4.tgz",
+ "integrity": "sha1-85DWswuzs2qvLOUrN6SD6KeoGiI=",
+ "dev": true
+ },
"big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
"dev": true
},
+ "bin-build": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/bin-build/download/bin-build-3.0.0.tgz",
+ "integrity": "sha1-xXgKJaip+WbYJEIX5sH1CCoUOGE=",
+ "dev": true,
+ "requires": {
+ "decompress": "^4.0.0",
+ "download": "^6.2.2",
+ "execa": "^0.7.0",
+ "p-map-series": "^1.0.0",
+ "tempfile": "^2.0.0"
+ }
+ },
+ "bin-check": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/bin-check/download/bin-check-4.1.0.tgz",
+ "integrity": "sha1-/ElZcL3Ii7HVo1/BfmXEoUn8Skk=",
+ "dev": true,
+ "requires": {
+ "execa": "^0.7.0",
+ "executable": "^4.1.0"
+ }
+ },
+ "bin-version": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/bin-version/download/bin-version-3.1.0.tgz",
+ "integrity": "sha1-WwnrKAdSsb0o8MnbP5by9DtsCDk=",
+ "dev": true,
+ "requires": {
+ "execa": "^1.0.0",
+ "find-versions": "^3.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "http://r.cnpmjs.org/cross-spawn/download/cross-spawn-6.0.5.tgz",
+ "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/execa/download/execa-1.0.0.tgz",
+ "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/get-stream/download/get-stream-4.1.0.tgz",
+ "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ }
+ }
+ },
+ "bin-version-check": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/bin-version-check/download/bin-version-check-4.0.0.tgz",
+ "integrity": "sha1-fYGcYklpkfgNiT5uAqMDI2Fgj3E=",
+ "dev": true,
+ "requires": {
+ "bin-version": "^3.0.0",
+ "semver": "^5.6.0",
+ "semver-truncate": "^1.1.2"
+ }
+ },
+ "bin-wrapper": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/bin-wrapper/download/bin-wrapper-4.1.0.tgz",
+ "integrity": "sha1-mTSPLPhQMePvfvzn5TAK6q6WBgU=",
+ "dev": true,
+ "requires": {
+ "bin-check": "^4.1.0",
+ "bin-version-check": "^4.0.0",
+ "download": "^7.1.0",
+ "import-lazy": "^3.1.0",
+ "os-filter-obj": "^2.0.0",
+ "pify": "^4.0.1"
+ },
+ "dependencies": {
+ "download": {
+ "version": "7.1.0",
+ "resolved": "http://r.cnpmjs.org/download/download/download-7.1.0.tgz",
+ "integrity": "sha1-kFmqnXC1A+52oTKJe+beyOVYcjM=",
+ "dev": true,
+ "requires": {
+ "archive-type": "^4.0.0",
+ "caw": "^2.0.1",
+ "content-disposition": "^0.5.2",
+ "decompress": "^4.2.0",
+ "ext-name": "^5.0.0",
+ "file-type": "^8.1.0",
+ "filenamify": "^2.0.0",
+ "get-stream": "^3.0.0",
+ "got": "^8.3.1",
+ "make-dir": "^1.2.0",
+ "p-event": "^2.1.0",
+ "pify": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "file-type": {
+ "version": "8.1.0",
+ "resolved": "http://r.cnpmjs.org/file-type/download/file-type-8.1.0.tgz",
+ "integrity": "sha1-JE87fvZBu+DMoZbHJ25LMyOZ9ow=",
+ "dev": true
+ },
+ "make-dir": {
+ "version": "1.3.0",
+ "resolved": "http://r.cnpmjs.org/make-dir/download/make-dir-1.3.0.tgz",
+ "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "p-event": {
+ "version": "2.3.1",
+ "resolved": "http://r.cnpmjs.org/p-event/download/p-event-2.3.1.tgz",
+ "integrity": "sha1-WWJ57xaassPgyuiMHPuwgHmZPvY=",
+ "dev": true,
+ "requires": {
+ "p-timeout": "^2.0.1"
+ }
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-4.0.1.tgz",
+ "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
+ "dev": true
+ }
+ }
+ },
"binary-extensions": {
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
@@ -6321,6 +7934,12 @@
}
}
},
+ "blob": {
+ "version": "0.0.5",
+ "resolved": "http://r.cnpmjs.org/blob/download/blob-0.0.5.tgz",
+ "integrity": "sha1-1oDu7yX4zZGtUz9bAe7UjmTK9oM=",
+ "dev": true
+ },
"block-stream": {
"version": "0.0.9",
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
@@ -6336,6 +7955,12 @@
"integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==",
"dev": true
},
+ "bmp-js": {
+ "version": "0.1.0",
+ "resolved": "http://r.cnpmjs.org/bmp-js/download/bmp-js-0.1.0.tgz",
+ "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=",
+ "dev": true
+ },
"bn.js": {
"version": "4.11.8",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
@@ -6637,6 +8262,40 @@
"isarray": "^1.0.0"
}
},
+ "buffer-alloc": {
+ "version": "1.2.0",
+ "resolved": "http://r.cnpmjs.org/buffer-alloc/download/buffer-alloc-1.2.0.tgz",
+ "integrity": "sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow=",
+ "dev": true,
+ "requires": {
+ "buffer-alloc-unsafe": "^1.1.0",
+ "buffer-fill": "^1.0.0"
+ }
+ },
+ "buffer-alloc-unsafe": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/buffer-alloc-unsafe/download/buffer-alloc-unsafe-1.1.0.tgz",
+ "integrity": "sha1-vX3CauKXLQ7aJTvgYdupkjScGfA=",
+ "dev": true
+ },
+ "buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "http://r.cnpmjs.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
+ "dev": true
+ },
+ "buffer-equal": {
+ "version": "0.0.1",
+ "resolved": "http://r.cnpmjs.org/buffer-equal/download/buffer-equal-0.0.1.tgz",
+ "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=",
+ "dev": true
+ },
+ "buffer-fill": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/buffer-fill/download/buffer-fill-1.0.0.tgz",
+ "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
+ "dev": true
+ },
"buffer-from": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
@@ -6748,6 +8407,112 @@
"unset-value": "^1.0.0"
}
},
+ "cache-manager": {
+ "version": "2.10.0",
+ "resolved": "http://r.cnpmjs.org/cache-manager/download/cache-manager-2.10.0.tgz",
+ "integrity": "sha1-J46fh4Tl1+Zhe/41A1jIzNFzh78=",
+ "dev": true,
+ "requires": {
+ "async": "1.5.2",
+ "lru-cache": "4.0.0"
+ },
+ "dependencies": {
+ "async": {
+ "version": "1.5.2",
+ "resolved": "http://r.cnpmjs.org/async/download/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/lru-cache/download/lru-cache-4.0.0.tgz",
+ "integrity": "sha1-tcvwFVbBaWb+vlTO7A+03JDfbCg=",
+ "dev": true,
+ "requires": {
+ "pseudomap": "^1.0.1",
+ "yallist": "^2.0.0"
+ }
+ }
+ }
+ },
+ "cache-manager-fs-hash": {
+ "version": "0.0.7",
+ "resolved": "http://r.cnpmjs.org/cache-manager-fs-hash/download/cache-manager-fs-hash-0.0.7.tgz",
+ "integrity": "sha1-KX80ucGiqux7Um564HQsTj+uSIg=",
+ "dev": true,
+ "requires": {
+ "es6-promisify": "^6.0.0",
+ "lockfile": "^1.0.4"
+ },
+ "dependencies": {
+ "es6-promisify": {
+ "version": "6.0.2",
+ "resolved": "http://r.cnpmjs.org/es6-promisify/download/es6-promisify-6.0.2.tgz",
+ "integrity": "sha1-UlwjcluFEPXx8v61ofutk6k+KbQ=",
+ "dev": true
+ }
+ }
+ },
+ "cacheable-request": {
+ "version": "2.1.4",
+ "resolved": "http://r.cnpmjs.org/cacheable-request/download/cacheable-request-2.1.4.tgz",
+ "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=",
+ "dev": true,
+ "requires": {
+ "clone-response": "1.0.2",
+ "get-stream": "3.0.0",
+ "http-cache-semantics": "3.8.1",
+ "keyv": "3.0.0",
+ "lowercase-keys": "1.0.0",
+ "normalize-url": "2.0.1",
+ "responselike": "1.0.2"
+ },
+ "dependencies": {
+ "lowercase-keys": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/lowercase-keys/download/lowercase-keys-1.0.0.tgz",
+ "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=",
+ "dev": true
+ },
+ "normalize-url": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/normalize-url/download/normalize-url-2.0.1.tgz",
+ "integrity": "sha1-g1qdoVUfom9w6SMpBpojqmV01+Y=",
+ "dev": true,
+ "requires": {
+ "prepend-http": "^2.0.0",
+ "query-string": "^5.0.1",
+ "sort-keys": "^2.0.0"
+ }
+ },
+ "prepend-http": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/prepend-http/download/prepend-http-2.0.0.tgz",
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
+ "dev": true
+ },
+ "query-string": {
+ "version": "5.1.1",
+ "resolved": "http://r.cnpmjs.org/query-string/download/query-string-5.1.1.tgz",
+ "integrity": "sha1-p4wBK3HBfgXy4/ojGd0zBoLvs8s=",
+ "dev": true,
+ "requires": {
+ "decode-uri-component": "^0.2.0",
+ "object-assign": "^4.1.0",
+ "strict-uri-encode": "^1.0.0"
+ }
+ },
+ "sort-keys": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/sort-keys/download/sort-keys-2.0.0.tgz",
+ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
+ "dev": true,
+ "requires": {
+ "is-plain-obj": "^1.0.0"
+ }
+ }
+ }
+ },
"cachedir": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz",
@@ -6786,6 +8551,12 @@
"caller-callsite": "^2.0.0"
}
},
+ "callsite": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/callsite/download/callsite-1.0.0.tgz",
+ "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
+ "dev": true
+ },
"callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -6831,6 +8602,18 @@
"integrity": "sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo=",
"dev": true
},
+ "caniuse-api": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/caniuse-api/download/caniuse-api-3.0.0.tgz",
+ "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-lite": "^1.0.0",
+ "lodash.memoize": "^4.1.2",
+ "lodash.uniq": "^4.5.0"
+ }
+ },
"caniuse-lite": {
"version": "1.0.30001006",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001006.tgz",
@@ -6846,6 +8629,18 @@
"rsvp": "^4.8.4"
}
},
+ "capture-stack-trace": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/capture-stack-trace/download/capture-stack-trace-1.0.1.tgz",
+ "integrity": "sha1-psC74fOPOqC5Ijjstv9Cw0TUE10=",
+ "dev": true
+ },
+ "case": {
+ "version": "1.6.2",
+ "resolved": "http://r.cnpmjs.org/case/download/case-1.6.2.tgz",
+ "integrity": "sha1-LqaK9pVnUs1pw0nIs+a8hg0cupU=",
+ "dev": true
+ },
"case-sensitive-paths-webpack-plugin": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz",
@@ -6858,6 +8653,18 @@
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true
},
+ "caw": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/caw/download/caw-2.0.1.tgz",
+ "integrity": "sha1-bDygcfwZRyCIPC3F2psHS/x+npU=",
+ "dev": true,
+ "requires": {
+ "get-proxy": "^2.0.0",
+ "isurl": "^1.0.0-alpha5",
+ "tunnel-agent": "^0.6.0",
+ "url-to-options": "^1.0.1"
+ }
+ },
"ccount": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz",
@@ -6905,6 +8712,12 @@
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
"dev": true
},
+ "charenc": {
+ "version": "0.0.2",
+ "resolved": "http://r.cnpmjs.org/charenc/download/charenc-0.0.2.tgz",
+ "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=",
+ "dev": true
+ },
"cheerio": {
"version": "1.0.0-rc.3",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz",
@@ -7058,6 +8871,13 @@
"restore-cursor": "^2.0.0"
}
},
+ "cli-spinners": {
+ "version": "1.3.1",
+ "resolved": "http://r.cnpmjs.org/cli-spinners/download/cli-spinners-1.3.1.tgz",
+ "integrity": "sha1-ACwZkJEtDVlYDJO9NsBW3pnkJZo=",
+ "dev": true,
+ "optional": true
+ },
"cli-table3": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz",
@@ -7130,6 +8950,55 @@
"tiny-emitter": "^2.0.0"
}
},
+ "clipboardy": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/clipboardy/download/clipboardy-2.1.0.tgz",
+ "integrity": "sha1-ASOgyPrJLyVtxWM14LuL6XpJCaU=",
+ "dev": true,
+ "requires": {
+ "arch": "^2.1.1",
+ "execa": "^1.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "http://r.cnpmjs.org/cross-spawn/download/cross-spawn-6.0.5.tgz",
+ "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/execa/download/execa-1.0.0.tgz",
+ "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/get-stream/download/get-stream-4.1.0.tgz",
+ "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ }
+ }
+ },
"cliui": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
@@ -7215,6 +9084,23 @@
"is-supported-regexp-flag": "^1.0.0"
}
},
+ "clone-response": {
+ "version": "1.0.2",
+ "resolved": "http://r.cnpmjs.org/clone-response/download/clone-response-1.0.2.tgz",
+ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ },
+ "dependencies": {
+ "mimic-response": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/mimic-response/download/mimic-response-1.0.1.tgz",
+ "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=",
+ "dev": true
+ }
+ }
+ },
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
@@ -7238,6 +9124,12 @@
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true
},
+ "codemirror": {
+ "version": "5.49.2",
+ "resolved": "http://r.cnpmjs.org/codemirror/download/codemirror-5.49.2.tgz",
+ "integrity": "sha1-yE/a8RsZgD+CiwxnBgx7xtFUzK0=",
+ "dev": true
+ },
"collapse-white-space": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz",
@@ -7254,6 +9146,16 @@
"object-visit": "^1.0.0"
}
},
+ "color": {
+ "version": "3.1.2",
+ "resolved": "http://r.cnpmjs.org/color/download/color-3.1.2.tgz",
+ "integrity": "sha1-aBSOf4XUGtdknF+oyBBvCY0inhA=",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.1",
+ "color-string": "^1.5.2"
+ }
+ },
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -7269,6 +9171,16 @@
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
+ "color-string": {
+ "version": "1.5.3",
+ "resolved": "http://r.cnpmjs.org/color-string/download/color-string-1.5.3.tgz",
+ "integrity": "sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw=",
+ "dev": true,
+ "requires": {
+ "color-name": "^1.0.0",
+ "simple-swizzle": "^0.2.2"
+ }
+ },
"colors": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
@@ -7301,6 +9213,12 @@
"integrity": "sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ==",
"dev": true
},
+ "command-exists": {
+ "version": "1.2.8",
+ "resolved": "http://r.cnpmjs.org/command-exists/download/command-exists-1.2.8.tgz",
+ "integrity": "sha1-cVrO/dEiO5ybNxEKFJxjksKFIpE=",
+ "dev": true
+ },
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@@ -7509,12 +9427,39 @@
"dot-prop": "^3.0.0"
}
},
+ "component-bind": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/component-bind/download/component-bind-1.0.0.tgz",
+ "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
+ "dev": true
+ },
+ "component-classes": {
+ "version": "1.2.6",
+ "resolved": "http://r.cnpmjs.org/component-classes/download/component-classes-1.2.6.tgz",
+ "integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=",
+ "dev": true,
+ "requires": {
+ "component-indexof": "0.0.3"
+ }
+ },
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
"dev": true
},
+ "component-indexof": {
+ "version": "0.0.3",
+ "resolved": "http://r.cnpmjs.org/component-indexof/download/component-indexof-0.0.3.tgz",
+ "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ=",
+ "dev": true
+ },
+ "component-inherit": {
+ "version": "0.0.3",
+ "resolved": "http://r.cnpmjs.org/component-inherit/download/component-inherit-0.0.3.tgz",
+ "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
+ "dev": true
+ },
"compressible": {
"version": "2.0.17",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
@@ -7575,6 +9520,46 @@
"proto-list": "~1.2.1"
}
},
+ "configstore": {
+ "version": "3.1.2",
+ "resolved": "http://r.cnpmjs.org/configstore/download/configstore-3.1.2.tgz",
+ "integrity": "sha1-xvJd767vJt8S3TNBSwAf6BpUP48=",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^4.1.0",
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^1.0.0",
+ "unique-string": "^1.0.0",
+ "write-file-atomic": "^2.0.0",
+ "xdg-basedir": "^3.0.0"
+ },
+ "dependencies": {
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "http://r.cnpmjs.org/dot-prop/download/dot-prop-4.2.0.tgz",
+ "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=",
+ "dev": true,
+ "requires": {
+ "is-obj": "^1.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "1.3.0",
+ "resolved": "http://r.cnpmjs.org/make-dir/download/make-dir-1.3.0.tgz",
+ "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ }
+ }
+ },
+ "confusing-browser-globals": {
+ "version": "1.0.9",
+ "resolved": "http://r.cnpmjs.org/confusing-browser-globals/download/confusing-browser-globals-1.0.9.tgz",
+ "integrity": "sha1-crwTtIPAJ2gBaBhx1ImFFvj1T90=",
+ "dev": true
+ },
"connect-history-api-fallback": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
@@ -7593,12 +9578,24 @@
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true
},
+ "console-stream": {
+ "version": "0.1.1",
+ "resolved": "http://r.cnpmjs.org/console-stream/download/console-stream-0.1.1.tgz",
+ "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=",
+ "dev": true
+ },
"constants-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
"integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
"dev": true
},
+ "contains-path": {
+ "version": "0.1.0",
+ "resolved": "http://r.cnpmjs.org/contains-path/download/contains-path-0.1.0.tgz",
+ "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
+ "dev": true
+ },
"content-disposition": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
@@ -7997,6 +9994,12 @@
}
}
},
+ "convert-hrtime": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/convert-hrtime/download/convert-hrtime-2.0.0.tgz",
+ "integrity": "sha1-Gb+yyRYvnhHC8Ewsed4rfoCVxic=",
+ "dev": true
+ },
"convert-source-map": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
@@ -8172,6 +10175,20 @@
}
}
},
+ "copyfiles": {
+ "version": "1.2.0",
+ "resolved": "http://r.cnpmjs.org/copyfiles/download/copyfiles-1.2.0.tgz",
+ "integrity": "sha1-qNo6xBqiIgrim9PFi2mEKU8sWTw=",
+ "dev": true,
+ "requires": {
+ "glob": "^7.0.5",
+ "ltcdr": "^2.2.1",
+ "minimatch": "^3.0.3",
+ "mkdirp": "^0.5.1",
+ "noms": "0.0.0",
+ "through2": "^2.0.1"
+ }
+ },
"core-js": {
"version": "2.6.10",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz",
@@ -8218,6 +10235,16 @@
"webpack": "^4.38.0"
}
},
+ "cors": {
+ "version": "2.8.5",
+ "resolved": "http://r.cnpmjs.org/cors/download/cors-2.8.5.tgz",
+ "integrity": "sha1-6sEdpRWS3Ya58G9uesKTs9+HXSk=",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4",
+ "vary": "^1"
+ }
+ },
"cosmiconfig": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
@@ -8280,6 +10307,15 @@
"elliptic": "^6.0.0"
}
},
+ "create-error-class": {
+ "version": "3.0.2",
+ "resolved": "http://r.cnpmjs.org/create-error-class/download/create-error-class-3.0.2.tgz",
+ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
+ "dev": true,
+ "requires": {
+ "capture-stack-trace": "^1.0.0"
+ }
+ },
"create-hash": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
@@ -8307,6 +10343,17 @@
"sha.js": "^2.4.8"
}
},
+ "create-react-class": {
+ "version": "15.6.3",
+ "resolved": "http://r.cnpmjs.org/create-react-class/download/create-react-class-15.6.3.tgz",
+ "integrity": "sha1-LXMjf7P5cK5uvgEanmb0bbyoADY=",
+ "dev": true,
+ "requires": {
+ "fbjs": "^0.8.9",
+ "loose-envify": "^1.3.1",
+ "object-assign": "^4.1.1"
+ }
+ },
"create-react-context": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.3.tgz",
@@ -8317,6 +10364,30 @@
"gud": "^1.0.0"
}
},
+ "cross-fetch": {
+ "version": "2.2.2",
+ "resolved": "http://r.cnpmjs.org/cross-fetch/download/cross-fetch-2.2.2.tgz",
+ "integrity": "sha1-pH/09/xxLauo9qaVoRyUhEDUVyM=",
+ "dev": true,
+ "requires": {
+ "node-fetch": "2.1.2",
+ "whatwg-fetch": "2.0.4"
+ },
+ "dependencies": {
+ "node-fetch": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/node-fetch/download/node-fetch-2.1.2.tgz",
+ "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=",
+ "dev": true
+ },
+ "whatwg-fetch": {
+ "version": "2.0.4",
+ "resolved": "http://r.cnpmjs.org/whatwg-fetch/download/whatwg-fetch-2.0.4.tgz",
+ "integrity": "sha1-3eal3zFfnTmZGqF2IYU9cguFVm8=",
+ "dev": true
+ }
+ }
+ },
"cross-spawn": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
@@ -8328,6 +10399,12 @@
"which": "^1.2.9"
}
},
+ "crypt": {
+ "version": "0.0.2",
+ "resolved": "http://r.cnpmjs.org/crypt/download/crypt-0.0.2.tgz",
+ "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=",
+ "dev": true
+ },
"crypto-browserify": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
@@ -8347,6 +10424,12 @@
"randomfill": "^1.0.3"
}
},
+ "crypto-random-string": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/crypto-random-string/download/crypto-random-string-1.0.0.tgz",
+ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+ "dev": true
+ },
"css": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
@@ -8367,12 +10450,38 @@
}
}
},
+ "css-animation": {
+ "version": "1.6.1",
+ "resolved": "http://r.cnpmjs.org/css-animation/download/css-animation-1.6.1.tgz",
+ "integrity": "sha1-FiBko7DVH5WLf/N7PW1N4Y4XA54=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "component-classes": "^1.2.5"
+ }
+ },
"css-color-keywords": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz",
"integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=",
"dev": true
},
+ "css-color-names": {
+ "version": "0.0.4",
+ "resolved": "http://r.cnpmjs.org/css-color-names/download/css-color-names-0.0.4.tgz",
+ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
+ "dev": true
+ },
+ "css-declaration-sorter": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz",
+ "integrity": "sha1-wZiUD2OnbX42wecQGLABchBUyyI=",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.1",
+ "timsort": "^0.3.0"
+ }
+ },
"css-loader": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.2.0.tgz",
@@ -8507,6 +10616,12 @@
"integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
"dev": true
},
+ "css-selector-parser": {
+ "version": "1.3.0",
+ "resolved": "http://r.cnpmjs.org/css-selector-parser/download/css-selector-parser-1.3.0.tgz",
+ "integrity": "sha1-XxrUPi2O77/cME/NOaUhZklD4+s=",
+ "dev": true
+ },
"css-selector-tokenizer": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
@@ -8595,6 +10710,12 @@
}
}
},
+ "css-unit-converter": {
+ "version": "1.1.1",
+ "resolved": "http://r.cnpmjs.org/css-unit-converter/download/css-unit-converter-1.1.1.tgz",
+ "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=",
+ "dev": true
+ },
"css-what": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
@@ -8607,6 +10728,83 @@
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
"dev": true
},
+ "cssnano": {
+ "version": "4.1.10",
+ "resolved": "http://r.cnpmjs.org/cssnano/download/cssnano-4.1.10.tgz",
+ "integrity": "sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI=",
+ "dev": true,
+ "requires": {
+ "cosmiconfig": "^5.0.0",
+ "cssnano-preset-default": "^4.0.7",
+ "is-resolvable": "^1.0.0",
+ "postcss": "^7.0.0"
+ }
+ },
+ "cssnano-preset-default": {
+ "version": "4.0.7",
+ "resolved": "http://r.cnpmjs.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz",
+ "integrity": "sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y=",
+ "dev": true,
+ "requires": {
+ "css-declaration-sorter": "^4.0.1",
+ "cssnano-util-raw-cache": "^4.0.1",
+ "postcss": "^7.0.0",
+ "postcss-calc": "^7.0.1",
+ "postcss-colormin": "^4.0.3",
+ "postcss-convert-values": "^4.0.1",
+ "postcss-discard-comments": "^4.0.2",
+ "postcss-discard-duplicates": "^4.0.2",
+ "postcss-discard-empty": "^4.0.1",
+ "postcss-discard-overridden": "^4.0.1",
+ "postcss-merge-longhand": "^4.0.11",
+ "postcss-merge-rules": "^4.0.3",
+ "postcss-minify-font-values": "^4.0.2",
+ "postcss-minify-gradients": "^4.0.2",
+ "postcss-minify-params": "^4.0.2",
+ "postcss-minify-selectors": "^4.0.2",
+ "postcss-normalize-charset": "^4.0.1",
+ "postcss-normalize-display-values": "^4.0.2",
+ "postcss-normalize-positions": "^4.0.2",
+ "postcss-normalize-repeat-style": "^4.0.2",
+ "postcss-normalize-string": "^4.0.2",
+ "postcss-normalize-timing-functions": "^4.0.2",
+ "postcss-normalize-unicode": "^4.0.1",
+ "postcss-normalize-url": "^4.0.1",
+ "postcss-normalize-whitespace": "^4.0.2",
+ "postcss-ordered-values": "^4.1.2",
+ "postcss-reduce-initial": "^4.0.3",
+ "postcss-reduce-transforms": "^4.0.2",
+ "postcss-svgo": "^4.0.2",
+ "postcss-unique-selectors": "^4.0.1"
+ }
+ },
+ "cssnano-util-get-arguments": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz",
+ "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
+ "dev": true
+ },
+ "cssnano-util-get-match": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz",
+ "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
+ "dev": true
+ },
+ "cssnano-util-raw-cache": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz",
+ "integrity": "sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "cssnano-util-same-parent": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz",
+ "integrity": "sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=",
+ "dev": true
+ },
"csso": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz",
@@ -8646,6 +10844,17 @@
"array-find-index": "^1.0.1"
}
},
+ "cwebp-bin": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/cwebp-bin/download/cwebp-bin-5.1.0.tgz",
+ "integrity": "sha1-1b6ofBJzWFWOe/epCm1EDULcsHQ=",
+ "dev": true,
+ "requires": {
+ "bin-build": "^3.0.0",
+ "bin-wrapper": "^4.0.1",
+ "logalot": "^2.1.0"
+ }
+ },
"cyclist": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
@@ -8678,6 +10887,12 @@
"type": "^1.0.1"
}
},
+ "damerau-levenshtein": {
+ "version": "1.0.5",
+ "resolved": "http://r.cnpmjs.org/damerau-levenshtein/download/damerau-levenshtein-1.0.5.tgz",
+ "integrity": "sha1-eAz3FE6y6NvRw7uDrjEQDMwxpBQ=",
+ "dev": true
+ },
"dargs": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",
@@ -8783,6 +10998,47 @@
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
+ "decompress": {
+ "version": "4.2.0",
+ "resolved": "http://r.cnpmjs.org/decompress/download/decompress-4.2.0.tgz",
+ "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=",
+ "dev": true,
+ "requires": {
+ "decompress-tar": "^4.0.0",
+ "decompress-tarbz2": "^4.0.0",
+ "decompress-targz": "^4.0.0",
+ "decompress-unzip": "^4.0.1",
+ "graceful-fs": "^4.1.10",
+ "make-dir": "^1.0.0",
+ "pify": "^2.3.0",
+ "strip-dirs": "^2.0.0"
+ },
+ "dependencies": {
+ "make-dir": {
+ "version": "1.3.0",
+ "resolved": "http://r.cnpmjs.org/make-dir/download/make-dir-1.3.0.tgz",
+ "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
"decompress-response": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
@@ -8792,6 +11048,126 @@
"mimic-response": "^2.0.0"
}
},
+ "decompress-tar": {
+ "version": "4.1.1",
+ "resolved": "http://r.cnpmjs.org/decompress-tar/download/decompress-tar-4.1.1.tgz",
+ "integrity": "sha1-cYy9P8sWIJcW5womuE57pFkuWvE=",
+ "dev": true,
+ "requires": {
+ "file-type": "^5.2.0",
+ "is-stream": "^1.1.0",
+ "tar-stream": "^1.5.2"
+ },
+ "dependencies": {
+ "bl": {
+ "version": "1.2.2",
+ "resolved": "http://r.cnpmjs.org/bl/download/bl-1.2.2.tgz",
+ "integrity": "sha1-oWCRFxcQPAdBDO9j71Gzl8Alr5w=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.3.5",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "file-type": {
+ "version": "5.2.0",
+ "resolved": "http://r.cnpmjs.org/file-type/download/file-type-5.2.0.tgz",
+ "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
+ "dev": true
+ },
+ "tar-stream": {
+ "version": "1.6.2",
+ "resolved": "http://r.cnpmjs.org/tar-stream/download/tar-stream-1.6.2.tgz",
+ "integrity": "sha1-jqVdqzeXIlPZqa+Q/c1VmuQ1xVU=",
+ "dev": true,
+ "requires": {
+ "bl": "^1.0.0",
+ "buffer-alloc": "^1.2.0",
+ "end-of-stream": "^1.0.0",
+ "fs-constants": "^1.0.0",
+ "readable-stream": "^2.3.0",
+ "to-buffer": "^1.1.1",
+ "xtend": "^4.0.0"
+ }
+ }
+ }
+ },
+ "decompress-tarbz2": {
+ "version": "4.1.1",
+ "resolved": "http://r.cnpmjs.org/decompress-tarbz2/download/decompress-tarbz2-4.1.1.tgz",
+ "integrity": "sha1-MIKluIDqQEOBY0nzeLVsUWvho5s=",
+ "dev": true,
+ "requires": {
+ "decompress-tar": "^4.1.0",
+ "file-type": "^6.1.0",
+ "is-stream": "^1.1.0",
+ "seek-bzip": "^1.0.5",
+ "unbzip2-stream": "^1.0.9"
+ },
+ "dependencies": {
+ "file-type": {
+ "version": "6.2.0",
+ "resolved": "http://r.cnpmjs.org/file-type/download/file-type-6.2.0.tgz",
+ "integrity": "sha1-5QzXXTVv/tTjBtxPW89Sp5kDqRk=",
+ "dev": true
+ }
+ }
+ },
+ "decompress-targz": {
+ "version": "4.1.1",
+ "resolved": "http://r.cnpmjs.org/decompress-targz/download/decompress-targz-4.1.1.tgz",
+ "integrity": "sha1-wJvDXE0R894J8tLaU+neI+fOHu4=",
+ "dev": true,
+ "requires": {
+ "decompress-tar": "^4.1.1",
+ "file-type": "^5.2.0",
+ "is-stream": "^1.1.0"
+ },
+ "dependencies": {
+ "file-type": {
+ "version": "5.2.0",
+ "resolved": "http://r.cnpmjs.org/file-type/download/file-type-5.2.0.tgz",
+ "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
+ "dev": true
+ }
+ }
+ },
+ "decompress-unzip": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/decompress-unzip/download/decompress-unzip-4.0.1.tgz",
+ "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=",
+ "dev": true,
+ "requires": {
+ "file-type": "^3.8.0",
+ "get-stream": "^2.2.0",
+ "pify": "^2.3.0",
+ "yauzl": "^2.4.2"
+ },
+ "dependencies": {
+ "file-type": {
+ "version": "3.9.0",
+ "resolved": "http://r.cnpmjs.org/file-type/download/file-type-3.9.0.tgz",
+ "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "2.3.1",
+ "resolved": "http://r.cnpmjs.org/get-stream/download/get-stream-2.3.1.tgz",
+ "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.0.1",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
"dedent": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
@@ -8830,6 +11206,12 @@
"integrity": "sha512-b+QLs5vHgS+IoSNcUE4n9HP2NwcHj7aqnJWsjPtuG75Rh5TOaGt0OjAYInh77d5T16V5cRDC+Pw/6ZZZiETBGw==",
"dev": true
},
+ "deepmerge": {
+ "version": "4.2.2",
+ "resolved": "http://r.cnpmjs.org/deepmerge/download/deepmerge-4.2.2.tgz",
+ "integrity": "sha1-RNLqNnm49NT/ujPwPYZfwee/SVU=",
+ "dev": true
+ },
"default-gateway": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
@@ -9147,6 +11529,15 @@
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
"dev": true
},
+ "detab": {
+ "version": "2.0.2",
+ "resolved": "http://r.cnpmjs.org/detab/download/detab-2.0.2.tgz",
+ "integrity": "sha1-B0lw0agHsEXQJYpCNd9ZKN1oNWE=",
+ "dev": true,
+ "requires": {
+ "repeat-string": "^1.5.4"
+ }
+ },
"detect-file": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
@@ -9197,6 +11588,64 @@
"defined": "^1.0.0"
}
},
+ "devcert-san": {
+ "version": "0.3.3",
+ "resolved": "http://r.cnpmjs.org/devcert-san/download/devcert-san-0.3.3.tgz",
+ "integrity": "sha1-qnckR0Gy2DF3HAEfIu4l45atS6k=",
+ "dev": true,
+ "requires": {
+ "@types/configstore": "^2.1.1",
+ "@types/debug": "^0.0.29",
+ "@types/get-port": "^0.0.4",
+ "@types/glob": "^5.0.30",
+ "@types/mkdirp": "^0.3.29",
+ "@types/node": "^7.0.11",
+ "@types/tmp": "^0.0.32",
+ "command-exists": "^1.2.2",
+ "configstore": "^3.0.0",
+ "debug": "^2.6.3",
+ "eol": "^0.8.1",
+ "get-port": "^3.0.0",
+ "glob": "^7.1.1",
+ "mkdirp": "^0.5.1",
+ "tmp": "^0.0.31",
+ "tslib": "^1.6.0"
+ },
+ "dependencies": {
+ "@types/glob": {
+ "version": "5.0.36",
+ "resolved": "http://r.cnpmjs.org/@types/glob/download/@types/glob-5.0.36.tgz",
+ "integrity": "sha1-DICpyGZPx9GXgd4inyhwd/1iLLI=",
+ "dev": true,
+ "requires": {
+ "@types/events": "*",
+ "@types/minimatch": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/node": {
+ "version": "7.10.9",
+ "resolved": "http://r.cnpmjs.org/@types/node/download/@types/node-7.10.9.tgz",
+ "integrity": "sha1-Q0PjsAn4z14e1oXjYJe3S0EB6IA=",
+ "dev": true
+ },
+ "get-port": {
+ "version": "3.2.0",
+ "resolved": "http://r.cnpmjs.org/get-port/download/get-port-3.2.0.tgz",
+ "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=",
+ "dev": true
+ },
+ "tmp": {
+ "version": "0.0.31",
+ "resolved": "http://r.cnpmjs.org/tmp/download/tmp-0.0.31.tgz",
+ "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "~1.0.1"
+ }
+ }
+ }
+ },
"dezalgo": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
@@ -9280,6 +11729,21 @@
"esutils": "^2.0.2"
}
},
+ "dom-align": {
+ "version": "1.10.2",
+ "resolved": "http://r.cnpmjs.org/dom-align/download/dom-align-1.10.2.tgz",
+ "integrity": "sha1-VA6hyeIEYr0RufwoxWHcg1Hs5MY=",
+ "dev": true
+ },
+ "dom-closest": {
+ "version": "0.2.0",
+ "resolved": "http://r.cnpmjs.org/dom-closest/download/dom-closest-0.2.0.tgz",
+ "integrity": "sha1-69n5HRvyLo1vR3h2u80+yQIWwM8=",
+ "dev": true,
+ "requires": {
+ "dom-matches": ">=1.0.1"
+ }
+ },
"dom-converter": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
@@ -9298,6 +11762,18 @@
"@babel/runtime": "^7.1.2"
}
},
+ "dom-matches": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/dom-matches/download/dom-matches-2.0.0.tgz",
+ "integrity": "sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw=",
+ "dev": true
+ },
+ "dom-scroll-into-view": {
+ "version": "1.2.1",
+ "resolved": "http://r.cnpmjs.org/dom-scroll-into-view/download/dom-scroll-into-view-1.2.1.tgz",
+ "integrity": "sha1-6PNnMt0ImwIBqI14Fdw/iObWbH4=",
+ "dev": true
+ },
"dom-serializer": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz",
@@ -9407,12 +11883,125 @@
"dotenv-defaults": "^1.0.2"
}
},
+ "download": {
+ "version": "6.2.5",
+ "resolved": "http://r.cnpmjs.org/download/download/download-6.2.5.tgz",
+ "integrity": "sha1-rNalQuTNC7Qspwz8mMnkOwcDlxQ=",
+ "dev": true,
+ "requires": {
+ "caw": "^2.0.0",
+ "content-disposition": "^0.5.2",
+ "decompress": "^4.0.0",
+ "ext-name": "^5.0.0",
+ "file-type": "5.2.0",
+ "filenamify": "^2.0.0",
+ "get-stream": "^3.0.0",
+ "got": "^7.0.0",
+ "make-dir": "^1.0.0",
+ "p-event": "^1.0.0",
+ "pify": "^3.0.0"
+ },
+ "dependencies": {
+ "decompress-response": {
+ "version": "3.3.0",
+ "resolved": "http://r.cnpmjs.org/decompress-response/download/decompress-response-3.3.0.tgz",
+ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
+ "file-type": {
+ "version": "5.2.0",
+ "resolved": "http://r.cnpmjs.org/file-type/download/file-type-5.2.0.tgz",
+ "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
+ "dev": true
+ },
+ "got": {
+ "version": "7.1.0",
+ "resolved": "http://r.cnpmjs.org/got/download/got-7.1.0.tgz",
+ "integrity": "sha1-BUUP2ECU5rvqVvRRpDqcKJFmOFo=",
+ "dev": true,
+ "requires": {
+ "decompress-response": "^3.2.0",
+ "duplexer3": "^0.1.4",
+ "get-stream": "^3.0.0",
+ "is-plain-obj": "^1.1.0",
+ "is-retry-allowed": "^1.0.0",
+ "is-stream": "^1.0.0",
+ "isurl": "^1.0.0-alpha5",
+ "lowercase-keys": "^1.0.0",
+ "p-cancelable": "^0.3.0",
+ "p-timeout": "^1.1.1",
+ "safe-buffer": "^5.0.1",
+ "timed-out": "^4.0.0",
+ "url-parse-lax": "^1.0.0",
+ "url-to-options": "^1.0.1"
+ }
+ },
+ "make-dir": {
+ "version": "1.3.0",
+ "resolved": "http://r.cnpmjs.org/make-dir/download/make-dir-1.3.0.tgz",
+ "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
+ "mimic-response": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/mimic-response/download/mimic-response-1.0.1.tgz",
+ "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=",
+ "dev": true
+ },
+ "p-cancelable": {
+ "version": "0.3.0",
+ "resolved": "http://r.cnpmjs.org/p-cancelable/download/p-cancelable-0.3.0.tgz",
+ "integrity": "sha1-ueEjgAvOu3rBOkeb4ZW1B7mNMPo=",
+ "dev": true
+ },
+ "p-timeout": {
+ "version": "1.2.1",
+ "resolved": "http://r.cnpmjs.org/p-timeout/download/p-timeout-1.2.1.tgz",
+ "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=",
+ "dev": true,
+ "requires": {
+ "p-finally": "^1.0.0"
+ }
+ }
+ }
+ },
+ "draft-js": {
+ "version": "0.10.5",
+ "resolved": "http://r.cnpmjs.org/draft-js/download/draft-js-0.10.5.tgz",
+ "integrity": "sha1-v6m+sBj+BTPbsI1mdcNxprCPp0I=",
+ "dev": true,
+ "requires": {
+ "fbjs": "^0.8.15",
+ "immutable": "~3.7.4",
+ "object-assign": "^4.1.0"
+ },
+ "dependencies": {
+ "immutable": {
+ "version": "3.7.6",
+ "resolved": "http://r.cnpmjs.org/immutable/download/immutable-3.7.6.tgz",
+ "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=",
+ "dev": true
+ }
+ }
+ },
"duplexer": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
"dev": true
},
+ "duplexer3": {
+ "version": "0.1.4",
+ "resolved": "http://r.cnpmjs.org/duplexer3/download/duplexer3-0.1.4.tgz",
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+ "dev": true
+ },
"duplexify": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
@@ -9483,6 +12072,12 @@
"minimalistic-crypto-utils": "^1.0.0"
}
},
+ "email-addresses": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/email-addresses/download/email-addresses-3.1.0.tgz",
+ "integrity": "sha1-yr9+CFy9tjAIpwMZp05hNhiIEvs=",
+ "dev": true
+ },
"emoji-regex": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
@@ -9530,6 +12125,116 @@
"once": "^1.4.0"
}
},
+ "engine.io": {
+ "version": "3.4.0",
+ "resolved": "http://r.cnpmjs.org/engine.io/download/engine.io-3.4.0.tgz",
+ "integrity": "sha1-OpYsxFNZKMJSdZoA+YUZy0bFP/M=",
+ "dev": true,
+ "requires": {
+ "accepts": "~1.3.4",
+ "base64id": "2.0.0",
+ "cookie": "0.3.1",
+ "debug": "~4.1.0",
+ "engine.io-parser": "~2.2.0",
+ "ws": "^7.1.2"
+ },
+ "dependencies": {
+ "cookie": {
+ "version": "0.3.1",
+ "resolved": "http://r.cnpmjs.org/cookie/download/cookie-0.3.1.tgz",
+ "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "http://r.cnpmjs.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ },
+ "ws": {
+ "version": "7.2.0",
+ "resolved": "http://r.cnpmjs.org/ws/download/ws-7.2.0.tgz",
+ "integrity": "sha1-Qi7ajAKktdundEumbuu9hLzvDsc=",
+ "dev": true,
+ "requires": {
+ "async-limiter": "^1.0.0"
+ }
+ }
+ }
+ },
+ "engine.io-client": {
+ "version": "3.4.0",
+ "resolved": "http://r.cnpmjs.org/engine.io-client/download/engine.io-client-3.4.0.tgz",
+ "integrity": "sha1-gqZCtChiqbP3oYj0F3ay3qtkNwA=",
+ "dev": true,
+ "requires": {
+ "component-emitter": "1.2.1",
+ "component-inherit": "0.0.3",
+ "debug": "~4.1.0",
+ "engine.io-parser": "~2.2.0",
+ "has-cors": "1.1.0",
+ "indexof": "0.0.1",
+ "parseqs": "0.0.5",
+ "parseuri": "0.0.5",
+ "ws": "~6.1.0",
+ "xmlhttprequest-ssl": "~1.5.4",
+ "yeast": "0.1.2"
+ },
+ "dependencies": {
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "http://r.cnpmjs.org/component-emitter/download/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "http://r.cnpmjs.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ },
+ "ws": {
+ "version": "6.1.4",
+ "resolved": "http://r.cnpmjs.org/ws/download/ws-6.1.4.tgz",
+ "integrity": "sha1-W1yIAK+rkl6UzLKdFTyNAsF3bvk=",
+ "dev": true,
+ "requires": {
+ "async-limiter": "~1.0.0"
+ }
+ }
+ }
+ },
+ "engine.io-parser": {
+ "version": "2.2.0",
+ "resolved": "http://r.cnpmjs.org/engine.io-parser/download/engine.io-parser-2.2.0.tgz",
+ "integrity": "sha1-MSxIlPV9UqArQgho2ntcHISvgO0=",
+ "dev": true,
+ "requires": {
+ "after": "0.8.2",
+ "arraybuffer.slice": "~0.0.7",
+ "base64-arraybuffer": "0.1.5",
+ "blob": "0.0.5",
+ "has-binary2": "~1.0.2"
+ }
+ },
"enhanced-resolve": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz",
@@ -9553,6 +12258,12 @@
}
}
},
+ "enquire.js": {
+ "version": "2.1.6",
+ "resolved": "http://r.cnpmjs.org/enquire.js/download/enquire.js-2.1.6.tgz",
+ "integrity": "sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ=",
+ "dev": true
+ },
"entities": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
@@ -9575,6 +12286,12 @@
"through": "~2.3.4"
}
},
+ "envinfo": {
+ "version": "5.12.1",
+ "resolved": "http://r.cnpmjs.org/envinfo/download/envinfo-5.12.1.tgz",
+ "integrity": "sha1-gwaMM+CXLrZX1rxppt8wut77Ru8=",
+ "dev": true
+ },
"enzyme": {
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.10.0.tgz",
@@ -9654,6 +12371,12 @@
"lodash": "^4.17.15"
}
},
+ "eol": {
+ "version": "0.8.1",
+ "resolved": "http://r.cnpmjs.org/eol/download/eol-0.8.1.tgz",
+ "integrity": "sha1-3vwyJJkMfspzuzRGGlbPncJHYdA=",
+ "dev": true
+ },
"err-code": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
@@ -9678,6 +12401,15 @@
"is-arrayish": "^0.2.1"
}
},
+ "error-stack-parser": {
+ "version": "2.0.4",
+ "resolved": "http://r.cnpmjs.org/error-stack-parser/download/error-stack-parser-2.0.4.tgz",
+ "integrity": "sha1-p1c5fcXZ3pc6yaXX1Oit58+ukQE=",
+ "dev": true,
+ "requires": {
+ "stackframe": "^1.1.0"
+ }
+ },
"es-abstract": {
"version": "1.16.0",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz",
@@ -9806,6 +12538,429 @@
}
}
},
+ "eslint": {
+ "version": "6.6.0",
+ "resolved": "http://r.cnpmjs.org/eslint/download/eslint-6.6.0.tgz",
+ "integrity": "sha1-SgGi+0jTKqzvVTDunFp48RqK/QQ=",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "ajv": "^6.10.0",
+ "chalk": "^2.1.0",
+ "cross-spawn": "^6.0.5",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^1.4.3",
+ "eslint-visitor-keys": "^1.1.0",
+ "espree": "^6.1.2",
+ "esquery": "^1.0.1",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^5.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.0.0",
+ "globals": "^11.7.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "inquirer": "^7.0.0",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.3.0",
+ "lodash": "^4.17.14",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.1",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.8.2",
+ "progress": "^2.0.0",
+ "regexpp": "^2.0.1",
+ "semver": "^6.1.2",
+ "strip-ansi": "^5.2.0",
+ "strip-json-comments": "^3.0.1",
+ "table": "^5.2.3",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "dependencies": {
+ "ansi-escapes": {
+ "version": "4.2.1",
+ "resolved": "http://r.cnpmjs.org/ansi-escapes/download/ansi-escapes-4.2.1.tgz",
+ "integrity": "sha1-TczbhGw+7hD21k3qZic+q5DDcig=",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.5.2"
+ }
+ },
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
+ "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
+ "dev": true
+ },
+ "cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/cli-cursor/download/cli-cursor-3.1.0.tgz",
+ "integrity": "sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^3.1.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "http://r.cnpmjs.org/cross-spawn/download/cross-spawn-6.0.5.tgz",
+ "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "http://r.cnpmjs.org/semver/download/semver-5.7.1.tgz",
+ "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
+ "dev": true
+ }
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "http://r.cnpmjs.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "http://r.cnpmjs.org/emoji-regex/download/emoji-regex-8.0.0.tgz",
+ "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=",
+ "dev": true
+ },
+ "eslint-scope": {
+ "version": "5.0.0",
+ "resolved": "http://r.cnpmjs.org/eslint-scope/download/eslint-scope-5.0.0.tgz",
+ "integrity": "sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "figures": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/figures/download/figures-3.1.0.tgz",
+ "integrity": "sha1-SxmN0H2NcVMGQoZK8tRd2eRZxOw=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "file-entry-cache": {
+ "version": "5.0.1",
+ "resolved": "http://r.cnpmjs.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz",
+ "integrity": "sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^2.0.1"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/glob-parent/download/glob-parent-5.1.0.tgz",
+ "integrity": "sha1-X0wdHnSNMM1zrSlEs1d6gbCB6MI=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "http://r.cnpmjs.org/ignore/download/ignore-4.0.6.tgz",
+ "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=",
+ "dev": true
+ },
+ "inquirer": {
+ "version": "7.0.0",
+ "resolved": "http://r.cnpmjs.org/inquirer/download/inquirer-7.0.0.tgz",
+ "integrity": "sha1-nisDLd532h2124BHWLj+o6lwUZo=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^2.4.2",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^2.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.15",
+ "mute-stream": "0.0.8",
+ "run-async": "^2.2.0",
+ "rxjs": "^6.4.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^5.1.0",
+ "through": "^2.3.6"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=",
+ "dev": true
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/mimic-fn/download/mimic-fn-2.1.0.tgz",
+ "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ },
+ "mute-stream": {
+ "version": "0.0.8",
+ "resolved": "http://r.cnpmjs.org/mute-stream/download/mute-stream-0.0.8.tgz",
+ "integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=",
+ "dev": true
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/onetime/download/onetime-5.1.0.tgz",
+ "integrity": "sha1-//DzyRYX/mK7UBiWNumayKbfe+U=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/restore-cursor/download/restore-cursor-3.1.0.tgz",
+ "integrity": "sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=",
+ "dev": true,
+ "requires": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "http://r.cnpmjs.org/semver/download/semver-6.3.0.tgz",
+ "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/string-width/download/string-width-4.1.0.tgz",
+ "integrity": "sha1-uoRtHaqXw8WWFVMIBj4HXtHJmv8=",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^5.2.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-5.2.0.tgz",
+ "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.5.2",
+ "resolved": "http://r.cnpmjs.org/type-fest/download/type-fest-0.5.2.tgz",
+ "integrity": "sha1-1u9CoDVsbNRfSUhcO2KB/BSOSKI=",
+ "dev": true
+ }
+ }
+ },
+ "eslint-config-react-app": {
+ "version": "5.0.2",
+ "resolved": "http://r.cnpmjs.org/eslint-config-react-app/download/eslint-config-react-app-5.0.2.tgz",
+ "integrity": "sha1-30DXOhQCmGAwaAwEC77lINtaMqQ=",
+ "dev": true,
+ "requires": {
+ "confusing-browser-globals": "^1.0.9"
+ }
+ },
+ "eslint-import-resolver-node": {
+ "version": "0.3.2",
+ "resolved": "http://r.cnpmjs.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.2.tgz",
+ "integrity": "sha1-WPFfuDm40FdsqYBBNHaqskcttmo=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.9",
+ "resolve": "^1.5.0"
+ }
+ },
+ "eslint-loader": {
+ "version": "2.2.1",
+ "resolved": "http://r.cnpmjs.org/eslint-loader/download/eslint-loader-2.2.1.tgz",
+ "integrity": "sha1-KLnBLaVAV68IReKmEScBova/gzc=",
+ "dev": true,
+ "requires": {
+ "loader-fs-cache": "^1.0.0",
+ "loader-utils": "^1.0.2",
+ "object-assign": "^4.0.1",
+ "object-hash": "^1.1.4",
+ "rimraf": "^2.6.1"
+ }
+ },
+ "eslint-module-utils": {
+ "version": "2.4.1",
+ "resolved": "http://r.cnpmjs.org/eslint-module-utils/download/eslint-module-utils-2.4.1.tgz",
+ "integrity": "sha1-e0Z1h1v5aw2/GyGXdFblux9eAYw=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.8",
+ "pkg-dir": "^2.0.0"
+ },
+ "dependencies": {
+ "pkg-dir": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/pkg-dir/download/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.1.0"
+ }
+ }
+ }
+ },
+ "eslint-plugin-flowtype": {
+ "version": "3.13.0",
+ "resolved": "http://r.cnpmjs.org/eslint-plugin-flowtype/download/eslint-plugin-flowtype-3.13.0.tgz",
+ "integrity": "sha1-4kHr05wM5Rk0Wj8HTsHr3kz4Dyw=",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "eslint-plugin-graphql": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/eslint-plugin-graphql/download/eslint-plugin-graphql-3.1.0.tgz",
+ "integrity": "sha1-zPDTxhlh9jBxcKxWXB+wkC3U8R8=",
+ "dev": true,
+ "requires": {
+ "graphql-config": "^2.0.1",
+ "lodash": "^4.11.1"
+ }
+ },
+ "eslint-plugin-import": {
+ "version": "2.18.2",
+ "resolved": "http://r.cnpmjs.org/eslint-plugin-import/download/eslint-plugin-import-2.18.2.tgz",
+ "integrity": "sha1-AvEYC5Cwd7M9RHoXojJs60AKzrY=",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.0.3",
+ "contains-path": "^0.1.0",
+ "debug": "^2.6.9",
+ "doctrine": "1.5.0",
+ "eslint-import-resolver-node": "^0.3.2",
+ "eslint-module-utils": "^2.4.0",
+ "has": "^1.0.3",
+ "minimatch": "^3.0.4",
+ "object.values": "^1.1.0",
+ "read-pkg-up": "^2.0.0",
+ "resolve": "^1.11.0"
+ },
+ "dependencies": {
+ "doctrine": {
+ "version": "1.5.0",
+ "resolved": "http://r.cnpmjs.org/doctrine/download/doctrine-1.5.0.tgz",
+ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "isarray": "^1.0.0"
+ }
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/load-json-file/download/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "http://r.cnpmjs.org/parse-json/download/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/path-type/download/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "requires": {
+ "pify": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/read-pkg/download/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ }
+ }
+ }
+ },
+ "eslint-plugin-jsx-a11y": {
+ "version": "6.2.3",
+ "resolved": "http://r.cnpmjs.org/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.2.3.tgz",
+ "integrity": "sha1-uHKgnV3lGvcKl9se6n3JMwQ3CKo=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.4.5",
+ "aria-query": "^3.0.0",
+ "array-includes": "^3.0.3",
+ "ast-types-flow": "^0.0.7",
+ "axobject-query": "^2.0.2",
+ "damerau-levenshtein": "^1.0.4",
+ "emoji-regex": "^7.0.2",
+ "has": "^1.0.3",
+ "jsx-ast-utils": "^2.2.1"
+ }
+ },
"eslint-plugin-prettier": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.7.0.tgz",
@@ -9824,6 +12979,40 @@
}
}
},
+ "eslint-plugin-react": {
+ "version": "7.16.0",
+ "resolved": "http://r.cnpmjs.org/eslint-plugin-react/download/eslint-plugin-react-7.16.0.tgz",
+ "integrity": "sha1-mSjk8+ISLtO6altW0DA7o+QdjAk=",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.0.3",
+ "doctrine": "^2.1.0",
+ "has": "^1.0.3",
+ "jsx-ast-utils": "^2.2.1",
+ "object.entries": "^1.1.0",
+ "object.fromentries": "^2.0.0",
+ "object.values": "^1.1.0",
+ "prop-types": "^15.7.2",
+ "resolve": "^1.12.0"
+ },
+ "dependencies": {
+ "doctrine": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/doctrine/download/doctrine-2.1.0.tgz",
+ "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ }
+ }
+ },
+ "eslint-plugin-react-hooks": {
+ "version": "1.7.0",
+ "resolved": "http://r.cnpmjs.org/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-1.7.0.tgz",
+ "integrity": "sha1-YhC21aNyBfC5KFj4laToJwIKfQQ=",
+ "dev": true
+ },
"eslint-scope": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
@@ -9834,12 +13023,55 @@
"estraverse": "^4.1.1"
}
},
+ "eslint-utils": {
+ "version": "1.4.3",
+ "resolved": "http://r.cnpmjs.org/eslint-utils/download/eslint-utils-1.4.3.tgz",
+ "integrity": "sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8=",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz",
+ "integrity": "sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI=",
+ "dev": true
+ },
+ "espree": {
+ "version": "6.1.2",
+ "resolved": "http://r.cnpmjs.org/espree/download/espree-6.1.2.tgz",
+ "integrity": "sha1-bCcmUJMrT5HDcU5ee19eLs9HJi0=",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.1.0",
+ "acorn-jsx": "^5.1.0",
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.1.0",
+ "resolved": "http://r.cnpmjs.org/acorn/download/acorn-7.1.0.tgz",
+ "integrity": "sha1-lJ028sKSU12mAig1hsJHfFfrLWw=",
+ "dev": true
+ }
+ }
+ },
"esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true
},
+ "esquery": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/esquery/download/esquery-1.0.1.tgz",
+ "integrity": "sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg=",
+ "dev": true,
+ "requires": {
+ "estraverse": "^4.0.0"
+ }
+ },
"esrecurse": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
@@ -9867,12 +13099,24 @@
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"dev": true
},
+ "event-source-polyfill": {
+ "version": "1.0.9",
+ "resolved": "http://r.cnpmjs.org/event-source-polyfill/download/event-source-polyfill-1.0.9.tgz",
+ "integrity": "sha1-H+Pr+OP63a/U/CN0JPXlqycGttA=",
+ "dev": true
+ },
"eventemitter3": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz",
"integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==",
"dev": true
},
+ "eventlistener": {
+ "version": "0.0.1",
+ "resolved": "http://r.cnpmjs.org/eventlistener/download/eventlistener-0.0.1.tgz",
+ "integrity": "sha1-7Suqu4UiJ68rz4iRUscsY8pTLrg=",
+ "dev": true
+ },
"events": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
@@ -9898,6 +13142,19 @@
"safe-buffer": "^5.1.1"
}
},
+ "exec-buffer": {
+ "version": "3.2.0",
+ "resolved": "http://r.cnpmjs.org/exec-buffer/download/exec-buffer-3.2.0.tgz",
+ "integrity": "sha1-sWhtvZBMfPmC5lLB9aebHlVzCCs=",
+ "dev": true,
+ "requires": {
+ "execa": "^0.7.0",
+ "p-finally": "^1.0.0",
+ "pify": "^3.0.0",
+ "rimraf": "^2.5.4",
+ "tempfile": "^2.0.0"
+ }
+ },
"exec-sh": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz",
@@ -9928,6 +13185,29 @@
"clone-regexp": "^1.0.0"
}
},
+ "executable": {
+ "version": "4.1.1",
+ "resolved": "http://r.cnpmjs.org/executable/download/executable-4.1.1.tgz",
+ "integrity": "sha1-QVMr/zYdPlevTXY7cFgtsY9dEzw=",
+ "dev": true,
+ "requires": {
+ "pify": "^2.2.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
+ "exif-parser": {
+ "version": "0.1.12",
+ "resolved": "http://r.cnpmjs.org/exif-parser/download/exif-parser-0.1.12.tgz",
+ "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=",
+ "dev": true
+ },
"exit": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
@@ -10044,6 +13324,45 @@
}
}
},
+ "express-graphql": {
+ "version": "0.9.0",
+ "resolved": "http://r.cnpmjs.org/express-graphql/download/express-graphql-0.9.0.tgz",
+ "integrity": "sha1-AP2FUvhmusXJpGErLEyCB2EHs8I=",
+ "dev": true,
+ "requires": {
+ "accepts": "^1.3.7",
+ "content-type": "^1.0.4",
+ "http-errors": "^1.7.3",
+ "raw-body": "^2.4.1"
+ },
+ "dependencies": {
+ "http-errors": {
+ "version": "1.7.3",
+ "resolved": "http://r.cnpmjs.org/http-errors/download/http-errors-1.7.3.tgz",
+ "integrity": "sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY=",
+ "dev": true,
+ "requires": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
+ }
+ },
+ "raw-body": {
+ "version": "2.4.1",
+ "resolved": "http://r.cnpmjs.org/raw-body/download/raw-body-2.4.1.tgz",
+ "integrity": "sha1-MKyC+Yu1rowVLmcUnayNVRU7Fow=",
+ "dev": true,
+ "requires": {
+ "bytes": "3.1.0",
+ "http-errors": "1.7.3",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ }
+ }
+ }
+ },
"ext": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/ext/-/ext-1.1.2.tgz",
@@ -10061,6 +13380,25 @@
}
}
},
+ "ext-list": {
+ "version": "2.2.2",
+ "resolved": "http://r.cnpmjs.org/ext-list/download/ext-list-2.2.2.tgz",
+ "integrity": "sha1-C5jmTtgvWs8PKTG6v2khLvUt3Tc=",
+ "dev": true,
+ "requires": {
+ "mime-db": "^1.28.0"
+ }
+ },
+ "ext-name": {
+ "version": "5.0.0",
+ "resolved": "http://r.cnpmjs.org/ext-name/download/ext-name-5.0.0.tgz",
+ "integrity": "sha1-cHgZgdGD7hXROZPIgiBFxQbI8KY=",
+ "dev": true,
+ "requires": {
+ "ext-list": "^2.0.0",
+ "sort-keys-length": "^1.0.0"
+ }
+ },
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -10273,6 +13611,21 @@
}
}
},
+ "fbjs-css-vars": {
+ "version": "1.0.2",
+ "resolved": "http://r.cnpmjs.org/fbjs-css-vars/download/fbjs-css-vars-1.0.2.tgz",
+ "integrity": "sha1-IWVRE2rgL+JVkyw+yHdfGOLAeLg=",
+ "dev": true
+ },
+ "fd-slicer": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/fd-slicer/download/fd-slicer-1.1.0.tgz",
+ "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
+ "dev": true,
+ "requires": {
+ "pend": "~1.2.0"
+ }
+ },
"figgy-pudding": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
@@ -10333,12 +13686,64 @@
}
}
},
+ "file-type": {
+ "version": "10.11.0",
+ "resolved": "http://r.cnpmjs.org/file-type/download/file-type-10.11.0.tgz",
+ "integrity": "sha1-KWHQnkZ1ufuaPua2npzSP0P9GJA=",
+ "dev": true
+ },
"file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
"dev": true
},
+ "filename-reserved-regex": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/filename-reserved-regex/download/filename-reserved-regex-2.0.0.tgz",
+ "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=",
+ "dev": true
+ },
+ "filenamify": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/filenamify/download/filenamify-2.1.0.tgz",
+ "integrity": "sha1-iPr0lfsbR6v9YSMAACoWIoxnfuk=",
+ "dev": true,
+ "requires": {
+ "filename-reserved-regex": "^2.0.0",
+ "strip-outer": "^1.0.0",
+ "trim-repeated": "^1.0.0"
+ }
+ },
+ "filenamify-url": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/filenamify-url/download/filenamify-url-1.0.0.tgz",
+ "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=",
+ "dev": true,
+ "requires": {
+ "filenamify": "^1.0.0",
+ "humanize-url": "^1.0.0"
+ },
+ "dependencies": {
+ "filename-reserved-regex": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/filename-reserved-regex/download/filename-reserved-regex-1.0.0.tgz",
+ "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=",
+ "dev": true
+ },
+ "filenamify": {
+ "version": "1.2.1",
+ "resolved": "http://r.cnpmjs.org/filenamify/download/filenamify-1.2.1.tgz",
+ "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
+ "dev": true,
+ "requires": {
+ "filename-reserved-regex": "^1.0.0",
+ "strip-outer": "^1.0.0",
+ "trim-repeated": "^1.0.0"
+ }
+ }
+ }
+ },
"filesize": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
@@ -10494,6 +13899,24 @@
"locate-path": "^2.0.0"
}
},
+ "find-versions": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/find-versions/download/find-versions-3.1.0.tgz",
+ "integrity": "sha1-EBYfKc8+tDUN7BCim93nW/8N8y0=",
+ "dev": true,
+ "requires": {
+ "array-uniq": "^2.1.0",
+ "semver-regex": "^2.0.0"
+ },
+ "dependencies": {
+ "array-uniq": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/array-uniq/download/array-uniq-2.1.0.tgz",
+ "integrity": "sha1-RmA9Xijnm/0CsEb8wdd8aCC9jpg=",
+ "dev": true
+ }
+ }
+ },
"findup-sync": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
@@ -10506,6 +13929,23 @@
"resolve-dir": "^1.0.1"
}
},
+ "flat": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/flat/download/flat-4.1.0.tgz",
+ "integrity": "sha1-CQvsiwXjnLowl0fx1YjwTbr5jbI=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "~2.0.3"
+ },
+ "dependencies": {
+ "is-buffer": {
+ "version": "2.0.4",
+ "resolved": "http://r.cnpmjs.org/is-buffer/download/is-buffer-2.0.4.tgz",
+ "integrity": "sha1-PlcvI8hBGlz9lVfISeNmXgspBiM=",
+ "dev": true
+ }
+ }
+ },
"flat-cache": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
@@ -10544,12 +13984,24 @@
"readable-stream": "^2.3.6"
}
},
+ "fn-name": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/fn-name/download/fn-name-1.0.1.tgz",
+ "integrity": "sha1-3o2KFTiLM8vyFFeCFx9zdwxgMPA=",
+ "dev": true
+ },
"focus-lock": {
"version": "0.6.6",
"resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.6.6.tgz",
"integrity": "sha512-Dx69IXGCq1qsUExWuG+5wkiMqVM/zGx/reXSJSLogECwp3x6KeNQZ+NAetgxEFpnC41rD8U3+jRCW68+LNzdtw==",
"dev": true
},
+ "folktale": {
+ "version": "2.3.2",
+ "resolved": "http://r.cnpmjs.org/folktale/download/folktale-2.3.2.tgz",
+ "integrity": "sha1-OCMbA55e82mJkgy/gFv2sie/T9Q=",
+ "dev": true
+ },
"follow-redirects": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz",
@@ -10576,6 +14028,15 @@
}
}
},
+ "for-each": {
+ "version": "0.3.3",
+ "resolved": "http://r.cnpmjs.org/for-each/download/for-each-0.3.3.tgz",
+ "integrity": "sha1-abRH6IoKXTLD5whPPxcQA0shN24=",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.3"
+ }
+ },
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -10667,6 +14128,12 @@
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
"dev": true
},
+ "fs-exists-cached": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/fs-exists-cached/download/fs-exists-cached-1.0.0.tgz",
+ "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=",
+ "dev": true
+ },
"fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
@@ -11300,6 +14767,12 @@
"is-callable": "^1.1.4"
}
},
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
"functions-have-names": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.0.tgz",
@@ -11312,6 +14785,2583 @@
"integrity": "sha512-s9PGTaQIkT69HaeoTVjwGsLfb8V8ScJLx5XGFcKHg0MqLUH/UZ4EKOtqtXX9k7AFqCGxD1aJmYb8Q5VYDibVRQ==",
"dev": true
},
+ "gatsby": {
+ "version": "2.17.7",
+ "resolved": "http://r.cnpmjs.org/gatsby/download/gatsby-2.17.7.tgz",
+ "integrity": "sha1-iqcYaARKQuJ9wDFPXJm6yHd+D/U=",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/core": "^7.6.4",
+ "@babel/parser": "^7.6.4",
+ "@babel/polyfill": "^7.6.0",
+ "@babel/runtime": "^7.6.3",
+ "@babel/traverse": "^7.6.3",
+ "@gatsbyjs/relay-compiler": "2.0.0-printer-fix.4",
+ "@hapi/joi": "^15.1.1",
+ "@mikaelkristiansson/domready": "^1.0.9",
+ "@pieh/friendly-errors-webpack-plugin": "1.7.0-chalk-2",
+ "@reach/router": "^1.2.1",
+ "@typescript-eslint/eslint-plugin": "^2.6.0",
+ "@typescript-eslint/parser": "^2.6.0",
+ "address": "1.1.2",
+ "autoprefixer": "^9.7.0",
+ "axios": "^0.19.0",
+ "babel-core": "7.0.0-bridge.0",
+ "babel-eslint": "^10.0.3",
+ "babel-loader": "^8.0.6",
+ "babel-plugin-add-module-exports": "^0.3.3",
+ "babel-plugin-dynamic-import-node": "^1.2.0",
+ "babel-plugin-remove-graphql-queries": "^2.7.14",
+ "babel-preset-gatsby": "^0.2.20",
+ "better-opn": "1.0.0",
+ "better-queue": "^3.8.10",
+ "bluebird": "^3.7.1",
+ "browserslist": "3.2.8",
+ "cache-manager": "^2.10.0",
+ "cache-manager-fs-hash": "^0.0.7",
+ "chalk": "^2.4.2",
+ "chokidar": "3.2.3",
+ "common-tags": "^1.8.0",
+ "compression": "^1.7.4",
+ "convert-hrtime": "^2.0.0",
+ "copyfiles": "^1.2.0",
+ "core-js": "^2.6.10",
+ "cors": "^2.8.5",
+ "css-loader": "^1.0.1",
+ "debug": "^3.2.6",
+ "del": "^5.1.0",
+ "detect-port": "^1.3.0",
+ "devcert-san": "^0.3.3",
+ "dotenv": "^8.2.0",
+ "eslint": "^6.6.0",
+ "eslint-config-react-app": "^5.0.2",
+ "eslint-loader": "^2.2.1",
+ "eslint-plugin-flowtype": "^3.13.0",
+ "eslint-plugin-graphql": "^3.1.0",
+ "eslint-plugin-import": "^2.18.2",
+ "eslint-plugin-jsx-a11y": "^6.2.3",
+ "eslint-plugin-react": "^7.16.0",
+ "eslint-plugin-react-hooks": "^1.7.0",
+ "event-source-polyfill": "^1.0.9",
+ "express": "^4.17.1",
+ "express-graphql": "^0.9.0",
+ "fast-levenshtein": "^2.0.6",
+ "file-loader": "^1.1.11",
+ "flat": "^4.1.0",
+ "fs-exists-cached": "1.0.0",
+ "fs-extra": "^8.1.0",
+ "gatsby-cli": "^2.8.8",
+ "gatsby-core-utils": "^1.0.17",
+ "gatsby-graphiql-explorer": "^0.2.26",
+ "gatsby-link": "^2.2.22",
+ "gatsby-plugin-page-creator": "^2.1.28",
+ "gatsby-react-router-scroll": "^2.1.14",
+ "gatsby-telemetry": "^1.1.35",
+ "glob": "^7.1.5",
+ "got": "8.3.2",
+ "graphql": "^14.5.8",
+ "graphql-compose": "^6.3.6",
+ "graphql-playground-middleware-express": "^1.7.12",
+ "invariant": "^2.2.4",
+ "is-relative": "^1.0.0",
+ "is-relative-url": "^3.0.0",
+ "is-wsl": "^2.1.1",
+ "jest-worker": "^24.9.0",
+ "json-loader": "^0.5.7",
+ "json-stringify-safe": "^5.0.1",
+ "lodash": "^4.17.15",
+ "lokijs": "^1.5.8",
+ "md5": "^2.2.1",
+ "md5-file": "^3.2.3",
+ "micromatch": "^3.1.10",
+ "mime": "^2.4.4",
+ "mini-css-extract-plugin": "^0.8.0",
+ "mitt": "^1.2.0",
+ "mkdirp": "^0.5.1",
+ "moment": "^2.24.0",
+ "name-all-modules-plugin": "^1.0.1",
+ "normalize-path": "^2.1.1",
+ "null-loader": "^0.1.1",
+ "opentracing": "^0.14.4",
+ "optimize-css-assets-webpack-plugin": "^5.0.3",
+ "parseurl": "^1.3.3",
+ "physical-cpu-count": "^2.0.0",
+ "pnp-webpack-plugin": "^1.5.0",
+ "postcss-flexbugs-fixes": "^3.3.1",
+ "postcss-loader": "^2.1.6",
+ "prompts": "^2.2.1",
+ "prop-types": "^15.7.2",
+ "raw-loader": "^0.5.1",
+ "react-dev-utils": "^4.2.3",
+ "react-error-overlay": "^3.0.0",
+ "react-hot-loader": "^4.12.15",
+ "redux": "^4.0.4",
+ "redux-thunk": "^2.3.0",
+ "semver": "^5.7.1",
+ "shallow-compare": "^1.2.2",
+ "sift": "^5.1.0",
+ "signal-exit": "^3.0.2",
+ "slash": "^3.0.0",
+ "socket.io": "^2.3.0",
+ "stack-trace": "^0.0.10",
+ "string-similarity": "^1.2.2",
+ "style-loader": "^0.23.1",
+ "terser-webpack-plugin": "1.4.1",
+ "true-case-path": "^2.2.1",
+ "type-of": "^2.0.1",
+ "url-loader": "^1.1.2",
+ "util.promisify": "^1.0.0",
+ "uuid": "^3.3.3",
+ "v8-compile-cache": "^1.1.2",
+ "webpack": "~4.41.2",
+ "webpack-dev-middleware": "^3.7.2",
+ "webpack-dev-server": "^3.9.0",
+ "webpack-hot-middleware": "^2.25.0",
+ "webpack-merge": "^4.2.2",
+ "webpack-stats-plugin": "^0.3.0",
+ "xstate": "^4.6.7",
+ "yaml-loader": "^0.5.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
+ "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "http://r.cnpmjs.org/ansi-styles/download/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "http://r.cnpmjs.org/anymatch/download/anymatch-3.1.1.tgz",
+ "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "dependencies": {
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/normalize-path/download/normalize-path-3.0.0.tgz",
+ "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=",
+ "dev": true
+ }
+ }
+ },
+ "array-filter": {
+ "version": "0.0.1",
+ "resolved": "http://r.cnpmjs.org/array-filter/download/array-filter-0.0.1.tgz",
+ "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=",
+ "dev": true
+ },
+ "babel-plugin-dynamic-import-node": {
+ "version": "1.2.0",
+ "resolved": "http://r.cnpmjs.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-1.2.0.tgz",
+ "integrity": "sha1-+RYx5wPgWV5H1L6vuwiFdsh/vu4=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-dynamic-import": "^6.18.0"
+ }
+ },
+ "binary-extensions": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/binary-extensions/download/binary-extensions-2.0.0.tgz",
+ "integrity": "sha1-I8DfFPaogHf1+YbA0WfsA8PVU3w=",
+ "dev": true
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "http://r.cnpmjs.org/braces/download/braces-3.0.2.tgz",
+ "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browserslist": {
+ "version": "3.2.8",
+ "resolved": "http://r.cnpmjs.org/browserslist/download/browserslist-3.2.8.tgz",
+ "integrity": "sha1-sABTYdZHHw9ZUnl6dvyYXx+Xj8Y=",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30000844",
+ "electron-to-chromium": "^1.3.47"
+ }
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "http://r.cnpmjs.org/camelcase/download/camelcase-5.3.1.tgz",
+ "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
+ "dev": true
+ },
+ "chardet": {
+ "version": "0.4.2",
+ "resolved": "http://r.cnpmjs.org/chardet/download/chardet-0.4.2.tgz",
+ "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
+ "dev": true
+ },
+ "chokidar": {
+ "version": "3.2.3",
+ "resolved": "http://r.cnpmjs.org/chokidar/download/chokidar-3.2.3.tgz",
+ "integrity": "sha1-uScKVl0U8C9r/dU3pqK79VSbjIw=",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.1",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.2.0"
+ },
+ "dependencies": {
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/normalize-path/download/normalize-path-3.0.0.tgz",
+ "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=",
+ "dev": true
+ }
+ }
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/cliui/download/cliui-4.1.0.tgz",
+ "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=",
+ "dev": true,
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "configstore": {
+ "version": "5.0.0",
+ "resolved": "http://r.cnpmjs.org/configstore/download/configstore-5.0.0.tgz",
+ "integrity": "sha1-N95mLHpJtf6NvPj29YGNLYHthSs=",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^5.1.0",
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^3.0.0",
+ "unique-string": "^2.0.0",
+ "write-file-atomic": "^3.0.0",
+ "xdg-basedir": "^4.0.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "7.0.1",
+ "resolved": "http://r.cnpmjs.org/cross-spawn/download/cross-spawn-7.0.1.tgz",
+ "integrity": "sha1-CrVihuD3wk4VPQTMKqAn5DqaXRQ=",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "crypto-random-string": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/crypto-random-string/download/crypto-random-string-2.0.0.tgz",
+ "integrity": "sha1-7yp6lm7BEIM4g2m6oC6+rSKbMNU=",
+ "dev": true
+ },
+ "css-loader": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/css-loader/download/css-loader-1.0.1.tgz",
+ "integrity": "sha1-aIW7UjOzXsR7AGBX2gHMZAtref4=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "^6.26.0",
+ "css-selector-tokenizer": "^0.7.0",
+ "icss-utils": "^2.1.0",
+ "loader-utils": "^1.0.2",
+ "lodash": "^4.17.11",
+ "postcss": "^6.0.23",
+ "postcss-modules-extract-imports": "^1.2.0",
+ "postcss-modules-local-by-default": "^1.2.0",
+ "postcss-modules-scope": "^1.1.0",
+ "postcss-modules-values": "^1.3.0",
+ "postcss-value-parser": "^3.3.0",
+ "source-list-map": "^2.0.0"
+ }
+ },
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "http://r.cnpmjs.org/debug/download/debug-3.2.6.tgz",
+ "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "detect-port-alt": {
+ "version": "1.1.3",
+ "resolved": "http://r.cnpmjs.org/detect-port-alt/download/detect-port-alt-1.1.3.tgz",
+ "integrity": "sha1-pNLwYddXoDTs83xRQmCph1DysTE=",
+ "dev": true,
+ "requires": {
+ "address": "^1.0.1",
+ "debug": "^2.6.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "http://r.cnpmjs.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/ms/download/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
+ }
+ },
+ "dot-prop": {
+ "version": "5.2.0",
+ "resolved": "http://r.cnpmjs.org/dot-prop/download/dot-prop-5.2.0.tgz",
+ "integrity": "sha1-w07MKVVtxF8fTCJpe29JBODMT8s=",
+ "dev": true,
+ "requires": {
+ "is-obj": "^2.0.0"
+ }
+ },
+ "dotenv": {
+ "version": "8.2.0",
+ "resolved": "http://r.cnpmjs.org/dotenv/download/dotenv-8.2.0.tgz",
+ "integrity": "sha1-l+YZJZradQ7qPk6j4mvO6lQksWo=",
+ "dev": true
+ },
+ "eventsource": {
+ "version": "0.1.6",
+ "resolved": "http://r.cnpmjs.org/eventsource/download/eventsource-0.1.6.tgz",
+ "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=",
+ "dev": true,
+ "requires": {
+ "original": ">=0.0.5"
+ }
+ },
+ "execa": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/execa/download/execa-2.1.0.tgz",
+ "integrity": "sha1-5dPs2DfSpg7FDz2nj9OXZ3R7vpk=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^3.0.0",
+ "onetime": "^5.1.0",
+ "p-finally": "^2.0.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "external-editor": {
+ "version": "2.2.0",
+ "resolved": "http://r.cnpmjs.org/external-editor/download/external-editor-2.2.0.tgz",
+ "integrity": "sha1-BFURz9jRM/OEZnPRBHwVTiFK09U=",
+ "dev": true,
+ "requires": {
+ "chardet": "^0.4.0",
+ "iconv-lite": "^0.4.17",
+ "tmp": "^0.0.33"
+ }
+ },
+ "file-loader": {
+ "version": "1.1.11",
+ "resolved": "http://r.cnpmjs.org/file-loader/download/file-loader-1.1.11.tgz",
+ "integrity": "sha1-b+iGRJsPKpNuQ8q6rAzb+zaVBvg=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.0.2",
+ "schema-utils": "^0.4.5"
+ }
+ },
+ "filesize": {
+ "version": "3.5.11",
+ "resolved": "http://r.cnpmjs.org/filesize/download/filesize-3.5.11.tgz",
+ "integrity": "sha1-GRkyZ0lDO7PPdzaL0VjKq8wZ6e4=",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "http://r.cnpmjs.org/fill-range/download/fill-range-7.0.1.tgz",
+ "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/find-up/download/find-up-3.0.0.tgz",
+ "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "fsevents": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/fsevents/download/fsevents-2.1.1.tgz",
+ "integrity": "sha1-dMZOId9xchhF0MRP5Ut/Vrgplak=",
+ "dev": true,
+ "optional": true
+ },
+ "gatsby-cli": {
+ "version": "2.8.8",
+ "resolved": "http://r.cnpmjs.org/gatsby-cli/download/gatsby-cli-2.8.8.tgz",
+ "integrity": "sha1-uPiO9M/EJELsgFsCs60NI0ARSIE=",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/runtime": "^7.6.3",
+ "@hapi/joi": "^15.1.1",
+ "better-opn": "^0.1.4",
+ "bluebird": "^3.7.1",
+ "chalk": "^2.4.2",
+ "clipboardy": "^2.1.0",
+ "common-tags": "^1.8.0",
+ "configstore": "^5.0.0",
+ "convert-hrtime": "^2.0.0",
+ "core-js": "^2.6.10",
+ "envinfo": "^5.12.1",
+ "execa": "^2.1.0",
+ "fs-exists-cached": "^1.0.0",
+ "fs-extra": "^8.1.0",
+ "gatsby-core-utils": "^1.0.17",
+ "gatsby-telemetry": "^1.1.35",
+ "hosted-git-info": "^3.0.2",
+ "ink": "^2.5.0",
+ "ink-spinner": "^3.0.1",
+ "is-valid-path": "^0.1.1",
+ "lodash": "^4.17.15",
+ "meant": "^1.0.1",
+ "node-fetch": "^2.6.0",
+ "object.entries": "^1.1.0",
+ "opentracing": "^0.14.4",
+ "pretty-error": "^2.1.1",
+ "progress": "^2.0.3",
+ "prompts": "^2.2.1",
+ "react": "^16.11.0",
+ "redux": "^4.0.4",
+ "resolve-cwd": "^2.0.0",
+ "semver": "^6.3.0",
+ "signal-exit": "^3.0.2",
+ "source-map": "0.7.3",
+ "stack-trace": "^0.0.10",
+ "strip-ansi": "^5.2.0",
+ "update-notifier": "^2.5.0",
+ "uuid": "3.3.3",
+ "yargs": "^12.0.5",
+ "yurnalist": "^1.1.1"
+ },
+ "dependencies": {
+ "better-opn": {
+ "version": "0.1.4",
+ "resolved": "http://r.cnpmjs.org/better-opn/download/better-opn-0.1.4.tgz",
+ "integrity": "sha1-Jx0DvYvLhAbS2dTNpcCUTXJuoXE=",
+ "dev": true,
+ "requires": {
+ "opn": "^5.4.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "http://r.cnpmjs.org/semver/download/semver-6.3.0.tgz",
+ "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "http://r.cnpmjs.org/source-map/download/source-map-0.7.3.tgz",
+ "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=",
+ "dev": true
+ }
+ }
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "http://r.cnpmjs.org/get-caller-file/download/get-caller-file-1.0.3.tgz",
+ "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/get-stream/download/get-stream-5.1.0.tgz",
+ "integrity": "sha1-ASA83JJZf5uQkGfD5lbMH008Tck=",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/glob-parent/download/glob-parent-5.1.0.tgz",
+ "integrity": "sha1-X0wdHnSNMM1zrSlEs1d6gbCB6MI=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "global-modules": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/global-modules/download/global-modules-1.0.0.tgz",
+ "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=",
+ "dev": true,
+ "requires": {
+ "global-prefix": "^1.0.1",
+ "is-windows": "^1.0.1",
+ "resolve-dir": "^1.0.0"
+ }
+ },
+ "global-prefix": {
+ "version": "1.0.2",
+ "resolved": "http://r.cnpmjs.org/global-prefix/download/global-prefix-1.0.2.tgz",
+ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "^2.0.2",
+ "homedir-polyfill": "^1.0.1",
+ "ini": "^1.3.4",
+ "is-windows": "^1.0.1",
+ "which": "^1.2.14"
+ },
+ "dependencies": {
+ "which": {
+ "version": "1.3.1",
+ "resolved": "http://r.cnpmjs.org/which/download/which-1.3.1.tgz",
+ "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "gzip-size": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/gzip-size/download/gzip-size-3.0.0.tgz",
+ "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=",
+ "dev": true,
+ "requires": {
+ "duplexer": "^0.1.1"
+ }
+ },
+ "hosted-git-info": {
+ "version": "3.0.2",
+ "resolved": "http://r.cnpmjs.org/hosted-git-info/download/hosted-git-info-3.0.2.tgz",
+ "integrity": "sha1-i3470RS1m1F4b4ut4POd3IAnWpc=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^5.1.1"
+ }
+ },
+ "icss-utils": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/icss-utils/download/icss-utils-2.1.0.tgz",
+ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
+ "dev": true,
+ "requires": {
+ "postcss": "^6.0.1"
+ }
+ },
+ "inquirer": {
+ "version": "3.3.0",
+ "resolved": "http://r.cnpmjs.org/inquirer/download/inquirer-3.3.0.tgz",
+ "integrity": "sha1-ndLyrXZdyrH/BEO0kUQqILoifck=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^3.0.0",
+ "chalk": "^2.0.0",
+ "cli-cursor": "^2.1.0",
+ "cli-width": "^2.0.0",
+ "external-editor": "^2.0.4",
+ "figures": "^2.0.0",
+ "lodash": "^4.3.0",
+ "mute-stream": "0.0.7",
+ "run-async": "^2.2.0",
+ "rx-lite": "^4.0.8",
+ "rx-lite-aggregates": "^4.0.8",
+ "string-width": "^2.1.0",
+ "strip-ansi": "^4.0.0",
+ "through": "^2.3.6"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "invert-kv": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/invert-kv/download/invert-kv-2.0.0.tgz",
+ "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/is-binary-path/download/is-binary-path-2.1.0.tgz",
+ "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "http://r.cnpmjs.org/is-number/download/is-number-7.0.0.tgz",
+ "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
+ "dev": true
+ },
+ "is-obj": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/is-obj/download/is-obj-2.0.0.tgz",
+ "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=",
+ "dev": true
+ },
+ "is-root": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/is-root/download/is-root-1.0.0.tgz",
+ "integrity": "sha1-B7bCM7w5TNnQK6FclmvWZg1jQtU=",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/is-stream/download/is-stream-2.0.0.tgz",
+ "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=",
+ "dev": true
+ },
+ "is-wsl": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/is-wsl/download/is-wsl-2.1.1.tgz",
+ "integrity": "sha1-ShwVLUKd89RBZpSY4khtNZbrrx0=",
+ "dev": true
+ },
+ "lcid": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/lcid/download/lcid-2.0.0.tgz",
+ "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^2.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/locate-path/download/locate-path-3.0.0.tgz",
+ "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "http://r.cnpmjs.org/lru-cache/download/lru-cache-5.1.1.tgz",
+ "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=",
+ "dev": true,
+ "requires": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "make-dir": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/make-dir/download/make-dir-3.0.0.tgz",
+ "integrity": "sha1-G1859rknDtM/nwVMXA+EMEmJ+AE=",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "http://r.cnpmjs.org/semver/download/semver-6.3.0.tgz",
+ "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
+ "dev": true
+ }
+ }
+ },
+ "mime": {
+ "version": "2.4.4",
+ "resolved": "http://r.cnpmjs.org/mime/download/mime-2.4.4.tgz",
+ "integrity": "sha1-vXuRE1/GsBzePpuuM9ZZtj2IV+U=",
+ "dev": true
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/mimic-fn/download/mimic-fn-2.1.0.tgz",
+ "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=",
+ "dev": true
+ },
+ "mini-css-extract-plugin": {
+ "version": "0.8.0",
+ "resolved": "http://r.cnpmjs.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.8.0.tgz",
+ "integrity": "sha1-gdQexP5YxxOpatfHI82y0L1NcOE=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "normalize-url": "1.9.1",
+ "schema-utils": "^1.0.0",
+ "webpack-sources": "^1.1.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/schema-utils/download/schema-utils-1.0.0.tgz",
+ "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ }
+ }
+ },
+ "minimatch": {
+ "version": "3.0.3",
+ "resolved": "http://r.cnpmjs.org/minimatch/download/minimatch-3.0.3.tgz",
+ "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ },
+ "node-fetch": {
+ "version": "2.6.0",
+ "resolved": "http://r.cnpmjs.org/node-fetch/download/node-fetch-2.6.0.tgz",
+ "integrity": "sha1-5jNFY4bUqlWGP2dqerDaqP3ssP0=",
+ "dev": true
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/normalize-path/download/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ },
+ "npm-run-path": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/npm-run-path/download/npm-run-path-3.1.0.tgz",
+ "integrity": "sha1-f5G+MX9qRm7+08nymArYpO6LD6U=",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/onetime/download/onetime-5.1.0.tgz",
+ "integrity": "sha1-//DzyRYX/mK7UBiWNumayKbfe+U=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "os-locale": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/os-locale/download/os-locale-3.1.0.tgz",
+ "integrity": "sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo=",
+ "dev": true,
+ "requires": {
+ "execa": "^1.0.0",
+ "lcid": "^2.0.0",
+ "mem": "^4.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "http://r.cnpmjs.org/cross-spawn/download/cross-spawn-6.0.5.tgz",
+ "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/execa/download/execa-1.0.0.tgz",
+ "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/get-stream/download/get-stream-4.1.0.tgz",
+ "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/is-stream/download/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "http://r.cnpmjs.org/npm-run-path/download/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/p-finally/download/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/path-key/download/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "http://r.cnpmjs.org/shebang-command/download/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/shebang-regex/download/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "http://r.cnpmjs.org/which/download/which-1.3.1.tgz",
+ "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "p-finally": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/p-finally/download/p-finally-2.0.1.tgz",
+ "integrity": "sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE=",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "2.2.1",
+ "resolved": "http://r.cnpmjs.org/p-limit/download/p-limit-2.2.1.tgz",
+ "integrity": "sha1-qgeniMwxUck5tRMfY1cPDdIAlTc=",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/p-locate/download/p-locate-3.0.0.tgz",
+ "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "http://r.cnpmjs.org/p-try/download/p-try-2.2.0.tgz",
+ "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/path-key/download/path-key-3.1.0.tgz",
+ "integrity": "sha1-maENhwqAO91e5vBHDljfzS+aVNM=",
+ "dev": true
+ },
+ "pnp-webpack-plugin": {
+ "version": "1.5.0",
+ "resolved": "http://r.cnpmjs.org/pnp-webpack-plugin/download/pnp-webpack-plugin-1.5.0.tgz",
+ "integrity": "sha1-YqHNMGj0bVZLszxW6yUOTVhmdus=",
+ "dev": true,
+ "requires": {
+ "ts-pnp": "^1.1.2"
+ }
+ },
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "http://r.cnpmjs.org/postcss/download/postcss-6.0.23.tgz",
+ "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "postcss-flexbugs-fixes": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-flexbugs-fixes/download/postcss-flexbugs-fixes-3.3.1.tgz",
+ "integrity": "sha1-B4PMchKFDvcH+X+LyLb7Yk4Ax10=",
+ "dev": true,
+ "requires": {
+ "postcss": "^6.0.1"
+ }
+ },
+ "postcss-loader": {
+ "version": "2.1.6",
+ "resolved": "http://r.cnpmjs.org/postcss-loader/download/postcss-loader-2.1.6.tgz",
+ "integrity": "sha1-HX3XsXxrojS5vtWvE+C+pApC10A=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "postcss": "^6.0.0",
+ "postcss-load-config": "^2.0.0",
+ "schema-utils": "^0.4.0"
+ }
+ },
+ "postcss-modules-extract-imports": {
+ "version": "1.2.1",
+ "resolved": "http://r.cnpmjs.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-1.2.1.tgz",
+ "integrity": "sha1-3IfjQUjsfqtfeR981YSYMzdbdBo=",
+ "dev": true,
+ "requires": {
+ "postcss": "^6.0.1"
+ }
+ },
+ "postcss-modules-local-by-default": {
+ "version": "1.2.0",
+ "resolved": "http://r.cnpmjs.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz",
+ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+ "dev": true,
+ "requires": {
+ "css-selector-tokenizer": "^0.7.0",
+ "postcss": "^6.0.1"
+ }
+ },
+ "postcss-modules-scope": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/postcss-modules-scope/download/postcss-modules-scope-1.1.0.tgz",
+ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+ "dev": true,
+ "requires": {
+ "css-selector-tokenizer": "^0.7.0",
+ "postcss": "^6.0.1"
+ }
+ },
+ "postcss-modules-values": {
+ "version": "1.3.0",
+ "resolved": "http://r.cnpmjs.org/postcss-modules-values/download/postcss-modules-values-1.3.0.tgz",
+ "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+ "dev": true,
+ "requires": {
+ "icss-replace-symbols": "^1.1.0",
+ "postcss": "^6.0.1"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ },
+ "raw-loader": {
+ "version": "0.5.1",
+ "resolved": "http://r.cnpmjs.org/raw-loader/download/raw-loader-0.5.1.tgz",
+ "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=",
+ "dev": true
+ },
+ "react-dev-utils": {
+ "version": "4.2.3",
+ "resolved": "http://r.cnpmjs.org/react-dev-utils/download/react-dev-utils-4.2.3.tgz",
+ "integrity": "sha1-W0LZ6ljV6eAXovV6QKivQIo6Rvs=",
+ "dev": true,
+ "requires": {
+ "address": "1.0.3",
+ "babel-code-frame": "6.26.0",
+ "chalk": "1.1.3",
+ "cross-spawn": "5.1.0",
+ "detect-port-alt": "1.1.3",
+ "escape-string-regexp": "1.0.5",
+ "filesize": "3.5.11",
+ "global-modules": "1.0.0",
+ "gzip-size": "3.0.0",
+ "inquirer": "3.3.0",
+ "is-root": "1.0.0",
+ "opn": "5.1.0",
+ "react-error-overlay": "^3.0.0",
+ "recursive-readdir": "2.2.1",
+ "shell-quote": "1.6.1",
+ "sockjs-client": "1.1.4",
+ "strip-ansi": "3.0.1",
+ "text-table": "0.2.0"
+ },
+ "dependencies": {
+ "address": {
+ "version": "1.0.3",
+ "resolved": "http://r.cnpmjs.org/address/download/address-1.0.3.tgz",
+ "integrity": "sha1-tfUGMfjWzsi9IMljljr7VeBsvOk=",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "http://r.cnpmjs.org/chalk/download/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/cross-spawn/download/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "is-wsl": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/is-wsl/download/is-wsl-1.1.0.tgz",
+ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "4.1.5",
+ "resolved": "http://r.cnpmjs.org/lru-cache/download/lru-cache-4.1.5.tgz",
+ "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
+ "dev": true,
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "opn": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/opn/download/opn-5.1.0.tgz",
+ "integrity": "sha1-cs4jBqF9vqWP8QQYUzUrSo/HdRk=",
+ "dev": true,
+ "requires": {
+ "is-wsl": "^1.1.0"
+ }
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "http://r.cnpmjs.org/shebang-command/download/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/shebang-regex/download/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/supports-color/download/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "http://r.cnpmjs.org/which/download/which-1.3.1.tgz",
+ "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/yallist/download/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true
+ }
+ }
+ },
+ "react-error-overlay": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/react-error-overlay/download/react-error-overlay-3.0.0.tgz",
+ "integrity": "sha1-wryPTZHxN1s9rW11Jl1RzV7q9lU=",
+ "dev": true
+ },
+ "readdirp": {
+ "version": "3.2.0",
+ "resolved": "http://r.cnpmjs.org/readdirp/download/readdirp-3.2.0.tgz",
+ "integrity": "sha1-wwwzNSsSyW37S4lUIaSf1alZODk=",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.0.4"
+ }
+ },
+ "recursive-readdir": {
+ "version": "2.2.1",
+ "resolved": "http://r.cnpmjs.org/recursive-readdir/download/recursive-readdir-2.2.1.tgz",
+ "integrity": "sha1-kO8jHQd4xc4JPJpI105cVCLROpk=",
+ "dev": true,
+ "requires": {
+ "minimatch": "3.0.3"
+ }
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/require-main-filename/download/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
+ "schema-utils": {
+ "version": "0.4.7",
+ "resolved": "http://r.cnpmjs.org/schema-utils/download/schema-utils-0.4.7.tgz",
+ "integrity": "sha1-unT1l9K+LqiAExdG7hfQoJPGgYc=",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/shebang-command/download/shebang-command-2.0.0.tgz",
+ "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/shebang-regex/download/shebang-regex-3.0.0.tgz",
+ "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=",
+ "dev": true
+ },
+ "shell-quote": {
+ "version": "1.6.1",
+ "resolved": "http://r.cnpmjs.org/shell-quote/download/shell-quote-1.6.1.tgz",
+ "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
+ "dev": true,
+ "requires": {
+ "array-filter": "~0.0.0",
+ "array-map": "~0.0.0",
+ "array-reduce": "~0.0.0",
+ "jsonify": "~0.0.0"
+ }
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/slash/download/slash-3.0.0.tgz",
+ "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=",
+ "dev": true
+ },
+ "sockjs-client": {
+ "version": "1.1.4",
+ "resolved": "http://r.cnpmjs.org/sockjs-client/download/sockjs-client-1.1.4.tgz",
+ "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.6",
+ "eventsource": "0.1.6",
+ "faye-websocket": "~0.11.0",
+ "inherits": "^2.0.1",
+ "json3": "^3.3.2",
+ "url-parse": "^1.1.8"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "http://r.cnpmjs.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/ms/download/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "http://r.cnpmjs.org/source-map/download/source-map-0.6.1.tgz",
+ "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/string-width/download/string-width-2.1.1.tgz",
+ "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-5.2.0.tgz",
+ "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "style-loader": {
+ "version": "0.23.1",
+ "resolved": "http://r.cnpmjs.org/style-loader/download/style-loader-0.23.1.tgz",
+ "integrity": "sha1-y5FUYG8+dxq2xKtjcCahBJF02SU=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "schema-utils": "^1.0.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/schema-utils/download/schema-utils-1.0.0.tgz",
+ "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ }
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "http://r.cnpmjs.org/to-regex-range/download/to-regex-range-5.0.1.tgz",
+ "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "true-case-path": {
+ "version": "2.2.1",
+ "resolved": "http://r.cnpmjs.org/true-case-path/download/true-case-path-2.2.1.tgz",
+ "integrity": "sha1-xb8EpbvsP9EYvkCERhs6J8TXlr8=",
+ "dev": true
+ },
+ "unique-string": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/unique-string/download/unique-string-2.0.0.tgz",
+ "integrity": "sha1-OcZFH4GvsnSd4rIz4/fF6IQ72J0=",
+ "dev": true,
+ "requires": {
+ "crypto-random-string": "^2.0.0"
+ }
+ },
+ "url-loader": {
+ "version": "1.1.2",
+ "resolved": "http://r.cnpmjs.org/url-loader/download/url-loader-1.1.2.tgz",
+ "integrity": "sha1-uXHRkbg69pPF4/6kBkvp4fLX+Ng=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "mime": "^2.0.3",
+ "schema-utils": "^1.0.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/schema-utils/download/schema-utils-1.0.0.tgz",
+ "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ }
+ }
+ },
+ "v8-compile-cache": {
+ "version": "1.1.2",
+ "resolved": "http://r.cnpmjs.org/v8-compile-cache/download/v8-compile-cache-1.1.2.tgz",
+ "integrity": "sha1-jTLk8Wl0ZUZX5nbg5GejSOibDcQ=",
+ "dev": true
+ },
+ "which": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/which/download/which-2.0.1.tgz",
+ "integrity": "sha1-8c+U0HqOVxtv8AauuR0DAMR+8KQ=",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "http://r.cnpmjs.org/string-width/download/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
+ "write-file-atomic": {
+ "version": "3.0.1",
+ "resolved": "http://r.cnpmjs.org/write-file-atomic/download/write-file-atomic-3.0.1.tgz",
+ "integrity": "sha1-VYMoNS5nO1uxks+GUA1gsjBmfUs=",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "xdg-basedir": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/xdg-basedir/download/xdg-basedir-4.0.0.tgz",
+ "integrity": "sha1-S8jZmEQDaWIl74OhVzy7y0552xM=",
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.1.1",
+ "resolved": "http://r.cnpmjs.org/yallist/download/yallist-3.1.1.tgz",
+ "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "12.0.5",
+ "resolved": "http://r.cnpmjs.org/yargs/download/yargs-12.0.5.tgz",
+ "integrity": "sha1-BfWZe2CWR7ZPZrgeO0sQo2jnrRM=",
+ "dev": true,
+ "requires": {
+ "cliui": "^4.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^3.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1 || ^4.0.0",
+ "yargs-parser": "^11.1.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "11.1.1",
+ "resolved": "http://r.cnpmjs.org/yargs-parser/download/yargs-parser-11.1.1.tgz",
+ "integrity": "sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
+ "gatsby-core-utils": {
+ "version": "1.0.17",
+ "resolved": "http://r.cnpmjs.org/gatsby-core-utils/download/gatsby-core-utils-1.0.17.tgz",
+ "integrity": "sha1-+KTV2bHYPFeZ8Yfcpf+GZUzfxNg=",
+ "dev": true,
+ "requires": {
+ "ci-info": "2.0.0"
+ }
+ },
+ "gatsby-graphiql-explorer": {
+ "version": "0.2.26",
+ "resolved": "http://r.cnpmjs.org/gatsby-graphiql-explorer/download/gatsby-graphiql-explorer-0.2.26.tgz",
+ "integrity": "sha1-+Yk9Rq2u7LZkE6dI9rwb5qAElKI=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3"
+ }
+ },
+ "gatsby-image": {
+ "version": "2.2.30",
+ "resolved": "http://r.cnpmjs.org/gatsby-image/download/gatsby-image-2.2.30.tgz",
+ "integrity": "sha1-PKWK2xgUp1ncrybXQq6Q6JxxRN4=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "object-fit-images": "^3.2.4",
+ "prop-types": "^15.7.2"
+ }
+ },
+ "gatsby-link": {
+ "version": "2.2.22",
+ "resolved": "http://r.cnpmjs.org/gatsby-link/download/gatsby-link-2.2.22.tgz",
+ "integrity": "sha1-2TeeirQuBl7Q9EMx5pkz3+Tb7XA=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "@types/reach__router": "^1.2.6",
+ "prop-types": "^15.7.2"
+ }
+ },
+ "gatsby-page-utils": {
+ "version": "0.0.28",
+ "resolved": "http://r.cnpmjs.org/gatsby-page-utils/download/gatsby-page-utils-0.0.28.tgz",
+ "integrity": "sha1-4xOXJ8WWwuyTTKTH6pV67w/ExQo=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "bluebird": "^3.7.1",
+ "chokidar": "3.2.3",
+ "fs-exists-cached": "^1.0.0",
+ "glob": "^7.1.5",
+ "lodash": "^4.17.15",
+ "micromatch": "^3.1.10",
+ "slash": "^3.0.0"
+ },
+ "dependencies": {
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "http://r.cnpmjs.org/anymatch/download/anymatch-3.1.1.tgz",
+ "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "binary-extensions": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/binary-extensions/download/binary-extensions-2.0.0.tgz",
+ "integrity": "sha1-I8DfFPaogHf1+YbA0WfsA8PVU3w=",
+ "dev": true
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "http://r.cnpmjs.org/braces/download/braces-3.0.2.tgz",
+ "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chokidar": {
+ "version": "3.2.3",
+ "resolved": "http://r.cnpmjs.org/chokidar/download/chokidar-3.2.3.tgz",
+ "integrity": "sha1-uScKVl0U8C9r/dU3pqK79VSbjIw=",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.1",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.2.0"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "http://r.cnpmjs.org/fill-range/download/fill-range-7.0.1.tgz",
+ "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "fsevents": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/fsevents/download/fsevents-2.1.1.tgz",
+ "integrity": "sha1-dMZOId9xchhF0MRP5Ut/Vrgplak=",
+ "dev": true,
+ "optional": true
+ },
+ "glob-parent": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/glob-parent/download/glob-parent-5.1.0.tgz",
+ "integrity": "sha1-X0wdHnSNMM1zrSlEs1d6gbCB6MI=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/is-binary-path/download/is-binary-path-2.1.0.tgz",
+ "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "http://r.cnpmjs.org/is-number/download/is-number-7.0.0.tgz",
+ "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
+ "dev": true
+ },
+ "readdirp": {
+ "version": "3.2.0",
+ "resolved": "http://r.cnpmjs.org/readdirp/download/readdirp-3.2.0.tgz",
+ "integrity": "sha1-wwwzNSsSyW37S4lUIaSf1alZODk=",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.0.4"
+ }
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/slash/download/slash-3.0.0.tgz",
+ "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=",
+ "dev": true
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "http://r.cnpmjs.org/to-regex-range/download/to-regex-range-5.0.1.tgz",
+ "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ }
+ }
+ },
+ "gatsby-plugin-antd": {
+ "version": "2.0.2",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-antd/download/gatsby-plugin-antd-2.0.2.tgz",
+ "integrity": "sha1-AJxMOyDHJQrbJyHO3chdqVC9Cys=",
+ "dev": true,
+ "requires": {
+ "antd": "^3.9.0",
+ "babel-plugin-import": "^1.9.0"
+ }
+ },
+ "gatsby-plugin-catch-links": {
+ "version": "2.1.15",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-catch-links/download/gatsby-plugin-catch-links-2.1.15.tgz",
+ "integrity": "sha1-I5KSd8+o7tmokLbEMC5nukhEeeo=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "gatsby-plugin-copy-files": {
+ "version": "1.0.3",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-copy-files/download/gatsby-plugin-copy-files-1.0.3.tgz",
+ "integrity": "sha1-OR+0ZTJMNwmmtDP7LUmQo38qfc4=",
+ "dev": true,
+ "requires": {
+ "fs-extra": "^4.0.0"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/fs-extra/download/fs-extra-4.0.3.tgz",
+ "integrity": "sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/jsonfile/download/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ }
+ }
+ },
+ "gatsby-plugin-google-analytics": {
+ "version": "2.1.23",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-google-analytics/download/gatsby-plugin-google-analytics-2.1.23.tgz",
+ "integrity": "sha1-e61dw2eHpbIxfzyAQ/8v6+fAky4=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3"
+ }
+ },
+ "gatsby-plugin-i18n": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-i18n/download/gatsby-plugin-i18n-1.0.1.tgz",
+ "integrity": "sha1-Vz+5i4VlTCngzaUHQANwYfo45pQ=",
+ "dev": true,
+ "requires": {
+ "folktale": "^2.0.1",
+ "graphql": "^0.11.7",
+ "ptz-i18n": "^1.0.0"
+ },
+ "dependencies": {
+ "graphql": {
+ "version": "0.11.7",
+ "resolved": "http://r.cnpmjs.org/graphql/download/graphql-0.11.7.tgz",
+ "integrity": "sha1-5auqnLe3zMuE6fCDa/Q3DSaHUMY=",
+ "dev": true,
+ "requires": {
+ "iterall": "1.1.3"
+ }
+ },
+ "iterall": {
+ "version": "1.1.3",
+ "resolved": "http://r.cnpmjs.org/iterall/download/iterall-1.1.3.tgz",
+ "integrity": "sha1-HLv/liBAVt3mZW4u0uIibQ5tcsk=",
+ "dev": true
+ }
+ }
+ },
+ "gatsby-plugin-layout": {
+ "version": "1.1.13",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-layout/download/gatsby-plugin-layout-1.1.13.tgz",
+ "integrity": "sha1-M04hksWk6OgCcG6t7pnlkGUo3x8=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3"
+ }
+ },
+ "gatsby-plugin-less": {
+ "version": "3.0.12",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-less/download/gatsby-plugin-less-3.0.12.tgz",
+ "integrity": "sha1-AEFZ8Cn9qovPNbfNaJjiMRLk0QQ=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "less-loader": "^5.0.0"
+ }
+ },
+ "gatsby-plugin-manifest": {
+ "version": "2.2.26",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-manifest/download/gatsby-plugin-manifest-2.2.26.tgz",
+ "integrity": "sha1-BAp9wqtU5kzJdIGt+0mOXcjKreQ=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "gatsby-core-utils": "^1.0.17",
+ "semver": "^5.7.1",
+ "sharp": "^0.23.2"
+ }
+ },
+ "gatsby-plugin-meta-redirect": {
+ "version": "1.1.1",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-meta-redirect/download/gatsby-plugin-meta-redirect-1.1.1.tgz",
+ "integrity": "sha1-BY6OU+3/ONxE07thUxCdAckQ+GM=",
+ "dev": true,
+ "requires": {
+ "fs-extra": "^7.0.0"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "http://r.cnpmjs.org/fs-extra/download/fs-extra-7.0.1.tgz",
+ "integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/jsonfile/download/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ }
+ }
+ },
+ "gatsby-plugin-nprogress": {
+ "version": "2.1.12",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-nprogress/download/gatsby-plugin-nprogress-2.1.12.tgz",
+ "integrity": "sha1-cOP4vmX8Ve4pdykndj3AZ7cS6Lk=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "nprogress": "^0.2.0"
+ }
+ },
+ "gatsby-plugin-offline": {
+ "version": "3.0.17",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-offline/download/gatsby-plugin-offline-3.0.17.tgz",
+ "integrity": "sha1-V4zACLU2OaTE86DYEfugsCfLbFM=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "cheerio": "^1.0.0-rc.3",
+ "glob": "^7.1.5",
+ "idb-keyval": "^3.2.0",
+ "lodash": "^4.17.15",
+ "slash": "^3.0.0",
+ "workbox-build": "^4.3.1"
+ },
+ "dependencies": {
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/slash/download/slash-3.0.0.tgz",
+ "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=",
+ "dev": true
+ }
+ }
+ },
+ "gatsby-plugin-page-creator": {
+ "version": "2.1.28",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-page-creator/download/gatsby-plugin-page-creator-2.1.28.tgz",
+ "integrity": "sha1-Mt6sW4SLdJSw8gkdGT9iI290JwI=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "bluebird": "^3.7.1",
+ "fs-exists-cached": "^1.0.0",
+ "gatsby-page-utils": "^0.0.28",
+ "glob": "^7.1.5",
+ "lodash": "^4.17.15",
+ "micromatch": "^3.1.10"
+ }
+ },
+ "gatsby-plugin-react-helmet": {
+ "version": "3.1.13",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-react-helmet/download/gatsby-plugin-react-helmet-3.1.13.tgz",
+ "integrity": "sha1-C6ni6QKuSQtFyJjP/s5uF2idqe4=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3"
+ }
+ },
+ "gatsby-plugin-remove-trailing-slashes": {
+ "version": "2.1.12",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-remove-trailing-slashes/download/gatsby-plugin-remove-trailing-slashes-2.1.12.tgz",
+ "integrity": "sha1-Jk7sUY8qy8kO2/9ZZyxIpheV6Zo=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3"
+ }
+ },
+ "gatsby-plugin-sharp": {
+ "version": "2.2.36",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-sharp/download/gatsby-plugin-sharp-2.2.36.tgz",
+ "integrity": "sha1-hgqxmf7nrx+1uzxbXDE0/YTspWo=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "async": "^2.6.3",
+ "bluebird": "^3.7.1",
+ "fs-extra": "^8.1.0",
+ "gatsby-core-utils": "^1.0.17",
+ "got": "^8.3.2",
+ "imagemin": "^6.1.0",
+ "imagemin-mozjpeg": "^8.0.0",
+ "imagemin-pngquant": "^6.0.1",
+ "imagemin-webp": "^5.1.0",
+ "lodash": "^4.17.15",
+ "mini-svg-data-uri": "^1.1.3",
+ "potrace": "^2.1.2",
+ "probe-image-size": "^4.1.1",
+ "progress": "^2.0.3",
+ "semver": "^5.7.1",
+ "sharp": "^0.23.2",
+ "svgo": "1.3.0",
+ "uuid": "^3.3.3"
+ },
+ "dependencies": {
+ "css-select": {
+ "version": "2.0.2",
+ "resolved": "http://r.cnpmjs.org/css-select/download/css-select-2.0.2.tgz",
+ "integrity": "sha1-q0OGzsnh9miFVWSxfDcztDsqXt4=",
+ "dev": true,
+ "requires": {
+ "boolbase": "^1.0.0",
+ "css-what": "^2.1.2",
+ "domutils": "^1.7.0",
+ "nth-check": "^1.0.2"
+ }
+ },
+ "css-tree": {
+ "version": "1.0.0-alpha.33",
+ "resolved": "http://r.cnpmjs.org/css-tree/download/css-tree-1.0.0-alpha.33.tgz",
+ "integrity": "sha1-lw4g5akfejeN3Q/FjQtsjU876T4=",
+ "dev": true,
+ "requires": {
+ "mdn-data": "2.0.4",
+ "source-map": "^0.5.3"
+ }
+ },
+ "csso": {
+ "version": "3.5.1",
+ "resolved": "http://r.cnpmjs.org/csso/download/csso-3.5.1.tgz",
+ "integrity": "sha1-e564vmFiiXPBsmHhadLwJACOdYs=",
+ "dev": true,
+ "requires": {
+ "css-tree": "1.0.0-alpha.29"
+ },
+ "dependencies": {
+ "css-tree": {
+ "version": "1.0.0-alpha.29",
+ "resolved": "http://r.cnpmjs.org/css-tree/download/css-tree-1.0.0-alpha.29.tgz",
+ "integrity": "sha1-P6nU7zFCy9HDAedmTB81K9gvWjk=",
+ "dev": true,
+ "requires": {
+ "mdn-data": "~1.1.0",
+ "source-map": "^0.5.3"
+ }
+ },
+ "mdn-data": {
+ "version": "1.1.4",
+ "resolved": "http://r.cnpmjs.org/mdn-data/download/mdn-data-1.1.4.tgz",
+ "integrity": "sha1-ULXU/8RXUnZXPE7tuHgIEqhBnwE=",
+ "dev": true
+ }
+ }
+ },
+ "domutils": {
+ "version": "1.7.0",
+ "resolved": "http://r.cnpmjs.org/domutils/download/domutils-1.7.0.tgz",
+ "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "0",
+ "domelementtype": "1"
+ }
+ },
+ "svgo": {
+ "version": "1.3.0",
+ "resolved": "http://r.cnpmjs.org/svgo/download/svgo-1.3.0.tgz",
+ "integrity": "sha1-uuUbqV3tmjOja3xGzpw1mukVQxM=",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "coa": "^2.0.2",
+ "css-select": "^2.0.0",
+ "css-select-base-adapter": "^0.1.1",
+ "css-tree": "1.0.0-alpha.33",
+ "csso": "^3.5.1",
+ "js-yaml": "^3.13.1",
+ "mkdirp": "~0.5.1",
+ "object.values": "^1.1.0",
+ "sax": "~1.2.4",
+ "stable": "^0.1.8",
+ "unquote": "~1.1.1",
+ "util.promisify": "~1.0.0"
+ }
+ }
+ }
+ },
+ "gatsby-plugin-typescript": {
+ "version": "2.1.15",
+ "resolved": "http://r.cnpmjs.org/gatsby-plugin-typescript/download/gatsby-plugin-typescript-2.1.15.tgz",
+ "integrity": "sha1-R1S7Kuf17oa22upS19lYIod4jSw=",
+ "dev": true,
+ "requires": {
+ "@babel/preset-typescript": "^7.6.0",
+ "@babel/runtime": "^7.6.3",
+ "babel-plugin-remove-graphql-queries": "^2.7.14"
+ }
+ },
+ "gatsby-react-router-scroll": {
+ "version": "2.1.14",
+ "resolved": "http://r.cnpmjs.org/gatsby-react-router-scroll/download/gatsby-react-router-scroll-2.1.14.tgz",
+ "integrity": "sha1-yojnNvjvjKRNetgnORKSsgd4Eds=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "scroll-behavior": "^0.9.10",
+ "warning": "^3.0.0"
+ }
+ },
+ "gatsby-redirect-from": {
+ "version": "0.2.1",
+ "resolved": "http://r.cnpmjs.org/gatsby-redirect-from/download/gatsby-redirect-from-0.2.1.tgz",
+ "integrity": "sha1-1QQfhzA0jUZS8ainUryhz36GvHU=",
+ "dev": true
+ },
+ "gatsby-remark-autolink-headers": {
+ "version": "2.1.16",
+ "resolved": "http://r.cnpmjs.org/gatsby-remark-autolink-headers/download/gatsby-remark-autolink-headers-2.1.16.tgz",
+ "integrity": "sha1-6RQu/suS33gfawb5jNs2UXZqGbM=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "github-slugger": "^1.2.1",
+ "lodash": "^4.17.15",
+ "mdast-util-to-string": "^1.0.6",
+ "unist-util-visit": "^1.4.1"
+ }
+ },
+ "gatsby-remark-external-links": {
+ "version": "0.0.4",
+ "resolved": "http://r.cnpmjs.org/gatsby-remark-external-links/download/gatsby-remark-external-links-0.0.4.tgz",
+ "integrity": "sha1-hbmMHp2s+qWAhTGWSMkE/zyrQvA=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "is-relative-url": "^2.0.0",
+ "unist-util-find": "^1.0.1",
+ "unist-util-visit": "^1.1.3"
+ },
+ "dependencies": {
+ "is-absolute-url": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz",
+ "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
+ "dev": true
+ },
+ "is-relative-url": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/is-relative-url/download/is-relative-url-2.0.0.tgz",
+ "integrity": "sha1-cpAtf+BLPUeS59sV+duEtyBMnO8=",
+ "dev": true,
+ "requires": {
+ "is-absolute-url": "^2.0.0"
+ }
+ }
+ }
+ },
+ "gatsby-remark-prettier": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/gatsby-remark-prettier/download/gatsby-remark-prettier-1.0.0.tgz",
+ "integrity": "sha1-ykJqWU9F0P6+/sY3CL8LTEsIXa8=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "7.0.0-beta.51",
+ "unist-util-visit": "^1.3.0"
+ },
+ "dependencies": {
+ "@babel/runtime": {
+ "version": "7.0.0-beta.51",
+ "resolved": "http://r.cnpmjs.org/@babel/runtime/download/@babel/runtime-7.0.0-beta.51.tgz",
+ "integrity": "sha1-SLjtGDBwNMZiD2Q1FGUMoszAFlo=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.5.7",
+ "regenerator-runtime": "^0.11.1"
+ }
+ }
+ }
+ },
+ "gatsby-remark-prismjs": {
+ "version": "3.3.20",
+ "resolved": "http://r.cnpmjs.org/gatsby-remark-prismjs/download/gatsby-remark-prismjs-3.3.20.tgz",
+ "integrity": "sha1-sWzebrvI7Mg5wFSrLo3r/oAk+uc=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "parse-numeric-range": "^0.0.2",
+ "unist-util-visit": "^1.4.1"
+ }
+ },
+ "gatsby-remark-reading-time": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/gatsby-remark-reading-time/download/gatsby-remark-reading-time-1.0.1.tgz",
+ "integrity": "sha1-GI++Gbx7xvYtTjI5exi1VA+S8DM=",
+ "dev": true,
+ "requires": {
+ "reading-time": "^1.1.3"
+ }
+ },
+ "gatsby-source-filesystem": {
+ "version": "2.1.35",
+ "resolved": "http://r.cnpmjs.org/gatsby-source-filesystem/download/gatsby-source-filesystem-2.1.35.tgz",
+ "integrity": "sha1-sK4t4GsRAPqfSOeaLykOWoLS1P8=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "better-queue": "^3.8.10",
+ "bluebird": "^3.7.1",
+ "chokidar": "3.2.3",
+ "file-type": "^12.3.1",
+ "fs-extra": "^8.1.0",
+ "gatsby-core-utils": "^1.0.17",
+ "got": "^7.1.0",
+ "md5-file": "^3.2.3",
+ "mime": "^2.4.4",
+ "pretty-bytes": "^4.0.2",
+ "progress": "^2.0.3",
+ "read-chunk": "^3.2.0",
+ "valid-url": "^1.0.9",
+ "xstate": "^4.6.7"
+ },
+ "dependencies": {
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "http://r.cnpmjs.org/anymatch/download/anymatch-3.1.1.tgz",
+ "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "binary-extensions": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/binary-extensions/download/binary-extensions-2.0.0.tgz",
+ "integrity": "sha1-I8DfFPaogHf1+YbA0WfsA8PVU3w=",
+ "dev": true
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "http://r.cnpmjs.org/braces/download/braces-3.0.2.tgz",
+ "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chokidar": {
+ "version": "3.2.3",
+ "resolved": "http://r.cnpmjs.org/chokidar/download/chokidar-3.2.3.tgz",
+ "integrity": "sha1-uScKVl0U8C9r/dU3pqK79VSbjIw=",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.1",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.2.0"
+ }
+ },
+ "decompress-response": {
+ "version": "3.3.0",
+ "resolved": "http://r.cnpmjs.org/decompress-response/download/decompress-response-3.3.0.tgz",
+ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
+ "file-type": {
+ "version": "12.4.0",
+ "resolved": "http://r.cnpmjs.org/file-type/download/file-type-12.4.0.tgz",
+ "integrity": "sha1-qaOZRZ4ZQNnzSzlzA5lY8fNqVl4=",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "http://r.cnpmjs.org/fill-range/download/fill-range-7.0.1.tgz",
+ "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "fsevents": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/fsevents/download/fsevents-2.1.1.tgz",
+ "integrity": "sha1-dMZOId9xchhF0MRP5Ut/Vrgplak=",
+ "dev": true,
+ "optional": true
+ },
+ "glob-parent": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/glob-parent/download/glob-parent-5.1.0.tgz",
+ "integrity": "sha1-X0wdHnSNMM1zrSlEs1d6gbCB6MI=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "got": {
+ "version": "7.1.0",
+ "resolved": "http://r.cnpmjs.org/got/download/got-7.1.0.tgz",
+ "integrity": "sha1-BUUP2ECU5rvqVvRRpDqcKJFmOFo=",
+ "dev": true,
+ "requires": {
+ "decompress-response": "^3.2.0",
+ "duplexer3": "^0.1.4",
+ "get-stream": "^3.0.0",
+ "is-plain-obj": "^1.1.0",
+ "is-retry-allowed": "^1.0.0",
+ "is-stream": "^1.0.0",
+ "isurl": "^1.0.0-alpha5",
+ "lowercase-keys": "^1.0.0",
+ "p-cancelable": "^0.3.0",
+ "p-timeout": "^1.1.1",
+ "safe-buffer": "^5.0.1",
+ "timed-out": "^4.0.0",
+ "url-parse-lax": "^1.0.0",
+ "url-to-options": "^1.0.1"
+ }
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/is-binary-path/download/is-binary-path-2.1.0.tgz",
+ "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "http://r.cnpmjs.org/is-number/download/is-number-7.0.0.tgz",
+ "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
+ "dev": true
+ },
+ "mime": {
+ "version": "2.4.4",
+ "resolved": "http://r.cnpmjs.org/mime/download/mime-2.4.4.tgz",
+ "integrity": "sha1-vXuRE1/GsBzePpuuM9ZZtj2IV+U=",
+ "dev": true
+ },
+ "mimic-response": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/mimic-response/download/mimic-response-1.0.1.tgz",
+ "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=",
+ "dev": true
+ },
+ "p-cancelable": {
+ "version": "0.3.0",
+ "resolved": "http://r.cnpmjs.org/p-cancelable/download/p-cancelable-0.3.0.tgz",
+ "integrity": "sha1-ueEjgAvOu3rBOkeb4ZW1B7mNMPo=",
+ "dev": true
+ },
+ "p-timeout": {
+ "version": "1.2.1",
+ "resolved": "http://r.cnpmjs.org/p-timeout/download/p-timeout-1.2.1.tgz",
+ "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=",
+ "dev": true,
+ "requires": {
+ "p-finally": "^1.0.0"
+ }
+ },
+ "pretty-bytes": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/pretty-bytes/download/pretty-bytes-4.0.2.tgz",
+ "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=",
+ "dev": true
+ },
+ "readdirp": {
+ "version": "3.2.0",
+ "resolved": "http://r.cnpmjs.org/readdirp/download/readdirp-3.2.0.tgz",
+ "integrity": "sha1-wwwzNSsSyW37S4lUIaSf1alZODk=",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.0.4"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "http://r.cnpmjs.org/to-regex-range/download/to-regex-range-5.0.1.tgz",
+ "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ }
+ }
+ },
+ "gatsby-source-github": {
+ "version": "0.0.2",
+ "resolved": "http://r.cnpmjs.org/gatsby-source-github/download/gatsby-source-github-0.0.2.tgz",
+ "integrity": "sha1-6hXNXnJdYNYYu6hAN9z0y0Dg5WQ=",
+ "dev": true,
+ "requires": {
+ "graphql-request": "~1.5.1",
+ "lodash": "~4.17.5",
+ "yup": "~0.24.1"
+ },
+ "dependencies": {
+ "cross-fetch": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/cross-fetch/download/cross-fetch-2.0.0.tgz",
+ "integrity": "sha1-oXR1RJVh4PMlFGzqY2qGGe+5s4I=",
+ "dev": true,
+ "requires": {
+ "node-fetch": "2.0.0",
+ "whatwg-fetch": "2.0.3"
+ }
+ },
+ "graphql-request": {
+ "version": "1.5.2",
+ "resolved": "http://r.cnpmjs.org/graphql-request/download/graphql-request-1.5.2.tgz",
+ "integrity": "sha1-zzKfrVnjba9pJfQXUbS6itkzccM=",
+ "dev": true,
+ "requires": {
+ "cross-fetch": "2.0.0"
+ }
+ },
+ "node-fetch": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/node-fetch/download/node-fetch-2.0.0.tgz",
+ "integrity": "sha1-mCu6Q+zU8pIqKcwYamu7C7c/y6Y=",
+ "dev": true
+ },
+ "whatwg-fetch": {
+ "version": "2.0.3",
+ "resolved": "http://r.cnpmjs.org/whatwg-fetch/download/whatwg-fetch-2.0.3.tgz",
+ "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=",
+ "dev": true
+ }
+ }
+ },
+ "gatsby-telemetry": {
+ "version": "1.1.35",
+ "resolved": "http://r.cnpmjs.org/gatsby-telemetry/download/gatsby-telemetry-1.1.35.tgz",
+ "integrity": "sha1-rXr1eYfUWKo1SKvy3hcsHD4omdc=",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/runtime": "^7.6.3",
+ "bluebird": "^3.7.1",
+ "boxen": "^3.2.0",
+ "configstore": "^5.0.0",
+ "envinfo": "^5.12.1",
+ "fs-extra": "^8.1.0",
+ "gatsby-core-utils": "^1.0.17",
+ "git-up": "4.0.1",
+ "is-docker": "2.0.0",
+ "lodash": "^4.17.15",
+ "node-fetch": "2.6.0",
+ "resolve-cwd": "^2.0.0",
+ "source-map": "^0.7.3",
+ "stack-trace": "^0.0.10",
+ "stack-utils": "1.0.2",
+ "uuid": "3.3.3"
+ },
+ "dependencies": {
+ "configstore": {
+ "version": "5.0.0",
+ "resolved": "http://r.cnpmjs.org/configstore/download/configstore-5.0.0.tgz",
+ "integrity": "sha1-N95mLHpJtf6NvPj29YGNLYHthSs=",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^5.1.0",
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^3.0.0",
+ "unique-string": "^2.0.0",
+ "write-file-atomic": "^3.0.0",
+ "xdg-basedir": "^4.0.0"
+ }
+ },
+ "crypto-random-string": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/crypto-random-string/download/crypto-random-string-2.0.0.tgz",
+ "integrity": "sha1-7yp6lm7BEIM4g2m6oC6+rSKbMNU=",
+ "dev": true
+ },
+ "dot-prop": {
+ "version": "5.2.0",
+ "resolved": "http://r.cnpmjs.org/dot-prop/download/dot-prop-5.2.0.tgz",
+ "integrity": "sha1-w07MKVVtxF8fTCJpe29JBODMT8s=",
+ "dev": true,
+ "requires": {
+ "is-obj": "^2.0.0"
+ }
+ },
+ "is-obj": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/is-obj/download/is-obj-2.0.0.tgz",
+ "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=",
+ "dev": true
+ },
+ "make-dir": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/make-dir/download/make-dir-3.0.0.tgz",
+ "integrity": "sha1-G1859rknDtM/nwVMXA+EMEmJ+AE=",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "node-fetch": {
+ "version": "2.6.0",
+ "resolved": "http://r.cnpmjs.org/node-fetch/download/node-fetch-2.6.0.tgz",
+ "integrity": "sha1-5jNFY4bUqlWGP2dqerDaqP3ssP0=",
+ "dev": true
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "http://r.cnpmjs.org/semver/download/semver-6.3.0.tgz",
+ "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "http://r.cnpmjs.org/source-map/download/source-map-0.7.3.tgz",
+ "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=",
+ "dev": true
+ },
+ "unique-string": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/unique-string/download/unique-string-2.0.0.tgz",
+ "integrity": "sha1-OcZFH4GvsnSd4rIz4/fF6IQ72J0=",
+ "dev": true,
+ "requires": {
+ "crypto-random-string": "^2.0.0"
+ }
+ },
+ "write-file-atomic": {
+ "version": "3.0.1",
+ "resolved": "http://r.cnpmjs.org/write-file-atomic/download/write-file-atomic-3.0.1.tgz",
+ "integrity": "sha1-VYMoNS5nO1uxks+GUA1gsjBmfUs=",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "xdg-basedir": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/xdg-basedir/download/xdg-basedir-4.0.0.tgz",
+ "integrity": "sha1-S8jZmEQDaWIl74OhVzy7y0552xM=",
+ "dev": true
+ }
+ }
+ },
+ "gatsby-transformer-remark": {
+ "version": "2.6.32",
+ "resolved": "http://r.cnpmjs.org/gatsby-transformer-remark/download/gatsby-transformer-remark-2.6.32.tgz",
+ "integrity": "sha1-6szrXml350MwpltysXMpFDijyJM=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "bluebird": "^3.7.1",
+ "gatsby-core-utils": "^1.0.17",
+ "gray-matter": "^4.0.2",
+ "hast-util-raw": "^4.0.0",
+ "hast-util-to-html": "^4.0.1",
+ "lodash": "^4.17.15",
+ "mdast-util-to-hast": "^3.0.4",
+ "mdast-util-to-string": "^1.0.6",
+ "mdast-util-toc": "^2.1.0",
+ "remark": "^10.0.1",
+ "remark-parse": "^6.0.3",
+ "remark-retext": "^3.1.3",
+ "remark-stringify": "^5.0.0",
+ "retext-english": "^3.0.3",
+ "sanitize-html": "^1.20.1",
+ "underscore.string": "^3.3.5",
+ "unified": "^6.2.0",
+ "unist-util-remove-position": "^1.1.3",
+ "unist-util-select": "^1.5.0",
+ "unist-util-visit": "^1.4.1"
+ },
+ "dependencies": {
+ "remark-stringify": {
+ "version": "5.0.0",
+ "resolved": "http://r.cnpmjs.org/remark-stringify/download/remark-stringify-5.0.0.tgz",
+ "integrity": "sha1-M206TUpqM5DZM+66YujeS9KAr7o=",
+ "dev": true,
+ "requires": {
+ "ccount": "^1.0.0",
+ "is-alphanumeric": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-whitespace-character": "^1.0.0",
+ "longest-streak": "^2.0.1",
+ "markdown-escapes": "^1.0.0",
+ "markdown-table": "^1.1.0",
+ "mdast-util-compact": "^1.0.0",
+ "parse-entities": "^1.0.2",
+ "repeat-string": "^1.5.4",
+ "state-toggle": "^1.0.0",
+ "stringify-entities": "^1.0.1",
+ "unherit": "^1.0.4",
+ "xtend": "^4.0.1"
+ }
+ },
+ "unified": {
+ "version": "6.2.0",
+ "resolved": "http://r.cnpmjs.org/unified/download/unified-6.2.0.tgz",
+ "integrity": "sha1-f71jD3GRJtZ9QMZEt+P2FwNfbbo=",
+ "dev": true,
+ "requires": {
+ "bail": "^1.0.0",
+ "extend": "^3.0.0",
+ "is-plain-obj": "^1.1.0",
+ "trough": "^1.0.0",
+ "vfile": "^2.0.0",
+ "x-is-string": "^0.1.0"
+ }
+ },
+ "vfile": {
+ "version": "2.3.0",
+ "resolved": "http://r.cnpmjs.org/vfile/download/vfile-2.3.0.tgz",
+ "integrity": "sha1-5i2OcrIOg8MkvGxnJ47ickiL+Eo=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.4",
+ "replace-ext": "1.0.0",
+ "unist-util-stringify-position": "^1.0.0",
+ "vfile-message": "^1.0.0"
+ }
+ }
+ }
+ },
+ "gatsby-transformer-sharp": {
+ "version": "2.3.2",
+ "resolved": "http://r.cnpmjs.org/gatsby-transformer-sharp/download/gatsby-transformer-sharp-2.3.2.tgz",
+ "integrity": "sha1-27/4EW1WjwHjQt7O+jrM3zbcLZU=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "bluebird": "^3.7.1",
+ "fs-extra": "^8.1.0",
+ "potrace": "^2.1.2",
+ "probe-image-size": "^4.1.1",
+ "semver": "^5.7.1",
+ "sharp": "^0.23.2"
+ }
+ },
"gauge": {
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
@@ -11594,6 +17644,15 @@
"integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==",
"dev": true
},
+ "get-proxy": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/get-proxy/download/get-proxy-2.1.0.tgz",
+ "integrity": "sha1-NJ8rTZHUTE1NTpy6KtkBQ/rF75M=",
+ "dev": true,
+ "requires": {
+ "npm-conf": "^1.1.0"
+ }
+ },
"get-stdin": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
@@ -11621,6 +17680,63 @@
"assert-plus": "^1.0.0"
}
},
+ "gh-pages": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/gh-pages/download/gh-pages-2.1.1.tgz",
+ "integrity": "sha1-W+cKkvnLcEBLr6vYuxScDpqMJks=",
+ "dev": true,
+ "requires": {
+ "async": "^2.6.1",
+ "commander": "^2.18.0",
+ "email-addresses": "^3.0.1",
+ "filenamify-url": "^1.0.0",
+ "fs-extra": "^7.0.0",
+ "globby": "^6.1.0",
+ "graceful-fs": "^4.1.11",
+ "rimraf": "^2.6.2"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "http://r.cnpmjs.org/fs-extra/download/fs-extra-7.0.1.tgz",
+ "integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "globby": {
+ "version": "6.1.0",
+ "resolved": "http://r.cnpmjs.org/globby/download/globby-6.1.0.tgz",
+ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+ "dev": true,
+ "requires": {
+ "array-union": "^1.0.1",
+ "glob": "^7.0.3",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/jsonfile/download/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
"git-raw-commits": {
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.6.tgz",
@@ -11752,6 +17868,23 @@
"integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=",
"dev": true
},
+ "github-slugger": {
+ "version": "1.2.1",
+ "resolved": "http://r.cnpmjs.org/github-slugger/download/github-slugger-1.2.1.tgz",
+ "integrity": "sha1-R+kE5wvy3M0AFHSBQtMRJs/UlQg=",
+ "dev": true,
+ "requires": {
+ "emoji-regex": ">=6.0.0 <=6.1.1"
+ },
+ "dependencies": {
+ "emoji-regex": {
+ "version": "6.1.1",
+ "resolved": "http://r.cnpmjs.org/emoji-regex/download/emoji-regex-6.1.1.tgz",
+ "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=",
+ "dev": true
+ }
+ }
+ },
"gl": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/gl/-/gl-4.4.0.tgz",
@@ -11975,12 +18108,167 @@
"delegate": "^3.1.2"
}
},
+ "got": {
+ "version": "8.3.2",
+ "resolved": "http://r.cnpmjs.org/got/download/got-8.3.2.tgz",
+ "integrity": "sha1-HSP2Q5Dpf3dsrFLluTbl9RTS6Tc=",
+ "dev": true,
+ "requires": {
+ "@sindresorhus/is": "^0.7.0",
+ "cacheable-request": "^2.1.1",
+ "decompress-response": "^3.3.0",
+ "duplexer3": "^0.1.4",
+ "get-stream": "^3.0.0",
+ "into-stream": "^3.1.0",
+ "is-retry-allowed": "^1.1.0",
+ "isurl": "^1.0.0-alpha5",
+ "lowercase-keys": "^1.0.0",
+ "mimic-response": "^1.0.0",
+ "p-cancelable": "^0.4.0",
+ "p-timeout": "^2.0.1",
+ "pify": "^3.0.0",
+ "safe-buffer": "^5.1.1",
+ "timed-out": "^4.0.1",
+ "url-parse-lax": "^3.0.0",
+ "url-to-options": "^1.0.1"
+ },
+ "dependencies": {
+ "decompress-response": {
+ "version": "3.3.0",
+ "resolved": "http://r.cnpmjs.org/decompress-response/download/decompress-response-3.3.0.tgz",
+ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
+ "mimic-response": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/mimic-response/download/mimic-response-1.0.1.tgz",
+ "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=",
+ "dev": true
+ },
+ "prepend-http": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/prepend-http/download/prepend-http-2.0.0.tgz",
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
+ "dev": true
+ },
+ "url-parse-lax": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/url-parse-lax/download/url-parse-lax-3.0.0.tgz",
+ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
+ "dev": true,
+ "requires": {
+ "prepend-http": "^2.0.0"
+ }
+ }
+ }
+ },
"graceful-fs": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
"integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
"dev": true
},
+ "graceful-readlink": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz",
+ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
+ "dev": true
+ },
+ "graphql": {
+ "version": "14.5.8",
+ "resolved": "http://r.cnpmjs.org/graphql/download/graphql-14.5.8.tgz",
+ "integrity": "sha1-UE89MRTLmgo/NZu7zzjZ5b9qazw=",
+ "dev": true,
+ "requires": {
+ "iterall": "^1.2.2"
+ }
+ },
+ "graphql-compose": {
+ "version": "6.3.6",
+ "resolved": "http://r.cnpmjs.org/graphql-compose/download/graphql-compose-6.3.6.tgz",
+ "integrity": "sha1-BHh3RbrCa8ziqA3eTWhy2yWQ9PI=",
+ "dev": true,
+ "requires": {
+ "graphql-type-json": "^0.2.4",
+ "object-path": "^0.11.4"
+ }
+ },
+ "graphql-config": {
+ "version": "2.2.1",
+ "resolved": "http://r.cnpmjs.org/graphql-config/download/graphql-config-2.2.1.tgz",
+ "integrity": "sha1-X9Dsd6x0KMpfsgJs8TG+EBUaDLI=",
+ "dev": true,
+ "requires": {
+ "graphql-import": "^0.7.1",
+ "graphql-request": "^1.5.0",
+ "js-yaml": "^3.10.0",
+ "lodash": "^4.17.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "graphql-import": {
+ "version": "0.7.1",
+ "resolved": "http://r.cnpmjs.org/graphql-import/download/graphql-import-0.7.1.tgz",
+ "integrity": "sha1-St2NkaX3UtdksKSnpGH82TE28iM=",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.4",
+ "resolve-from": "^4.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/resolve-from/download/resolve-from-4.0.0.tgz",
+ "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=",
+ "dev": true
+ }
+ }
+ },
+ "graphql-playground-html": {
+ "version": "1.6.12",
+ "resolved": "http://r.cnpmjs.org/graphql-playground-html/download/graphql-playground-html-1.6.12.tgz",
+ "integrity": "sha1-izs0q2AT4sh38M6q5Hj6/IypG4U=",
+ "dev": true
+ },
+ "graphql-playground-middleware-express": {
+ "version": "1.7.12",
+ "resolved": "http://r.cnpmjs.org/graphql-playground-middleware-express/download/graphql-playground-middleware-express-1.7.12.tgz",
+ "integrity": "sha1-3kskAqAhWbISVWH+OOs3i1bPbZk=",
+ "dev": true,
+ "requires": {
+ "graphql-playground-html": "1.6.12"
+ }
+ },
+ "graphql-request": {
+ "version": "1.8.2",
+ "resolved": "http://r.cnpmjs.org/graphql-request/download/graphql-request-1.8.2.tgz",
+ "integrity": "sha1-OY0QrhXFhWdnQb3j/AHVypSPj74=",
+ "dev": true,
+ "requires": {
+ "cross-fetch": "2.2.2"
+ }
+ },
+ "graphql-type-json": {
+ "version": "0.2.4",
+ "resolved": "http://r.cnpmjs.org/graphql-type-json/download/graphql-type-json-0.2.4.tgz",
+ "integrity": "sha1-VFryeQPkDAYe3TCECicuoKSZkvk=",
+ "dev": true
+ },
+ "gray-matter": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/gray-matter/download/gray-matter-4.0.2.tgz",
+ "integrity": "sha1-mqN546yvQhGT/OfSoozr1FGKxFQ=",
+ "dev": true,
+ "requires": {
+ "js-yaml": "^3.11.0",
+ "kind-of": "^6.0.2",
+ "section-matter": "^1.0.0",
+ "strip-bom-string": "^1.0.0"
+ }
+ },
"growl": {
"version": "1.10.5",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
@@ -12017,6 +18305,12 @@
}
}
},
+ "hammerjs": {
+ "version": "2.0.8",
+ "resolved": "http://r.cnpmjs.org/hammerjs/download/hammerjs-2.0.8.tgz",
+ "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=",
+ "dev": true
+ },
"handle-thing": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz",
@@ -12077,18 +18371,56 @@
"ansi-regex": "^2.0.0"
}
},
+ "has-binary2": {
+ "version": "1.0.3",
+ "resolved": "http://r.cnpmjs.org/has-binary2/download/has-binary2-1.0.3.tgz",
+ "integrity": "sha1-d3asYn8+p3JQz8My2rfd9eT10R0=",
+ "dev": true,
+ "requires": {
+ "isarray": "2.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/isarray/download/isarray-2.0.1.tgz",
+ "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
+ "dev": true
+ }
+ }
+ },
+ "has-cors": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/has-cors/download/has-cors-1.1.0.tgz",
+ "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
+ "dev": true
+ },
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
+ "has-symbol-support-x": {
+ "version": "1.4.2",
+ "resolved": "http://r.cnpmjs.org/has-symbol-support-x/download/has-symbol-support-x-1.4.2.tgz",
+ "integrity": "sha1-FAn5i8ACR9pF2mfO4KNvKC/yZFU=",
+ "dev": true
+ },
"has-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
"dev": true
},
+ "has-to-string-tag-x": {
+ "version": "1.4.1",
+ "resolved": "http://r.cnpmjs.org/has-to-string-tag-x/download/has-to-string-tag-x-1.4.1.tgz",
+ "integrity": "sha1-oEWrOD17SyASoAFIqwql8pAETU0=",
+ "dev": true,
+ "requires": {
+ "has-symbol-support-x": "^1.4.1"
+ }
+ },
"has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
@@ -12147,12 +18479,174 @@
"minimalistic-assert": "^1.0.1"
}
},
+ "hast-to-hyperscript": {
+ "version": "5.0.0",
+ "resolved": "http://r.cnpmjs.org/hast-to-hyperscript/download/hast-to-hyperscript-5.0.0.tgz",
+ "integrity": "sha1-UQbLunjtt8leLopJB5Nx6xlsHO0=",
+ "dev": true,
+ "requires": {
+ "comma-separated-tokens": "^1.0.0",
+ "property-information": "^4.0.0",
+ "space-separated-tokens": "^1.0.0",
+ "style-to-object": "^0.2.1",
+ "unist-util-is": "^2.0.0",
+ "web-namespaces": "^1.1.2"
+ },
+ "dependencies": {
+ "property-information": {
+ "version": "4.2.0",
+ "resolved": "http://r.cnpmjs.org/property-information/download/property-information-4.2.0.tgz",
+ "integrity": "sha1-8OZuB8vW/tMdloRNlY0VOtPrSG4=",
+ "dev": true,
+ "requires": {
+ "xtend": "^4.0.1"
+ }
+ },
+ "unist-util-is": {
+ "version": "2.1.3",
+ "resolved": "http://r.cnpmjs.org/unist-util-is/download/unist-util-is-2.1.3.tgz",
+ "integrity": "sha1-RZGC2zH0dC/OrqiNQpaTy/AEPSA=",
+ "dev": true
+ }
+ }
+ },
+ "hast-util-from-parse5": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/hast-util-from-parse5/download/hast-util-from-parse5-4.0.2.tgz",
+ "integrity": "sha1-txZKf/yI2k91HcfC+AH/jXwUO6s=",
+ "dev": true,
+ "requires": {
+ "ccount": "^1.0.3",
+ "hastscript": "^4.0.0",
+ "property-information": "^4.0.0",
+ "web-namespaces": "^1.1.2",
+ "xtend": "^4.0.1"
+ },
+ "dependencies": {
+ "hastscript": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/hastscript/download/hastscript-4.1.0.tgz",
+ "integrity": "sha1-6lWT+m9nCRAfx5DO2Bg5PdqgRc4=",
+ "dev": true,
+ "requires": {
+ "comma-separated-tokens": "^1.0.0",
+ "hast-util-parse-selector": "^2.2.0",
+ "property-information": "^4.0.0",
+ "space-separated-tokens": "^1.0.0"
+ }
+ },
+ "property-information": {
+ "version": "4.2.0",
+ "resolved": "http://r.cnpmjs.org/property-information/download/property-information-4.2.0.tgz",
+ "integrity": "sha1-8OZuB8vW/tMdloRNlY0VOtPrSG4=",
+ "dev": true,
+ "requires": {
+ "xtend": "^4.0.1"
+ }
+ }
+ }
+ },
+ "hast-util-is-element": {
+ "version": "1.0.3",
+ "resolved": "http://r.cnpmjs.org/hast-util-is-element/download/hast-util-is-element-1.0.3.tgz",
+ "integrity": "sha1-QjtLJv6L8fJZUP4FLpzo+D/V9qQ=",
+ "dev": true
+ },
"hast-util-parse-selector": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.2.tgz",
"integrity": "sha512-jIMtnzrLTjzqgVEQqPEmwEZV+ea4zHRFTP8Z2Utw0I5HuBOXHzUPPQWr6ouJdJqDKLbFU/OEiYwZ79LalZkmmw==",
"dev": true
},
+ "hast-util-raw": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/hast-util-raw/download/hast-util-raw-4.0.0.tgz",
+ "integrity": "sha1-LcEMn6zZuBDqasUd8lHm+Hwu1bU=",
+ "dev": true,
+ "requires": {
+ "hast-util-from-parse5": "^4.0.2",
+ "hast-util-to-parse5": "^4.0.1",
+ "html-void-elements": "^1.0.1",
+ "parse5": "^5.0.0",
+ "unist-util-position": "^3.0.0",
+ "web-namespaces": "^1.0.0",
+ "xtend": "^4.0.1",
+ "zwitch": "^1.0.0"
+ },
+ "dependencies": {
+ "parse5": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/parse5/download/parse5-5.1.0.tgz",
+ "integrity": "sha1-xZNByXI/QUxFKXVWTHwApo1YrNI=",
+ "dev": true
+ }
+ }
+ },
+ "hast-util-to-html": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/hast-util-to-html/download/hast-util-to-html-4.0.1.tgz",
+ "integrity": "sha1-NmawWvtivWn49ebJTbBN6hlDjio=",
+ "dev": true,
+ "requires": {
+ "ccount": "^1.0.0",
+ "comma-separated-tokens": "^1.0.1",
+ "hast-util-is-element": "^1.0.0",
+ "hast-util-whitespace": "^1.0.0",
+ "html-void-elements": "^1.0.0",
+ "property-information": "^4.0.0",
+ "space-separated-tokens": "^1.0.0",
+ "stringify-entities": "^1.0.1",
+ "unist-util-is": "^2.0.0",
+ "xtend": "^4.0.1"
+ },
+ "dependencies": {
+ "property-information": {
+ "version": "4.2.0",
+ "resolved": "http://r.cnpmjs.org/property-information/download/property-information-4.2.0.tgz",
+ "integrity": "sha1-8OZuB8vW/tMdloRNlY0VOtPrSG4=",
+ "dev": true,
+ "requires": {
+ "xtend": "^4.0.1"
+ }
+ },
+ "unist-util-is": {
+ "version": "2.1.3",
+ "resolved": "http://r.cnpmjs.org/unist-util-is/download/unist-util-is-2.1.3.tgz",
+ "integrity": "sha1-RZGC2zH0dC/OrqiNQpaTy/AEPSA=",
+ "dev": true
+ }
+ }
+ },
+ "hast-util-to-parse5": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/hast-util-to-parse5/download/hast-util-to-parse5-4.0.1.tgz",
+ "integrity": "sha1-5SU0tL9A3E59BCj8r20yvHXGLuU=",
+ "dev": true,
+ "requires": {
+ "hast-to-hyperscript": "^5.0.0",
+ "property-information": "^4.0.0",
+ "web-namespaces": "^1.0.0",
+ "xtend": "^4.0.1",
+ "zwitch": "^1.0.0"
+ },
+ "dependencies": {
+ "property-information": {
+ "version": "4.2.0",
+ "resolved": "http://r.cnpmjs.org/property-information/download/property-information-4.2.0.tgz",
+ "integrity": "sha1-8OZuB8vW/tMdloRNlY0VOtPrSG4=",
+ "dev": true,
+ "requires": {
+ "xtend": "^4.0.1"
+ }
+ }
+ }
+ },
+ "hast-util-whitespace": {
+ "version": "1.0.3",
+ "resolved": "http://r.cnpmjs.org/hast-util-whitespace/download/hast-util-whitespace-1.0.3.tgz",
+ "integrity": "sha1-bRYbMHvQaTtewADHx+i1RFEJ7jQ=",
+ "dev": true
+ },
"hastscript": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.0.tgz",
@@ -12171,6 +18665,12 @@
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true
},
+ "hex-color-regex": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz",
+ "integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=",
+ "dev": true
+ },
"highlight.js": {
"version": "9.12.0",
"resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz",
@@ -12224,6 +18724,24 @@
"wbuf": "^1.1.0"
}
},
+ "hsl-regex": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/hsl-regex/download/hsl-regex-1.0.0.tgz",
+ "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
+ "dev": true
+ },
+ "hsla-regex": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/hsla-regex/download/hsla-regex-1.0.0.tgz",
+ "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
+ "dev": true
+ },
+ "html-comment-regex": {
+ "version": "1.1.2",
+ "resolved": "http://r.cnpmjs.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz",
+ "integrity": "sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=",
+ "dev": true
+ },
"html-element-map": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.1.0.tgz",
@@ -12263,12 +18781,27 @@
"uglify-js": "^3.5.1"
}
},
+ "html-parse-stringify2": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/html-parse-stringify2/download/html-parse-stringify2-2.0.1.tgz",
+ "integrity": "sha1-3FZwtyksoVi3vJFsmmc1rIhyg0o=",
+ "dev": true,
+ "requires": {
+ "void-elements": "^2.0.1"
+ }
+ },
"html-tags": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
"integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
"dev": true
},
+ "html-void-elements": {
+ "version": "1.0.4",
+ "resolved": "http://r.cnpmjs.org/html-void-elements/download/html-void-elements-1.0.4.tgz",
+ "integrity": "sha1-lei7Xs1riHZlacJkXytfFZHbm6U=",
+ "dev": true
+ },
"html-webpack-plugin": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
@@ -12518,6 +19051,16 @@
"ms": "^2.0.0"
}
},
+ "humanize-url": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/humanize-url/download/humanize-url-1.0.1.tgz",
+ "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=",
+ "dev": true,
+ "requires": {
+ "normalize-url": "^1.0.0",
+ "strip-url-auth": "^1.0.0"
+ }
+ },
"husky": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/husky/-/husky-3.0.9.tgz",
@@ -12670,6 +19213,15 @@
}
}
},
+ "i18next": {
+ "version": "19.0.0",
+ "resolved": "http://r.cnpmjs.org/i18next/download/i18next-19.0.0.tgz",
+ "integrity": "sha1-VBggfXKGEo5s/lWOZZ+oxg2JeUs=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.3.1"
+ }
+ },
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -12694,6 +19246,12 @@
"postcss": "^7.0.14"
}
},
+ "idb-keyval": {
+ "version": "3.2.0",
+ "resolved": "http://r.cnpmjs.org/idb-keyval/download/idb-keyval-3.2.0.tgz",
+ "integrity": "sha1-y781TetWhLbNyEN2KU/AWTKEW9Y=",
+ "dev": true
+ },
"ieee754": {
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
@@ -12721,6 +19279,155 @@
"minimatch": "^3.0.4"
}
},
+ "image-size": {
+ "version": "0.5.5",
+ "resolved": "http://r.cnpmjs.org/image-size/download/image-size-0.5.5.tgz",
+ "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+ "dev": true,
+ "optional": true
+ },
+ "imagemin": {
+ "version": "6.1.0",
+ "resolved": "http://r.cnpmjs.org/imagemin/download/imagemin-6.1.0.tgz",
+ "integrity": "sha1-YlCLRlco/qNsA83AfZFf4tjPnhM=",
+ "dev": true,
+ "requires": {
+ "file-type": "^10.7.0",
+ "globby": "^8.0.1",
+ "make-dir": "^1.0.0",
+ "p-pipe": "^1.1.0",
+ "pify": "^4.0.1",
+ "replace-ext": "^1.0.0"
+ },
+ "dependencies": {
+ "make-dir": {
+ "version": "1.3.0",
+ "resolved": "http://r.cnpmjs.org/make-dir/download/make-dir-1.3.0.tgz",
+ "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-4.0.1.tgz",
+ "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
+ "dev": true
+ }
+ }
+ },
+ "imagemin-mozjpeg": {
+ "version": "8.0.0",
+ "resolved": "http://r.cnpmjs.org/imagemin-mozjpeg/download/imagemin-mozjpeg-8.0.0.tgz",
+ "integrity": "sha1-0spOjJgsfG7aVQaa+J3uTBzrzf0=",
+ "dev": true,
+ "requires": {
+ "execa": "^1.0.0",
+ "is-jpg": "^2.0.0",
+ "mozjpeg": "^6.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "http://r.cnpmjs.org/cross-spawn/download/cross-spawn-6.0.5.tgz",
+ "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/execa/download/execa-1.0.0.tgz",
+ "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/get-stream/download/get-stream-4.1.0.tgz",
+ "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ }
+ }
+ },
+ "imagemin-pngquant": {
+ "version": "6.0.1",
+ "resolved": "http://r.cnpmjs.org/imagemin-pngquant/download/imagemin-pngquant-6.0.1.tgz",
+ "integrity": "sha1-B7TIDjJ6xg71JGdYApseiuzYebk=",
+ "dev": true,
+ "requires": {
+ "execa": "^0.10.0",
+ "is-png": "^1.0.0",
+ "is-stream": "^1.1.0",
+ "pngquant-bin": "^5.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "http://r.cnpmjs.org/cross-spawn/download/cross-spawn-6.0.5.tgz",
+ "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "0.10.0",
+ "resolved": "http://r.cnpmjs.org/execa/download/execa-0.10.0.tgz",
+ "integrity": "sha1-/0Vqj1P5D47MxxqW0Rvfx/CCy1A=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ }
+ }
+ },
+ "imagemin-webp": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/imagemin-webp/download/imagemin-webp-5.1.0.tgz",
+ "integrity": "sha1-3bEwetl6/5cpPFpgDjhOQMB/aKc=",
+ "dev": true,
+ "requires": {
+ "cwebp-bin": "^5.0.0",
+ "exec-buffer": "^3.0.0",
+ "is-cwebp-readable": "^2.0.1"
+ }
+ },
"immer": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz",
@@ -12817,6 +19524,12 @@
"integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
"dev": true
},
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "http://r.cnpmjs.org/indexof/download/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "dev": true
+ },
"infer-owner": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
@@ -12861,6 +19574,158 @@
"validate-npm-package-name": "^3.0.0"
}
},
+ "ink": {
+ "version": "2.5.0",
+ "resolved": "http://r.cnpmjs.org/ink/download/ink-2.5.0.tgz",
+ "integrity": "sha1-Zs+Yi2XKBtFPAPOF61Mf3in5WBk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@types/react": "^16.8.6",
+ "ansi-escapes": "^4.2.1",
+ "arrify": "^1.0.1",
+ "auto-bind": "^2.0.0",
+ "chalk": "^2.4.1",
+ "cli-cursor": "^2.1.0",
+ "cli-truncate": "^1.1.0",
+ "is-ci": "^2.0.0",
+ "lodash.throttle": "^4.1.1",
+ "log-update": "^3.0.0",
+ "prop-types": "^15.6.2",
+ "react-reconciler": "^0.21.0",
+ "scheduler": "^0.15.0",
+ "signal-exit": "^3.0.2",
+ "slice-ansi": "^1.0.0",
+ "string-length": "^2.0.0",
+ "widest-line": "^2.0.0",
+ "wrap-ansi": "^5.0.0",
+ "yoga-layout-prebuilt": "^1.9.3"
+ },
+ "dependencies": {
+ "ansi-escapes": {
+ "version": "4.2.1",
+ "resolved": "http://r.cnpmjs.org/ansi-escapes/download/ansi-escapes-4.2.1.tgz",
+ "integrity": "sha1-TczbhGw+7hD21k3qZic+q5DDcig=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "type-fest": "^0.5.2"
+ }
+ },
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true,
+ "optional": true
+ },
+ "cli-truncate": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/cli-truncate/download/cli-truncate-1.1.0.tgz",
+ "integrity": "sha1-Ky39g8U8/TVyuH/E1DCoCK+wQIY=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "slice-ansi": "^1.0.0",
+ "string-width": "^2.0.0"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true,
+ "optional": true
+ },
+ "log-update": {
+ "version": "3.3.0",
+ "resolved": "http://r.cnpmjs.org/log-update/download/log-update-3.3.0.tgz",
+ "integrity": "sha1-OwUBgVEj9myzPzAOPawqK2rT/fU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-escapes": "^3.2.0",
+ "cli-cursor": "^2.1.0",
+ "wrap-ansi": "^5.0.0"
+ },
+ "dependencies": {
+ "ansi-escapes": {
+ "version": "3.2.0",
+ "resolved": "http://r.cnpmjs.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz",
+ "integrity": "sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "scheduler": {
+ "version": "0.15.0",
+ "resolved": "http://r.cnpmjs.org/scheduler/download/scheduler-0.15.0.tgz",
+ "integrity": "sha1-a/z4D/hQsoD+1K7sxlE7wLTxf44=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "slice-ansi": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/slice-ansi/download/slice-ansi-1.0.0.tgz",
+ "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0"
+ }
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/string-width/download/string-width-2.1.1.tgz",
+ "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.5.2",
+ "resolved": "http://r.cnpmjs.org/type-fest/download/type-fest-0.5.2.tgz",
+ "integrity": "sha1-1u9CoDVsbNRfSUhcO2KB/BSOSKI=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "ink-spinner": {
+ "version": "3.0.1",
+ "resolved": "http://r.cnpmjs.org/ink-spinner/download/ink-spinner-3.0.1.tgz",
+ "integrity": "sha1-e0sgbSsYU4cB/ZJZP5rKu/4wjc4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "cli-spinners": "^1.0.0",
+ "prop-types": "^15.5.10"
+ }
+ },
+ "inline-style-parser": {
+ "version": "0.1.1",
+ "resolved": "http://r.cnpmjs.org/inline-style-parser/download/inline-style-parser-0.1.1.tgz",
+ "integrity": "sha1-7Io7QpJ06cCh8cT/qUU6f+9yzqE=",
+ "dev": true
+ },
"inquirer": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
@@ -12950,6 +19815,24 @@
"integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
"dev": true
},
+ "into-stream": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/into-stream/download/into-stream-3.1.0.tgz",
+ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=",
+ "dev": true,
+ "requires": {
+ "from2": "^2.1.1",
+ "p-is-promise": "^1.1.0"
+ },
+ "dependencies": {
+ "p-is-promise": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/p-is-promise/download/p-is-promise-1.1.0.tgz",
+ "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=",
+ "dev": true
+ }
+ }
+ },
"invariant": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
@@ -13064,6 +19947,23 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
+ "is-builtin-module": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/is-builtin-module/download/is-builtin-module-3.0.0.tgz",
+ "integrity": "sha1-E309JCUCOhmmYPud1t36vlLANGY=",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "^3.0.0"
+ },
+ "dependencies": {
+ "builtin-modules": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/builtin-modules/download/builtin-modules-3.1.0.tgz",
+ "integrity": "sha1-qtl8FRMet2tltQ7yCOdYTNdqdIQ=",
+ "dev": true
+ }
+ }
+ },
"is-callable": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
@@ -13079,6 +19979,37 @@
"ci-info": "^2.0.0"
}
},
+ "is-color-stop": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/is-color-stop/download/is-color-stop-1.1.0.tgz",
+ "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
+ "dev": true,
+ "requires": {
+ "css-color-names": "^0.0.4",
+ "hex-color-regex": "^1.1.0",
+ "hsl-regex": "^1.0.0",
+ "hsla-regex": "^1.0.0",
+ "rgb-regex": "^1.0.1",
+ "rgba-regex": "^1.0.0"
+ }
+ },
+ "is-cwebp-readable": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/is-cwebp-readable/download/is-cwebp-readable-2.0.1.tgz",
+ "integrity": "sha1-r7k7DAq9CiUQEBauM66ort+SbSY=",
+ "dev": true,
+ "requires": {
+ "file-type": "^4.3.0"
+ },
+ "dependencies": {
+ "file-type": {
+ "version": "4.4.0",
+ "resolved": "http://r.cnpmjs.org/file-type/download/file-type-4.4.0.tgz",
+ "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=",
+ "dev": true
+ }
+ }
+ },
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@@ -13136,6 +20067,12 @@
"integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
"dev": true
},
+ "is-docker": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/is-docker/download/is-docker-2.0.0.tgz",
+ "integrity": "sha1-LLDfDnXi0GT+GGTDfN6st7Lc8ls=",
+ "dev": true
+ },
"is-dom": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-dom/-/is-dom-1.1.0.tgz",
@@ -13203,6 +20140,71 @@
"integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==",
"dev": true
},
+ "is-installed-globally": {
+ "version": "0.1.0",
+ "resolved": "http://r.cnpmjs.org/is-installed-globally/download/is-installed-globally-0.1.0.tgz",
+ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
+ "dev": true,
+ "requires": {
+ "global-dirs": "^0.1.0",
+ "is-path-inside": "^1.0.0"
+ },
+ "dependencies": {
+ "is-path-inside": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/is-path-inside/download/is-path-inside-1.0.1.tgz",
+ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "dev": true,
+ "requires": {
+ "path-is-inside": "^1.0.1"
+ }
+ }
+ }
+ },
+ "is-invalid-path": {
+ "version": "0.1.0",
+ "resolved": "http://r.cnpmjs.org/is-invalid-path/download/is-invalid-path-0.1.0.tgz",
+ "integrity": "sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^2.0.0"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/is-extglob/download/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/is-glob/download/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ }
+ }
+ },
+ "is-jpg": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/is-jpg/download/is-jpg-2.0.0.tgz",
+ "integrity": "sha1-LhmX+m6RZuqsAkLarkQ0A+TvHZc=",
+ "dev": true
+ },
+ "is-natural-number": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/is-natural-number/download/is-natural-number-4.0.1.tgz",
+ "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=",
+ "dev": true
+ },
+ "is-npm": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/is-npm/download/is-npm-1.0.0.tgz",
+ "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=",
+ "dev": true
+ },
"is-number": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
@@ -13297,12 +20299,24 @@
"isobject": "^3.0.1"
}
},
+ "is-png": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/is-png/download/is-png-1.1.0.tgz",
+ "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=",
+ "dev": true
+ },
"is-promise": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
"dev": true
},
+ "is-redirect": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/is-redirect/download/is-redirect-1.0.0.tgz",
+ "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
+ "dev": true
+ },
"is-regex": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
@@ -13318,6 +20332,36 @@
"integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
"dev": true
},
+ "is-relative": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/is-relative/download/is-relative-1.0.0.tgz",
+ "integrity": "sha1-obtpNc6MXboei5dUubLcwCDiJg0=",
+ "dev": true,
+ "requires": {
+ "is-unc-path": "^1.0.0"
+ }
+ },
+ "is-relative-url": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/is-relative-url/download/is-relative-url-3.0.0.tgz",
+ "integrity": "sha1-9iPI4muqW9N0Kzt+wHT1DztFs/M=",
+ "dev": true,
+ "requires": {
+ "is-absolute-url": "^3.0.0"
+ }
+ },
+ "is-resolvable": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/is-resolvable/download/is-resolvable-1.1.0.tgz",
+ "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=",
+ "dev": true
+ },
+ "is-retry-allowed": {
+ "version": "1.2.0",
+ "resolved": "http://r.cnpmjs.org/is-retry-allowed/download/is-retry-allowed-1.2.0.tgz",
+ "integrity": "sha1-13hIi9CkZmo76KFIK58rqv7eqLQ=",
+ "dev": true
+ },
"is-root": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz",
@@ -13357,6 +20401,15 @@
"integrity": "sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==",
"dev": true
},
+ "is-svg": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/is-svg/download/is-svg-3.0.0.tgz",
+ "integrity": "sha1-kyHb0pwhLlypnE+peUxxS8r6L3U=",
+ "dev": true,
+ "requires": {
+ "html-comment-regex": "^1.1.0"
+ }
+ },
"is-symbol": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
@@ -13381,12 +20434,30 @@
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
+ "is-unc-path": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/is-unc-path/download/is-unc-path-1.0.0.tgz",
+ "integrity": "sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0=",
+ "dev": true,
+ "requires": {
+ "unc-path-regex": "^0.1.2"
+ }
+ },
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
"dev": true
},
+ "is-valid-path": {
+ "version": "0.1.1",
+ "resolved": "http://r.cnpmjs.org/is-valid-path/download/is-valid-path-0.1.1.tgz",
+ "integrity": "sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=",
+ "dev": true,
+ "requires": {
+ "is-invalid-path": "^0.1.0"
+ }
+ },
"is-whitespace-character": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz",
@@ -13547,6 +20618,22 @@
"handlebars": "^4.1.2"
}
},
+ "isurl": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/isurl/download/isurl-1.0.0.tgz",
+ "integrity": "sha1-sn9PSfPNqj6kSgpbfzRi5u3DnWc=",
+ "dev": true,
+ "requires": {
+ "has-to-string-tag-x": "^1.2.0",
+ "is-object": "^1.0.1"
+ }
+ },
+ "iterall": {
+ "version": "1.2.2",
+ "resolved": "http://r.cnpmjs.org/iterall/download/iterall-1.2.2.tgz",
+ "integrity": "sha1-ktcN64Ao4MOf8xZP2/TYsIgTDNc=",
+ "dev": true
+ },
"jest": {
"version": "24.9.0",
"resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz",
@@ -14037,6 +21124,33 @@
}
}
},
+ "jimp": {
+ "version": "0.6.8",
+ "resolved": "http://r.cnpmjs.org/jimp/download/jimp-0.6.8.tgz",
+ "integrity": "sha1-YwdJhDN8xGnNQDCUblA+fAKhi1w=",
+ "dev": true,
+ "requires": {
+ "@jimp/custom": "^0.6.8",
+ "@jimp/plugins": "^0.6.8",
+ "@jimp/types": "^0.6.8",
+ "core-js": "^2.5.7",
+ "regenerator-runtime": "^0.13.3"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.13.3",
+ "resolved": "http://r.cnpmjs.org/regenerator-runtime/download/regenerator-runtime-0.13.3.tgz",
+ "integrity": "sha1-fPanfY9cb2Drc8X8GVWyzrAea/U=",
+ "dev": true
+ }
+ }
+ },
+ "jpeg-js": {
+ "version": "0.3.6",
+ "resolved": "http://r.cnpmjs.org/jpeg-js/download/jpeg-js-0.3.6.tgz",
+ "integrity": "sha1-xAOCqslQbn0fLYVusC9seyqYs3w=",
+ "dev": true
+ },
"js-base64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
@@ -14119,6 +21233,18 @@
"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
"dev": true
},
+ "json-buffer": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/json-buffer/download/json-buffer-3.0.0.tgz",
+ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
+ "dev": true
+ },
+ "json-loader": {
+ "version": "0.5.7",
+ "resolved": "http://r.cnpmjs.org/json-loader/download/json-loader-0.5.7.tgz",
+ "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=",
+ "dev": true
+ },
"json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
@@ -14137,6 +21263,12 @@
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
"json-stringify-pretty-compact": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-1.2.0.tgz",
@@ -14149,6 +21281,15 @@
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true
},
+ "json2mq": {
+ "version": "0.2.0",
+ "resolved": "http://r.cnpmjs.org/json2mq/download/json2mq-0.2.0.tgz",
+ "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=",
+ "dev": true,
+ "requires": {
+ "string-convert": "^0.2.0"
+ }
+ },
"json3": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
@@ -14181,6 +21322,12 @@
"graceful-fs": "^4.1.6"
}
},
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "http://r.cnpmjs.org/jsonify/download/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
"jsonparse": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
@@ -14235,6 +21382,16 @@
}
}
},
+ "jsx-ast-utils": {
+ "version": "2.2.3",
+ "resolved": "http://r.cnpmjs.org/jsx-ast-utils/download/jsx-ast-utils-2.2.3.tgz",
+ "integrity": "sha1-ipNk5AJEijzn8U01dzgxDZJIBU8=",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.0.3",
+ "object.assign": "^4.1.0"
+ }
+ },
"jsx-to-string": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/jsx-to-string/-/jsx-to-string-1.4.0.tgz",
@@ -14283,6 +21440,15 @@
}
}
},
+ "keyv": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/keyv/download/keyv-3.0.0.tgz",
+ "integrity": "sha1-RJI7o55osSp87H32wyaMAx8u83M=",
+ "dev": true,
+ "requires": {
+ "json-buffer": "3.0.0"
+ }
+ },
"killable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
@@ -14316,6 +21482,25 @@
"integrity": "sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==",
"dev": true
},
+ "last-call-webpack-plugin": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/last-call-webpack-plugin/download/last-call-webpack-plugin-3.0.0.tgz",
+ "integrity": "sha1-l0LfDhDjz0blwDgcLekNOnotdVU=",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.5",
+ "webpack-sources": "^1.1.0"
+ }
+ },
+ "latest-version": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/latest-version/download/latest-version-3.1.0.tgz",
+ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=",
+ "dev": true,
+ "requires": {
+ "package-json": "^4.0.0"
+ }
+ },
"lazy-cache": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
@@ -14395,6 +21580,63 @@
"npmlog": "^4.1.2"
}
},
+ "less": {
+ "version": "3.10.3",
+ "resolved": "http://r.cnpmjs.org/less/download/less-3.10.3.tgz",
+ "integrity": "sha1-QXoJddXu7MUs/0vPo8CdNXgeZ5I=",
+ "dev": true,
+ "requires": {
+ "clone": "^2.1.2",
+ "errno": "^0.1.1",
+ "graceful-fs": "^4.1.2",
+ "image-size": "~0.5.0",
+ "mime": "^1.4.1",
+ "mkdirp": "^0.5.0",
+ "promise": "^7.1.1",
+ "request": "^2.83.0",
+ "source-map": "~0.6.0"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/clone/download/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "http://r.cnpmjs.org/source-map/download/source-map-0.6.1.tgz",
+ "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "less-loader": {
+ "version": "5.0.0",
+ "resolved": "http://r.cnpmjs.org/less-loader/download/less-loader-5.0.0.tgz",
+ "integrity": "sha1-SY3eOmxsT4h0WO6e0/CGoSrRtGY=",
+ "dev": true,
+ "requires": {
+ "clone": "^2.1.1",
+ "loader-utils": "^1.1.0",
+ "pify": "^4.0.1"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/clone/download/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+ "dev": true
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-4.0.1.tgz",
+ "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
+ "dev": true
+ }
+ }
+ },
"leven": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
@@ -14708,6 +21950,22 @@
"figures": "^2.0.0"
}
},
+ "load-bmfont": {
+ "version": "1.4.0",
+ "resolved": "http://r.cnpmjs.org/load-bmfont/download/load-bmfont-1.4.0.tgz",
+ "integrity": "sha1-dfFwcLFKjHhf5/W+4ub9T5gJO2s=",
+ "dev": true,
+ "requires": {
+ "buffer-equal": "0.0.1",
+ "mime": "^1.3.4",
+ "parse-bmfont-ascii": "^1.0.3",
+ "parse-bmfont-binary": "^1.0.5",
+ "parse-bmfont-xml": "^1.1.4",
+ "phin": "^2.9.1",
+ "xhr": "^2.0.1",
+ "xtend": "^4.0.0"
+ }
+ },
"load-json-file": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
@@ -14720,6 +21978,57 @@
"strip-bom": "^3.0.0"
}
},
+ "loader-fs-cache": {
+ "version": "1.0.2",
+ "resolved": "http://r.cnpmjs.org/loader-fs-cache/download/loader-fs-cache-1.0.2.tgz",
+ "integrity": "sha1-VM7fa3J+F3n9jwEgXwX26IcG8IY=",
+ "dev": true,
+ "requires": {
+ "find-cache-dir": "^0.1.1",
+ "mkdirp": "0.5.1"
+ },
+ "dependencies": {
+ "find-cache-dir": {
+ "version": "0.1.1",
+ "resolved": "http://r.cnpmjs.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz",
+ "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
+ "dev": true,
+ "requires": {
+ "commondir": "^1.0.1",
+ "mkdirp": "^0.5.1",
+ "pkg-dir": "^1.0.0"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "http://r.cnpmjs.org/find-up/download/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/path-exists/download/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/pkg-dir/download/pkg-dir-1.0.0.tgz",
+ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0"
+ }
+ }
+ }
+ },
"loader-runner": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
@@ -14764,12 +22073,33 @@
"path-exists": "^3.0.0"
}
},
+ "lockfile": {
+ "version": "1.0.4",
+ "resolved": "http://r.cnpmjs.org/lockfile/download/lockfile-1.0.4.tgz",
+ "integrity": "sha1-B/gZ0lrkj4flOOZXi2lkpJgaVgk=",
+ "dev": true,
+ "requires": {
+ "signal-exit": "^3.0.2"
+ }
+ },
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true
},
+ "lodash-es": {
+ "version": "4.17.15",
+ "resolved": "http://r.cnpmjs.org/lodash-es/download/lodash-es-4.17.15.tgz",
+ "integrity": "sha1-Ib2Wg5NUQS8j16EDQOXqxu5FXXg=",
+ "dev": true
+ },
+ "lodash._getnative": {
+ "version": "3.9.1",
+ "resolved": "http://r.cnpmjs.org/lodash._getnative/download/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
+ "dev": true
+ },
"lodash._reinterpolate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
@@ -14794,18 +22124,48 @@
"integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=",
"dev": true
},
+ "lodash.escaperegexp": {
+ "version": "4.1.2",
+ "resolved": "http://r.cnpmjs.org/lodash.escaperegexp/download/lodash.escaperegexp-4.1.2.tgz",
+ "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=",
+ "dev": true
+ },
+ "lodash.every": {
+ "version": "4.6.0",
+ "resolved": "http://r.cnpmjs.org/lodash.every/download/lodash.every-4.6.0.tgz",
+ "integrity": "sha1-64mYS+vENkJ5uzrvu9HKGb+mxqc=",
+ "dev": true
+ },
"lodash.flattendeep": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
"integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
"dev": true
},
+ "lodash.foreach": {
+ "version": "4.5.0",
+ "resolved": "http://r.cnpmjs.org/lodash.foreach/download/lodash.foreach-4.5.0.tgz",
+ "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=",
+ "dev": true
+ },
"lodash.get": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
"dev": true
},
+ "lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/lodash.isarguments/download/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
+ "dev": true
+ },
+ "lodash.isarray": {
+ "version": "3.0.4",
+ "resolved": "http://r.cnpmjs.org/lodash.isarray/download/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
+ "dev": true
+ },
"lodash.isequal": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
@@ -14818,18 +22178,59 @@
"integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=",
"dev": true
},
+ "lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "http://r.cnpmjs.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
+ "dev": true
+ },
+ "lodash.isstring": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/lodash.isstring/download/lodash.isstring-4.0.1.tgz",
+ "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=",
+ "dev": true
+ },
+ "lodash.iteratee": {
+ "version": "4.7.0",
+ "resolved": "http://r.cnpmjs.org/lodash.iteratee/download/lodash.iteratee-4.7.0.tgz",
+ "integrity": "sha1-vkF32yiajMw8CZDx2ya1si/BVUw=",
+ "dev": true
+ },
+ "lodash.keys": {
+ "version": "3.1.2",
+ "resolved": "http://r.cnpmjs.org/lodash.keys/download/lodash.keys-3.1.2.tgz",
+ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+ "dev": true,
+ "requires": {
+ "lodash._getnative": "^3.0.0",
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
+ }
+ },
"lodash.map": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz",
"integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=",
"dev": true
},
+ "lodash.maxby": {
+ "version": "4.6.0",
+ "resolved": "http://r.cnpmjs.org/lodash.maxby/download/lodash.maxby-4.6.0.tgz",
+ "integrity": "sha1-CCJABo88eiJ6oAqDgOTzjPB4bj0=",
+ "dev": true
+ },
"lodash.memoize": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
"dev": true
},
+ "lodash.mergewith": {
+ "version": "4.6.2",
+ "resolved": "http://r.cnpmjs.org/lodash.mergewith/download/lodash.mergewith-4.6.2.tgz",
+ "integrity": "sha1-YXEh+JrFX1kEfHrsHM1mVMZZD1U=",
+ "dev": true
+ },
"lodash.set": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
@@ -14867,6 +22268,18 @@
"integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=",
"dev": true
},
+ "lodash.toarray": {
+ "version": "4.4.0",
+ "resolved": "http://r.cnpmjs.org/lodash.toarray/download/lodash.toarray-4.4.0.tgz",
+ "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=",
+ "dev": true
+ },
+ "lodash.unescape": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/lodash.unescape/download/lodash.unescape-4.0.1.tgz",
+ "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=",
+ "dev": true
+ },
"lodash.uniq": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
@@ -14942,6 +22355,28 @@
}
}
},
+ "logalot": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/logalot/download/logalot-2.1.0.tgz",
+ "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=",
+ "dev": true,
+ "requires": {
+ "figures": "^1.3.5",
+ "squeak": "^1.0.0"
+ },
+ "dependencies": {
+ "figures": {
+ "version": "1.7.0",
+ "resolved": "http://r.cnpmjs.org/figures/download/figures-1.7.0.tgz",
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5",
+ "object-assign": "^4.1.0"
+ }
+ }
+ }
+ },
"loglevel": {
"version": "1.6.4",
"resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz",
@@ -14958,6 +22393,12 @@
"object.assign": "^4.1.0"
}
},
+ "lokijs": {
+ "version": "1.5.8",
+ "resolved": "http://r.cnpmjs.org/lokijs/download/lokijs-1.5.8.tgz",
+ "integrity": "sha1-kpbyiO2yFHOJ7GkvyXLEKMWRedE=",
+ "dev": true
+ },
"longest": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz",
@@ -14995,6 +22436,12 @@
"integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
"dev": true
},
+ "lowercase-keys": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz",
+ "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=",
+ "dev": true
+ },
"lowlight": {
"version": "1.9.2",
"resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.9.2.tgz",
@@ -15005,6 +22452,200 @@
"highlight.js": "~9.12.0"
}
},
+ "lpad-align": {
+ "version": "1.1.2",
+ "resolved": "http://r.cnpmjs.org/lpad-align/download/lpad-align-1.1.2.tgz",
+ "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^4.0.1",
+ "indent-string": "^2.1.0",
+ "longest": "^1.0.0",
+ "meow": "^3.3.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/camelcase/download/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz",
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^2.0.0",
+ "map-obj": "^1.0.0"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "http://r.cnpmjs.org/find-up/download/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "get-stdin": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/get-stdin/download/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/indent-string/download/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "dev": true,
+ "requires": {
+ "repeating": "^2.0.0"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/load-json-file/download/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
+ }
+ },
+ "longest": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/longest/download/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "dev": true
+ },
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/map-obj/download/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ },
+ "meow": {
+ "version": "3.7.0",
+ "resolved": "http://r.cnpmjs.org/meow/download/meow-3.7.0.tgz",
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "^2.0.0",
+ "decamelize": "^1.1.2",
+ "loud-rejection": "^1.0.0",
+ "map-obj": "^1.0.1",
+ "minimist": "^1.1.3",
+ "normalize-package-data": "^2.3.4",
+ "object-assign": "^4.0.1",
+ "read-pkg-up": "^1.0.1",
+ "redent": "^1.0.0",
+ "trim-newlines": "^1.0.0"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "http://r.cnpmjs.org/minimist/download/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "http://r.cnpmjs.org/parse-json/download/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/path-exists/download/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/path-type/download/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/read-pkg/download/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
+ }
+ },
+ "redent": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/redent/download/redent-1.0.0.tgz",
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "dev": true,
+ "requires": {
+ "indent-string": "^2.1.0",
+ "strip-indent": "^1.0.1"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/strip-bom/download/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "^0.2.0"
+ }
+ },
+ "strip-indent": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/strip-indent/download/strip-indent-1.0.1.tgz",
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^4.0.1"
+ }
+ },
+ "trim-newlines": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/trim-newlines/download/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "dev": true
+ }
+ }
+ },
"lru-cache": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
@@ -15015,6 +22656,12 @@
"yallist": "^2.1.2"
}
},
+ "ltcdr": {
+ "version": "2.2.1",
+ "resolved": "http://r.cnpmjs.org/ltcdr/download/ltcdr-2.2.1.tgz",
+ "integrity": "sha1-Wrh60dTB2rjowIu/A37gwZAih88=",
+ "dev": true
+ },
"macos-release": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz",
@@ -15183,6 +22830,26 @@
"integrity": "sha512-pWB896KPGSGkp1XtyzRBftpTzwSOL0Gfk0wLvxt4f2mgzjY19o0LxJ3U25vNWTzsh7da+KTbuXQoQ3lOJZ8WHw==",
"dev": true
},
+ "md5": {
+ "version": "2.2.1",
+ "resolved": "http://r.cnpmjs.org/md5/download/md5-2.2.1.tgz",
+ "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=",
+ "dev": true,
+ "requires": {
+ "charenc": "~0.0.1",
+ "crypt": "~0.0.1",
+ "is-buffer": "~1.1.1"
+ }
+ },
+ "md5-file": {
+ "version": "3.2.3",
+ "resolved": "http://r.cnpmjs.org/md5-file/download/md5-file-3.2.3.tgz",
+ "integrity": "sha1-+bzrlB7KIhSkwHJ/XnADFOdw8G8=",
+ "dev": true,
+ "requires": {
+ "buffer-alloc": "^1.1.0"
+ }
+ },
"md5.js": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
@@ -15203,12 +22870,81 @@
"unist-util-visit": "^1.1.0"
}
},
+ "mdast-util-definitions": {
+ "version": "1.2.4",
+ "resolved": "http://r.cnpmjs.org/mdast-util-definitions/download/mdast-util-definitions-1.2.4.tgz",
+ "integrity": "sha1-K1StTuyv+dn8tr9vn2tosjLXfKc=",
+ "dev": true,
+ "requires": {
+ "unist-util-visit": "^1.0.0"
+ }
+ },
+ "mdast-util-to-hast": {
+ "version": "3.0.4",
+ "resolved": "http://r.cnpmjs.org/mdast-util-to-hast/download/mdast-util-to-hast-3.0.4.tgz",
+ "integrity": "sha1-EyABsmYDEZI0jTNmprAR8o5U3EA=",
+ "dev": true,
+ "requires": {
+ "collapse-white-space": "^1.0.0",
+ "detab": "^2.0.0",
+ "mdast-util-definitions": "^1.2.0",
+ "mdurl": "^1.0.1",
+ "trim": "0.0.1",
+ "trim-lines": "^1.0.0",
+ "unist-builder": "^1.0.1",
+ "unist-util-generated": "^1.1.0",
+ "unist-util-position": "^3.0.0",
+ "unist-util-visit": "^1.1.0",
+ "xtend": "^4.0.1"
+ }
+ },
+ "mdast-util-to-nlcst": {
+ "version": "3.2.3",
+ "resolved": "http://r.cnpmjs.org/mdast-util-to-nlcst/download/mdast-util-to-nlcst-3.2.3.tgz",
+ "integrity": "sha1-3ND1G1lRWxGgcArrQPFo7Xup7T0=",
+ "dev": true,
+ "requires": {
+ "nlcst-to-string": "^2.0.0",
+ "repeat-string": "^1.5.2",
+ "unist-util-position": "^3.0.0",
+ "vfile-location": "^2.0.0"
+ }
+ },
+ "mdast-util-to-string": {
+ "version": "1.0.6",
+ "resolved": "http://r.cnpmjs.org/mdast-util-to-string/download/mdast-util-to-string-1.0.6.tgz",
+ "integrity": "sha1-fYVCECE0OzPeFVL8ccuOW0rnU20=",
+ "dev": true
+ },
+ "mdast-util-toc": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/mdast-util-toc/download/mdast-util-toc-2.1.0.tgz",
+ "integrity": "sha1-grayGFd7sOZ7I6v1w/esc6S1OJ8=",
+ "dev": true,
+ "requires": {
+ "github-slugger": "^1.1.1",
+ "mdast-util-to-string": "^1.0.2",
+ "unist-util-visit": "^1.1.0"
+ }
+ },
"mdn-data": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
"integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
"dev": true
},
+ "mdurl": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/mdurl/download/mdurl-1.0.1.tgz",
+ "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
+ "dev": true
+ },
+ "meant": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/meant/download/meant-1.0.1.tgz",
+ "integrity": "sha1-ZgRP6i8jIw7IBvtRXv6inETSEV0=",
+ "dev": true
+ },
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -15425,6 +23161,32 @@
"webpack-sources": "^1.1.0"
}
},
+ "mini-store": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/mini-store/download/mini-store-2.0.0.tgz",
+ "integrity": "sha1-CEPASNaULOVePnixtn/AYwIrVIg=",
+ "dev": true,
+ "requires": {
+ "hoist-non-react-statics": "^2.3.1",
+ "prop-types": "^15.6.0",
+ "react-lifecycles-compat": "^3.0.4",
+ "shallowequal": "^1.0.2"
+ },
+ "dependencies": {
+ "hoist-non-react-statics": {
+ "version": "2.5.5",
+ "resolved": "http://r.cnpmjs.org/hoist-non-react-statics/download/hoist-non-react-statics-2.5.5.tgz",
+ "integrity": "sha1-xZA89AnA39kI84jmGdhrnBF0y0c=",
+ "dev": true
+ }
+ }
+ },
+ "mini-svg-data-uri": {
+ "version": "1.1.3",
+ "resolved": "http://r.cnpmjs.org/mini-svg-data-uri/download/mini-svg-data-uri-1.1.3.tgz",
+ "integrity": "sha1-l1nuX02JpLck0InOUuq0tiO/vIg=",
+ "dev": true
+ },
"minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -15507,6 +23269,12 @@
"through2": "^2.0.0"
}
},
+ "mitt": {
+ "version": "1.2.0",
+ "resolved": "http://r.cnpmjs.org/mitt/download/mitt-1.2.0.tgz",
+ "integrity": "sha1-yyTmVpyAbjG9TjmVeH/jigT9+Q0=",
+ "dev": true
+ },
"mixin-deep": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
@@ -15570,6 +23338,12 @@
"integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==",
"dev": true
},
+ "moment": {
+ "version": "2.24.0",
+ "resolved": "http://r.cnpmjs.org/moment/download/moment-2.24.0.tgz",
+ "integrity": "sha1-DQVdU/UFKqZTyfbraLtdEr9cK1s=",
+ "dev": true
+ },
"moo": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/moo/-/moo-0.4.3.tgz",
@@ -15590,6 +23364,17 @@
"run-queue": "^1.0.3"
}
},
+ "mozjpeg": {
+ "version": "6.0.1",
+ "resolved": "http://r.cnpmjs.org/mozjpeg/download/mozjpeg-6.0.1.tgz",
+ "integrity": "sha1-Vpad3bV0HvK8sa8GbK4h5hqRons=",
+ "dev": true,
+ "requires": {
+ "bin-build": "^3.0.0",
+ "bin-wrapper": "^4.0.0",
+ "logalot": "^2.1.0"
+ }
+ },
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -15624,6 +23409,12 @@
"minimatch": "^3.0.4"
}
},
+ "mutationobserver-shim": {
+ "version": "0.3.3",
+ "resolved": "http://r.cnpmjs.org/mutationobserver-shim/download/mutationobserver-shim-0.3.3.tgz",
+ "integrity": "sha1-ZYaWMLyJ17+MnNnLghiM2VWqzSs=",
+ "dev": true
+ },
"mute-stream": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
@@ -15641,6 +23432,12 @@
"thenify-all": "^1.0.0"
}
},
+ "name-all-modules-plugin": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/name-all-modules-plugin/download/name-all-modules-plugin-1.0.1.tgz",
+ "integrity": "sha1-Cr+2rYNXGLn7Te8GdOBmV6lUN1w=",
+ "dev": true
+ },
"nan": {
"version": "2.14.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
@@ -15721,6 +23518,12 @@
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
+ "nlcst-to-string": {
+ "version": "2.0.3",
+ "resolved": "http://r.cnpmjs.org/nlcst-to-string/download/nlcst-to-string-2.0.3.tgz",
+ "integrity": "sha1-t5E7sTBSY7BWGobeaOF58X9/6+M=",
+ "dev": true
+ },
"no-case": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
@@ -15748,6 +23551,21 @@
"minimatch": "^3.0.2"
}
},
+ "node-emoji": {
+ "version": "1.10.0",
+ "resolved": "http://r.cnpmjs.org/node-emoji/download/node-emoji-1.10.0.tgz",
+ "integrity": "sha1-iIar0l2ce7YYAqZYUj0fjSqJsto=",
+ "dev": true,
+ "requires": {
+ "lodash.toarray": "^4.4.0"
+ }
+ },
+ "node-eta": {
+ "version": "0.9.0",
+ "resolved": "http://r.cnpmjs.org/node-eta/download/node-eta-0.9.0.tgz",
+ "integrity": "sha1-n7CwmbzSoCGUDmA8ZCVNwAPZp6g=",
+ "dev": true
+ },
"node-fetch": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
@@ -16156,6 +23974,42 @@
}
}
},
+ "noms": {
+ "version": "0.0.0",
+ "resolved": "http://r.cnpmjs.org/noms/download/noms-0.0.0.tgz",
+ "integrity": "sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "~1.0.31"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "http://r.cnpmjs.org/isarray/download/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "http://r.cnpmjs.org/readable-stream/download/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "http://r.cnpmjs.org/string_decoder/download/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
"noop-logger": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
@@ -16213,12 +24067,28 @@
"sort-keys": "^1.0.0"
}
},
+ "normalize.css": {
+ "version": "8.0.1",
+ "resolved": "http://r.cnpmjs.org/normalize.css/download/normalize.css-8.0.1.tgz",
+ "integrity": "sha1-m5iiCHOLnMJjTKrLxC0THJdIe/M=",
+ "dev": true
+ },
"npm-bundled": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz",
"integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==",
"dev": true
},
+ "npm-conf": {
+ "version": "1.1.3",
+ "resolved": "http://r.cnpmjs.org/npm-conf/download/npm-conf-1.1.3.tgz",
+ "integrity": "sha1-JWzEe9DiGMJZxOlVC/QTvCGSr/k=",
+ "dev": true,
+ "requires": {
+ "config-chain": "^1.1.11",
+ "pify": "^3.0.0"
+ }
+ },
"npm-lifecycle": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.4.tgz",
@@ -16354,6 +24224,12 @@
"set-blocking": "~2.0.0"
}
},
+ "nprogress": {
+ "version": "0.2.0",
+ "resolved": "http://r.cnpmjs.org/nprogress/download/nprogress-0.2.0.tgz",
+ "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=",
+ "dev": true
+ },
"nth-check": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
@@ -16363,6 +24239,18 @@
"boolbase": "~1.0.0"
}
},
+ "null-loader": {
+ "version": "0.1.1",
+ "resolved": "http://r.cnpmjs.org/null-loader/download/null-loader-0.1.1.tgz",
+ "integrity": "sha1-F76av80/8OFRL2/Er8sfUDk3j64=",
+ "dev": true
+ },
+ "nullthrows": {
+ "version": "1.1.1",
+ "resolved": "http://r.cnpmjs.org/nullthrows/download/nullthrows-1.1.1.tgz",
+ "integrity": "sha1-eBgliEOFaulx6uQgitfX6xmkMbE=",
+ "dev": true
+ },
"num2fraction": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
@@ -16393,6 +24281,12 @@
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
},
+ "object-component": {
+ "version": "0.0.3",
+ "resolved": "http://r.cnpmjs.org/object-component/download/object-component-0.0.3.tgz",
+ "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
+ "dev": true
+ },
"object-copy": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
@@ -16424,6 +24318,18 @@
}
}
},
+ "object-fit-images": {
+ "version": "3.2.4",
+ "resolved": "http://r.cnpmjs.org/object-fit-images/download/object-fit-images-3.2.4.tgz",
+ "integrity": "sha1-bCmdOP3yB3RuXS1Gwod/byXRW1I=",
+ "dev": true
+ },
+ "object-hash": {
+ "version": "1.3.1",
+ "resolved": "http://r.cnpmjs.org/object-hash/download/object-hash-1.3.1.tgz",
+ "integrity": "sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8=",
+ "dev": true
+ },
"object-inspect": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
@@ -16442,6 +24348,12 @@
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"dev": true
},
+ "object-path": {
+ "version": "0.11.4",
+ "resolved": "http://r.cnpmjs.org/object-path/download/object-path-0.11.4.tgz",
+ "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=",
+ "dev": true
+ },
"object-visit": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
@@ -16530,6 +24442,21 @@
"integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==",
"dev": true
},
+ "omggif": {
+ "version": "1.0.10",
+ "resolved": "http://r.cnpmjs.org/omggif/download/omggif-1.0.10.tgz",
+ "integrity": "sha1-3ar5DUpC9TLp58s6lezdR/F8exk=",
+ "dev": true
+ },
+ "omit.js": {
+ "version": "1.0.2",
+ "resolved": "http://r.cnpmjs.org/omit.js/download/omit.js-1.0.2.tgz",
+ "integrity": "sha1-kaFPDrqEBm36AVvzDkdMR/MLyFg=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.23.0"
+ }
+ },
"on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
@@ -16578,6 +24505,12 @@
"integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==",
"dev": true
},
+ "opentracing": {
+ "version": "0.14.4",
+ "resolved": "http://r.cnpmjs.org/opentracing/download/opentracing-0.14.4.tgz",
+ "integrity": "sha1-oRNAjqdA2jqQ/eWzsAEaN1wuQmg=",
+ "dev": true
+ },
"opn": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
@@ -16597,6 +24530,16 @@
"wordwrap": "~0.0.2"
}
},
+ "optimize-css-assets-webpack-plugin": {
+ "version": "5.0.3",
+ "resolved": "http://r.cnpmjs.org/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-5.0.3.tgz",
+ "integrity": "sha1-4vHU2UrYwK+JZ+vXzxONyx7xRXI=",
+ "dev": true,
+ "requires": {
+ "cssnano": "^4.1.10",
+ "last-call-webpack-plugin": "^3.0.0"
+ }
+ },
"optionator": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
@@ -16634,6 +24577,15 @@
"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
"dev": true
},
+ "os-filter-obj": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/os-filter-obj/download/os-filter-obj-2.0.0.tgz",
+ "integrity": "sha1-HAti1fOiRCdJotE55t3e5ugdjRY=",
+ "dev": true,
+ "requires": {
+ "arch": "^2.1.0"
+ }
+ },
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
@@ -16686,6 +24638,12 @@
"mkdirp": "^0.5.1"
}
},
+ "p-cancelable": {
+ "version": "0.4.1",
+ "resolved": "http://r.cnpmjs.org/p-cancelable/download/p-cancelable-0.4.1.tgz",
+ "integrity": "sha1-NfNj1n1SCByNlYXje8zrfgu8sqA=",
+ "dev": true
+ },
"p-defer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
@@ -16701,6 +24659,26 @@
"p-reduce": "^1.0.0"
}
},
+ "p-event": {
+ "version": "1.3.0",
+ "resolved": "http://r.cnpmjs.org/p-event/download/p-event-1.3.0.tgz",
+ "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=",
+ "dev": true,
+ "requires": {
+ "p-timeout": "^1.1.1"
+ },
+ "dependencies": {
+ "p-timeout": {
+ "version": "1.2.1",
+ "resolved": "http://r.cnpmjs.org/p-timeout/download/p-timeout-1.2.1.tgz",
+ "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=",
+ "dev": true,
+ "requires": {
+ "p-finally": "^1.0.0"
+ }
+ }
+ }
+ },
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
@@ -16792,6 +24770,15 @@
}
}
},
+ "p-timeout": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/p-timeout/download/p-timeout-2.0.1.tgz",
+ "integrity": "sha1-2N0ZeVldLcATnh/ka4tkbLPN8Dg=",
+ "dev": true,
+ "requires": {
+ "p-finally": "^1.0.0"
+ }
+ },
"p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
@@ -16807,6 +24794,39 @@
"p-reduce": "^1.0.0"
}
},
+ "package-json": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/package-json/download/package-json-4.0.1.tgz",
+ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=",
+ "dev": true,
+ "requires": {
+ "got": "^6.7.1",
+ "registry-auth-token": "^3.0.1",
+ "registry-url": "^3.0.3",
+ "semver": "^5.1.0"
+ },
+ "dependencies": {
+ "got": {
+ "version": "6.7.1",
+ "resolved": "http://r.cnpmjs.org/got/download/got-6.7.1.tgz",
+ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
+ "dev": true,
+ "requires": {
+ "create-error-class": "^3.0.0",
+ "duplexer3": "^0.1.4",
+ "get-stream": "^3.0.0",
+ "is-redirect": "^1.0.0",
+ "is-retry-allowed": "^1.0.0",
+ "is-stream": "^1.0.0",
+ "lowercase-keys": "^1.0.0",
+ "safe-buffer": "^5.0.1",
+ "timed-out": "^4.0.0",
+ "unzip-response": "^2.0.1",
+ "url-parse-lax": "^1.0.0"
+ }
+ }
+ }
+ },
"pako": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
@@ -16855,6 +24875,40 @@
"safe-buffer": "^5.1.1"
}
},
+ "parse-bmfont-ascii": {
+ "version": "1.0.6",
+ "resolved": "http://r.cnpmjs.org/parse-bmfont-ascii/download/parse-bmfont-ascii-1.0.6.tgz",
+ "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=",
+ "dev": true
+ },
+ "parse-bmfont-binary": {
+ "version": "1.0.6",
+ "resolved": "http://r.cnpmjs.org/parse-bmfont-binary/download/parse-bmfont-binary-1.0.6.tgz",
+ "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=",
+ "dev": true
+ },
+ "parse-bmfont-xml": {
+ "version": "1.1.4",
+ "resolved": "http://r.cnpmjs.org/parse-bmfont-xml/download/parse-bmfont-xml-1.1.4.tgz",
+ "integrity": "sha1-AVMZeX4+EvnnOcTVE4cs0vo184k=",
+ "dev": true,
+ "requires": {
+ "xml-parse-from-string": "^1.0.0",
+ "xml2js": "^0.4.5"
+ }
+ },
+ "parse-english": {
+ "version": "4.1.2",
+ "resolved": "http://r.cnpmjs.org/parse-english/download/parse-english-4.1.2.tgz",
+ "integrity": "sha1-ZxDUJsqnbbMn73BmmRzRufYC258=",
+ "dev": true,
+ "requires": {
+ "nlcst-to-string": "^2.0.0",
+ "parse-latin": "^4.0.0",
+ "unist-util-modify-children": "^1.0.0",
+ "unist-util-visit-children": "^1.0.0"
+ }
+ },
"parse-entities": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz",
@@ -16875,6 +24929,16 @@
"integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=",
"dev": true
},
+ "parse-headers": {
+ "version": "2.0.2",
+ "resolved": "http://r.cnpmjs.org/parse-headers/download/parse-headers-2.0.2.tgz",
+ "integrity": "sha1-lUXopMGuXq6n0kmSvKiQKB7SbjQ=",
+ "dev": true,
+ "requires": {
+ "for-each": "^0.3.3",
+ "string.prototype.trim": "^1.1.2"
+ }
+ },
"parse-json": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
@@ -16885,6 +24949,23 @@
"json-parse-better-errors": "^1.0.1"
}
},
+ "parse-latin": {
+ "version": "4.2.0",
+ "resolved": "http://r.cnpmjs.org/parse-latin/download/parse-latin-4.2.0.tgz",
+ "integrity": "sha1-sLEHom7L6GcPntDSDrSRx3gPmdE=",
+ "dev": true,
+ "requires": {
+ "nlcst-to-string": "^2.0.0",
+ "unist-util-modify-children": "^1.0.0",
+ "unist-util-visit-children": "^1.0.0"
+ }
+ },
+ "parse-numeric-range": {
+ "version": "0.0.2",
+ "resolved": "http://r.cnpmjs.org/parse-numeric-range/download/parse-numeric-range-0.0.2.tgz",
+ "integrity": "sha1-tPCdQTx6282Yf26SM8e0shDJOOQ=",
+ "dev": true
+ },
"parse-passwd": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
@@ -16930,6 +25011,24 @@
"@types/node": "*"
}
},
+ "parseqs": {
+ "version": "0.0.5",
+ "resolved": "http://r.cnpmjs.org/parseqs/download/parseqs-0.0.5.tgz",
+ "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
+ "dev": true,
+ "requires": {
+ "better-assert": "~1.0.0"
+ }
+ },
+ "parseuri": {
+ "version": "0.0.5",
+ "resolved": "http://r.cnpmjs.org/parseuri/download/parseuri-0.0.5.tgz",
+ "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
+ "dev": true,
+ "requires": {
+ "better-assert": "~1.0.0"
+ }
+ },
"parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -17018,12 +25117,30 @@
"sha.js": "^2.4.8"
}
},
+ "pend": {
+ "version": "1.2.0",
+ "resolved": "http://r.cnpmjs.org/pend/download/pend-1.2.0.tgz",
+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
+ "dev": true
+ },
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true
},
+ "phin": {
+ "version": "2.9.3",
+ "resolved": "http://r.cnpmjs.org/phin/download/phin-2.9.3.tgz",
+ "integrity": "sha1-+basEKA1Y2+2XfxXaqqhe4dDElw=",
+ "dev": true
+ },
+ "physical-cpu-count": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/physical-cpu-count/download/physical-cpu-count-2.0.0.tgz",
+ "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=",
+ "dev": true
+ },
"picomatch": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.0.tgz",
@@ -17066,6 +25183,15 @@
"node-modules-regexp": "^1.0.0"
}
},
+ "pixelmatch": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/pixelmatch/download/pixelmatch-4.0.2.tgz",
+ "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=",
+ "dev": true,
+ "requires": {
+ "pngjs": "^3.0.0"
+ }
+ },
"pkg-dir": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
@@ -17144,6 +25270,54 @@
"integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
"dev": true
},
+ "pngjs": {
+ "version": "3.4.0",
+ "resolved": "http://r.cnpmjs.org/pngjs/download/pngjs-3.4.0.tgz",
+ "integrity": "sha1-mcp9clll+2VYFOr2XzjxK72/VV8=",
+ "dev": true
+ },
+ "pngquant-bin": {
+ "version": "5.0.2",
+ "resolved": "http://r.cnpmjs.org/pngquant-bin/download/pngquant-bin-5.0.2.tgz",
+ "integrity": "sha1-bzTz6JyXIqcrvFCQYrQPGxfNpGA=",
+ "dev": true,
+ "requires": {
+ "bin-build": "^3.0.0",
+ "bin-wrapper": "^4.0.1",
+ "execa": "^0.10.0",
+ "logalot": "^2.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "http://r.cnpmjs.org/cross-spawn/download/cross-spawn-6.0.5.tgz",
+ "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "0.10.0",
+ "resolved": "http://r.cnpmjs.org/execa/download/execa-0.10.0.tgz",
+ "integrity": "sha1-/0Vqj1P5D47MxxqW0Rvfx/CCy1A=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ }
+ }
+ },
"pnp-webpack-plugin": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.4.3.tgz",
@@ -17230,6 +25404,118 @@
}
}
},
+ "postcss-calc": {
+ "version": "7.0.1",
+ "resolved": "http://r.cnpmjs.org/postcss-calc/download/postcss-calc-7.0.1.tgz",
+ "integrity": "sha1-Ntd7qwI7Dsu5eJ2E3LI8SUEUVDY=",
+ "dev": true,
+ "requires": {
+ "css-unit-converter": "^1.1.1",
+ "postcss": "^7.0.5",
+ "postcss-selector-parser": "^5.0.0-rc.4",
+ "postcss-value-parser": "^3.3.1"
+ },
+ "dependencies": {
+ "cssesc": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/cssesc/download/cssesc-2.0.0.tgz",
+ "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM=",
+ "dev": true
+ },
+ "postcss-selector-parser": {
+ "version": "5.0.0",
+ "resolved": "http://r.cnpmjs.org/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz",
+ "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=",
+ "dev": true,
+ "requires": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-colormin": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz",
+ "integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.0.0",
+ "color": "^3.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-convert-values": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz",
+ "integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-discard-comments": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz",
+ "integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-discard-duplicates": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz",
+ "integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-discard-empty": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz",
+ "integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-discard-overridden": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz",
+ "integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
"postcss-flexbugs-fixes": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz",
@@ -17388,6 +25674,156 @@
"integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=",
"dev": true
},
+ "postcss-merge-longhand": {
+ "version": "4.0.11",
+ "resolved": "http://r.cnpmjs.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz",
+ "integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=",
+ "dev": true,
+ "requires": {
+ "css-color-names": "0.0.4",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "stylehacks": "^4.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-merge-rules": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz",
+ "integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-api": "^3.0.0",
+ "cssnano-util-same-parent": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0",
+ "vendors": "^1.0.0"
+ },
+ "dependencies": {
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "http://r.cnpmjs.org/dot-prop/download/dot-prop-4.2.0.tgz",
+ "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=",
+ "dev": true,
+ "requires": {
+ "is-obj": "^1.0.0"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "http://r.cnpmjs.org/postcss-selector-parser/download/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-minify-font-values": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz",
+ "integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-minify-gradients": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz",
+ "integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "is-color-stop": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-minify-params": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz",
+ "integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "^1.0.0",
+ "browserslist": "^4.0.0",
+ "cssnano-util-get-arguments": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "uniqs": "^2.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-minify-selectors": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz",
+ "integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "^1.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "http://r.cnpmjs.org/dot-prop/download/dot-prop-4.2.0.tgz",
+ "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=",
+ "dev": true,
+ "requires": {
+ "is-obj": "^1.0.0"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "http://r.cnpmjs.org/postcss-selector-parser/download/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
"postcss-modules-extract-imports": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
@@ -17474,6 +25910,200 @@
"postcss": "^7.0.6"
}
},
+ "postcss-normalize-charset": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz",
+ "integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-normalize-display-values": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz",
+ "integrity": "sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-normalize-positions": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz",
+ "integrity": "sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-normalize-repeat-style": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz",
+ "integrity": "sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-normalize-string": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz",
+ "integrity": "sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-normalize-timing-functions": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz",
+ "integrity": "sha1-jgCcoqOUnNr4rSPmtquZy159KNk=",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-normalize-unicode": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz",
+ "integrity": "sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-normalize-url": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz",
+ "integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=",
+ "dev": true,
+ "requires": {
+ "is-absolute-url": "^2.0.0",
+ "normalize-url": "^3.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "is-absolute-url": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz",
+ "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
+ "dev": true
+ },
+ "normalize-url": {
+ "version": "3.3.0",
+ "resolved": "http://r.cnpmjs.org/normalize-url/download/normalize-url-3.3.0.tgz",
+ "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=",
+ "dev": true
+ },
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-normalize-whitespace": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz",
+ "integrity": "sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-ordered-values": {
+ "version": "4.1.2",
+ "resolved": "http://r.cnpmjs.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz",
+ "integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
"postcss-plugin": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/postcss-plugin/-/postcss-plugin-1.0.0.tgz",
@@ -17502,6 +26132,38 @@
}
}
},
+ "postcss-reduce-initial": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz",
+ "integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-api": "^3.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-reduce-transforms": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz",
+ "integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
"postcss-reporter": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz",
@@ -17559,18 +26221,58 @@
"uniq": "^1.0.1"
}
},
+ "postcss-svgo": {
+ "version": "4.0.2",
+ "resolved": "http://r.cnpmjs.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz",
+ "integrity": "sha1-F7mXvHEbMzurFDqu07jT1uPTglg=",
+ "dev": true,
+ "requires": {
+ "is-svg": "^3.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "svgo": "^1.0.0"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+ "dev": true
+ }
+ }
+ },
"postcss-syntax": {
"version": "0.36.2",
"resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz",
"integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
"dev": true
},
+ "postcss-unique-selectors": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz",
+ "integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "^1.0.0",
+ "postcss": "^7.0.0",
+ "uniqs": "^2.0.0"
+ }
+ },
"postcss-value-parser": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz",
"integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==",
"dev": true
},
+ "potrace": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/potrace/download/potrace-2.1.2.tgz",
+ "integrity": "sha1-YUc6Mmvh5zSrrG0U1U4YgO7TVHE=",
+ "dev": true,
+ "requires": {
+ "jimp": "^0.6.4"
+ }
+ },
"prebuild-install": {
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.3.tgz",
@@ -17620,6 +26322,12 @@
"integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==",
"dev": true
},
+ "pretty-bytes": {
+ "version": "5.3.0",
+ "resolved": "http://r.cnpmjs.org/pretty-bytes/download/pretty-bytes-5.3.0.tgz",
+ "integrity": "sha1-8oSeJ9t5+01s/iR2T8QTTxZZifI=",
+ "dev": true
+ },
"pretty-error": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
@@ -17656,6 +26364,12 @@
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
"dev": true
},
+ "prism-themes": {
+ "version": "1.3.0",
+ "resolved": "http://r.cnpmjs.org/prism-themes/download/prism-themes-1.3.0.tgz",
+ "integrity": "sha1-cuaDPDKWohErmJ+mMgjAznpNo6g=",
+ "dev": true
+ },
"prismjs": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.17.1.tgz",
@@ -17671,6 +26385,20 @@
"integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
"dev": true
},
+ "probe-image-size": {
+ "version": "4.1.1",
+ "resolved": "http://r.cnpmjs.org/probe-image-size/download/probe-image-size-4.1.1.tgz",
+ "integrity": "sha1-yDbFMVS23QTbz2avK71QCHsV4dw=",
+ "dev": true,
+ "requires": {
+ "any-promise": "^1.3.0",
+ "deepmerge": "^4.0.0",
+ "inherits": "^2.0.3",
+ "next-tick": "^1.0.0",
+ "request": "^2.83.0",
+ "stream-parser": "~0.3.1"
+ }
+ },
"process": {
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
@@ -17683,6 +26411,12 @@
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
"dev": true
},
+ "progress": {
+ "version": "2.0.3",
+ "resolved": "http://r.cnpmjs.org/progress/download/progress-2.0.3.tgz",
+ "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=",
+ "dev": true
+ },
"promise": {
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
@@ -17771,6 +26505,12 @@
"reflect.ownkeys": "^0.2.0"
}
},
+ "property-expr": {
+ "version": "1.5.1",
+ "resolved": "http://r.cnpmjs.org/property-expr/download/property-expr-1.5.1.tgz",
+ "integrity": "sha1-IuhwaJSgyOKNWHNYBPa6OjZzMU8=",
+ "dev": true
+ },
"property-information": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/property-information/-/property-information-5.3.0.tgz",
@@ -17829,6 +26569,24 @@
"integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==",
"dev": true
},
+ "ptz-i18n": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/ptz-i18n/download/ptz-i18n-1.0.0.tgz",
+ "integrity": "sha1-gD300PXOmncy9dHYBepiTGofXow=",
+ "dev": true,
+ "requires": {
+ "folktale": "^2.0.1",
+ "ramda": "^0.24.1"
+ },
+ "dependencies": {
+ "ramda": {
+ "version": "0.24.1",
+ "resolved": "http://r.cnpmjs.org/ramda/download/ramda-0.24.1.tgz",
+ "integrity": "sha1-w7d1UZfzW43DUCIoJixMkd22uFc=",
+ "dev": true
+ }
+ }
+ },
"public-encrypt": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
@@ -18032,6 +26790,661 @@
}
}
},
+ "rc-align": {
+ "version": "2.4.5",
+ "resolved": "http://r.cnpmjs.org/rc-align/download/rc-align-2.4.5.tgz",
+ "integrity": "sha1-yUGlhvWdEBfyOkKPC0aGY/txAqs=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "dom-align": "^1.7.0",
+ "prop-types": "^15.5.8",
+ "rc-util": "^4.0.4"
+ }
+ },
+ "rc-animate": {
+ "version": "2.10.1",
+ "resolved": "http://r.cnpmjs.org/rc-animate/download/rc-animate-2.10.1.tgz",
+ "integrity": "sha1-wMT6q1DlVTXpA+ZvIH5JiRuobZQ=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.6",
+ "css-animation": "^1.3.2",
+ "prop-types": "15.x",
+ "raf": "^3.4.0",
+ "rc-util": "^4.8.0",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-calendar": {
+ "version": "9.15.6",
+ "resolved": "http://r.cnpmjs.org/rc-calendar/download/rc-calendar-9.15.6.tgz",
+ "integrity": "sha1-iCMjZyjD+JKoIrlpHOheGyswhIU=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "2.x",
+ "moment": "2.x",
+ "prop-types": "^15.5.8",
+ "rc-trigger": "^2.2.0",
+ "rc-util": "^4.1.1",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-cascader": {
+ "version": "0.17.5",
+ "resolved": "http://r.cnpmjs.org/rc-cascader/download/rc-cascader-0.17.5.tgz",
+ "integrity": "sha1-T96R0jt2CMQgJjw47unAaH+A99w=",
+ "dev": true,
+ "requires": {
+ "array-tree-filter": "^2.1.0",
+ "prop-types": "^15.5.8",
+ "rc-trigger": "^2.2.0",
+ "rc-util": "^4.0.4",
+ "react-lifecycles-compat": "^3.0.4",
+ "shallow-equal": "^1.0.0",
+ "warning": "^4.0.1"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/warning/download/warning-4.0.3.tgz",
+ "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-checkbox": {
+ "version": "2.1.8",
+ "resolved": "http://r.cnpmjs.org/rc-checkbox/download/rc-checkbox-2.1.8.tgz",
+ "integrity": "sha1-7t2e+cLzr1s7jlzeUlSqia0aiAo=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.23.0",
+ "classnames": "2.x",
+ "prop-types": "15.x",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-collapse": {
+ "version": "1.11.7",
+ "resolved": "http://r.cnpmjs.org/rc-collapse/download/rc-collapse-1.11.7.tgz",
+ "integrity": "sha1-Cw1iGqw2qYCRDPtFNlrCx2lFXts=",
+ "dev": true,
+ "requires": {
+ "classnames": "2.x",
+ "css-animation": "1.x",
+ "prop-types": "^15.5.6",
+ "rc-animate": "2.x",
+ "react-is": "^16.7.0",
+ "react-lifecycles-compat": "^3.0.4",
+ "shallowequal": "^1.1.0"
+ }
+ },
+ "rc-dialog": {
+ "version": "7.5.12",
+ "resolved": "http://r.cnpmjs.org/rc-dialog/download/rc-dialog-7.5.12.tgz",
+ "integrity": "sha1-b4S4CbNpzW0lesS1m4RllUtXRVM=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "rc-animate": "2.x",
+ "rc-util": "^4.8.1"
+ }
+ },
+ "rc-drawer": {
+ "version": "3.0.2",
+ "resolved": "http://r.cnpmjs.org/rc-drawer/download/rc-drawer-3.0.2.tgz",
+ "integrity": "sha1-HEKyt3kAQDRPjwXx0TKx7w6Xt4M=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "classnames": "^2.2.6",
+ "rc-util": "^4.11.2",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-dropdown": {
+ "version": "2.4.1",
+ "resolved": "http://r.cnpmjs.org/rc-dropdown/download/rc-dropdown-2.4.1.tgz",
+ "integrity": "sha1-qu9us6UVLN2ZgolcKnjZtfBGzew=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "classnames": "^2.2.6",
+ "prop-types": "^15.5.8",
+ "rc-trigger": "^2.5.1",
+ "react-lifecycles-compat": "^3.0.2"
+ }
+ },
+ "rc-editor-core": {
+ "version": "0.8.10",
+ "resolved": "http://r.cnpmjs.org/rc-editor-core/download/rc-editor-core-0.8.10.tgz",
+ "integrity": "sha1-byFbxd+cM/+p9sWzDKc6favoq3w=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "classnames": "^2.2.5",
+ "draft-js": "^0.10.0",
+ "immutable": "^3.7.4",
+ "lodash": "^4.16.5",
+ "prop-types": "^15.5.8",
+ "setimmediate": "^1.0.5"
+ },
+ "dependencies": {
+ "immutable": {
+ "version": "3.8.2",
+ "resolved": "http://r.cnpmjs.org/immutable/download/immutable-3.8.2.tgz",
+ "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=",
+ "dev": true
+ }
+ }
+ },
+ "rc-editor-mention": {
+ "version": "1.1.13",
+ "resolved": "http://r.cnpmjs.org/rc-editor-mention/download/rc-editor-mention-1.1.13.tgz",
+ "integrity": "sha1-nxyrEGX4awFSOEAyF5DCqxKsXos=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.23.0",
+ "classnames": "^2.2.5",
+ "dom-scroll-into-view": "^1.2.0",
+ "draft-js": "~0.10.0",
+ "immutable": "~3.7.4",
+ "prop-types": "^15.5.8",
+ "rc-animate": "^2.3.0",
+ "rc-editor-core": "~0.8.3"
+ },
+ "dependencies": {
+ "immutable": {
+ "version": "3.7.6",
+ "resolved": "http://r.cnpmjs.org/immutable/download/immutable-3.7.6.tgz",
+ "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=",
+ "dev": true
+ }
+ }
+ },
+ "rc-footer": {
+ "version": "0.5.0",
+ "resolved": "http://r.cnpmjs.org/rc-footer/download/rc-footer-0.5.0.tgz",
+ "integrity": "sha1-edDXrYk/5Pjf5Syillpe9m4BqLs=",
+ "dev": true,
+ "requires": {
+ "classnames": "^2.2.1"
+ }
+ },
+ "rc-form": {
+ "version": "2.4.9",
+ "resolved": "http://r.cnpmjs.org/rc-form/download/rc-form-2.4.9.tgz",
+ "integrity": "sha1-aISwa72NapNOXyqifocwiCxwhAw=",
+ "dev": true,
+ "requires": {
+ "async-validator": "~1.11.3",
+ "babel-runtime": "6.x",
+ "create-react-class": "^15.5.3",
+ "dom-scroll-into-view": "1.x",
+ "hoist-non-react-statics": "^3.3.0",
+ "lodash": "^4.17.4",
+ "warning": "^4.0.3"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/warning/download/warning-4.0.3.tgz",
+ "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-hammerjs": {
+ "version": "0.6.9",
+ "resolved": "http://r.cnpmjs.org/rc-hammerjs/download/rc-hammerjs-0.6.9.tgz",
+ "integrity": "sha1-mk3b2hsuyPm5WWCRpqmJhCokOQc=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "hammerjs": "^2.0.8",
+ "prop-types": "^15.5.9"
+ }
+ },
+ "rc-input-number": {
+ "version": "4.5.1",
+ "resolved": "http://r.cnpmjs.org/rc-input-number/download/rc-input-number-4.5.1.tgz",
+ "integrity": "sha1-/LA8HdqLeypp+7cY+cE8ZmyuvXk=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.0",
+ "prop-types": "^15.5.7",
+ "rc-util": "^4.5.1",
+ "rmc-feedback": "^2.0.0"
+ }
+ },
+ "rc-mentions": {
+ "version": "0.4.1",
+ "resolved": "http://r.cnpmjs.org/rc-mentions/download/rc-mentions-0.4.1.tgz",
+ "integrity": "sha1-0mHHHinwYHdvDEZsgabkMDEBkjk=",
+ "dev": true,
+ "requires": {
+ "@ant-design/create-react-context": "^0.2.4",
+ "classnames": "^2.2.6",
+ "rc-menu": "^7.4.22",
+ "rc-trigger": "^2.6.2",
+ "rc-util": "^4.6.0",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-menu": {
+ "version": "7.5.3",
+ "resolved": "http://r.cnpmjs.org/rc-menu/download/rc-menu-7.5.3.tgz",
+ "integrity": "sha1-C9tx7x8LRgiiXrmEj6n2c/U1NXk=",
+ "dev": true,
+ "requires": {
+ "classnames": "2.x",
+ "dom-scroll-into-view": "1.x",
+ "mini-store": "^2.0.0",
+ "mutationobserver-shim": "^0.3.2",
+ "rc-animate": "^2.10.1",
+ "rc-trigger": "^2.3.0",
+ "rc-util": "^4.13.0",
+ "resize-observer-polyfill": "^1.5.0",
+ "shallowequal": "^1.1.0"
+ }
+ },
+ "rc-notification": {
+ "version": "3.3.1",
+ "resolved": "http://r.cnpmjs.org/rc-notification/download/rc-notification-3.3.1.tgz",
+ "integrity": "sha1-C6o+cPjUCrAVzo+njCYMSQ/HvrQ=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "2.x",
+ "prop-types": "^15.5.8",
+ "rc-animate": "2.x",
+ "rc-util": "^4.0.4"
+ }
+ },
+ "rc-pagination": {
+ "version": "1.20.10",
+ "resolved": "http://r.cnpmjs.org/rc-pagination/download/rc-pagination-1.20.10.tgz",
+ "integrity": "sha1-oPp3aYy606svHyMSjc2YYnhU8Ik=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.6",
+ "prop-types": "^15.5.7",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-progress": {
+ "version": "2.5.2",
+ "resolved": "http://r.cnpmjs.org/rc-progress/download/rc-progress-2.5.2.tgz",
+ "integrity": "sha1-qwG6Tl0vo2/J9vBYsQtyDnMVVgw=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "prop-types": "^15.5.8"
+ }
+ },
+ "rc-rate": {
+ "version": "2.5.0",
+ "resolved": "http://r.cnpmjs.org/rc-rate/download/rc-rate-2.5.0.tgz",
+ "integrity": "sha1-ctSYSgPQp6Dmd5x6ee/OonYmq/Y=",
+ "dev": true,
+ "requires": {
+ "classnames": "^2.2.5",
+ "prop-types": "^15.5.8",
+ "rc-util": "^4.3.0",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-resize-observer": {
+ "version": "0.1.3",
+ "resolved": "http://r.cnpmjs.org/rc-resize-observer/download/rc-resize-observer-0.1.3.tgz",
+ "integrity": "sha1-CXGR+cOrGG7ZB7VTum71Zd8Rwkk=",
+ "dev": true,
+ "requires": {
+ "classnames": "^2.2.1",
+ "rc-util": "^4.13.0",
+ "resize-observer-polyfill": "^1.5.1"
+ }
+ },
+ "rc-select": {
+ "version": "9.2.1",
+ "resolved": "http://r.cnpmjs.org/rc-select/download/rc-select-9.2.1.tgz",
+ "integrity": "sha1-D79HqTPDbh5u92yI+rMvWAKeagE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.23.0",
+ "classnames": "2.x",
+ "component-classes": "1.x",
+ "dom-scroll-into-view": "1.x",
+ "prop-types": "^15.5.8",
+ "raf": "^3.4.0",
+ "rc-animate": "2.x",
+ "rc-menu": "^7.3.0",
+ "rc-trigger": "^2.5.4",
+ "rc-util": "^4.0.4",
+ "react-lifecycles-compat": "^3.0.2",
+ "warning": "^4.0.2"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/warning/download/warning-4.0.3.tgz",
+ "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-slider": {
+ "version": "8.7.1",
+ "resolved": "http://r.cnpmjs.org/rc-slider/download/rc-slider-8.7.1.tgz",
+ "integrity": "sha1-ntBzYtyTSJo45lSyG4EirXD9PEI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.5",
+ "prop-types": "^15.5.4",
+ "rc-tooltip": "^3.7.0",
+ "rc-util": "^4.0.4",
+ "react-lifecycles-compat": "^3.0.4",
+ "shallowequal": "^1.1.0",
+ "warning": "^4.0.3"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/warning/download/warning-4.0.3.tgz",
+ "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-steps": {
+ "version": "3.5.0",
+ "resolved": "http://r.cnpmjs.org/rc-steps/download/rc-steps-3.5.0.tgz",
+ "integrity": "sha1-NrKn8fSZB7DZA2OISxhiPK+ftgA=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.23.0",
+ "classnames": "^2.2.3",
+ "lodash": "^4.17.5",
+ "prop-types": "^15.5.7"
+ }
+ },
+ "rc-switch": {
+ "version": "1.9.0",
+ "resolved": "http://r.cnpmjs.org/rc-switch/download/rc-switch-1.9.0.tgz",
+ "integrity": "sha1-qyuHjycTxoE1ikUzkZdsm5WykPc=",
+ "dev": true,
+ "requires": {
+ "classnames": "^2.2.1",
+ "prop-types": "^15.5.6",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-table": {
+ "version": "6.9.5",
+ "resolved": "http://r.cnpmjs.org/rc-table/download/rc-table-6.9.5.tgz",
+ "integrity": "sha1-tzlMN4DUrSOY0I0gWaukVPGVJz8=",
+ "dev": true,
+ "requires": {
+ "classnames": "^2.2.5",
+ "component-classes": "^1.2.6",
+ "lodash": "^4.17.5",
+ "mini-store": "^2.0.0",
+ "prop-types": "^15.5.8",
+ "rc-util": "^4.13.0",
+ "react-lifecycles-compat": "^3.0.2",
+ "shallowequal": "^1.0.2"
+ }
+ },
+ "rc-tabs": {
+ "version": "9.6.7",
+ "resolved": "http://r.cnpmjs.org/rc-tabs/download/rc-tabs-9.6.7.tgz",
+ "integrity": "sha1-xUYRWjUfXtd56lUkFDFX9I7gwBU=",
+ "dev": true,
+ "requires": {
+ "@ant-design/create-react-context": "^0.2.4",
+ "babel-runtime": "6.x",
+ "classnames": "2.x",
+ "lodash": "^4.17.5",
+ "prop-types": "15.x",
+ "raf": "^3.4.1",
+ "rc-hammerjs": "~0.6.0",
+ "rc-util": "^4.0.4",
+ "react-lifecycles-compat": "^3.0.4",
+ "resize-observer-polyfill": "^1.5.1",
+ "warning": "^4.0.3"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/warning/download/warning-4.0.3.tgz",
+ "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-time-picker": {
+ "version": "3.7.2",
+ "resolved": "http://r.cnpmjs.org/rc-time-picker/download/rc-time-picker-3.7.2.tgz",
+ "integrity": "sha1-+r5VAa3xN00xotO0fxuon8LcJGc=",
+ "dev": true,
+ "requires": {
+ "classnames": "2.x",
+ "moment": "2.x",
+ "prop-types": "^15.5.8",
+ "raf": "^3.4.1",
+ "rc-trigger": "^2.2.0",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-tooltip": {
+ "version": "3.7.3",
+ "resolved": "http://r.cnpmjs.org/rc-tooltip/download/rc-tooltip-3.7.3.tgz",
+ "integrity": "sha1-KArsavyqROjf8EgPuv+eh/wArsw=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "prop-types": "^15.5.8",
+ "rc-trigger": "^2.2.2"
+ }
+ },
+ "rc-tree": {
+ "version": "2.1.3",
+ "resolved": "http://r.cnpmjs.org/rc-tree/download/rc-tree-2.1.3.tgz",
+ "integrity": "sha1-UhSrGyGhhI65ot3LkZ47xG1tOQs=",
+ "dev": true,
+ "requires": {
+ "@ant-design/create-react-context": "^0.2.4",
+ "classnames": "2.x",
+ "prop-types": "^15.5.8",
+ "rc-animate": "^2.6.0",
+ "rc-util": "^4.5.1",
+ "react-lifecycles-compat": "^3.0.4",
+ "warning": "^4.0.3"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/warning/download/warning-4.0.3.tgz",
+ "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-tree-select": {
+ "version": "2.9.1",
+ "resolved": "http://r.cnpmjs.org/rc-tree-select/download/rc-tree-select-2.9.1.tgz",
+ "integrity": "sha1-0Ha4zlv0Mt8/3YpqAc3ZyTyOc5k=",
+ "dev": true,
+ "requires": {
+ "classnames": "^2.2.1",
+ "dom-scroll-into-view": "^1.2.1",
+ "prop-types": "^15.5.8",
+ "raf": "^3.4.0",
+ "rc-animate": "^2.8.2",
+ "rc-tree": "~2.0.0",
+ "rc-trigger": "^3.0.0-rc.2",
+ "rc-util": "^4.5.0",
+ "react-lifecycles-compat": "^3.0.4",
+ "shallowequal": "^1.0.2",
+ "warning": "^4.0.1"
+ },
+ "dependencies": {
+ "rc-tree": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/rc-tree/download/rc-tree-2.0.0.tgz",
+ "integrity": "sha1-aPxMmraWlDsnmhQ2GeLs8FkY+1M=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.23.0",
+ "classnames": "2.x",
+ "prop-types": "^15.5.8",
+ "rc-animate": "^2.6.0",
+ "rc-util": "^4.5.1",
+ "react-lifecycles-compat": "^3.0.4",
+ "warning": "^3.0.0"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/warning/download/warning-3.0.0.tgz",
+ "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-trigger": {
+ "version": "3.0.0-rc.3",
+ "resolved": "http://r.cnpmjs.org/rc-trigger/download/rc-trigger-3.0.0-rc.3.tgz",
+ "integrity": "sha1-NYQt8WdNJTFeFCakSIKkyXZSJYs=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.6",
+ "prop-types": "15.x",
+ "raf": "^3.4.0",
+ "rc-align": "^2.4.1",
+ "rc-animate": "^3.0.0-rc.1",
+ "rc-util": "^4.4.0"
+ },
+ "dependencies": {
+ "rc-animate": {
+ "version": "3.0.0-rc.6",
+ "resolved": "http://r.cnpmjs.org/rc-animate/download/rc-animate-3.0.0-rc.6.tgz",
+ "integrity": "sha1-BCiO76EY4MriFFNsipA/+qwbw/s=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.5",
+ "component-classes": "^1.2.6",
+ "fbjs": "^0.8.16",
+ "prop-types": "15.x",
+ "raf": "^3.4.0",
+ "rc-util": "^4.5.0",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ }
+ }
+ },
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/warning/download/warning-4.0.3.tgz",
+ "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-trigger": {
+ "version": "2.6.5",
+ "resolved": "http://r.cnpmjs.org/rc-trigger/download/rc-trigger-2.6.5.tgz",
+ "integrity": "sha1-FAqFfPKL0PoBua7LHialCnAOmIU=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.6",
+ "prop-types": "15.x",
+ "rc-align": "^2.4.0",
+ "rc-animate": "2.x",
+ "rc-util": "^4.4.0",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-upload": {
+ "version": "2.9.1",
+ "resolved": "http://r.cnpmjs.org/rc-upload/download/rc-upload-2.9.1.tgz",
+ "integrity": "sha1-KuYLw2BUIxvZZ7XhspM5j3IiIHg=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.5",
+ "prop-types": "^15.5.7",
+ "warning": "4.x"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/warning/download/warning-4.0.3.tgz",
+ "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-util": {
+ "version": "4.14.4",
+ "resolved": "http://r.cnpmjs.org/rc-util/download/rc-util-4.14.4.tgz",
+ "integrity": "sha1-5+AJVZ6Tu6AixJsNCuxiZl1qDn8=",
+ "dev": true,
+ "requires": {
+ "add-dom-event-listener": "^1.1.0",
+ "babel-runtime": "6.x",
+ "prop-types": "^15.5.10",
+ "react-lifecycles-compat": "^3.0.4",
+ "shallowequal": "^0.2.2"
+ },
+ "dependencies": {
+ "shallowequal": {
+ "version": "0.2.2",
+ "resolved": "http://r.cnpmjs.org/shallowequal/download/shallowequal-0.2.2.tgz",
+ "integrity": "sha1-HjL9W8q2rWiKSBLLDMBO/HXHAU4=",
+ "dev": true,
+ "requires": {
+ "lodash.keys": "^3.1.2"
+ }
+ }
+ }
+ },
"react": {
"version": "16.11.0",
"resolved": "https://registry.npmjs.org/react/-/react-16.11.0.tgz",
@@ -18063,6 +27476,12 @@
"@babel/runtime": "^7.0.0"
}
},
+ "react-codemirror2": {
+ "version": "6.0.0",
+ "resolved": "http://r.cnpmjs.org/react-codemirror2/download/react-codemirror2-6.0.0.tgz",
+ "integrity": "sha1-GABl31emQCYCbN5WmpcI/fdlZSU=",
+ "dev": true
+ },
"react-color": {
"version": "2.17.3",
"resolved": "https://registry.npmjs.org/react-color/-/react-color-2.17.3.tgz",
@@ -18391,6 +27810,24 @@
"react-clientside-effect": "^1.2.0"
}
},
+ "react-github-corner": {
+ "version": "2.3.0",
+ "resolved": "http://r.cnpmjs.org/react-github-corner/download/react-github-corner-2.3.0.tgz",
+ "integrity": "sha1-c6sXMktnDJzZVVZ7CWY9OFz7Be8=",
+ "dev": true
+ },
+ "react-helmet": {
+ "version": "5.2.1",
+ "resolved": "http://r.cnpmjs.org/react-helmet/download/react-helmet-5.2.1.tgz",
+ "integrity": "sha1-FqcZL90JlR+OD+Iv/Mv5uz5ZH/o=",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.5.4",
+ "react-fast-compare": "^2.0.2",
+ "react-side-effect": "^1.1.0"
+ }
+ },
"react-helmet-async": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.0.4.tgz",
@@ -18404,6 +27841,30 @@
"shallowequal": "^1.1.0"
}
},
+ "react-hot-loader": {
+ "version": "4.12.15",
+ "resolved": "http://r.cnpmjs.org/react-hot-loader/download/react-hot-loader-4.12.15.tgz",
+ "integrity": "sha1-a/OYTlLtvfAuqJUnd/U9obPGjJU=",
+ "dev": true,
+ "requires": {
+ "fast-levenshtein": "^2.0.6",
+ "global": "^4.3.0",
+ "hoist-non-react-statics": "^3.3.0",
+ "loader-utils": "^1.1.0",
+ "prop-types": "^15.6.1",
+ "react-lifecycles-compat": "^3.0.4",
+ "shallowequal": "^1.1.0",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "http://r.cnpmjs.org/source-map/download/source-map-0.7.3.tgz",
+ "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=",
+ "dev": true
+ }
+ }
+ },
"react-hotkeys": {
"version": "2.0.0-pre4",
"resolved": "https://registry.npmjs.org/react-hotkeys/-/react-hotkeys-2.0.0-pre4.tgz",
@@ -18413,6 +27874,16 @@
"prop-types": "^15.6.1"
}
},
+ "react-i18next": {
+ "version": "11.0.1",
+ "resolved": "http://r.cnpmjs.org/react-i18next/download/react-i18next-11.0.1.tgz",
+ "integrity": "sha1-F5sQzwAmZ3c5+pbfCntUlN9DW9E=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "html-parse-stringify2": "2.0.1"
+ }
+ },
"react-input-autosize": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.2.tgz",
@@ -18439,6 +27910,18 @@
"integrity": "sha512-gbBVYR2p8mnriqAwWx9LbuUrShnAuSCNnuPGyc7GJrMVQtPDAh8iLpv7FRuMPFb56KkaVZIYSz1PrjI9q0QPCw==",
"dev": true
},
+ "react-lazy-load": {
+ "version": "3.0.13",
+ "resolved": "http://r.cnpmjs.org/react-lazy-load/download/react-lazy-load-3.0.13.tgz",
+ "integrity": "sha1-OwqS0zbUPT8Nc8vm81sXBQsIuCQ=",
+ "dev": true,
+ "requires": {
+ "eventlistener": "0.0.1",
+ "lodash.debounce": "^4.0.0",
+ "lodash.throttle": "^4.0.0",
+ "prop-types": "^15.5.8"
+ }
+ },
"react-lifecycles-compat": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
@@ -18490,6 +27973,32 @@
"react-popper": "^1.3.4"
}
},
+ "react-reconciler": {
+ "version": "0.21.0",
+ "resolved": "http://r.cnpmjs.org/react-reconciler/download/react-reconciler-0.21.0.tgz",
+ "integrity": "sha1-gYA0KrPIKV+GACWobQoDdCopTqc=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.6.2",
+ "scheduler": "^0.15.0"
+ },
+ "dependencies": {
+ "scheduler": {
+ "version": "0.15.0",
+ "resolved": "http://r.cnpmjs.org/scheduler/download/scheduler-0.15.0.tgz",
+ "integrity": "sha1-a/z4D/hQsoD+1K7sxlE7wLTxf44=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ }
+ }
+ }
+ },
"react-select": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/react-select/-/react-select-3.0.8.tgz",
@@ -18506,6 +28015,15 @@
"react-transition-group": "^2.2.1"
}
},
+ "react-side-effect": {
+ "version": "1.2.0",
+ "resolved": "http://r.cnpmjs.org/react-side-effect/download/react-side-effect-1.2.0.tgz",
+ "integrity": "sha1-DpQMePq6DHO5sOupzT3ajft+fa4=",
+ "dev": true,
+ "requires": {
+ "shallowequal": "^1.0.1"
+ }
+ },
"react-sizeme": {
"version": "2.6.10",
"resolved": "https://registry.npmjs.org/react-sizeme/-/react-sizeme-2.6.10.tgz",
@@ -18518,6 +28036,19 @@
"throttle-debounce": "^2.1.0"
}
},
+ "react-slick": {
+ "version": "0.25.2",
+ "resolved": "http://r.cnpmjs.org/react-slick/download/react-slick-0.25.2.tgz",
+ "integrity": "sha1-VjMbZ9R9i8/i3OtqyrHI/VvR9rw=",
+ "dev": true,
+ "requires": {
+ "classnames": "^2.2.5",
+ "enquire.js": "^2.1.6",
+ "json2mq": "^0.2.0",
+ "lodash.debounce": "^4.0.8",
+ "resize-observer-polyfill": "^1.5.0"
+ }
+ },
"react-syntax-highlighter": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-8.1.0.tgz",
@@ -18583,6 +28114,24 @@
"mute-stream": "~0.0.4"
}
},
+ "read-chunk": {
+ "version": "3.2.0",
+ "resolved": "http://r.cnpmjs.org/read-chunk/download/read-chunk-3.2.0.tgz",
+ "integrity": "sha1-KYSv54ypv7vbdLGTh7+ehiicFso=",
+ "dev": true,
+ "requires": {
+ "pify": "^4.0.1",
+ "with-open-file": "^0.1.6"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-4.0.1.tgz",
+ "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
+ "dev": true
+ }
+ }
+ },
"read-cmd-shim": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.4.tgz",
@@ -18683,6 +28232,12 @@
"readable-stream": "^2.0.2"
}
},
+ "reading-time": {
+ "version": "1.2.0",
+ "resolved": "http://r.cnpmjs.org/reading-time/download/reading-time-1.2.0.tgz",
+ "integrity": "sha1-ztccBnFXYvgFUGMo3MH9RdgkmsQ=",
+ "dev": true
+ },
"realpath-native": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz",
@@ -18740,6 +28295,22 @@
"strip-indent": "^2.0.0"
}
},
+ "redux": {
+ "version": "4.0.4",
+ "resolved": "http://r.cnpmjs.org/redux/download/redux-4.0.4.tgz",
+ "integrity": "sha1-TuGusWS2PWobzFeuSqC25vp6N5Y=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "symbol-observable": "^1.2.0"
+ }
+ },
+ "redux-thunk": {
+ "version": "2.3.0",
+ "resolved": "http://r.cnpmjs.org/redux-thunk/download/redux-thunk-2.3.0.tgz",
+ "integrity": "sha1-UcLBmhhe1Rh6qpotCLZm0NZGdiI=",
+ "dev": true
+ },
"reflect.ownkeys": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz",
@@ -18806,6 +28377,12 @@
"define-properties": "^1.1.2"
}
},
+ "regexpp": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/regexpp/download/regexpp-2.0.1.tgz",
+ "integrity": "sha1-jRnTHPYySCtYkEn4KB+T28uk0H8=",
+ "dev": true
+ },
"regexpu-core": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
@@ -18820,6 +28397,25 @@
"unicode-match-property-value-ecmascript": "^1.1.0"
}
},
+ "registry-auth-token": {
+ "version": "3.4.0",
+ "resolved": "http://r.cnpmjs.org/registry-auth-token/download/registry-auth-token-3.4.0.tgz",
+ "integrity": "sha1-10RoFUM/XV7WQxzV3KIQSPZrOX4=",
+ "dev": true,
+ "requires": {
+ "rc": "^1.1.6",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "registry-url": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/registry-url/download/registry-url-3.1.0.tgz",
+ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
+ "dev": true,
+ "requires": {
+ "rc": "^1.0.1"
+ }
+ },
"regjsgen": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
@@ -18849,6 +28445,34 @@
"integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
"dev": true
},
+ "relay-runtime": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/relay-runtime/download/relay-runtime-2.0.0.tgz",
+ "integrity": "sha1-DkLfkDZcxp8QT35LIP3Pl19anAs=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.0.0",
+ "fbjs": "^1.0.0"
+ },
+ "dependencies": {
+ "fbjs": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/fbjs/download/fbjs-1.0.0.tgz",
+ "integrity": "sha1-UsIV4Ig6PIavKnp3btUVJa6OClo=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.1",
+ "fbjs-css-vars": "^1.0.0",
+ "isomorphic-fetch": "^2.1.1",
+ "loose-envify": "^1.0.0",
+ "object-assign": "^4.1.0",
+ "promise": "^7.1.1",
+ "setimmediate": "^1.0.5",
+ "ua-parser-js": "^0.7.18"
+ }
+ }
+ }
+ },
"remark": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",
@@ -18883,6 +28507,15 @@
"xtend": "^4.0.1"
}
},
+ "remark-retext": {
+ "version": "3.1.3",
+ "resolved": "http://r.cnpmjs.org/remark-retext/download/remark-retext-3.1.3.tgz",
+ "integrity": "sha1-dxc7HZ0T2rFc5bONmWGV/qUi7n8=",
+ "dev": true,
+ "requires": {
+ "mdast-util-to-nlcst": "^3.2.0"
+ }
+ },
"remark-stringify": {
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz",
@@ -19129,6 +28762,15 @@
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
"dev": true
},
+ "responselike": {
+ "version": "1.0.2",
+ "resolved": "http://r.cnpmjs.org/responselike/download/responselike-1.0.2.tgz",
+ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+ "dev": true,
+ "requires": {
+ "lowercase-keys": "^1.0.0"
+ }
+ },
"restore-cursor": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
@@ -19145,6 +28787,16 @@
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
"dev": true
},
+ "retext-english": {
+ "version": "3.0.3",
+ "resolved": "http://r.cnpmjs.org/retext-english/download/retext-english-3.0.3.tgz",
+ "integrity": "sha1-rrBEv/vqIhS5WdB8Hc6XmeAdy9o=",
+ "dev": true,
+ "requires": {
+ "parse-english": "^4.0.0",
+ "unherit": "^1.0.4"
+ }
+ },
"retry": {
"version": "0.10.1",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
@@ -19157,6 +28809,18 @@
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
"dev": true
},
+ "rgb-regex": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/rgb-regex/download/rgb-regex-1.0.1.tgz",
+ "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
+ "dev": true
+ },
+ "rgba-regex": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/rgba-regex/download/rgba-regex-1.0.0.tgz",
+ "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
+ "dev": true
+ },
"right-pad": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/right-pad/-/right-pad-1.0.1.tgz",
@@ -19182,6 +28846,16 @@
"inherits": "^2.0.1"
}
},
+ "rmc-feedback": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/rmc-feedback/download/rmc-feedback-2.0.0.tgz",
+ "integrity": "sha1-y8bLOuY8emNe7w4l5PuvWsNm7qo=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.5"
+ }
+ },
"rst-selector-parser": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz",
@@ -19228,6 +28902,21 @@
"aproba": "^1.1.1"
}
},
+ "rx-lite": {
+ "version": "4.0.8",
+ "resolved": "http://r.cnpmjs.org/rx-lite/download/rx-lite-4.0.8.tgz",
+ "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
+ "dev": true
+ },
+ "rx-lite-aggregates": {
+ "version": "4.0.8",
+ "resolved": "http://r.cnpmjs.org/rx-lite-aggregates/download/rx-lite-aggregates-4.0.8.tgz",
+ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
+ "dev": true,
+ "requires": {
+ "rx-lite": "*"
+ }
+ },
"rxjs": {
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
@@ -19320,6 +29009,24 @@
}
}
},
+ "sanitize-html": {
+ "version": "1.20.1",
+ "resolved": "http://r.cnpmjs.org/sanitize-html/download/sanitize-html-1.20.1.tgz",
+ "integrity": "sha1-9u/99V3TmIBxcSFaYr/CGBG6z4U=",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "htmlparser2": "^3.10.0",
+ "lodash.clonedeep": "^4.5.0",
+ "lodash.escaperegexp": "^4.1.2",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.isstring": "^4.0.1",
+ "lodash.mergewith": "^4.6.1",
+ "postcss": "^7.0.5",
+ "srcset": "^1.0.0",
+ "xtend": "^4.0.1"
+ }
+ },
"sass-graph": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
@@ -19577,6 +29284,16 @@
"ajv-keywords": "^3.1.0"
}
},
+ "scroll-behavior": {
+ "version": "0.9.10",
+ "resolved": "http://r.cnpmjs.org/scroll-behavior/download/scroll-behavior-0.9.10.tgz",
+ "integrity": "sha1-yJU63us1hgYLkDMo2GCqg0bWKGE=",
+ "dev": true,
+ "requires": {
+ "dom-helpers": "^3.2.1",
+ "invariant": "^2.2.2"
+ }
+ },
"scss-tokenizer": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
@@ -19598,6 +29315,47 @@
}
}
},
+ "section-matter": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/section-matter/download/section-matter-1.0.0.tgz",
+ "integrity": "sha1-6QQZU1BngOwB1Z8pKhnHuFC4QWc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "kind-of": "^6.0.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "seek-bzip": {
+ "version": "1.0.5",
+ "resolved": "http://r.cnpmjs.org/seek-bzip/download/seek-bzip-1.0.5.tgz",
+ "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
+ "dev": true,
+ "requires": {
+ "commander": "~2.8.1"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.8.1",
+ "resolved": "http://r.cnpmjs.org/commander/download/commander-2.8.1.tgz",
+ "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": ">= 1.0.0"
+ }
+ }
+ }
+ },
"seekout": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/seekout/-/seekout-1.0.2.tgz",
@@ -19638,6 +29396,30 @@
"integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
"dev": true
},
+ "semver-diff": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/semver-diff/download/semver-diff-2.1.0.tgz",
+ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
+ "dev": true,
+ "requires": {
+ "semver": "^5.0.3"
+ }
+ },
+ "semver-regex": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/semver-regex/download/semver-regex-2.0.0.tgz",
+ "integrity": "sha1-qTwsWERTmncCMzeRB7OMe0rJ0zg=",
+ "dev": true
+ },
+ "semver-truncate": {
+ "version": "1.1.2",
+ "resolved": "http://r.cnpmjs.org/semver-truncate/download/semver-truncate-1.1.2.tgz",
+ "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=",
+ "dev": true,
+ "requires": {
+ "semver": "^5.3.0"
+ }
+ },
"send": {
"version": "0.17.1",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
@@ -19833,6 +29615,12 @@
}
}
},
+ "shallow-compare": {
+ "version": "1.2.2",
+ "resolved": "http://r.cnpmjs.org/shallow-compare/download/shallow-compare-1.2.2.tgz",
+ "integrity": "sha1-+keUYnv0VaR8T1aIHYphMtWB/9s=",
+ "dev": true
+ },
"shallow-equal": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.0.tgz",
@@ -19845,6 +29633,79 @@
"integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==",
"dev": true
},
+ "sharp": {
+ "version": "0.23.2",
+ "resolved": "http://r.cnpmjs.org/sharp/download/sharp-0.23.2.tgz",
+ "integrity": "sha1-X4t3UTqh9+TQ3ZaaOQTO11SGwdc=",
+ "dev": true,
+ "requires": {
+ "color": "^3.1.2",
+ "detect-libc": "^1.0.3",
+ "nan": "^2.14.0",
+ "npmlog": "^4.1.2",
+ "prebuild-install": "^5.3.2",
+ "semver": "^6.3.0",
+ "simple-get": "^3.1.0",
+ "tar": "^5.0.5",
+ "tunnel-agent": "^0.6.0"
+ },
+ "dependencies": {
+ "fs-minipass": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/fs-minipass/download/fs-minipass-2.0.0.tgz",
+ "integrity": "sha1-pkFe2rAvrkuekjC8h+4uRHIAPNE=",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass": {
+ "version": "3.1.1",
+ "resolved": "http://r.cnpmjs.org/minipass/download/minipass-3.1.1.tgz",
+ "integrity": "sha1-dgfOd4RyoYWtbYkIKqIHD3nO3NU=",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/minizlib/download/minizlib-2.1.0.tgz",
+ "integrity": "sha1-/VLGRTAe8JpjosIJaXwpTGzgLPM=",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "http://r.cnpmjs.org/semver/download/semver-6.3.0.tgz",
+ "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
+ "dev": true
+ },
+ "tar": {
+ "version": "5.0.5",
+ "resolved": "http://r.cnpmjs.org/tar/download/tar-5.0.5.tgz",
+ "integrity": "sha1-A/zbcQW8jqPObIZkK5yUJJWwT5M=",
+ "dev": true,
+ "requires": {
+ "chownr": "^1.1.3",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.0",
+ "mkdirp": "^0.5.0",
+ "yallist": "^4.0.0"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/yallist/download/yallist-4.0.0.tgz",
+ "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=",
+ "dev": true
+ }
+ }
+ },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -19883,12 +29744,24 @@
"integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
"dev": true
},
+ "sift": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/sift/download/sift-5.1.0.tgz",
+ "integrity": "sha1-G78t+w63HlbEzH+1Z/vRNRtlAV4=",
+ "dev": true
+ },
"signal-exit": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
},
+ "signedsource": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/signedsource/download/signedsource-1.0.0.tgz",
+ "integrity": "sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo=",
+ "dev": true
+ },
"simple-concat": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz",
@@ -19906,6 +29779,23 @@
"simple-concat": "^1.0.0"
}
},
+ "simple-swizzle": {
+ "version": "0.2.2",
+ "resolved": "http://r.cnpmjs.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz",
+ "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.3.1"
+ },
+ "dependencies": {
+ "is-arrayish": {
+ "version": "0.3.2",
+ "resolved": "http://r.cnpmjs.org/is-arrayish/download/is-arrayish-0.3.2.tgz",
+ "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=",
+ "dev": true
+ }
+ }
+ },
"simplebar": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/simplebar/-/simplebar-4.2.3.tgz",
@@ -20075,6 +29965,162 @@
}
}
},
+ "socket.io": {
+ "version": "2.3.0",
+ "resolved": "http://r.cnpmjs.org/socket.io/download/socket.io-2.3.0.tgz",
+ "integrity": "sha1-zXYu1qT67KWbwfPiQ8CWkxHrc/s=",
+ "dev": true,
+ "requires": {
+ "debug": "~4.1.0",
+ "engine.io": "~3.4.0",
+ "has-binary2": "~1.0.2",
+ "socket.io-adapter": "~1.1.0",
+ "socket.io-client": "2.3.0",
+ "socket.io-parser": "~3.4.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "http://r.cnpmjs.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ }
+ }
+ },
+ "socket.io-adapter": {
+ "version": "1.1.1",
+ "resolved": "http://r.cnpmjs.org/socket.io-adapter/download/socket.io-adapter-1.1.1.tgz",
+ "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
+ "dev": true
+ },
+ "socket.io-client": {
+ "version": "2.3.0",
+ "resolved": "http://r.cnpmjs.org/socket.io-client/download/socket.io-client-2.3.0.tgz",
+ "integrity": "sha1-FNW6LgC5vNFFrkQ6uWs/hsvMG7Q=",
+ "dev": true,
+ "requires": {
+ "backo2": "1.0.2",
+ "base64-arraybuffer": "0.1.5",
+ "component-bind": "1.0.0",
+ "component-emitter": "1.2.1",
+ "debug": "~4.1.0",
+ "engine.io-client": "~3.4.0",
+ "has-binary2": "~1.0.2",
+ "has-cors": "1.1.0",
+ "indexof": "0.0.1",
+ "object-component": "0.0.3",
+ "parseqs": "0.0.5",
+ "parseuri": "0.0.5",
+ "socket.io-parser": "~3.3.0",
+ "to-array": "0.1.4"
+ },
+ "dependencies": {
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "http://r.cnpmjs.org/component-emitter/download/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "http://r.cnpmjs.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "isarray": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/isarray/download/isarray-2.0.1.tgz",
+ "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ },
+ "socket.io-parser": {
+ "version": "3.3.0",
+ "resolved": "http://r.cnpmjs.org/socket.io-parser/download/socket.io-parser-3.3.0.tgz",
+ "integrity": "sha1-K1KpalCf3zFEC6QP7WCUx9TxJi8=",
+ "dev": true,
+ "requires": {
+ "component-emitter": "1.2.1",
+ "debug": "~3.1.0",
+ "isarray": "2.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/debug/download/debug-3.1.0.tgz",
+ "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/ms/download/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "socket.io-parser": {
+ "version": "3.4.0",
+ "resolved": "http://r.cnpmjs.org/socket.io-parser/download/socket.io-parser-3.4.0.tgz",
+ "integrity": "sha1-Nwu0oVHfL3fOM0X/VacHLMbpVlo=",
+ "dev": true,
+ "requires": {
+ "component-emitter": "1.2.1",
+ "debug": "~4.1.0",
+ "isarray": "2.0.1"
+ },
+ "dependencies": {
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "http://r.cnpmjs.org/component-emitter/download/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "http://r.cnpmjs.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "isarray": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/isarray/download/isarray-2.0.1.tgz",
+ "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ }
+ }
+ },
"sockjs": {
"version": "0.3.19",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz",
@@ -20167,6 +30213,15 @@
"is-plain-obj": "^1.0.0"
}
},
+ "sort-keys-length": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/sort-keys-length/download/sort-keys-length-1.0.1.tgz",
+ "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=",
+ "dev": true,
+ "requires": {
+ "sort-keys": "^1.0.0"
+ }
+ },
"source-list-map": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
@@ -20365,6 +30420,54 @@
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
+ "squeak": {
+ "version": "1.3.0",
+ "resolved": "http://r.cnpmjs.org/squeak/download/squeak-1.3.0.tgz",
+ "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0",
+ "console-stream": "^0.1.1",
+ "lpad-align": "^1.0.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "http://r.cnpmjs.org/ansi-styles/download/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "http://r.cnpmjs.org/chalk/download/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/supports-color/download/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "srcset": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/srcset/download/srcset-1.0.0.tgz",
+ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=",
+ "dev": true,
+ "requires": {
+ "array-uniq": "^1.0.2",
+ "number-is-nan": "^1.0.0"
+ }
+ },
"sshpk": {
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
@@ -20397,12 +30500,24 @@
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
"dev": true
},
+ "stack-trace": {
+ "version": "0.0.10",
+ "resolved": "http://r.cnpmjs.org/stack-trace/download/stack-trace-0.0.10.tgz",
+ "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
+ "dev": true
+ },
"stack-utils": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
"integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==",
"dev": true
},
+ "stackframe": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/stackframe/download/stackframe-1.1.0.tgz",
+ "integrity": "sha1-4/wuuRIllHnJgi99Hx/zZb1cvIM=",
+ "dev": true
+ },
"state-toggle": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz",
@@ -20490,6 +30605,15 @@
"xtend": "^4.0.0"
}
},
+ "stream-parser": {
+ "version": "0.3.1",
+ "resolved": "http://r.cnpmjs.org/stream-parser/download/stream-parser-0.3.1.tgz",
+ "integrity": "sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=",
+ "dev": true,
+ "requires": {
+ "debug": "2"
+ }
+ },
"stream-shift": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
@@ -20508,6 +30632,12 @@
"integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==",
"dev": true
},
+ "string-convert": {
+ "version": "0.2.1",
+ "resolved": "http://r.cnpmjs.org/string-convert/download/string-convert-0.2.1.tgz",
+ "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=",
+ "dev": true
+ },
"string-length": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
@@ -20535,6 +30665,19 @@
}
}
},
+ "string-similarity": {
+ "version": "1.2.2",
+ "resolved": "http://r.cnpmjs.org/string-similarity/download/string-similarity-1.2.2.tgz",
+ "integrity": "sha1-mbLCCjybuzkDlk6uHYmFbbPY25s=",
+ "dev": true,
+ "requires": {
+ "lodash.every": "^4.6.0",
+ "lodash.flattendeep": "^4.4.0",
+ "lodash.foreach": "^4.5.0",
+ "lodash.map": "^4.6.0",
+ "lodash.maxby": "^4.6.0"
+ }
+ },
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
@@ -20659,6 +30802,31 @@
"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
"dev": true
},
+ "strip-bom-string": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/strip-bom-string/download/strip-bom-string-1.0.0.tgz",
+ "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=",
+ "dev": true
+ },
+ "strip-comments": {
+ "version": "1.0.2",
+ "resolved": "http://r.cnpmjs.org/strip-comments/download/strip-comments-1.0.2.tgz",
+ "integrity": "sha1-grnEXn8FhzvuU/NxaK+TCqNoZ50=",
+ "dev": true,
+ "requires": {
+ "babel-extract-comments": "^1.0.0",
+ "babel-plugin-transform-object-rest-spread": "^6.26.0"
+ }
+ },
+ "strip-dirs": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/strip-dirs/download/strip-dirs-2.1.0.tgz",
+ "integrity": "sha1-SYdzYmT8NEzyD2w0rKnRPR1O1sU=",
+ "dev": true,
+ "requires": {
+ "is-natural-number": "^4.0.1"
+ }
+ },
"strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
@@ -20683,6 +30851,21 @@
"integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
"dev": true
},
+ "strip-outer": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/strip-outer/download/strip-outer-1.0.1.tgz",
+ "integrity": "sha1-sv0qv2YEudHmATBXGV34Nrip1jE=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.2"
+ }
+ },
+ "strip-url-auth": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/strip-url-auth/download/strip-url-auth-1.0.1.tgz",
+ "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=",
+ "dev": true
+ },
"strong-log-transformer": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz",
@@ -20730,6 +30913,15 @@
"integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=",
"dev": true
},
+ "style-to-object": {
+ "version": "0.2.3",
+ "resolved": "http://r.cnpmjs.org/style-to-object/download/style-to-object-0.2.3.tgz",
+ "integrity": "sha1-r89CvAOEax4xGIDFVjKiatJ4C8s=",
+ "dev": true,
+ "requires": {
+ "inline-style-parser": "0.1.1"
+ }
+ },
"styled-components": {
"version": "3.4.10",
"resolved": "https://registry.npmjs.org/styled-components/-/styled-components-3.4.10.tgz",
@@ -20780,6 +30972,39 @@
}
}
},
+ "stylehacks": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/stylehacks/download/stylehacks-4.0.3.tgz",
+ "integrity": "sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "http://r.cnpmjs.org/dot-prop/download/dot-prop-4.2.0.tgz",
+ "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=",
+ "dev": true,
+ "requires": {
+ "is-obj": "^1.0.0"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "http://r.cnpmjs.org/postcss-selector-parser/download/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
"stylelint": {
"version": "9.10.1",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.10.1.tgz",
@@ -21160,6 +31385,12 @@
"has-symbols": "^1.0.0"
}
},
+ "synchronous-promise": {
+ "version": "1.0.18",
+ "resolved": "http://r.cnpmjs.org/synchronous-promise/download/synchronous-promise-1.0.18.tgz",
+ "integrity": "sha1-k26HY+ZVQIjNz3jcZPdHO5cvzvw=",
+ "dev": true
+ },
"table": {
"version": "5.4.6",
"resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
@@ -21339,6 +31570,16 @@
}
}
},
+ "tempfile": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/tempfile/download/tempfile-2.0.0.tgz",
+ "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=",
+ "dev": true,
+ "requires": {
+ "temp-dir": "^1.0.0",
+ "uuid": "^3.0.1"
+ }
+ },
"term-size": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
@@ -21534,6 +31775,12 @@
"integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
"dev": true
},
+ "timed-out": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/timed-out/download/timed-out-4.0.1.tgz",
+ "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
+ "dev": true
+ },
"timers-browserify": {
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
@@ -21543,6 +31790,18 @@
"setimmediate": "^1.0.4"
}
},
+ "timm": {
+ "version": "1.6.2",
+ "resolved": "http://r.cnpmjs.org/timm/download/timm-1.6.2.tgz",
+ "integrity": "sha1-39jGcZ97ofz8YpWjJnChxtFmwL0=",
+ "dev": true
+ },
+ "timsort": {
+ "version": "0.3.0",
+ "resolved": "http://r.cnpmjs.org/timsort/download/timsort-0.3.0.tgz",
+ "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
+ "dev": true
+ },
"tiny-emitter": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
@@ -21571,12 +31830,24 @@
"integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
"dev": true
},
+ "to-array": {
+ "version": "0.1.4",
+ "resolved": "http://r.cnpmjs.org/to-array/download/to-array-0.1.4.tgz",
+ "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
+ "dev": true
+ },
"to-arraybuffer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
"integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
"dev": true
},
+ "to-buffer": {
+ "version": "1.1.1",
+ "resolved": "http://r.cnpmjs.org/to-buffer/download/to-buffer-1.1.1.tgz",
+ "integrity": "sha1-STvUj2LXxD/N7TE6A9ytsuEhOoA=",
+ "dev": true
+ },
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -21676,6 +31947,12 @@
"integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
"dev": true
},
+ "trim-lines": {
+ "version": "1.1.2",
+ "resolved": "http://r.cnpmjs.org/trim-lines/download/trim-lines-1.1.2.tgz",
+ "integrity": "sha1-yK29va4hu1wnZiQKZh9pOv4j5Zs=",
+ "dev": true
+ },
"trim-newlines": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
@@ -21688,6 +31965,15 @@
"integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=",
"dev": true
},
+ "trim-repeated": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/trim-repeated/download/trim-repeated-1.0.0.tgz",
+ "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.2"
+ }
+ },
"trim-trailing-lines": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz",
@@ -21846,6 +32132,18 @@
"mime-types": "~2.1.24"
}
},
+ "type-name": {
+ "version": "2.0.2",
+ "resolved": "http://r.cnpmjs.org/type-name/download/type-name-2.0.2.tgz",
+ "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=",
+ "dev": true
+ },
+ "type-of": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/type-of/download/type-of-2.0.1.tgz",
+ "integrity": "sha1-5yoXQYllaOn2KDeNgW1pEvfyOXI=",
+ "dev": true
+ },
"typed-styles": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz",
@@ -21858,6 +32156,15 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
+ "typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "http://r.cnpmjs.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha1-qX7nqf9CaRufeD/xvFES/j/KkIA=",
+ "dev": true,
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
"typescript": {
"version": "3.7.0-dev.20191021",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.0-dev.20191021.tgz",
@@ -21900,6 +32207,44 @@
"integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=",
"dev": true
},
+ "unbzip2-stream": {
+ "version": "1.3.3",
+ "resolved": "http://r.cnpmjs.org/unbzip2-stream/download/unbzip2-stream-1.3.3.tgz",
+ "integrity": "sha1-0VbSBeZw2NjDk+HALr1QZCKHP2o=",
+ "dev": true,
+ "requires": {
+ "buffer": "^5.2.1",
+ "through": "^2.3.8"
+ },
+ "dependencies": {
+ "buffer": {
+ "version": "5.4.3",
+ "resolved": "http://r.cnpmjs.org/buffer/download/buffer-5.4.3.tgz",
+ "integrity": "sha1-P7ycaetxPTI+P8Gole7gcQwHIRU=",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4"
+ }
+ }
+ }
+ },
+ "unc-path-regex": {
+ "version": "0.1.2",
+ "resolved": "http://r.cnpmjs.org/unc-path-regex/download/unc-path-regex-0.1.2.tgz",
+ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
+ "dev": true
+ },
+ "underscore.string": {
+ "version": "3.3.5",
+ "resolved": "http://r.cnpmjs.org/underscore.string/download/underscore.string-3.3.5.tgz",
+ "integrity": "sha1-/CrSVbi9MJ4jnLxYFv0jqbfqQCM=",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "^1.0.3",
+ "util-deprecate": "^1.0.2"
+ }
+ },
"unfetch": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.1.0.tgz",
@@ -21978,6 +32323,12 @@
"integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
"dev": true
},
+ "uniqs": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/uniqs/download/uniqs-2.0.0.tgz",
+ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
+ "dev": true
+ },
"unique-filename": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
@@ -21996,6 +32347,113 @@
"imurmurhash": "^0.1.4"
}
},
+ "unique-string": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/unique-string/download/unique-string-1.0.0.tgz",
+ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+ "dev": true,
+ "requires": {
+ "crypto-random-string": "^1.0.0"
+ }
+ },
+ "unist-builder": {
+ "version": "1.0.4",
+ "resolved": "http://r.cnpmjs.org/unist-builder/download/unist-builder-1.0.4.tgz",
+ "integrity": "sha1-4YCK7TC9cq3DYH8lr+zr703Vnhc=",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.1.0"
+ }
+ },
+ "unist-util-find": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/unist-util-find/download/unist-util-find-1.0.1.tgz",
+ "integrity": "sha1-EGK7tpKMepfGrcibU3RdTEbCIqI=",
+ "dev": true,
+ "requires": {
+ "lodash.iteratee": "^4.5.0",
+ "remark": "^5.0.1",
+ "unist-util-visit": "^1.1.0"
+ },
+ "dependencies": {
+ "longest-streak": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/longest-streak/download/longest-streak-1.0.0.tgz",
+ "integrity": "sha1-0GWXxNTDG1LMsfXY+P5xSOr9aWU=",
+ "dev": true
+ },
+ "markdown-table": {
+ "version": "0.4.0",
+ "resolved": "http://r.cnpmjs.org/markdown-table/download/markdown-table-0.4.0.tgz",
+ "integrity": "sha1-iQwsGzv+g/sA5BKbjkz+ZFJw+dE=",
+ "dev": true
+ },
+ "remark": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/remark/download/remark-5.1.0.tgz",
+ "integrity": "sha1-y0Y709vLS5l5STXu4c9x16jjBow=",
+ "dev": true,
+ "requires": {
+ "remark-parse": "^1.1.0",
+ "remark-stringify": "^1.1.0",
+ "unified": "^4.1.1"
+ }
+ },
+ "remark-parse": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/remark-parse/download/remark-parse-1.1.0.tgz",
+ "integrity": "sha1-w8oQ+ajaBGFcKPCapOMEUQUm7CE=",
+ "dev": true,
+ "requires": {
+ "collapse-white-space": "^1.0.0",
+ "extend": "^3.0.0",
+ "parse-entities": "^1.0.2",
+ "repeat-string": "^1.5.4",
+ "trim": "0.0.1",
+ "trim-trailing-lines": "^1.0.0",
+ "unherit": "^1.0.4",
+ "unist-util-remove-position": "^1.0.0",
+ "vfile-location": "^2.0.0"
+ }
+ },
+ "remark-stringify": {
+ "version": "1.1.0",
+ "resolved": "http://r.cnpmjs.org/remark-stringify/download/remark-stringify-1.1.0.tgz",
+ "integrity": "sha1-pxBeJbnuK/mkm3XSxCPxGwauIJI=",
+ "dev": true,
+ "requires": {
+ "ccount": "^1.0.0",
+ "extend": "^3.0.0",
+ "longest-streak": "^1.0.0",
+ "markdown-table": "^0.4.0",
+ "parse-entities": "^1.0.2",
+ "repeat-string": "^1.5.4",
+ "stringify-entities": "^1.0.1",
+ "unherit": "^1.0.4"
+ }
+ },
+ "unified": {
+ "version": "4.2.1",
+ "resolved": "http://r.cnpmjs.org/unified/download/unified-4.2.1.tgz",
+ "integrity": "sha1-dv9Dqo2kMPbn5KVchOusKtLPzS4=",
+ "dev": true,
+ "requires": {
+ "bail": "^1.0.0",
+ "extend": "^3.0.0",
+ "has": "^1.0.1",
+ "once": "^1.3.3",
+ "trough": "^1.0.0",
+ "vfile": "^1.0.0"
+ }
+ },
+ "vfile": {
+ "version": "1.4.0",
+ "resolved": "http://r.cnpmjs.org/vfile/download/vfile-1.4.0.tgz",
+ "integrity": "sha1-wP1vpIT43r23cfaMMe112I2pf+c=",
+ "dev": true
+ }
+ }
+ },
"unist-util-find-all-after": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.4.tgz",
@@ -22005,12 +32463,33 @@
"unist-util-is": "^3.0.0"
}
},
+ "unist-util-generated": {
+ "version": "1.1.4",
+ "resolved": "http://r.cnpmjs.org/unist-util-generated/download/unist-util-generated-1.1.4.tgz",
+ "integrity": "sha1-ImHAM9n8I/rkGHLNt2Y3Rulywac=",
+ "dev": true
+ },
"unist-util-is": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
"integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==",
"dev": true
},
+ "unist-util-modify-children": {
+ "version": "1.1.4",
+ "resolved": "http://r.cnpmjs.org/unist-util-modify-children/download/unist-util-modify-children-1.1.4.tgz",
+ "integrity": "sha1-+d0x6TiEw74GtDySkdYDJNXfX2g=",
+ "dev": true,
+ "requires": {
+ "array-iterate": "^1.0.0"
+ }
+ },
+ "unist-util-position": {
+ "version": "3.0.3",
+ "resolved": "http://r.cnpmjs.org/unist-util-position/download/unist-util-position-3.0.3.tgz",
+ "integrity": "sha1-//lCuHlTiyQglsFIFTgmZksco3M=",
+ "dev": true
+ },
"unist-util-remove-position": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz",
@@ -22020,6 +32499,17 @@
"unist-util-visit": "^1.1.0"
}
},
+ "unist-util-select": {
+ "version": "1.5.0",
+ "resolved": "http://r.cnpmjs.org/unist-util-select/download/unist-util-select-1.5.0.tgz",
+ "integrity": "sha1-qTwr6MD2U4J4A7gTMa3sKqJM2TM=",
+ "dev": true,
+ "requires": {
+ "css-selector-parser": "^1.1.0",
+ "debug": "^2.2.0",
+ "nth-check": "^1.0.1"
+ }
+ },
"unist-util-stringify-position": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz",
@@ -22035,6 +32525,12 @@
"unist-util-visit-parents": "^2.0.0"
}
},
+ "unist-util-visit-children": {
+ "version": "1.1.3",
+ "resolved": "http://r.cnpmjs.org/unist-util-visit-children/download/unist-util-visit-children-1.1.3.tgz",
+ "integrity": "sha1-krpYB+P1Rje+XelQJj+UaJQudQM=",
+ "dev": true
+ },
"unist-util-visit-parents": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz",
@@ -22111,12 +32607,120 @@
}
}
},
+ "unzip-response": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/unzip-response/download/unzip-response-2.0.1.tgz",
+ "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=",
+ "dev": true
+ },
"upath": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
"integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
"dev": true
},
+ "update-notifier": {
+ "version": "2.5.0",
+ "resolved": "http://r.cnpmjs.org/update-notifier/download/update-notifier-2.5.0.tgz",
+ "integrity": "sha1-0HRFk+E/Fh5AassdlAi3LK0Ir/Y=",
+ "dev": true,
+ "requires": {
+ "boxen": "^1.2.1",
+ "chalk": "^2.0.1",
+ "configstore": "^3.0.0",
+ "import-lazy": "^2.1.0",
+ "is-ci": "^1.0.10",
+ "is-installed-globally": "^0.1.0",
+ "is-npm": "^1.0.0",
+ "latest-version": "^3.0.0",
+ "semver-diff": "^2.0.0",
+ "xdg-basedir": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-align": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/ansi-align/download/ansi-align-2.0.0.tgz",
+ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
+ "dev": true,
+ "requires": {
+ "string-width": "^2.0.0"
+ }
+ },
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "boxen": {
+ "version": "1.3.0",
+ "resolved": "http://r.cnpmjs.org/boxen/download/boxen-1.3.0.tgz",
+ "integrity": "sha1-VcbDmouljZxhrSLNh3Uy3rZlogs=",
+ "dev": true,
+ "requires": {
+ "ansi-align": "^2.0.0",
+ "camelcase": "^4.0.0",
+ "chalk": "^2.0.1",
+ "cli-boxes": "^1.0.0",
+ "string-width": "^2.0.0",
+ "term-size": "^1.2.0",
+ "widest-line": "^2.0.0"
+ }
+ },
+ "ci-info": {
+ "version": "1.6.0",
+ "resolved": "http://r.cnpmjs.org/ci-info/download/ci-info-1.6.0.tgz",
+ "integrity": "sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc=",
+ "dev": true
+ },
+ "cli-boxes": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/cli-boxes/download/cli-boxes-1.0.0.tgz",
+ "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=",
+ "dev": true
+ },
+ "import-lazy": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/import-lazy/download/import-lazy-2.1.0.tgz",
+ "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
+ "dev": true
+ },
+ "is-ci": {
+ "version": "1.2.1",
+ "resolved": "http://r.cnpmjs.org/is-ci/download/is-ci-1.2.1.tgz",
+ "integrity": "sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw=",
+ "dev": true,
+ "requires": {
+ "ci-info": "^1.5.0"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "http://r.cnpmjs.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "http://r.cnpmjs.org/string-width/download/string-width-2.1.1.tgz",
+ "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
"upper-case": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
@@ -22195,12 +32799,36 @@
"requires-port": "^1.0.0"
}
},
+ "url-parse-lax": {
+ "version": "1.0.0",
+ "resolved": "http://r.cnpmjs.org/url-parse-lax/download/url-parse-lax-1.0.0.tgz",
+ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
+ "dev": true,
+ "requires": {
+ "prepend-http": "^1.0.1"
+ }
+ },
+ "url-to-options": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/url-to-options/download/url-to-options-1.0.1.tgz",
+ "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=",
+ "dev": true
+ },
"use": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
"dev": true
},
+ "utif": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/utif/download/utif-2.0.1.tgz",
+ "integrity": "sha1-nhWC2bvSABGmWIVI7TJmKY5xF1k=",
+ "dev": true,
+ "requires": {
+ "pako": "^1.0.5"
+ }
+ },
"util": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
@@ -22267,6 +32895,12 @@
"integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==",
"dev": true
},
+ "valid-url": {
+ "version": "1.0.9",
+ "resolved": "http://r.cnpmjs.org/valid-url/download/valid-url-1.0.9.tgz",
+ "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=",
+ "dev": true
+ },
"validate-npm-package-license": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
@@ -22292,6 +32926,12 @@
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"dev": true
},
+ "vendors": {
+ "version": "1.0.3",
+ "resolved": "http://r.cnpmjs.org/vendors/download/vendors-1.0.3.tgz",
+ "integrity": "sha1-pkZ3gavTZiF8BQ+CAuflDMnu+MA=",
+ "dev": true
+ },
"verror": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
@@ -22344,6 +32984,12 @@
"integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==",
"dev": true
},
+ "void-elements": {
+ "version": "2.0.1",
+ "resolved": "http://r.cnpmjs.org/void-elements/download/void-elements-2.0.1.tgz",
+ "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
+ "dev": true
+ },
"w3c-hr-time": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz",
@@ -22400,6 +33046,12 @@
"defaults": "^1.0.3"
}
},
+ "web-namespaces": {
+ "version": "1.1.3",
+ "resolved": "http://r.cnpmjs.org/web-namespaces/download/web-namespaces-1.1.3.tgz",
+ "integrity": "sha1-m79cmf8JCNLaAx8dcySSqWVxqD8=",
+ "dev": true
+ },
"webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
@@ -23102,6 +33754,12 @@
}
}
},
+ "webpack-stats-plugin": {
+ "version": "0.3.0",
+ "resolved": "http://r.cnpmjs.org/webpack-stats-plugin/download/webpack-stats-plugin-0.3.0.tgz",
+ "integrity": "sha1-aVL2P+uaU5OjKNd0+z7MrHjS9Rs=",
+ "dev": true
+ },
"websocket-driver": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz",
@@ -23271,6 +33929,31 @@
}
}
},
+ "with-open-file": {
+ "version": "0.1.6",
+ "resolved": "http://r.cnpmjs.org/with-open-file/download/with-open-file-0.1.6.tgz",
+ "integrity": "sha1-C8F47Kt19rqsiuEcheB0RdaQ6lA=",
+ "dev": true,
+ "requires": {
+ "p-finally": "^1.0.0",
+ "p-try": "^2.1.0",
+ "pify": "^4.0.1"
+ },
+ "dependencies": {
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "http://r.cnpmjs.org/p-try/download/p-try-2.2.0.tgz",
+ "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=",
+ "dev": true
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "http://r.cnpmjs.org/pify/download/pify-4.0.1.tgz",
+ "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
+ "dev": true
+ }
+ }
+ },
"word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
@@ -23283,6 +33966,182 @@
"integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
"dev": true
},
+ "workbox-background-sync": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-background-sync/download/workbox-background-sync-4.3.1.tgz",
+ "integrity": "sha1-JoIbm/Funjf9HWQCie3dwIr9GVA=",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^4.3.1"
+ }
+ },
+ "workbox-broadcast-update": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-broadcast-update/download/workbox-broadcast-update-4.3.1.tgz",
+ "integrity": "sha1-4sAoCxSeOlBJg7dXYGrQQfMyw1s=",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^4.3.1"
+ }
+ },
+ "workbox-build": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-build/download/workbox-build-4.3.1.tgz",
+ "integrity": "sha1-QU9w+01t5H9lOGCLgOxSQS0jPmQ=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.3.4",
+ "@hapi/joi": "^15.0.0",
+ "common-tags": "^1.8.0",
+ "fs-extra": "^4.0.2",
+ "glob": "^7.1.3",
+ "lodash.template": "^4.4.0",
+ "pretty-bytes": "^5.1.0",
+ "stringify-object": "^3.3.0",
+ "strip-comments": "^1.0.2",
+ "workbox-background-sync": "^4.3.1",
+ "workbox-broadcast-update": "^4.3.1",
+ "workbox-cacheable-response": "^4.3.1",
+ "workbox-core": "^4.3.1",
+ "workbox-expiration": "^4.3.1",
+ "workbox-google-analytics": "^4.3.1",
+ "workbox-navigation-preload": "^4.3.1",
+ "workbox-precaching": "^4.3.1",
+ "workbox-range-requests": "^4.3.1",
+ "workbox-routing": "^4.3.1",
+ "workbox-strategies": "^4.3.1",
+ "workbox-streams": "^4.3.1",
+ "workbox-sw": "^4.3.1",
+ "workbox-window": "^4.3.1"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "4.0.3",
+ "resolved": "http://r.cnpmjs.org/fs-extra/download/fs-extra-4.0.3.tgz",
+ "integrity": "sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/jsonfile/download/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ }
+ }
+ },
+ "workbox-cacheable-response": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-cacheable-response/download/workbox-cacheable-response-4.3.1.tgz",
+ "integrity": "sha1-9T4HkXnAlaPxnlMTsoSXXJFCjJE=",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^4.3.1"
+ }
+ },
+ "workbox-core": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-core/download/workbox-core-4.3.1.tgz",
+ "integrity": "sha1-AF0sagahcUN6/WyikEpXJ+zXO+Y=",
+ "dev": true
+ },
+ "workbox-expiration": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-expiration/download/workbox-expiration-4.3.1.tgz",
+ "integrity": "sha1-15BDNWICnlaDfzQdf1U8Snjr6SE=",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^4.3.1"
+ }
+ },
+ "workbox-google-analytics": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-google-analytics/download/workbox-google-analytics-4.3.1.tgz",
+ "integrity": "sha1-ntoBg7EDiQtcJW5vTqFaHxVIUZo=",
+ "dev": true,
+ "requires": {
+ "workbox-background-sync": "^4.3.1",
+ "workbox-core": "^4.3.1",
+ "workbox-routing": "^4.3.1",
+ "workbox-strategies": "^4.3.1"
+ }
+ },
+ "workbox-navigation-preload": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-navigation-preload/download/workbox-navigation-preload-4.3.1.tgz",
+ "integrity": "sha1-Kcjk21hDgDs0zZbcFV+evZr6RT0=",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^4.3.1"
+ }
+ },
+ "workbox-precaching": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-precaching/download/workbox-precaching-4.3.1.tgz",
+ "integrity": "sha1-n8Re0SLZS74fDqlYT/WUCWB3HLo=",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^4.3.1"
+ }
+ },
+ "workbox-range-requests": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-range-requests/download/workbox-range-requests-4.3.1.tgz",
+ "integrity": "sha1-+KRwGIkiFFy/DAmpotXjVkUkTnQ=",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^4.3.1"
+ }
+ },
+ "workbox-routing": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-routing/download/workbox-routing-4.3.1.tgz",
+ "integrity": "sha1-pnWEGvYj4LsMZ85O2OckrAvtDNo=",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^4.3.1"
+ }
+ },
+ "workbox-strategies": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-strategies/download/workbox-strategies-4.3.1.tgz",
+ "integrity": "sha1-0r4DxO8hTBFeGrKcnHWcn+Pp5kY=",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^4.3.1"
+ }
+ },
+ "workbox-streams": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-streams/download/workbox-streams-4.3.1.tgz",
+ "integrity": "sha1-C1facOmCVy3gnIdC3Qy0Cmt8LMM=",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^4.3.1"
+ }
+ },
+ "workbox-sw": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-sw/download/workbox-sw-4.3.1.tgz",
+ "integrity": "sha1-32njlcR5700USZNyvNhMD14kYWQ=",
+ "dev": true
+ },
+ "workbox-window": {
+ "version": "4.3.1",
+ "resolved": "http://r.cnpmjs.org/workbox-window/download/workbox-window-4.3.1.tgz",
+ "integrity": "sha1-7mBRvxDwavpUg8m436BTGZTt4PM=",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^4.3.1"
+ }
+ },
"worker-farm": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
@@ -23516,17 +34375,88 @@
"path-extra": "^1.0.2"
}
},
+ "xdg-basedir": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/xdg-basedir/download/xdg-basedir-3.0.0.tgz",
+ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
+ "dev": true
+ },
+ "xhr": {
+ "version": "2.5.0",
+ "resolved": "http://r.cnpmjs.org/xhr/download/xhr-2.5.0.tgz",
+ "integrity": "sha1-vtjRZ21co2EIZnaSt0sxbEluSd0=",
+ "dev": true,
+ "requires": {
+ "global": "~4.3.0",
+ "is-function": "^1.0.1",
+ "parse-headers": "^2.0.0",
+ "xtend": "^4.0.0"
+ },
+ "dependencies": {
+ "global": {
+ "version": "4.3.2",
+ "resolved": "http://r.cnpmjs.org/global/download/global-4.3.2.tgz",
+ "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
+ "dev": true,
+ "requires": {
+ "min-document": "^2.19.0",
+ "process": "~0.5.1"
+ }
+ },
+ "process": {
+ "version": "0.5.2",
+ "resolved": "http://r.cnpmjs.org/process/download/process-0.5.2.tgz",
+ "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=",
+ "dev": true
+ }
+ }
+ },
"xml-name-validator": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
"dev": true
},
+ "xml-parse-from-string": {
+ "version": "1.0.1",
+ "resolved": "http://r.cnpmjs.org/xml-parse-from-string/download/xml-parse-from-string-1.0.1.tgz",
+ "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=",
+ "dev": true
+ },
+ "xml2js": {
+ "version": "0.4.22",
+ "resolved": "http://r.cnpmjs.org/xml2js/download/xml2js-0.4.22.tgz",
+ "integrity": "sha1-T6LYRuyAMjfehvMKqbX3C2YA3gI=",
+ "dev": true,
+ "requires": {
+ "sax": ">=0.6.0",
+ "util.promisify": "~1.0.0",
+ "xmlbuilder": "~11.0.0"
+ }
+ },
+ "xmlbuilder": {
+ "version": "11.0.1",
+ "resolved": "http://r.cnpmjs.org/xmlbuilder/download/xmlbuilder-11.0.1.tgz",
+ "integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM=",
+ "dev": true
+ },
"xmldom": {
"version": "0.1.27",
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
"integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
},
+ "xmlhttprequest-ssl": {
+ "version": "1.5.5",
+ "resolved": "http://r.cnpmjs.org/xmlhttprequest-ssl/download/xmlhttprequest-ssl-1.5.5.tgz",
+ "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
+ "dev": true
+ },
+ "xstate": {
+ "version": "4.6.7",
+ "resolved": "http://r.cnpmjs.org/xstate/download/xstate-4.6.7.tgz",
+ "integrity": "sha1-HzJd8H11Z2yQ1lsXo6VmkvJZ/UE=",
+ "dev": true
+ },
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
@@ -23545,6 +34475,15 @@
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
},
+ "yaml-loader": {
+ "version": "0.5.0",
+ "resolved": "http://r.cnpmjs.org/yaml-loader/download/yaml-loader-0.5.0.tgz",
+ "integrity": "sha1-hrGYLYSo5CnmZH2T3poBaeHBWCc=",
+ "dev": true,
+ "requires": {
+ "js-yaml": "^3.5.2"
+ }
+ },
"yargs": {
"version": "13.3.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz",
@@ -23664,6 +34603,256 @@
"requires": {
"camelcase": "^4.1.0"
}
+ },
+ "yauzl": {
+ "version": "2.10.0",
+ "resolved": "http://r.cnpmjs.org/yauzl/download/yauzl-2.10.0.tgz",
+ "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
+ "dev": true,
+ "requires": {
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
+ }
+ },
+ "yeast": {
+ "version": "0.1.2",
+ "resolved": "http://r.cnpmjs.org/yeast/download/yeast-0.1.2.tgz",
+ "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
+ "dev": true
+ },
+ "yoga-layout-prebuilt": {
+ "version": "1.9.3",
+ "resolved": "http://r.cnpmjs.org/yoga-layout-prebuilt/download/yoga-layout-prebuilt-1.9.3.tgz",
+ "integrity": "sha1-EeO+KQlq/jwoTl2WPMLWKBSME3I=",
+ "dev": true,
+ "optional": true
+ },
+ "yup": {
+ "version": "0.24.1",
+ "resolved": "http://r.cnpmjs.org/yup/download/yup-0.24.1.tgz",
+ "integrity": "sha1-LIqBtfkp7ymq93qLfJrPpSq2p9E=",
+ "dev": true,
+ "requires": {
+ "case": "^1.2.1",
+ "fn-name": "~1.0.1",
+ "lodash": "^4.17.0",
+ "property-expr": "^1.2.0",
+ "synchronous-promise": "^1.0.18",
+ "toposort": "^0.2.10",
+ "type-name": "^2.0.1"
+ },
+ "dependencies": {
+ "toposort": {
+ "version": "0.2.12",
+ "resolved": "http://r.cnpmjs.org/toposort/download/toposort-0.2.12.tgz",
+ "integrity": "sha1-x9KYTz1IwhcxXMMtdwiIt3lJHoE=",
+ "dev": true
+ }
+ }
+ },
+ "yurnalist": {
+ "version": "1.1.1",
+ "resolved": "http://r.cnpmjs.org/yurnalist/download/yurnalist-1.1.1.tgz",
+ "integrity": "sha1-cB/qTWoC96RNV7wNz3UThZBUncs=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "chalk": "^2.4.2",
+ "cli-table3": "^0.5.1",
+ "debug": "^4.1.1",
+ "deep-equal": "^1.1.0",
+ "detect-indent": "^6.0.0",
+ "inquirer": "^7.0.0",
+ "invariant": "^2.2.0",
+ "is-builtin-module": "^3.0.0",
+ "is-ci": "^2.0.0",
+ "leven": "^3.1.0",
+ "loud-rejection": "^2.2.0",
+ "node-emoji": "^1.10.0",
+ "object-path": "^0.11.2",
+ "read": "^1.0.7",
+ "rimraf": "^3.0.0",
+ "semver": "^6.3.0",
+ "strip-ansi": "^5.2.0",
+ "strip-bom": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-escapes": {
+ "version": "4.2.1",
+ "resolved": "http://r.cnpmjs.org/ansi-escapes/download/ansi-escapes-4.2.1.tgz",
+ "integrity": "sha1-TczbhGw+7hD21k3qZic+q5DDcig=",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.5.2"
+ }
+ },
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
+ "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
+ "dev": true
+ },
+ "cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/cli-cursor/download/cli-cursor-3.1.0.tgz",
+ "integrity": "sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^3.1.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "http://r.cnpmjs.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "http://r.cnpmjs.org/emoji-regex/download/emoji-regex-8.0.0.tgz",
+ "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=",
+ "dev": true
+ },
+ "figures": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/figures/download/figures-3.1.0.tgz",
+ "integrity": "sha1-SxmN0H2NcVMGQoZK8tRd2eRZxOw=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "inquirer": {
+ "version": "7.0.0",
+ "resolved": "http://r.cnpmjs.org/inquirer/download/inquirer-7.0.0.tgz",
+ "integrity": "sha1-nisDLd532h2124BHWLj+o6lwUZo=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^2.4.2",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^2.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.15",
+ "mute-stream": "0.0.8",
+ "run-async": "^2.2.0",
+ "rxjs": "^6.4.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^5.1.0",
+ "through": "^2.3.6"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=",
+ "dev": true
+ },
+ "loud-rejection": {
+ "version": "2.2.0",
+ "resolved": "http://r.cnpmjs.org/loud-rejection/download/loud-rejection-2.2.0.tgz",
+ "integrity": "sha1-QlXrbpx0BFsO3AIfpzl6tlWoUXw=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "^0.4.1",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "http://r.cnpmjs.org/mimic-fn/download/mimic-fn-2.1.0.tgz",
+ "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ },
+ "mute-stream": {
+ "version": "0.0.8",
+ "resolved": "http://r.cnpmjs.org/mute-stream/download/mute-stream-0.0.8.tgz",
+ "integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=",
+ "dev": true
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "http://r.cnpmjs.org/onetime/download/onetime-5.1.0.tgz",
+ "integrity": "sha1-//DzyRYX/mK7UBiWNumayKbfe+U=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "http://r.cnpmjs.org/restore-cursor/download/restore-cursor-3.1.0.tgz",
+ "integrity": "sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=",
+ "dev": true,
+ "requires": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "rimraf": {
+ "version": "3.0.0",
+ "resolved": "http://r.cnpmjs.org/rimraf/download/rimraf-3.0.0.tgz",
+ "integrity": "sha1-YUF21LMBC3Xlw5DrDulvbcDOu5s=",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "http://r.cnpmjs.org/semver/download/semver-6.3.0.tgz",
+ "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.1.0",
+ "resolved": "http://r.cnpmjs.org/string-width/download/string-width-4.1.0.tgz",
+ "integrity": "sha1-uoRtHaqXw8WWFVMIBj4HXtHJmv8=",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^5.2.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-5.2.0.tgz",
+ "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "strip-bom": {
+ "version": "4.0.0",
+ "resolved": "http://r.cnpmjs.org/strip-bom/download/strip-bom-4.0.0.tgz",
+ "integrity": "sha1-nDUFwdtFvO3KPZz3oW9cWqOQGHg=",
+ "dev": true
+ },
+ "type-fest": {
+ "version": "0.5.2",
+ "resolved": "http://r.cnpmjs.org/type-fest/download/type-fest-0.5.2.tgz",
+ "integrity": "sha1-1u9CoDVsbNRfSUhcO2KB/BSOSKI=",
+ "dev": true
+ }
+ }
+ },
+ "zwitch": {
+ "version": "1.0.4",
+ "resolved": "http://r.cnpmjs.org/zwitch/download/zwitch-1.0.4.tgz",
+ "integrity": "sha1-k7G5k7E8iSZ1OkGvr48nu/rGvos=",
+ "dev": true
}
}
}
diff --git a/package.json b/package.json
index 9b2c796cb2..bfc9d4ca78 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,11 @@
{
"private": true,
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/antvis/L7"
+ },
"devDependencies": {
+ "@antv/gatsby-theme-antv": "^0.9.7",
"@babel/cli": "^7.6.4",
"@babel/core": "^7.6.4",
"@babel/plugin-proposal-decorators": "^7.6.0",
@@ -33,6 +38,7 @@
"babel-plugin-css-modules-transform": "^1.6.2",
"babel-plugin-inline-import": "^3.0.0",
"babel-plugin-transform-postcss": "^0.3.0",
+ "babel-preset-gatsby": "^0.2.20",
"clean-webpack-plugin": "^0.1.19",
"commitizen": "^4.0.3",
"copy-webpack-plugin": "^4.5.2",
@@ -43,6 +49,8 @@
"enzyme": "^3.6.0",
"enzyme-adapter-react-16": "^1.5.0",
"enzyme-to-json": "^3.0.0-beta6",
+ "gatsby": "^2.17.7",
+ "gh-pages": "^2.1.1",
"gl": "^4.4.0",
"html-webpack-plugin": "^3.2.0",
"husky": "^3.0.9",
@@ -59,6 +67,7 @@
"react": "^16.8.6",
"react-docgen-typescript-loader": "^3.1.0",
"react-dom": "^16.8.6",
+ "react-i18next": "^11.0.1",
"rimraf": "^2.6.2",
"sass-loader": "^7.1.0",
"style-loader": "^1.0.0",
@@ -81,6 +90,11 @@
"worker-loader": "^2.0.0"
},
"scripts": {
+ "start": "export NODE_ENV=site && npm run site:develop",
+ "site:develop": "gatsby develop --open -H 0.0.0.0",
+ "site:build": "npm run site:clean && export NODE_ENV=site && gatsby build --prefix-paths",
+ "site:clean": "gatsby clean",
+ "site:deploy": "npm run site:build && gh-pages -d public",
"prebuild": "run-p tsc lint",
"build": "lerna exec --parallel 'BABEL_ENV=build babel src --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments'",
"postbuild": "yarn build:declarations",
diff --git a/packages/component/src/control/BaseControl.ts b/packages/component/src/control/BaseControl.ts
index 17fe8b01cc..d3ce12e732 100644
--- a/packages/component/src/control/BaseControl.ts
+++ b/packages/component/src/control/BaseControl.ts
@@ -1,6 +1,14 @@
-import { IControlService, IMapService, lazyInject, TYPES } from '@l7/core';
+import {
+ IControlService,
+ ILayerService,
+ IMapService,
+ IRendererService,
+ lazyInject,
+ TYPES,
+} from '@l7/core';
import { DOM } from '@l7/utils';
import { EventEmitter } from 'eventemitter3';
+import { inject } from 'inversify';
export enum PositionType {
'TOPRIGHT' = 'topright',
@@ -20,9 +28,15 @@ export interface IControlOption {
export default class Control extends EventEmitter {
public controlOption: IControlOption;
protected mapsService: IMapService;
+ protected container: HTMLElement;
+
+ @lazyInject(TYPES.IRendererService)
+ protected readonly renderService: IRendererService;
+ @lazyInject(TYPES.ILayerService)
+ protected readonly layerService: ILayerService;
@lazyInject(TYPES.IControlService)
private readonly controlService: IControlService;
- private container: HTMLElement;
+
private isShow: boolean;
constructor(cfg?: Partial) {
diff --git a/packages/component/src/control/layer.ts b/packages/component/src/control/layer.ts
index ff8b233c95..9aaab7ee7a 100644
--- a/packages/component/src/control/layer.ts
+++ b/packages/component/src/control/layer.ts
@@ -10,12 +10,22 @@ export interface ILayerControlOption extends IControlOption {
autoZIndex: boolean;
hideSingleBase: boolean;
sortLayers: boolean;
+
+ sortFunction: (...args: any[]) => any;
+}
+interface IInputItem extends HTMLInputElement {
+ layerId: string;
}
export default class Layers extends Control {
private layerControlInputs: any[];
private layers: any[];
private lastZIndex: number;
private handlingClick: boolean;
+ private layersLink: HTMLElement;
+ private baseLayersList: HTMLElement;
+ private separator: HTMLElement;
+ private overlaysList: HTMLElement;
+ private form: HTMLElement;
constructor(cfg: Partial) {
super(cfg);
@@ -23,16 +33,25 @@ export default class Layers extends Control {
this.layers = [];
this.lastZIndex = 0;
this.handlingClick = false;
- // const baseLayers = this.get('baseLayers');
- // const overlays = this.get('overlayers');
- // for (const i in baseLayers) {
- // this._addLayer(baseLayers[i], i);
- // }
+ const { baseLayers = {}, overlayers = {} } = this.controlOption;
- // for (const i in overlays) {
- // this._addLayer(overlays[i], i, true);
- // }
- // bindAll([ '_checkDisabledLayers', '_onLayerChange', 'collapse', 'extend', 'expand', '_onInputClick' ], this);
+ Object.keys(baseLayers).forEach((name: string, index: number) => {
+ this.addLayer(baseLayers[name], name, false);
+ });
+ Object.keys(overlayers).forEach((name: any, index: number) => {
+ this.addLayer(overlayers[name], name, true);
+ });
+ bindAll(
+ [
+ 'checkDisabledLayers',
+ 'onLayerChange',
+ 'collapse',
+ 'extend',
+ 'expand',
+ 'onInputClick',
+ ],
+ this,
+ );
}
public getDefault() {
@@ -44,4 +63,248 @@ export default class Layers extends Control {
sortLayers: false,
};
}
+ public onAdd(MapService: IMapService) {
+ this.initLayout();
+ this.update();
+ this.mapsService.on('zoomend', this.checkDisabledLayers);
+ this.layers.forEach((layerItem) => {
+ layerItem.layer.on('remove', this.onLayerChange);
+ layerItem.layer.on('add', this.onLayerChange);
+ });
+ return this.container;
+ }
+
+ public addVisualLayer(layer: any, name: string | number) {
+ this.addLayer(layer, name, true);
+ return this.mapsService ? this.update() : this;
+ }
+ public expand() {
+ const { height } = this.renderService.getViewportSize();
+ DOM.addClass(this.container, 'l7-control-layers-expanded');
+ this.form.style.height = 'null';
+ const acceptableHeight = height - (this.container.offsetTop + 50);
+ if (acceptableHeight < this.form.clientHeight) {
+ DOM.addClass(this.form, 'l7-control-layers-scrollbar');
+ this.form.style.height = acceptableHeight + 'px';
+ } else {
+ DOM.removeClass(this.form, 'l7-control-layers-scrollbar');
+ }
+ this.checkDisabledLayers();
+ return this;
+ }
+
+ public collapse() {
+ DOM.removeClass(this.container, 'l7-control-layers-expanded');
+ return this;
+ }
+
+ private initLayout() {
+ const className = 'l7-control-layers';
+ const container = (this.container = DOM.create('div', className));
+ const { collapsed } = this.controlOption;
+
+ // makes this work on IE touch devices by stopping it from firing a mouseout event when the touch is released
+ container.setAttribute('aria-haspopup', 'true');
+
+ const form = (this.form = DOM.create(
+ 'form',
+ className + '-list',
+ ) as HTMLElement);
+
+ if (collapsed) {
+ this.mapsService.on('click', this.collapse);
+ container.addEventListener('mouseenter', this.expand);
+ container.addEventListener('mouseleave', this.collapse);
+ }
+
+ this.layersLink = DOM.create('a', className + '-toggle', container);
+ const link = this.layersLink;
+ // link.href = '#';
+ link.title = 'Layers';
+ if (!collapsed) {
+ this.expand();
+ }
+
+ this.baseLayersList = DOM.create('div', className + '-base', form);
+ this.separator = DOM.create('div', className + '-separator', form);
+ this.overlaysList = DOM.create('div', className + '-overlays', form);
+ container.appendChild(form);
+ }
+
+ private update() {
+ if (!this.container) {
+ return this;
+ }
+
+ DOM.empty(this.baseLayersList);
+ DOM.empty(this.overlaysList);
+
+ this.layerControlInputs = [];
+ let baseLayersPresent;
+ let overlaysPresent;
+ let i;
+ let obj;
+ let baseLayersCount = 0;
+
+ for (i = 0; i < this.layers.length; i++) {
+ obj = this.layers[i];
+ this.addItem(obj);
+ overlaysPresent = overlaysPresent || obj.overlay;
+ baseLayersPresent = baseLayersPresent || !obj.overlay;
+ baseLayersCount += !obj.overlay ? 1 : 0;
+ }
+
+ // Hide base layers section if there's only one layer.
+ if (this.controlOption.hideSingleBase) {
+ baseLayersPresent = baseLayersPresent && baseLayersCount > 1;
+ this.baseLayersList.style.display = baseLayersPresent ? '' : 'none';
+ }
+
+ this.separator.style.display =
+ overlaysPresent && baseLayersPresent ? '' : 'none';
+
+ return this;
+ }
+
+ private checkDisabledLayers() {
+ const inputs = this.layerControlInputs;
+ let input: IInputItem;
+ let layer;
+ const zoom = this.mapsService.getZoom();
+
+ for (let i = inputs.length - 1; i >= 0; i--) {
+ input = inputs[i];
+ layer = this.layerService.getLayer(input.layerId);
+ if (layer) {
+ input.disabled = layer.visible && !layer.isVisible();
+ }
+ }
+ }
+
+ private addLayer(layer: any, name: string | number, overlay: boolean) {
+ if (this.mapsService) {
+ layer.on('add', this.onLayerChange);
+ layer.on('remove', this.onLayerChange);
+ }
+ this.layers.push({
+ layer,
+ name,
+ overlay,
+ });
+ const { sortLayers, sortFunction, autoZIndex } = this.controlOption;
+ if (sortLayers) {
+ this.layers.sort((a, b) => {
+ return sortFunction(a.layer, b.layer, a.name, b.name);
+ });
+ }
+
+ if (autoZIndex && layer.setZIndex) {
+ this.lastZIndex++;
+ layer.setZIndex(this.lastZIndex);
+ }
+
+ this.expandIfNotCollapsed();
+ }
+
+ private expandIfNotCollapsed() {
+ if (this.mapsService && !this.controlOption.collapsed) {
+ this.expand();
+ }
+ return this;
+ }
+
+ private onLayerChange(e: any) {
+ if (!this.handlingClick) {
+ this.update();
+ }
+
+ const obj = this.layerService.getLayer(e.target.layerId);
+
+ const type = obj.overlay
+ ? e.type === 'add'
+ ? 'overlayadd'
+ : 'overlayremove'
+ : e.type === 'add'
+ ? 'baselayerchange'
+ : null;
+
+ if (type) {
+ this.emit(type, obj); // TODO:图
+ }
+ }
+
+ private createRadioElement(name: string, checked: boolean): ChildNode {
+ const radioHtml =
+ '';
+
+ const radioFragment = document.createElement('div');
+ radioFragment.innerHTML = radioHtml;
+
+ return radioFragment.firstChild as ChildNode;
+ }
+
+ private addItem(obj: any) {
+ const label = document.createElement('label');
+ const checked =
+ this.layerService.getLayer(obj.layer.id) && obj.layer.isVisible();
+ let input: IInputItem;
+
+ if (obj.overlay) {
+ input = document.createElement('input') as IInputItem;
+ input.type = 'checkbox';
+ input.className = 'l7-control-layers-selector';
+ input.defaultChecked = checked;
+ } else {
+ input = this.createRadioElement('l7-base-layers', checked) as IInputItem;
+ }
+ this.layerControlInputs.push(input);
+ input.layerId = obj.layer.id;
+ input.addEventListener('click', this.onInputClick);
+
+ const name = document.createElement('span');
+ name.innerHTML = ' ' + obj.name;
+
+ const holder = document.createElement('div');
+
+ label.appendChild(holder);
+ holder.appendChild(input);
+ holder.appendChild(name);
+
+ const container = obj.overlay ? this.overlaysList : this.baseLayersList;
+ container.appendChild(label);
+
+ this.checkDisabledLayers();
+ return label;
+ }
+
+ private onInputClick() {
+ const inputs = this.layerControlInputs;
+ let input;
+ let layer;
+ const addedLayers = [];
+ const removedLayers = [];
+ this.handlingClick = true;
+ for (let i = inputs.length - 1; i >= 0; i--) {
+ input = inputs[i];
+ layer = this.layerService.getLayer(input.layerId);
+
+ if (input.checked) {
+ addedLayers.push(layer);
+ } else if (!input.checked) {
+ removedLayers.push(layer);
+ }
+ }
+ removedLayers.forEach((l: any) => {
+ l.hide();
+ });
+ addedLayers.forEach((l: any) => {
+ l.show();
+ });
+
+ this.handlingClick = false;
+ }
}
diff --git a/packages/component/src/control/logo.ts b/packages/component/src/control/logo.ts
new file mode 100644
index 0000000000..75b07eda59
--- /dev/null
+++ b/packages/component/src/control/logo.ts
@@ -0,0 +1,25 @@
+import { IMapService } from '@l7/core';
+import { bindAll, DOM } from '@l7/utils';
+import Control, { IControlOption, PositionType } from './BaseControl';
+export default class Logo extends Control {
+ public getDefault() {
+ return {
+ position: PositionType.BOTTOMLEFT,
+ };
+ }
+ public onAdd(MapService: IMapService) {
+ const className = 'l7-control-logo';
+ const container = DOM.create('div', className);
+ const anchor: HTMLLinkElement = DOM.create(
+ 'a',
+ 'l7-ctrl-logo',
+ ) as HTMLLinkElement;
+ anchor.target = '_blank';
+ anchor.rel = 'noopener nofollow';
+ anchor.href = 'https://antv.alipay.com/l7';
+ anchor.setAttribute('aria-label', 'AntV logo');
+ anchor.setAttribute('rel', 'noopener nofollow');
+ container.appendChild(anchor);
+ return container;
+ }
+}
diff --git a/packages/component/src/css/l7.css b/packages/component/src/css/l7.css
index 329ae393df..3026f3b9ca 100644
--- a/packages/component/src/css/l7.css
+++ b/packages/component/src/css/l7.css
@@ -279,7 +279,7 @@
.l7-right .l7-control {
margin-right: 10px;
}
-
+
/* attribution and scale controls */
.l7-control-container .l7-control-attribution {
@@ -350,6 +350,406 @@
background: #fff;
border-radius: 5px;
}
+.l7-control-layers-toggle {
+ background-image: url(../images/layers.png);
+ width: 36px;
+ height: 36px;
+ }
+.l7-retina .l7-control-layers-toggle {
+ background-image: url(../images/layers.png);
+ background-size: 26px 26px;
+ }
+.l7-touch .l7-control-layers-toggle {
+ width: 44px;
+ height: 44px;
+ }
+.l7-control-layers .l7-control-layers-list,
+.l7-control-layers-expanded .l7-control-layers-toggle {
+ display: none;
+ }
+.l7-control-layers-expanded .l7-control-layers-list {
+ display: block;
+ position: relative;
+ font-size: 19px;
+ padding: 8px;
+ }
+.l7-control-layers-expanded {
+ padding: 6px 10px 6px 6px;
+ color: #333;
+ background: #fff;
+ }
+.l7-control-layers-scrollbar {
+ overflow-y: scroll;
+ overflow-x: hidden;
+ padding-right: 5px;
+ }
+.l7-cont.l7-marker {
+ position: absolute !important;
+ top: 0;
+ left: 0;
+ z-index: 5;
+}
+.l7-popup-anchor-top,
+.l7-popup-anchor-top-left,
+.l7-popup-anchor-top-right {
+ -webkit-flex-direction: column;
+ flex-direction: column;
+}
+
+.l7-popup-anchor-bottom,
+.l7-popup-anchor-bottom-left,
+.l7-popup-anchor-bottom-right {
+ -webkit-flex-direction: column-reverse;
+ flex-direction: column-reverse;
+}
+
+.l7-popup-anchor-left {
+ -webkit-flex-direction: row;
+ flex-direction: row;
+}
+
+.l7-popup-anchor-right {
+ -webkit-flex-direction: row-reverse;
+ flex-direction: row-reverse;
+}
+.l7-popup {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: -webkit-flex;
+ display: flex;
+ will-change: transform;
+ pointer-events: none;
+ z-index: 5;
+}
+.l7-popup-tip {
+ width: 0;
+ height: 0;
+ border: 10px solid transparent;
+ z-index: 1;
+}
+.l7-popup-anchor-top .l7-popup-tip {
+ -webkit-align-self: center;
+ align-self: center;
+ border-top: none;
+ border-bottom-color: #fff;
+}
+
+.l7-popup-anchor-top-left .l7-popup-tip {
+ -webkit-align-self: flex-start;
+ align-self: flex-start;
+ border-top: none;
+ border-left: none;
+ border-bottom-color: #fff;
+}
+
+.l7-popup-anchor-top-right .l7-popup-tip {
+ -webkit-align-self: flex-end;
+ align-self: flex-end;
+ border-top: none;
+ border-right: none;
+ border-bottom-color: #fff;
+}
+
+.l7-popup-anchor-bottom .l7-popup-tip {
+ -webkit-align-self: center;
+ align-self: center;
+ border-bottom: none;
+ border-top-color: #fff;
+}
+
+.l7-popup-anchor-bottom-left .l7-popup-tip {
+ -webkit-align-self: flex-start;
+ align-self: flex-start;
+ border-bottom: none;
+ border-left: none;
+ border-top-color: #fff;
+}
+
+.l7-popup-anchor-bottom-right .l7-popup-tip {
+ -webkit-align-self: flex-end;
+ align-self: flex-end;
+ border-bottom: none;
+ border-right: none;
+ border-top-color: #fff;
+}
+
+.l7-popup-anchor-left .l7-popup-tip {
+ -webkit-align-self: center;
+ align-self: center;
+ border-left: none;
+ border-right-color: #fff;
+}
+
+.l7-popup-anchor-right .l7-popup-tip {
+ -webkit-align-self: center;
+ align-self: center;
+ border-right: none;
+ border-left-color: #fff;
+}
+
+.l7-popup-close-button {
+ position: absolute;
+ right: 0;
+ top: 0;
+ border: 0;
+ padding: 0;
+ font-size: 25px;
+ line-height: 20px;
+ border-radius: 0 3px 0 0;
+ cursor: pointer;
+ background-color: transparent;
+}
+
+.l7-popup-close-button:hover {
+ background-color: rgba(0, 0, 0, 0.05);
+}
+
+.l7-popup-content {
+ position: relative;
+ background: #fff;
+ border-radius: 3px;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
+ padding: 10px 10px 15px;
+ pointer-events: auto;
+}
+
+.l7-popup-anchor-top-left .l7-popup-content {
+ border-top-left-radius: 0;
+}
+
+.l7-popup-anchor-top-right .l7-popup-content {
+ border-top-right-radius: 0;
+}
+
+.l7-popup-anchor-bottom-left .l7-popup-content {
+ border-bottom-left-radius: 0;
+}
+
+.l7-popup-anchor-bottom-right .l7-popup-content {
+ border-bottom-right-radius: 0;
+}
+
+.l7-popup-track-pointer {
+ display: none;
+}
+
+.l7-popup-track-pointer * {
+ pointer-events: none;
+ user-select: none;
+}
+
+.l7-map:hover .l7-popup-track-pointer {
+ display: flex;
+}
+
+.l7-map:active .l7-popup-track-pointer {
+ display: none;
+}
+
+.l7-popup-close-button {
+ position: absolute;
+ right: 0;
+ top: 0;
+ border: 0;
+ border-radius: 0 3px 0 0;
+ cursor: pointer;
+ background-color: transparent;
+}
+
+.l7-popup-close-button:hover {
+ background-color: rgba(0, 0, 0, 0.05);
+}
+
+.l7-popup-content {
+ position: relative;
+ background: #fff;
+ border-radius: 3px;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
+ padding: 10px 10px 15px;
+ pointer-events: auto;
+}
+
+/* general toolbar styles */
+
+.l7-bar {
+ box-shadow: 0 1px 5px rgba(0,0,0,0.65);
+ border-radius: 4px;
+ }
+.l7-bar a,
+.l7-bar a:hover {
+ background-color: #fff;
+ width: 36px;
+ height: 36px;
+ line-height: 30px;
+ font-size: 30px;
+ display: block;
+ text-align: center;
+ text-decoration: none;
+ color: #8E9DAB;
+ }
+.l7-bar a,
+.l7-control-layers-toggle {
+ background-position: 50% 50%;
+ background-repeat: no-repeat;
+ display: block;
+ }
+.l7-bar a:hover {
+ background-color: #f4f4f4;
+ }
+.l7-bar a:first-child {
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ }
+.l7-bar a:last-child {
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ border-bottom: none;
+ }
+.l7-bar a.l7-disabled {
+ cursor: default;
+ background-color: #f4f4f4;
+ color: #bbb;
+ }
+
+
+/* control positioning */
+
+.l7-control-container {
+ font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
+}
+.l7-control-hide {
+ display: none;
+}
+.l7-control {
+ position: relative;
+ z-index: 800;
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
+ pointer-events: auto;
+ }
+.l7-top,
+.l7-bottom {
+ position: absolute;
+ z-index: 1000;
+ pointer-events: none;
+ }
+.l7-top {
+ top: 0;
+ }
+.l7-right {
+ right: 0;
+ }
+.l7-bottom {
+ bottom: 0;
+ }
+.l7-left {
+ left: 0;
+ }
+.l7-control {
+ float: left;
+ clear: both;
+ }
+.l7-right .l7-control {
+ float: right;
+ }
+.l7-top .l7-control {
+ margin-top: 10px;
+ }
+.l7-bottom .l7-control {
+ margin-bottom: 10px;
+ }
+.l7-left .l7-control {
+ margin-left: 10px;
+ }
+.l7-right .l7-control {
+ margin-right: 10px;
+ }
+
+ /* attribution and scale controls */
+
+.l7-control-container .l7-control-attribution {
+ background: #fff;
+ background: rgba(255, 255, 255, 0.7);
+ margin: 0;
+ }
+.l7-control-attribution,
+.l7-control-scale-line {
+ padding: 0 5px;
+ color: #333;
+ }
+.l7-control-attribution a {
+ text-decoration: none;
+ }
+.l7-control-attribution a:hover {
+ text-decoration: underline;
+ }
+.l7-container .l7-control-attribution,
+.l7-container .l7-control-scale {
+ font-size: 11px;
+ padding: 5px 5px 2px 5px;
+ background: rgba(255, 255, 255, 0.7);
+ }
+.l7-left .l7-control-scale {
+ margin-left: 5px;
+ }
+.l7-bottom .l7-control-scale {
+ margin-bottom: 5px;
+ }
+.l7-control-scale-line {
+ border: 2px solid #8E9DAB;
+ border-top: none;
+ color: #8e9dab;
+ line-height: 1.1;
+ padding: 2px 5px 1px;
+ font-size: 11px;
+ white-space: nowrap;
+ overflow: hidden;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+
+ background: #fff;
+ background: rgba(255, 255, 255, 0.8);
+ }
+.l7-control-scale-line:not(:first-child) {
+ border-top: 2px solid #777;
+ border-bottom: none;
+ margin-top: -2px;
+ }
+.l7-control-scale-line:not(:first-child):not(:last-child) {
+ border-bottom: 2px solid #777;
+ }
+
+.l7-touch .l7-control-attribution,
+.l7-touch .l7-control-layers,
+.l7-touch .l7-bar {
+ box-shadow: none;
+ }
+.l7-touch .l7-control-layers,
+.l7-touch .l7-bar {
+ border: 2px solid rgba(0,0,0,0.2);
+ background-clip: padding-box;
+ }
+ /*logo */
+
+ .l7-ctrl-logo {
+ background-size: 100% 100%;
+ width: 89px;
+ height: 16px;
+ margin: 0 0 -3px -3px;
+ display: block;
+ background-repeat: no-repeat;
+ cursor: pointer;
+ background-image: url('../images/logo.png');
+}
+
+
+ /* layers control */
+
+.l7-control-layers {
+ box-shadow: 0 1px 8px rgba(0,0,0,0.4);
+ background: #fff;
+ border-radius: 2px;
+ }
.l7-control-layers-toggle {
background-image: url(../images/layers.svg);
width: 36px;
@@ -373,7 +773,7 @@
}
.l7-control-layers-expanded {
padding: 6px 10px 6px 6px;
- color: #333;
+ color: #59626B;
background: #fff;
}
.l7-control-layers-scrollbar {
@@ -387,11 +787,27 @@
top: 1px;
}
.l7-control-layers label {
- display: block;
- }
+ display: block;
+ padding: 8px;
+ }
+.l7-control-layers label input[type="radio"], input[type="checkbox"]{
+ width: 19px;
+ height: 19px;
+ margin: 0;
+ vertical-align: middle;
+ -ms-transform: scale(1.5); /* IE 9 */
+ -webkit-transform: scale(1.5); /* Chrome, Safari, Opera */
+ transform: scale(1.5);
+}
.l7-control-layers-separator {
height: 0;
- border-top: 1px solid #ddd;
+ border-top: 1px solid #D8D8D8;
margin: 5px -10px 5px -6px;
+}
+
+.l7-control-layers-selector {
+ margin-top: 2px;
+ position: relative;
+ top: 1px;
}
diff --git a/packages/component/src/images/layers.png b/packages/component/src/images/layers.png
new file mode 100644
index 0000000000..4e9f67b6d2
Binary files /dev/null and b/packages/component/src/images/layers.png differ
diff --git a/packages/component/src/images/layers.svg b/packages/component/src/images/layers.svg
new file mode 100644
index 0000000000..615f4172d7
--- /dev/null
+++ b/packages/component/src/images/layers.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/component/src/images/logo.png b/packages/component/src/images/logo.png
new file mode 100644
index 0000000000..7599f280a0
Binary files /dev/null and b/packages/component/src/images/logo.png differ
diff --git a/packages/component/src/index.ts b/packages/component/src/index.ts
index b31d6fbd0b..21eaa07aae 100644
--- a/packages/component/src/index.ts
+++ b/packages/component/src/index.ts
@@ -1,6 +1,9 @@
import Control from './control/BaseControl';
+import Layers from './control/layer';
+import Logo from './control/logo';
import Scale from './control/scale';
import Zoom from './control/zoom';
import Marker from './marker';
import Popup from './popup';
-export { Control, Scale, Zoom, Marker, Popup };
+
+export { Control, Logo, Scale, Zoom, Layers, Marker, Popup };
diff --git a/packages/core/src/inversify.config.ts b/packages/core/src/inversify.config.ts
index 71f4a8980f..be2e81e98d 100644
--- a/packages/core/src/inversify.config.ts
+++ b/packages/core/src/inversify.config.ts
@@ -53,7 +53,7 @@ const container = new Container();
container
.bind(TYPES.ISceneService)
.to(SceneService)
- .inSingletonScope();
+ .inTransientScope();
container
.bind(TYPES.IGlobalConfigService)
.to(GlobalConfigService)
@@ -100,7 +100,7 @@ container
// @see https://github.com/inversify/InversifyJS/blob/master/wiki/inheritance.md#what-can-i-do-when-my-base-class-is-provided-by-a-third-party-module
decorate(injectable(), EventEmitter);
-
+container.bind(TYPES.IEventEmitter).to(EventEmitter);
// 支持 L7 使用 new 而非容器实例化的场景,同时禁止 lazyInject cache
// @see https://github.com/inversify/inversify-inject-decorators#caching-vs-non-caching-behaviour
const DECORATORS = getDecorators(container, false);
diff --git a/packages/core/src/services/asset/FontService.ts b/packages/core/src/services/asset/FontService.ts
index 045e5787af..656fffc5e2 100644
--- a/packages/core/src/services/asset/FontService.ts
+++ b/packages/core/src/services/asset/FontService.ts
@@ -64,6 +64,7 @@ export default class FontService implements IFontService {
private key: string;
private cache: LRUCache = new LRUCache(CACHE_LIMIT);
public init() {
+ this.cache.clear();
this.fontOptions = {
fontFamily: DEFAULT_FONT_FAMILY,
fontWeight: DEFAULT_FONT_WEIGHT,
diff --git a/packages/core/src/services/asset/IIconService.ts b/packages/core/src/services/asset/IIconService.ts
index 5327519aa4..f71632015f 100644
--- a/packages/core/src/services/asset/IIconService.ts
+++ b/packages/core/src/services/asset/IIconService.ts
@@ -5,11 +5,11 @@ export type Listener = (...args: any[]) => void;
export interface IIconValue {
x: number;
y: number;
- image: HTMLImageElement;
+ image?: HTMLImageElement;
}
export interface IIcon {
id: string;
- image: HTMLImageElement;
+ image?: HTMLImageElement;
height: number;
width: number;
}
diff --git a/packages/core/src/services/asset/IconService.ts b/packages/core/src/services/asset/IconService.ts
index f165bfeee2..2b593388a8 100644
--- a/packages/core/src/services/asset/IconService.ts
+++ b/packages/core/src/services/asset/IconService.ts
@@ -33,15 +33,26 @@ export default class IconService extends EventEmitter implements IIconService {
if (this.hasImage(id)) {
throw new Error('Image Id already exists');
}
-
+ this.iconData.push({
+ id,
+ width: imageSize,
+ height: imageSize,
+ });
+ this.updateIconMap();
this.loadImage(image).then((img) => {
imagedata = img as HTMLImageElement;
- this.iconData.push({
- id,
- image: imagedata,
- width: imageSize,
- height: imageSize,
+ const iconImage = this.iconData.find((icon: IIcon) => {
+ return icon.id === id;
});
+ if (iconImage) {
+ iconImage.image = imagedata;
+ }
+ // this.iconData.push({
+ // id,
+ // image: imagedata,
+ // width: imageSize,
+ // height: imageSize,
+ // });
this.update();
});
}
@@ -86,7 +97,9 @@ export default class IconService extends EventEmitter implements IIconService {
this.canvas.height = this.canvasHeight;
Object.keys(this.iconMap).forEach((item: string) => {
const { x, y, image } = this.iconMap[item];
- this.ctx.drawImage(image, x, y, imageSize, imageSize);
+ if (image) {
+ this.ctx.drawImage(image, x, y, imageSize, imageSize);
+ }
});
}
diff --git a/packages/core/src/services/component/ControlService.ts b/packages/core/src/services/component/ControlService.ts
index 6775b1fb06..f2024d4fe4 100644
--- a/packages/core/src/services/component/ControlService.ts
+++ b/packages/core/src/services/component/ControlService.ts
@@ -15,6 +15,7 @@ export default class ControlService implements IControlService {
public controlContainer: HTMLElement;
private controls: IControl[] = [];
public init(cfg: IControlServiceCfg) {
+ this.destroy();
this.container = cfg.container;
this.initControlPos();
}
@@ -23,7 +24,6 @@ export default class ControlService implements IControlService {
ctr.addTo(mapService); // scene对象
this.controls.push(ctr);
}
-
public removeControl(ctr: IControl): this {
const index = this.controls.indexOf(ctr);
if (index > -1) {
@@ -68,7 +68,9 @@ export default class ControlService implements IControlService {
DOM.remove(this.controlCorners[i]);
}
}
- DOM.remove(this.controlContainer);
+ if (this.controlContainer) {
+ DOM.remove(this.controlContainer);
+ }
delete this.controlCorners;
delete this.controlContainer;
}
diff --git a/packages/core/src/services/interaction/InteractionService.ts b/packages/core/src/services/interaction/InteractionService.ts
index e1860a3297..b4a8d064b2 100644
--- a/packages/core/src/services/interaction/InteractionService.ts
+++ b/packages/core/src/services/interaction/InteractionService.ts
@@ -23,6 +23,7 @@ export default class InteractionService extends EventEmitter
public init() {
// 注册事件在地图底图上
+ this.clear();
this.addEventListenerOnMap();
}
@@ -68,4 +69,11 @@ export default class InteractionService extends EventEmitter
private onHover = ({ x, y }: MouseEvent) => {
this.emit(InteractionEvent.Hover, { x, y });
};
+ private clear() {
+ if (this.hammertime) {
+ this.hammertime.destroy();
+ }
+ this.removeEventListenerOnMap();
+ this.off(InteractionEvent.Hover);
+ }
}
diff --git a/packages/core/src/services/layer/ILayerService.ts b/packages/core/src/services/layer/ILayerService.ts
index ff8462936a..40da3c56fc 100644
--- a/packages/core/src/services/layer/ILayerService.ts
+++ b/packages/core/src/services/layer/ILayerService.ts
@@ -6,6 +6,7 @@ import { ISource, ISourceCFG } from '../source/ISourceService';
import {
IEncodeFeature,
IScale,
+ IScaleOptions,
IStyleAttributeService,
StyleAttrField,
StyleAttributeOption,
@@ -32,8 +33,10 @@ export interface IPickedFeature {
export interface ILayer {
id: string; // 一个场景中同一类型 Layer 可能存在多个
name: string; // 代表 Layer 的类型
- // visible: boolean;
- // zIndex: number;
+ visible: boolean;
+ zIndex: number;
+ minZoom: number;
+ maxZoom: number;
configService: IGlobalConfigService;
plugins: ILayerPlugin[];
hooks: {
@@ -62,8 +65,12 @@ export interface ILayer {
// filter(field: string, value: StyleAttributeOption): ILayer;
// active(option: ActiveOption): ILayer;
style(options: unknown): ILayer;
- // hide(): ILayer;
- // show(): ILayer;
+ hide(): ILayer;
+ show(): ILayer;
+ setIndex(index: number): ILayer;
+ isVisible(): boolean;
+ setMaxZoom(min: number): ILayer;
+ setMinZoom(max: number): ILayer;
// animate(field: string, option: any): ILayer;
render(): ILayer;
destroy(): void;
@@ -74,6 +81,13 @@ export interface ILayer {
setEncodedData(encodedData: IEncodeFeature[]): void;
getEncodedData(): IEncodeFeature[];
getStyleOptions(): Partial;
+ getScaleOptions(): IScaleOptions;
+ /**
+ * 事件
+ */
+ on(type: string, hander: (...args: any[]) => void): void;
+ off(type: string, hander: (...args: any[]) => void): void;
+ once(type: string, hander: (...args: any[]) => void): void;
/**
* JSON Schema 用于校验配置项
*/
@@ -96,6 +110,10 @@ export interface ILayerPlugin {
* Layer 初始化参数
*/
export interface ILayerInitializationOptions {
+ minZoom: number;
+ maxZoom: number;
+ visible: boolean;
+ zIndex: number;
enableMultiPassRenderer: boolean;
passes: Array;
@@ -129,6 +147,10 @@ export interface ILayerInitializationOptions {
export interface ILayerService {
add(layer: ILayer): void;
initLayers(): void;
+ getLayers(): ILayer[];
+ getLayer(name: string): ILayer | undefined;
+ remove(layer: ILayer): void;
+ updateRenderOrder(): void;
renderLayers(): void;
destroy(): void;
}
diff --git a/packages/core/src/services/layer/IStyleAttributeService.ts b/packages/core/src/services/layer/IStyleAttributeService.ts
index 03f8b69533..410fd946ee 100644
--- a/packages/core/src/services/layer/IStyleAttributeService.ts
+++ b/packages/core/src/services/layer/IStyleAttributeService.ts
@@ -46,6 +46,9 @@ export interface IScaleOption {
format?: () => any;
domain?: any[];
}
+export interface IScaleOptions {
+ [key: string]: IScale;
+}
export interface IStyleScale {
scale: any;
field: string;
diff --git a/packages/core/src/services/layer/LayerService.ts b/packages/core/src/services/layer/LayerService.ts
index aa83486282..c3bc886389 100644
--- a/packages/core/src/services/layer/LayerService.ts
+++ b/packages/core/src/services/layer/LayerService.ts
@@ -17,6 +17,10 @@ export default class LayerService implements ILayerService {
public add(layer: ILayer) {
this.layers.push(layer);
+ this.initPlugin(layer);
+ layer.init();
+ // 添加完成需要触发重绘
+ // this.renderLayers();
}
public initLayers() {
@@ -29,10 +33,29 @@ export default class LayerService implements ILayerService {
});
}
+ public getLayers(): ILayer[] {
+ return this.layers;
+ }
+
+ public getLayer(id: string): ILayer | undefined {
+ return this.layers.find((layer) => layer.id === id);
+ }
+
+ public remove(layer: ILayer): void {
+ const layerIndex = this.layers.indexOf(layer);
+ if (layerIndex > -1) {
+ this.layers.splice(layerIndex, 1);
+ }
+ layer.destroy();
+ this.renderLayers();
+ }
+
public renderLayers() {
// TODO:脏检查,只渲染发生改变的 Layer
+ //
+ this.clear();
this.layers
- // .filter((layer) => layer.isDirty())
+ .filter((layer) => layer.isVisible())
.forEach((layer) => {
// trigger hooks
layer.hooks.beforeRender.call();
@@ -41,8 +64,27 @@ export default class LayerService implements ILayerService {
});
}
+ public updateRenderOrder() {
+ this.layers.sort((pre: ILayer, next: ILayer) => {
+ return pre.zIndex - next.zIndex;
+ });
+ this.renderLayers();
+ }
+
public destroy() {
this.layers.forEach((layer) => layer.destroy());
this.layers = [];
}
+ private initPlugin(layer: ILayer) {
+ for (const plugin of layer.plugins) {
+ plugin.apply(layer);
+ }
+ }
+ private clear() {
+ this.renderService.clear({
+ color: [0, 0, 0, 0],
+ depth: 1,
+ framebuffer: null,
+ });
+ }
}
diff --git a/packages/core/src/services/log/LogService.ts b/packages/core/src/services/log/LogService.ts
index 179e50d735..92c739bc20 100644
--- a/packages/core/src/services/log/LogService.ts
+++ b/packages/core/src/services/log/LogService.ts
@@ -2,7 +2,7 @@ import { injectable } from 'inversify';
import { Log } from 'probe.gl';
import { ILogService } from './ILogService';
-const Logger = new Log({ id: 'L7' }).enable();
+const Logger = new Log({ id: 'L7' }).enable(false);
@injectable()
export default class LogService implements ILogService {
diff --git a/packages/core/src/services/map/IMapService.ts b/packages/core/src/services/map/IMapService.ts
index de2998f0d0..ad374006a6 100644
--- a/packages/core/src/services/map/IMapService.ts
+++ b/packages/core/src/services/map/IMapService.ts
@@ -22,6 +22,7 @@ export interface IMapService {
on(type: string, hander: (...args: any[]) => void): void;
off(type: string, hander: (...args: any[]) => void): void;
+ once(type: string, hander: (...args: any[]) => void): void;
// get dom
getContainer(): HTMLElement | null;
getSize(): [number, number];
@@ -59,6 +60,8 @@ export enum MapType {
mapbox = 'mapbox',
}
+export const MapServiceEvent = ['mapload'];
+
/**
* 地图初始化配置项
*/
diff --git a/packages/core/src/services/renderer/IModel.ts b/packages/core/src/services/renderer/IModel.ts
index 7441227450..280491fc2d 100644
--- a/packages/core/src/services/renderer/IModel.ts
+++ b/packages/core/src/services/renderer/IModel.ts
@@ -54,6 +54,8 @@ export interface IModelInitializationOptions {
*/
instances?: number;
+ colorMask?: [boolean, boolean, boolean, boolean];
+
/**
* depth buffer
*/
diff --git a/packages/core/src/services/renderer/passes/BasePostProcessingPass.ts b/packages/core/src/services/renderer/passes/BasePostProcessingPass.ts
index 785f7e82f5..52bcb3eda8 100644
--- a/packages/core/src/services/renderer/passes/BasePostProcessingPass.ts
+++ b/packages/core/src/services/renderer/passes/BasePostProcessingPass.ts
@@ -87,7 +87,6 @@ export default class BasePostProcessingPass
const postProcessor = layer.multiPassRenderer.getPostProcessor();
const { useFramebuffer, getViewportSize } = this.rendererService;
const { width, height } = getViewportSize();
-
useFramebuffer(
this.renderToScreen ? null : postProcessor.getWriteFBO(),
() => {
diff --git a/packages/core/src/services/renderer/passes/PixelPickingPass.ts b/packages/core/src/services/renderer/passes/PixelPickingPass.ts
index 415c65e058..dd5f9f22da 100644
--- a/packages/core/src/services/renderer/passes/PixelPickingPass.ts
+++ b/packages/core/src/services/renderer/passes/PixelPickingPass.ts
@@ -97,7 +97,7 @@ export default class PixelPickingPass implements IPa
depth: 1,
});
- this.logger.info(`picking fbo cleared ${width} ${height}`);
+ // this.logger.info(`picking fbo cleared ${width} ${height}`);
/**
* picking pass 不需要 multipass,原因如下:
diff --git a/packages/core/src/services/renderer/passes/PostProcessor.ts b/packages/core/src/services/renderer/passes/PostProcessor.ts
index ba65064f79..f76437f3e5 100644
--- a/packages/core/src/services/renderer/passes/PostProcessor.ts
+++ b/packages/core/src/services/renderer/passes/PostProcessor.ts
@@ -52,7 +52,6 @@ export default class PostProcessor implements IPostProcessor {
public async render(layer: ILayer) {
for (let i = 0; i < this.passes.length; i++) {
const pass = this.passes[i];
-
// last pass should render to screen
pass.setRenderToScreen(this.isLastEnabledPass(i));
await pass.render(layer);
diff --git a/packages/core/src/services/renderer/passes/TAAPass.ts b/packages/core/src/services/renderer/passes/TAAPass.ts
index 7dd63fbedb..0a33a02a49 100644
--- a/packages/core/src/services/renderer/passes/TAAPass.ts
+++ b/packages/core/src/services/renderer/passes/TAAPass.ts
@@ -232,7 +232,7 @@ export default class TAAPass
this.blendModel.draw({
uniforms: {
// @ts-ignore
- u_Opacity: layerStyleOptions.opacity || 1,
+ u_opacity: layerStyleOptions.opacity || 1,
u_MixRatio: this.frame === 0 ? 1 : 0.9,
u_Diffuse1: this.sampleRenderTarget,
u_Diffuse2:
diff --git a/packages/core/src/services/scene/ISceneService.ts b/packages/core/src/services/scene/ISceneService.ts
index b9ead753fa..e0b742e5d4 100644
--- a/packages/core/src/services/scene/ISceneService.ts
+++ b/packages/core/src/services/scene/ISceneService.ts
@@ -13,4 +13,5 @@ export interface ISceneService {
render(): void;
destroy(): void;
}
-export const SceneEventList = ['loaded', 'resize', 'destroy'];
+// scene 事件
+export const SceneEventList = ['loaded', 'maploaded', 'resize', 'destroy'];
diff --git a/packages/core/src/services/scene/SceneService.ts b/packages/core/src/services/scene/SceneService.ts
index 2eccda0f9a..4f3ca3853a 100644
--- a/packages/core/src/services/scene/SceneService.ts
+++ b/packages/core/src/services/scene/SceneService.ts
@@ -72,7 +72,6 @@ export default class Scene extends EventEmitter implements ISceneService {
public constructor() {
super();
-
// @see https://github.com/webpack/tapable#usage
this.hooks = {
/**
@@ -86,6 +85,7 @@ export default class Scene extends EventEmitter implements ISceneService {
}
public init(globalConfig: IGlobalConfig) {
+ this.initClear();
this.configService.setAndCheckConfig(globalConfig);
// 初始化资源管理 图片
@@ -148,23 +148,25 @@ export default class Scene extends EventEmitter implements ISceneService {
public addLayer(layer: ILayer) {
this.logger.info(`add layer ${layer.name}`);
+
this.layerService.add(layer);
}
public async render() {
+ // 首次初始化,或者地图的容器被强制销毁的需要重新初始化
if (!this.inited) {
// 首次渲染需要等待底图、相机初始化
await this.hooks.init.promise(this.configService.getConfig());
// 初始化marker 容器
this.map.addMarkerContainer();
- this.emit('loaded');
this.inited = true;
- this.layerService.initLayers();
+ this.layerService.renderLayers();
+ this.emit('loaded');
}
this.layerService.renderLayers();
- this.logger.info('render');
+ // this.logger.info('render');
}
public destroy() {
@@ -205,4 +207,14 @@ export default class Scene extends EventEmitter implements ISceneService {
this.cameraService.update(viewport);
this.render();
};
+ private initClear() {
+ this.inited = false;
+ this.layerService.destroy();
+ this.configService.reset();
+ this.interactionService.destroy();
+ this.controlService.destroy();
+ this.removeAllListeners();
+ this.map.destroy();
+ window.removeEventListener('resize', this.handleWindowResized, false);
+ }
}
diff --git a/packages/core/src/services/shader/IShaderModuleService.ts b/packages/core/src/services/shader/IShaderModuleService.ts
index 223aeb6d8a..7a0a4089ed 100644
--- a/packages/core/src/services/shader/IShaderModuleService.ts
+++ b/packages/core/src/services/shader/IShaderModuleService.ts
@@ -20,4 +20,5 @@ export interface IShaderModuleService {
* 注册 L7 内置 shader module
*/
registerBuiltinModules(): void;
+ destroy(): void;
}
diff --git a/packages/core/src/services/shader/ShaderModuleService.ts b/packages/core/src/services/shader/ShaderModuleService.ts
index 56660717d1..24476daf36 100644
--- a/packages/core/src/services/shader/ShaderModuleService.ts
+++ b/packages/core/src/services/shader/ShaderModuleService.ts
@@ -22,6 +22,7 @@ export default class ShaderModuleService implements IShaderModuleService {
private rawContentCache: { [key: string]: IModuleParams } = {};
public registerBuiltinModules() {
+ this.destroy();
this.registerModule('common', { vs: common, fs: common });
this.registerModule('decode', { vs: decode, fs: '' });
this.registerModule('projection', { vs: projection, fs: '' });
@@ -50,7 +51,10 @@ export default class ShaderModuleService implements IShaderModuleService {
vs: extractedVS,
};
}
-
+ public destroy() {
+ this.moduleCache = {};
+ this.rawContentCache = {};
+ }
public getModule(moduleName: string): IModuleParams {
if (this.moduleCache[moduleName]) {
return this.moduleCache[moduleName];
diff --git a/packages/core/src/shaders/post-processing/blend.glsl b/packages/core/src/shaders/post-processing/blend.glsl
index 98d595cedb..2a8cbf98dd 100644
--- a/packages/core/src/shaders/post-processing/blend.glsl
+++ b/packages/core/src/shaders/post-processing/blend.glsl
@@ -1,4 +1,4 @@
-uniform float u_Opacity : 1.0;
+uniform float u_opacity : 1.0;
uniform float u_MixRatio : 0.5;
uniform sampler2D u_Diffuse1;
@@ -9,5 +9,5 @@ varying vec2 v_UV;
void main() {
vec4 texel1 = texture2D(u_Diffuse1, v_UV);
vec4 texel2 = texture2D(u_Diffuse2, v_UV);
- gl_FragColor = u_Opacity * mix(texel1, texel2, u_MixRatio);
-}
\ No newline at end of file
+ gl_FragColor = u_opacity * mix(texel1, texel2, u_MixRatio);
+}
diff --git a/packages/core/src/shaders/projection.glsl b/packages/core/src/shaders/projection.glsl
index ef4c8fa490..53ef0fdf52 100644
--- a/packages/core/src/shaders/projection.glsl
+++ b/packages/core/src/shaders/projection.glsl
@@ -63,6 +63,14 @@ vec3 project_offset_normal(vec3 vector) {
return project_normal(vector);
}
+// reverse Y
+vec3 reverse_offset_normal(vec3 vector) {
+ if (u_CoordinateSystem == COORDINATE_SYSTEM_P20) {
+ return vector * vec3(1.0,-1.0, 1.0);
+ }
+ return vector;
+}
+
vec4 project_position(vec4 position) {
if (u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET
|| u_CoordinateSystem == COORDINATE_SYSTEM_P20_OFFSET) {
@@ -120,4 +128,14 @@ vec4 project_common_position_to_clipspace(vec4 position) {
u_ViewProjectionMatrix,
u_ViewportCenterProjection
);
-}
\ No newline at end of file
+}
+
+vec4 unproject_clipspace_to_position(vec4 clipspacePos, mat4 u_InverseViewProjectionMatrix) {
+ vec4 pos = u_InverseViewProjectionMatrix * (clipspacePos - u_ViewportCenterProjection);
+ if (u_CoordinateSystem == COORDINATE_SYSTEM_METER_OFFSET ||
+ u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {
+ // Needs to be divided with project_uCommonUnitsPerMeter
+ pos.w /= u_PixelsPerMeter.z;
+ }
+ return pos;
+}
diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts
index eead635857..388c2fdf5d 100644
--- a/packages/core/src/types.ts
+++ b/packages/core/src/types.ts
@@ -1,4 +1,5 @@
const TYPES = {
+ IEventEmitter: Symbol.for('IEventEmitter'),
ISceneService: Symbol.for('ISceneService'),
IGlobalConfigService: Symbol.for('IGlobalConfigService'),
ICameraService: Symbol.for('ICameraService'),
diff --git a/packages/layers/src/core/BaseLayer.ts b/packages/layers/src/core/BaseLayer.ts
index 13d60d574d..c46e5cbf8e 100644
--- a/packages/layers/src/core/BaseLayer.ts
+++ b/packages/layers/src/core/BaseLayer.ts
@@ -1,4 +1,5 @@
import {
+ gl,
ICameraService,
IEncodeFeature,
IFontService,
@@ -8,11 +9,14 @@ import {
ILayer,
ILayerInitializationOptions,
ILayerPlugin,
+ ILayerService,
IMapService,
IModel,
IModelInitializationOptions,
IMultiPassRenderer,
IRendererService,
+ IScale,
+ IScaleOptions,
IShaderModuleService,
ISourceCFG,
IStyleAttributeService,
@@ -25,7 +29,8 @@ import {
TYPES,
} from '@l7/core';
import Source from '@l7/source';
-import { isFunction } from 'lodash';
+import { EventEmitter } from 'eventemitter3';
+import { isFunction, isObject } from 'lodash';
// @ts-ignore
import mergeJsonSchemas from 'merge-json-schemas';
import { SyncBailHook, SyncHook } from 'tapable';
@@ -50,7 +55,11 @@ let layerIdCounter = 0;
const defaultLayerInitializationOptions: Partial<
ILayerInitializationOptions
> = {
- enableMultiPassRenderer: true,
+ minZoom: 0,
+ maxZoom: 20,
+ visible: true,
+ zIndex: 0,
+ enableMultiPassRenderer: false,
enablePicking: false,
enableHighlight: false,
highlightColor: 'red',
@@ -58,9 +67,14 @@ const defaultLayerInitializationOptions: Partial<
jitterScale: 1,
};
-export default class BaseLayer implements ILayer {
+export default class BaseLayer extends EventEmitter
+ implements ILayer {
public id: string = `${layerIdCounter++}`;
public name: string;
+ public visible: boolean = true;
+ public zIndex: number = 0;
+ public minZoom: number;
+ public maxZoom: number;
// 生命周期钩子
public hooks = {
@@ -113,6 +127,9 @@ export default class BaseLayer implements ILayer {
@lazyInject(TYPES.IMapService)
protected readonly map: IMapService;
+ @lazyInject(TYPES.ILayerService)
+ protected readonly layerService: ILayerService;
+
private encodedData: IEncodeFeature[];
private configSchema: object;
@@ -123,6 +140,13 @@ export default class BaseLayer implements ILayer {
private styleOptions: Partial<
ILayerInitializationOptions & ChildLayerStyleOptions
>;
+ private scaleOptions: IScaleOptions = {};
+
+ private enodeOptions: {
+ [type: string]: {
+ field: string;
+ };
+ };
@lazyInject(TYPES.IInteractionService)
private readonly interactionService: IInteractionService;
@@ -130,10 +154,17 @@ export default class BaseLayer implements ILayer {
constructor(
styleOptions: Partial,
) {
+ super();
this.styleOptions = {
...defaultLayerInitializationOptions,
...styleOptions,
};
+ const { minZoom, maxZoom, zIndex, visible } = this
+ .styleOptions as ILayerInitializationOptions;
+ this.visible = visible;
+ this.zIndex = zIndex;
+ this.minZoom = minZoom;
+ this.maxZoom = maxZoom;
}
public addPlugin(plugin: ILayerPlugin) {
@@ -254,6 +285,17 @@ export default class BaseLayer implements ILayer {
};
return this;
}
+ public scale(field: string | IScaleOptions, cfg: IScale) {
+ if (isObject(field)) {
+ this.scaleOptions = {
+ ...this.scaleOptions,
+ ...field,
+ };
+ } else {
+ this.scaleOptions[field] = cfg;
+ }
+ return this;
+ }
public render(): ILayer {
if (this.multiPassRenderer && this.multiPassRenderer.getRenderFlag()) {
this.multiPassRenderer.render();
@@ -262,6 +304,39 @@ export default class BaseLayer implements ILayer {
}
return this;
}
+
+ public show(): ILayer {
+ this.visible = true;
+ this.layerService.renderLayers();
+ return this;
+ }
+
+ public hide(): ILayer {
+ this.visible = false;
+ this.layerService.renderLayers();
+ return this;
+ }
+
+ public setIndex(index: number): ILayer {
+ this.zIndex = index;
+ this.layerService.updateRenderOrder();
+ return this;
+ }
+
+ public isVisible(): boolean {
+ const zoom = this.map.getZoom();
+ return this.visible && zoom >= this.minZoom && zoom <= this.maxZoom;
+ }
+
+ public setMinZoom(min: number): ILayer {
+ this.minZoom = min;
+ return this;
+ }
+
+ public setMaxZoom(max: number): ILayer {
+ this.maxZoom = max;
+ return this;
+ }
/**
* zoom to layer Bounds
*/
@@ -303,6 +378,9 @@ export default class BaseLayer implements ILayer {
public getStyleOptions() {
return this.styleOptions;
}
+ public getScaleOptions() {
+ return this.scaleOptions;
+ }
public setEncodedData(encodedData: IEncodeFeature[]) {
this.encodedData = encodedData;
@@ -358,6 +436,15 @@ export default class BaseLayer implements ILayer {
fs,
vs,
elements,
+ blend: {
+ enable: true,
+ func: {
+ srcRGB: gl.SRC_ALPHA,
+ srcAlpha: 1,
+ dstRGB: gl.ONE_MINUS_SRC_ALPHA,
+ dstAlpha: 1,
+ },
+ },
...rest,
});
}
diff --git a/packages/layers/src/core/triangulation.ts b/packages/layers/src/core/triangulation.ts
index 8ddedad28c..0cbb42e72a 100644
--- a/packages/layers/src/core/triangulation.ts
+++ b/packages/layers/src/core/triangulation.ts
@@ -61,10 +61,10 @@ export function LineTriangulation(feature: IEncodeFeature) {
const { coordinates } = feature;
const line = getNormals(coordinates as number[][], false, 0);
return {
- vertices: line.attrPos, // [ x,y,z, distance, miter ]
+ vertices: line.attrPos, // [ x,y,z, distance, miter,total ]
indices: line.attrIndex,
normals: line.normals,
- size: 5,
+ size: 6,
};
}
@@ -87,7 +87,7 @@ export function HeatmapGridTriangulation(feature: IEncodeFeature) {
| ShapeType2D
| ShapeType3D);
return {
- vertices: positions, // [ x, y, z ]
+ vertices: positions, // [ x, y, z ] 多边形顶点
indices: index,
normals: Array.from(computeVertexNormals(positions, index)),
size: 3,
diff --git a/packages/layers/src/heatmap/grid.ts b/packages/layers/src/heatmap/grid.ts
index 388f4ff8ec..0061eceaf2 100644
--- a/packages/layers/src/heatmap/grid.ts
+++ b/packages/layers/src/heatmap/grid.ts
@@ -27,7 +27,7 @@ export default class HeatMapGrid extends BaseLayer {
this.models.forEach((model) =>
model.draw({
uniforms: {
- u_Opacity: opacity || 1.0,
+ u_opacity: opacity || 1.0,
u_coverage: coverage || 1.0,
u_radius: [
this.getSource().data.xOffset,
@@ -43,19 +43,11 @@ export default class HeatMapGrid extends BaseLayer {
this.registerBuiltinAttributes(this);
this.models = [
this.buildLayerModel({
- moduleName: 'pointExtrude',
+ moduleName: 'gridheatmap',
vertexShader: heatmapGridVert,
fragmentShader: heatmapGridFrag,
triangulation: HeatmapGridTriangulation,
- blend: {
- enable: true,
- func: {
- srcRGB: gl.SRC_ALPHA,
- srcAlpha: 1,
- dstRGB: gl.ONE_MINUS_SRC_ALPHA,
- dstAlpha: 1,
- },
- },
+ depth: { enable: false },
}),
];
}
diff --git a/packages/layers/src/heatmap/heatmap.ts b/packages/layers/src/heatmap/heatmap.ts
index ddd039c596..747da07589 100644
--- a/packages/layers/src/heatmap/heatmap.ts
+++ b/packages/layers/src/heatmap/heatmap.ts
@@ -106,8 +106,8 @@ export default class HeatMapLayer extends BaseLayer {
height: imageData.height,
wrapS: gl.CLAMP_TO_EDGE,
wrapT: gl.CLAMP_TO_EDGE,
- min: gl.NEAREST,
- mag: gl.NEAREST,
+ min: gl.LINEAR,
+ mag: gl.LINEAR,
flipY: true,
});
}
@@ -223,6 +223,15 @@ export default class HeatMapLayer extends BaseLayer {
depth: {
enable: false,
},
+ blend: {
+ enable: true,
+ func: {
+ srcRGB: gl.SRC_ALPHA,
+ srcAlpha: 1,
+ dstRGB: gl.ONE_MINUS_SRC_ALPHA,
+ dstAlpha: 1,
+ },
+ },
count: 6,
elements: createElements({
data: [0, 2, 1, 2, 3, 1],
@@ -235,7 +244,7 @@ export default class HeatMapLayer extends BaseLayer {
const { opacity, intensity = 10, radius = 5 } = this.getStyleOptions();
this.intensityModel.draw({
uniforms: {
- u_Opacity: opacity || 1.0,
+ u_opacity: opacity || 1.0,
u_radius: radius,
u_intensity: intensity,
},
@@ -246,7 +255,7 @@ export default class HeatMapLayer extends BaseLayer {
const { opacity } = this.getStyleOptions();
this.colorModel.draw({
uniforms: {
- u_Opacity: opacity || 1.0,
+ u_opacity: opacity || 1.0,
u_colorTexture: this.colorTexture,
u_texture: this.heatmapFramerBuffer,
},
@@ -254,7 +263,6 @@ export default class HeatMapLayer extends BaseLayer {
}
private draw3DHeatMap() {
const { opacity } = this.getStyleOptions();
- const mapbounds = this.map.getBounds();
const invert = mat4.invert(
mat4.create(),
// @ts-ignore
@@ -262,10 +270,9 @@ export default class HeatMapLayer extends BaseLayer {
) as mat4;
this.colorModel.draw({
uniforms: {
- u_Opacity: opacity || 1.0,
+ u_opacity: opacity || 1.0,
u_colorTexture: this.colorTexture,
u_texture: this.heatmapFramerBuffer,
- u_extent: [-179.9476, -60.0959, 179.9778, 79.5651],
u_InverseViewProjectionMatrix: [...invert],
},
});
@@ -273,7 +280,7 @@ export default class HeatMapLayer extends BaseLayer {
private build3dHeatMap() {
const { getViewportSize } = this.rendererService;
const { width, height } = getViewportSize();
- const triangulation = heatMap3DTriangulation(256, 128);
+ const triangulation = heatMap3DTriangulation(width / 4.0, height / 4.0);
this.shaderModuleService.registerModule('heatmap3dColor', {
vs: heatmap3DVert,
fs: heatmap3DFrag,
@@ -312,7 +319,16 @@ export default class HeatMapLayer extends BaseLayer {
...uniforms,
},
depth: {
- enable: false,
+ enable: true,
+ },
+ blend: {
+ enable: true,
+ func: {
+ srcRGB: gl.SRC_ALPHA,
+ srcAlpha: 1,
+ dstRGB: gl.ONE_MINUS_SRC_ALPHA,
+ dstAlpha: 1,
+ },
},
elements: createElements({
data: triangulation.indices,
diff --git a/packages/layers/src/heatmap/shaders/heatmap_3d_frag.glsl b/packages/layers/src/heatmap/shaders/heatmap_3d_frag.glsl
index f2c35866d3..f3b00b62b1 100644
--- a/packages/layers/src/heatmap/shaders/heatmap_3d_frag.glsl
+++ b/packages/layers/src/heatmap/shaders/heatmap_3d_frag.glsl
@@ -1,16 +1,18 @@
uniform sampler2D u_texture;
uniform sampler2D u_colorTexture;
-uniform float u_Opacity;
+uniform float u_opacity;
varying vec2 v_texCoord;
+varying float v_intensity;
void main(){
float intensity = texture2D(u_texture, v_texCoord).r;
vec2 ramp_pos = vec2(
- fract(16.0 * (1.0 - intensity)),
- floor(16.0 * (1.0 - intensity)) / 16.0);
+ fract(16.0 * (1.0 - v_intensity)),
+ floor(16.0 * (1.0 - v_intensity)) / 16.0);
// vec4 color = texture2D(u_colorTexture,vec2(0.5,1.0-intensity));
vec4 color = texture2D(u_colorTexture,ramp_pos);
gl_FragColor = color;
- // gl_FragColor.a = color.a * smoothstep(0.0,0.12,intensity) * u_Opacity;
+ // gl_FragColor.a = color.a * smoothstep(0.0, 0.01, v_intensity) * u_opacity;
+ // gl_FragColor.a = 0.2;
}
diff --git a/packages/layers/src/heatmap/shaders/heatmap_3d_vert.glsl b/packages/layers/src/heatmap/shaders/heatmap_3d_vert.glsl
index 087e4328bd..e00eec61a5 100644
--- a/packages/layers/src/heatmap/shaders/heatmap_3d_vert.glsl
+++ b/packages/layers/src/heatmap/shaders/heatmap_3d_vert.glsl
@@ -2,41 +2,44 @@ precision highp float;
attribute vec3 a_Position;
attribute vec2 a_Uv;
uniform sampler2D u_texture;
-uniform vec4 u_extent;
varying vec2 v_texCoord;
uniform mat4 u_ModelMatrix;
uniform mat4 u_InverseViewProjectionMatrix;
+varying float v_intensity;
+
+vec2 toBezier(float t, vec2 P0, vec2 P1, vec2 P2, vec2 P3) {
+ float t2 = t * t;
+ float one_minus_t = 1.0 - t;
+ float one_minus_t2 = one_minus_t * one_minus_t;
+ return (P0 * one_minus_t2 * one_minus_t + P1 * 3.0 * t * one_minus_t2 + P2 * 3.0 * t2 * one_minus_t + P3 * t2 * t);
+}
+vec2 toBezier(float t, vec4 p){
+ return toBezier(t, vec2(0.0, 0.0), vec2(p.x, p.y), vec2(p.z, p.w), vec2(1.0, 1.0));
+}
#pragma include "projection"
void main() {
v_texCoord = a_Uv;
- vec2 pos = a_Uv * vec2(2.0) - vec2(1.0);
+ vec2 pos = 1.8 * (a_Uv * vec2(2.0) - vec2(1.0));
- vec4 n_0 = vec4(pos, 0.0, 1.0) - u_ViewportCenterProjection;
- vec4 n_1 = vec4(pos, 1.0, 1.0) - u_ViewportCenterProjection;
- vec4 m_0 = u_InverseViewProjectionMatrix * n_0 ;
- vec4 m_1 = u_InverseViewProjectionMatrix * n_1;
- m_0 = m_0 / m_0.w;
- m_1 = m_1 / m_1.w;
+ vec4 p1 = vec4(pos, 0.0, 1.0);
+ vec4 p2 = vec4(pos, 1.0, 1.0);
- float zPos = (0.0 - m_0.z) / (m_1.z - m_0.z);
- vec4 mapCoord = m_0 + zPos * (m_1 - m_0);
+ vec4 inverseP1 = unproject_clipspace_to_position(p1, u_InverseViewProjectionMatrix);
+ vec4 inverseP2 = unproject_clipspace_to_position(p2, u_InverseViewProjectionMatrix) ;
- // vec4 p = u_InverseViewProjectionMatrix * (vec4(pos,0,1) - u_ViewportCenterProjection);
- // p = p /p.w;
- // pos.y = 1.0 -pos.y;
- // vec2 minxy = project_position(vec4(u_extent.xy, 0, 1.0)).xy;
- // vec2 maxxy = project_position(vec4(u_extent.zw, 0, 1.0)).xy;
+ inverseP1 = inverseP1 / inverseP1.w;
+ inverseP2 = inverseP2 / inverseP2.w;
- // vec2 step = (maxxy - minxy);
+ float zPos = (0.0 - inverseP1.z) / (inverseP2.z - inverseP1.z);
+ vec4 position = inverseP1 + zPos * (inverseP2 - inverseP1);
- // vec2 pos = minxy + (vec2(a_Position.x, a_Position.y ) + vec2(1.0)) / vec2(2.0) * step;
+ vec4 b= vec4(0.5000, 0, 1, 0.5000);
+ float fh;
- float intensity = texture2D(u_texture, v_texCoord).r;
- gl_Position = project_common_position_to_clipspace(vec4(mapCoord.xy, intensity * 100., 1.0));
- // gl_Position = vec4(pos,0.,1.0);
- // v_texCoord = (gl_Position.xy + vec2(1.0)) / vec2(2.0) / gl_Position.w;
- // v_texCoord.y = 1.0 - v_texCoord.y;
+ v_intensity = texture2D(u_texture, v_texCoord).r;
+ fh = toBezier(v_intensity, b).y;
+ gl_Position = project_common_position_to_clipspace(vec4(position.xy, v_intensity * 50., 1.0));
}
diff --git a/packages/layers/src/heatmap/shaders/heatmap_frag.glsl b/packages/layers/src/heatmap/shaders/heatmap_frag.glsl
index f3f83b7c2a..8e817872e3 100644
--- a/packages/layers/src/heatmap/shaders/heatmap_frag.glsl
+++ b/packages/layers/src/heatmap/shaders/heatmap_frag.glsl
@@ -1,6 +1,6 @@
uniform sampler2D u_texture;
uniform sampler2D u_colorTexture;
-uniform float u_Opacity;
+uniform float u_opacity;
varying vec2 v_texCoord;
void main(){
@@ -11,6 +11,6 @@ void main(){
// vec4 color = texture2D(u_colorTexture,vec2(0.5,1.0-intensity));
vec4 color = texture2D(u_colorTexture,ramp_pos);
gl_FragColor = color;
- gl_FragColor.a = color.a * smoothstep(0.1,0.5,intensity) * u_Opacity;
+ gl_FragColor.a = color.a * smoothstep(0.,0.01,intensity) * u_opacity;
}
diff --git a/packages/layers/src/heatmap/shaders/hexagon_frag.glsl b/packages/layers/src/heatmap/shaders/hexagon_frag.glsl
index 9bc316c11d..540a73c75e 100644
--- a/packages/layers/src/heatmap/shaders/hexagon_frag.glsl
+++ b/packages/layers/src/heatmap/shaders/hexagon_frag.glsl
@@ -1,7 +1,7 @@
precision highp float;
varying vec4 v_color;
-uniform float u_Opacity: 0.1;
+uniform float u_opacity: 0.1;
void main() {
gl_FragColor = v_color;
- gl_FragColor.a *= u_Opacity;
+ gl_FragColor.a *= u_opacity;
}
diff --git a/packages/layers/src/heatmap/shaders/hexagon_vert.glsl b/packages/layers/src/heatmap/shaders/hexagon_vert.glsl
index 2f68a0d4e4..65ec9461a3 100644
--- a/packages/layers/src/heatmap/shaders/hexagon_vert.glsl
+++ b/packages/layers/src/heatmap/shaders/hexagon_vert.glsl
@@ -12,7 +12,7 @@ varying vec4 v_color;
void main() {
v_color = a_Color;
mat2 rotationMatrix = mat2(cos(u_angle), sin(u_angle), -sin(u_angle), cos(u_angle));
- vec2 offset =(vec2(a_Position.xy * u_radius * u_coverage * rotationMatrix));
+ vec2 offset =(vec2(a_Position.xy * u_radius * rotationMatrix ));
vec4 project_pos = project_position(vec4(a_Pos.xy + offset, 0, 1.0));
gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, 0., 1.0));
}
diff --git a/packages/layers/src/index.ts b/packages/layers/src/index.ts
index acd403c13b..e5301a2fbb 100644
--- a/packages/layers/src/index.ts
+++ b/packages/layers/src/index.ts
@@ -4,10 +4,12 @@ import HeatMapGridLayer from './heatmap/grid';
import HeatMapLayer from './heatmap/heatmap';
import ArcLineLayer from './line/arc';
import Arc2DLineLayer from './line/arc2d';
+import Arc3DLineLayer from './line/arc3d';
+import DashLineLayer from './line/dash';
import LineLayer from './line/index';
import Point3dLayer from './point/extrude';
+import PointLayer from './point/fill';
import PointImageLayer from './point/image';
-import PointLayer from './point/index';
import TextLayer from './point/text';
// import Point from './point/point';
import PolygonLayer from './polygon';
@@ -79,11 +81,13 @@ export {
Point3dLayer,
PointImageLayer,
LineLayer,
+ DashLineLayer,
Polygon3DLayer,
ImageLayer,
HeatMapGridLayer,
ArcLineLayer,
Arc2DLineLayer,
+ Arc3DLineLayer,
RasterLayer,
HeatMapLayer,
TextLayer,
diff --git a/packages/layers/src/line/arc.ts b/packages/layers/src/line/arc.ts
index 5813156a68..aa325cfc13 100644
--- a/packages/layers/src/line/arc.ts
+++ b/packages/layers/src/line/arc.ts
@@ -2,10 +2,11 @@ import { AttributeType, gl, IEncodeFeature, ILayer } from '@l7/core';
import BaseLayer from '../core/BaseLayer';
import { LineArcTriangulation } from '../core/triangulation';
import line_arc_frag from './shaders/line_arc_frag.glsl';
-import line_arc_vert from './shaders/line_arc_vert.glsl';
+import line_arc2d_vert from './shaders/line_bezier_vert.glsl';
interface IArcLayerStyleOptions {
opacity: number;
segmentNumber: number;
+ blur: number;
}
export default class ArcLineLayer extends BaseLayer {
public name: string = 'LineLayer';
@@ -23,12 +24,13 @@ export default class ArcLineLayer extends BaseLayer {
}
protected renderModels() {
- const { opacity } = this.getStyleOptions();
+ const { opacity, blur = 0.99 } = this.getStyleOptions();
this.models.forEach((model) =>
model.draw({
uniforms: {
- u_Opacity: opacity || 1,
+ u_opacity: opacity || 1,
segmentNumber: 30,
+ u_blur: blur,
},
}),
);
@@ -39,10 +41,11 @@ export default class ArcLineLayer extends BaseLayer {
this.registerBuiltinAttributes(this);
this.models = [
this.buildLayerModel({
- moduleName: 'arcline',
- vertexShader: line_arc_vert,
+ moduleName: 'arc2dline',
+ vertexShader: line_arc2d_vert,
fragmentShader: line_arc_frag,
triangulation: LineArcTriangulation,
+ depth: { enable: false },
blend: {
enable: true,
func: {
diff --git a/packages/layers/src/line/arc2d.ts b/packages/layers/src/line/arc2d.ts
index 18e3c7a16d..c35b23edba 100644
--- a/packages/layers/src/line/arc2d.ts
+++ b/packages/layers/src/line/arc2d.ts
@@ -6,8 +6,11 @@ import line_arc_frag from './shaders/line_arc_frag.glsl';
interface IArcLayerStyleOptions {
opacity: number;
segmentNumber: number;
+ blur: number;
}
-export default class Arc2DLineLayer extends BaseLayer {
+export default class ArcCircleLineLayer extends BaseLayer<
+ IArcLayerStyleOptions
+> {
public name: string = 'LineLayer';
protected getConfigSchema() {
@@ -23,12 +26,13 @@ export default class Arc2DLineLayer extends BaseLayer {
}
protected renderModels() {
- const { opacity } = this.getStyleOptions();
+ const { opacity, blur = 0.99 } = this.getStyleOptions();
this.models.forEach((model) =>
model.draw({
uniforms: {
- u_Opacity: opacity || 1,
+ u_opacity: opacity || 1,
segmentNumber: 30,
+ u_blur: blur,
},
}),
);
diff --git a/packages/layers/src/line/arc3d.ts b/packages/layers/src/line/arc3d.ts
new file mode 100644
index 0000000000..369ca56356
--- /dev/null
+++ b/packages/layers/src/line/arc3d.ts
@@ -0,0 +1,107 @@
+import { AttributeType, gl, IEncodeFeature, ILayer } from '@l7/core';
+import BaseLayer from '../core/BaseLayer';
+import { LineArcTriangulation } from '../core/triangulation';
+import line_arc_frag from './shaders/line_arc_frag.glsl';
+import line_arc_vert from './shaders/line_arc_vert.glsl';
+interface IArcLayerStyleOptions {
+ opacity: number;
+ segmentNumber: number;
+}
+export default class Arc3DLineLayer extends BaseLayer {
+ public name: string = 'LineLayer';
+
+ protected getConfigSchema() {
+ return {
+ properties: {
+ opacity: {
+ type: 'number',
+ minimum: 0,
+ maximum: 1,
+ },
+ },
+ };
+ }
+
+ protected renderModels() {
+ const { opacity } = this.getStyleOptions();
+ this.models.forEach((model) =>
+ model.draw({
+ uniforms: {
+ u_opacity: opacity || 1,
+ segmentNumber: 30,
+ },
+ }),
+ );
+ return this;
+ }
+
+ protected buildModels() {
+ this.registerBuiltinAttributes(this);
+ this.models = [
+ this.buildLayerModel({
+ moduleName: 'arcline',
+ vertexShader: line_arc_vert,
+ fragmentShader: line_arc_frag,
+ triangulation: LineArcTriangulation,
+ blend: {
+ enable: true,
+ func: {
+ srcRGB: gl.ONE,
+ srcAlpha: 1,
+ dstRGB: gl.ONE,
+ dstAlpha: 1,
+ },
+ },
+ }),
+ ];
+ }
+
+ private registerBuiltinAttributes(layer: ILayer) {
+ // point layer size;
+ layer.styleAttributeService.registerStyleAttribute({
+ name: 'size',
+ type: AttributeType.Attribute,
+ descriptor: {
+ name: 'a_Size',
+ buffer: {
+ // give the WebGL driver a hint that this buffer may change
+ usage: gl.DYNAMIC_DRAW,
+ data: [],
+ type: gl.FLOAT,
+ },
+ size: 1,
+ update: (
+ feature: IEncodeFeature,
+ featureIdx: number,
+ vertex: number[],
+ attributeIdx: number,
+ ) => {
+ const { size } = feature;
+ return Array.isArray(size) ? [size[0]] : [size as number];
+ },
+ },
+ });
+
+ layer.styleAttributeService.registerStyleAttribute({
+ name: 'instance', // 弧线起始点信息
+ type: AttributeType.Attribute,
+ descriptor: {
+ name: 'a_Instance',
+ buffer: {
+ usage: gl.STATIC_DRAW,
+ data: [],
+ type: gl.FLOAT,
+ },
+ size: 4,
+ update: (
+ feature: IEncodeFeature,
+ featureIdx: number,
+ vertex: number[],
+ attributeIdx: number,
+ ) => {
+ return [vertex[3], vertex[4], vertex[5], vertex[6]];
+ },
+ },
+ });
+ }
+}
diff --git a/packages/layers/src/line/dash.ts b/packages/layers/src/line/dash.ts
new file mode 100644
index 0000000000..56c9a47e12
--- /dev/null
+++ b/packages/layers/src/line/dash.ts
@@ -0,0 +1,206 @@
+import { AttributeType, gl, IEncodeFeature, ILayer } from '@l7/core';
+import BaseLayer from '../core/BaseLayer';
+import { LineTriangulation } from '../core/triangulation';
+import line_dash_frag from './shaders/line_dash_frag.glsl';
+import line_dash_vert from './shaders/line_dash_vert.glsl';
+interface IDashLineLayerStyleOptions {
+ opacity: number;
+ dashArray: [number, number];
+}
+export default class DashLineLayer extends BaseLayer<
+ IDashLineLayerStyleOptions
+> {
+ public name: string = 'LineLayer';
+
+ protected getConfigSchema() {
+ return {
+ properties: {
+ opacity: {
+ type: 'number',
+ minimum: 0,
+ maximum: 1,
+ },
+ },
+ };
+ }
+
+ protected renderModels() {
+ const { opacity, dashArray = [10, 5] } = this.getStyleOptions();
+ this.models.forEach((model) =>
+ model.draw({
+ uniforms: {
+ u_opacity: opacity || 1.0,
+ u_dash_array: dashArray,
+ },
+ }),
+ );
+ return this;
+ }
+
+ protected buildModels() {
+ this.registerBuiltinAttributes(this);
+ this.models = [
+ this.buildLayerModel({
+ moduleName: 'line_dash',
+ vertexShader: line_dash_vert,
+ fragmentShader: line_dash_frag,
+ triangulation: LineTriangulation,
+ blend: {
+ enable: true,
+ func: {
+ srcRGB: gl.SRC_ALPHA,
+ srcAlpha: 1,
+ dstRGB: gl.ONE_MINUS_SRC_ALPHA,
+ dstAlpha: 1,
+ },
+ },
+ }),
+ ];
+ }
+
+ private registerBuiltinAttributes(layer: ILayer) {
+ // point layer size;
+ layer.styleAttributeService.registerStyleAttribute({
+ name: 'size',
+ type: AttributeType.Attribute,
+ descriptor: {
+ name: 'a_Size',
+ buffer: {
+ // give the WebGL driver a hint that this buffer may change
+ usage: gl.DYNAMIC_DRAW,
+ data: [],
+ type: gl.FLOAT,
+ },
+ size: 1,
+ update: (
+ feature: IEncodeFeature,
+ featureIdx: number,
+ vertex: number[],
+ attributeIdx: number,
+ ) => {
+ const { size } = feature;
+ return Array.isArray(size) ? [size[0]] : [size as number];
+ },
+ },
+ });
+
+ // point layer size;
+ layer.styleAttributeService.registerStyleAttribute({
+ name: 'normal',
+ type: AttributeType.Attribute,
+ descriptor: {
+ name: 'a_Normal',
+ buffer: {
+ // give the WebGL driver a hint that this buffer may change
+ usage: gl.STATIC_DRAW,
+ data: [],
+ type: gl.FLOAT,
+ },
+ size: 3,
+ update: (
+ feature: IEncodeFeature,
+ featureIdx: number,
+ vertex: number[],
+ attributeIdx: number,
+ normal: number[],
+ ) => {
+ return normal;
+ },
+ },
+ });
+
+ layer.styleAttributeService.registerStyleAttribute({
+ name: 'miter',
+ type: AttributeType.Attribute,
+ descriptor: {
+ name: 'a_Miter',
+ buffer: {
+ // give the WebGL driver a hint that this buffer may change
+ usage: gl.DYNAMIC_DRAW,
+ data: [],
+ type: gl.FLOAT,
+ },
+ size: 1,
+ update: (
+ feature: IEncodeFeature,
+ featureIdx: number,
+ vertex: number[],
+ attributeIdx: number,
+ ) => {
+ return [vertex[4]];
+ },
+ },
+ });
+
+ layer.styleAttributeService.registerStyleAttribute({
+ name: 'startPos',
+ type: AttributeType.Attribute,
+ descriptor: {
+ name: 'a_StartPos',
+ buffer: {
+ // give the WebGL driver a hint that this buffer may change
+ usage: gl.DYNAMIC_DRAW,
+ data: [],
+ type: gl.FLOAT,
+ },
+ size: 3,
+ update: (
+ feature: IEncodeFeature,
+ featureIdx: number,
+ vertex: number[],
+ attributeIdx: number,
+ ) => {
+ const coordinates = feature.coordinates as number[][];
+ const coord = coordinates[0];
+ return coord.length === 3 ? coord : [...coord, 0.0];
+ },
+ },
+ });
+
+ layer.styleAttributeService.registerStyleAttribute({
+ name: 'distance',
+ type: AttributeType.Attribute,
+ descriptor: {
+ name: 'a_Distance',
+ buffer: {
+ // give the WebGL driver a hint that this buffer may change
+ usage: gl.DYNAMIC_DRAW,
+ data: [],
+ type: gl.FLOAT,
+ },
+ size: 1,
+ update: (
+ feature: IEncodeFeature,
+ featureIdx: number,
+ vertex: number[],
+ attributeIdx: number,
+ ) => {
+ return [vertex[3]];
+ },
+ },
+ });
+
+ layer.styleAttributeService.registerStyleAttribute({
+ name: 'total_distance',
+ type: AttributeType.Attribute,
+ descriptor: {
+ name: 'a_Total_Distance',
+ buffer: {
+ // give the WebGL driver a hint that this buffer may change
+ usage: gl.DYNAMIC_DRAW,
+ data: [],
+ type: gl.FLOAT,
+ },
+ size: 1,
+ update: (
+ feature: IEncodeFeature,
+ featureIdx: number,
+ vertex: number[],
+ attributeIdx: number,
+ ) => {
+ return [vertex[5]];
+ },
+ },
+ });
+ }
+}
diff --git a/packages/layers/src/line/index.ts b/packages/layers/src/line/index.ts
index 9524f8c49f..6048748cf6 100644
--- a/packages/layers/src/line/index.ts
+++ b/packages/layers/src/line/index.ts
@@ -26,7 +26,7 @@ export default class LineLayer extends BaseLayer {
this.models.forEach((model) =>
model.draw({
uniforms: {
- u_Opacity: opacity || 1.0,
+ u_opacity: opacity || 1.0,
},
}),
);
@@ -127,28 +127,5 @@ export default class LineLayer extends BaseLayer {
},
},
});
-
- layer.styleAttributeService.registerStyleAttribute({
- name: 'distance',
- type: AttributeType.Attribute,
- descriptor: {
- name: 'a_Distance',
- buffer: {
- // give the WebGL driver a hint that this buffer may change
- usage: gl.DYNAMIC_DRAW,
- data: [],
- type: gl.FLOAT,
- },
- size: 1,
- update: (
- feature: IEncodeFeature,
- featureIdx: number,
- vertex: number[],
- attributeIdx: number,
- ) => {
- return [vertex[3]];
- },
- },
- });
}
}
diff --git a/packages/layers/src/line/shaders/arc_chunks.vert.glsl b/packages/layers/src/line/shaders/arc_chunks.vert.glsl
new file mode 100644
index 0000000000..f0d2689c4c
--- /dev/null
+++ b/packages/layers/src/line/shaders/arc_chunks.vert.glsl
@@ -0,0 +1,21 @@
+vec2 interpolate (vec2 source, vec2 target, float t) {
+ // if the angularDist is PI, linear interpolation is applied. otherwise, use spherical interpolation
+ vec2 mid = midPoint(source, target);
+ vec3 x = vec3(source.x, mid.x, target.x);
+ vec3 y = vec3(source.y, mid.y, target.y)
+ return vec2(bezier3(x ,t), bezier3(y,t));
+}
+float bezier3(vec3 arr, float t) {
+ float ut = 1 - t
+ return (arr.x * ut + arr.y * t) * ut + (arr.y * ut + arr.z * t) * t
+}
+vec2 midPoint(vec2 source, vec2 target) {
+ vec2 center = target - source;
+ float r = length(center);
+ float theta = atan(center.y, center.x);
+ float thetaOffset = 0.314;
+ float r2 = r / 2.0 / cos(thetaOffset);
+ float theta2 = theta + thetaOffset;
+ vec2 mid = vec2(r2*cos(theta2) + source.x, r2*sin(theta2) + source.y);
+ return mid;
+}
diff --git a/packages/layers/src/line/shaders/line_arc2d_vert.glsl b/packages/layers/src/line/shaders/line_arc2d_vert.glsl
index 360aed1ee5..6bb16a07f9 100644
--- a/packages/layers/src/line/shaders/line_arc2d_vert.glsl
+++ b/packages/layers/src/line/shaders/line_arc2d_vert.glsl
@@ -6,6 +6,7 @@ attribute float a_Size;
uniform mat4 u_ModelMatrix;
uniform float segmentNumber;
varying vec4 v_color;
+varying vec2 v_normal;
#pragma include "projection"
@@ -39,7 +40,14 @@ vec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction) {
// rotate by 90 degrees
dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);
vec2 offset = dir_screenspace * offset_direction * a_Size / 2.0;
- return offset;
+ return offset * vec2(1.0, -1.0);
+}
+vec2 getNormal(vec2 line_clipspace, float offset_direction) {
+ // normalized direction of the line
+ vec2 dir_screenspace = normalize(line_clipspace);
+ // rotate by 90 degrees
+ dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);
+ return reverse_offset_normal(vec3(dir_screenspace,1.0)).xy * sign(offset_direction);
}
float getAngularDist (vec2 source, vec2 target) {
vec2 delta = source - target;
@@ -77,12 +85,10 @@ void main() {
float segmentRatio = getSegmentRatio(segmentIndex);
float indexDir = mix(-1.0, 1.0, step(segmentIndex, 0.0));
float nextSegmentRatio = getSegmentRatio(segmentIndex + indexDir);
-
vec4 curr = project_position(vec4(degrees(interpolate(source, target, angularDist, segmentRatio)), 0.0, 1.0));
vec4 next = project_position(vec4(degrees(interpolate(source, target, angularDist, nextSegmentRatio)), 0.0, 1.0));
-
- vec2 offset = getExtrusionOffset((next.xy - curr.xy) * indexDir, a_Position.y);
-
+ v_normal = getNormal((next.xy - curr.xy) * indexDir, a_Position.y);
+ vec2 offset = project_pixel(getExtrusionOffset((next.xy - curr.xy) * indexDir, a_Position.y));
// vec4 project_pos = project_position(vec4(curr.xy, 0, 1.0));
gl_Position = project_common_position_to_clipspace(vec4(curr.xy + offset, 0, 1.0));
}
diff --git a/packages/layers/src/line/shaders/line_arc_frag.glsl b/packages/layers/src/line/shaders/line_arc_frag.glsl
index b8f0e5bbb4..e60a9710cd 100644
--- a/packages/layers/src/line/shaders/line_arc_frag.glsl
+++ b/packages/layers/src/line/shaders/line_arc_frag.glsl
@@ -1,10 +1,13 @@
precision mediump float;
- uniform float u_Opacity;
+ uniform float u_opacity;
varying vec4 v_color;
+ uniform float u_blur : 0.90;
+ varying vec2 v_normal;
void main() {
gl_FragColor = v_color;
- gl_FragColor.a = v_color.a * u_Opacity;
+ float blur = 1.- smoothstep(u_blur, 1., length(v_normal.xy));
+ gl_FragColor.a *= (blur * u_opacity);
}
diff --git a/packages/layers/src/line/shaders/line_arc_vert.glsl b/packages/layers/src/line/shaders/line_arc_vert.glsl
index abefcf54bd..5a548d510d 100644
--- a/packages/layers/src/line/shaders/line_arc_vert.glsl
+++ b/packages/layers/src/line/shaders/line_arc_vert.glsl
@@ -8,6 +8,7 @@ attribute float a_Size;
uniform mat4 u_ModelMatrix;
uniform float segmentNumber;
varying vec4 v_color;
+varying vec2 v_normal;
#pragma include "projection"
float maps (float value, float start1, float stop1, float start2, float stop2) {
@@ -44,7 +45,13 @@ vec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction) {
return offset;
}
-
+vec2 getNormal(vec2 line_clipspace, float offset_direction) {
+ // normalized direction of the line
+ vec2 dir_screenspace = normalize(line_clipspace);
+ // rotate by 90 degrees
+ dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);
+ return reverse_offset_normal(vec3(dir_screenspace,1.0)).xy * sign(offset_direction);
+}
void main() {
v_color = a_Color;
@@ -58,9 +65,8 @@ void main() {
vec3 curr = getPos(source, target, segmentRatio);
vec3 next = getPos(source, target, nextSegmentRatio);
vec2 offset = getExtrusionOffset((next.xy - curr.xy) * indexDir, a_Position.y);
+ v_normal = getNormal((next.xy - curr.xy) * indexDir, a_Position.y);
- // vec4 project_pos = project_position(vec4(curr, 1.0));
-
- gl_Position = project_common_position_to_clipspace(vec4(curr.xy + project_pixel(offset), curr.z, 1.0));
+ gl_Position = project_common_position_to_clipspace(vec4(curr.xy + project_pixel(offset), curr.z, 1.0));
}
diff --git a/packages/layers/src/line/shaders/line_bezier_vert.glsl b/packages/layers/src/line/shaders/line_bezier_vert.glsl
new file mode 100644
index 0000000000..c20ad08621
--- /dev/null
+++ b/packages/layers/src/line/shaders/line_bezier_vert.glsl
@@ -0,0 +1,67 @@
+precision mediump float;
+attribute vec4 a_Color;
+attribute vec3 a_Position;
+attribute vec4 a_Instance;
+attribute float a_Size;
+uniform mat4 u_ModelMatrix;
+uniform float segmentNumber;
+varying vec4 v_color;
+varying vec2 v_normal;
+#pragma include "projection"
+
+float bezier3(vec3 arr, float t) {
+ float ut = 1. - t;
+ return (arr.x * ut + arr.y * t) * ut + (arr.y * ut + arr.z * t) * t;
+}
+vec2 midPoint(vec2 source, vec2 target) {
+ vec2 center = target - source;
+ float r = length(center);
+ float theta = atan(center.y, center.x);
+ float thetaOffset = 0.314;
+ float r2 = r / 2.0 / cos(thetaOffset);
+ float theta2 = theta + thetaOffset;
+ vec2 mid = vec2(r2*cos(theta2) + source.x, r2*sin(theta2) + source.y);
+ return mid;
+}
+float getSegmentRatio(float index) {
+ return smoothstep(0.0, 1.0, index / (segmentNumber - 1.));
+}
+vec2 interpolate (vec2 source, vec2 target, float t) {
+ // if the angularDist is PI, linear interpolation is applied. otherwise, use spherical interpolation
+ vec2 mid = midPoint(source, target);
+ vec3 x = vec3(source.x, mid.x, target.x);
+ vec3 y = vec3(source.y, mid.y, target.y);
+ return vec2(bezier3(x ,t), bezier3(y,t));
+}
+vec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction) {
+ // normalized direction of the line
+ vec2 dir_screenspace = normalize(line_clipspace);
+ // rotate by 90 degrees
+ dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);
+ vec2 offset = dir_screenspace * offset_direction * a_Size / 2.0;
+ return offset * vec2(1.0, -1.0);
+}
+vec2 getNormal(vec2 line_clipspace, float offset_direction) {
+ // normalized direction of the line
+ vec2 dir_screenspace = normalize(line_clipspace);
+ // rotate by 90 degrees
+ dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);
+ return reverse_offset_normal(vec3(dir_screenspace,1.0)).xy * sign(offset_direction);
+}
+
+void main() {
+ v_color = a_Color;
+ vec2 source = a_Instance.rg;
+ vec2 target = a_Instance.ba;
+ float segmentIndex = a_Position.x;
+ float segmentRatio = getSegmentRatio(segmentIndex);
+ float indexDir = mix(-1.0, 1.0, step(segmentIndex, 0.0));
+ float nextSegmentRatio = getSegmentRatio(segmentIndex + indexDir);
+
+ vec4 curr = project_position(vec4(interpolate(source, target, segmentRatio), 0.0, 1.0));
+ vec4 next = project_position(vec4(interpolate(source, target, nextSegmentRatio), 0.0, 1.0));
+ v_normal = getNormal((next.xy - curr.xy) * indexDir, a_Position.y);
+ vec2 offset = project_pixel(getExtrusionOffset((next.xy - curr.xy) * indexDir, a_Position.y));
+
+ gl_Position = project_common_position_to_clipspace(vec4(curr.xy + offset, 0, 1.0));
+}
diff --git a/packages/layers/src/line/shaders/line_dash_frag.glsl b/packages/layers/src/line/shaders/line_dash_frag.glsl
new file mode 100644
index 0000000000..2dbee9d6d1
--- /dev/null
+++ b/packages/layers/src/line/shaders/line_dash_frag.glsl
@@ -0,0 +1,18 @@
+uniform float u_blur : 0.9;
+uniform float u_opacity : 1.0;
+uniform float u_dash_offset : 0.0;
+uniform float u_dash_ratio : 0.1;
+varying vec4 v_color;
+varying vec2 v_normal;
+
+varying float v_distance_ratio;
+varying vec2 v_dash_array;
+void main() {
+ gl_FragColor = v_color;
+ // gl_FragColor.a = v_distance_ratio;
+ // anti-alias
+ float blur = 1.- smoothstep(u_blur, 1., length(v_normal.xy)) * u_opacity;
+ // gl_FragColor.a *= blur * ceil(mod(v_distance_ratio, v_dash_array.x) - v_dash_array.y);
+ gl_FragColor.a *= blur * (1.0- step(v_dash_array.x, mod(v_distance_ratio, v_dash_array.x +v_dash_array.y)));
+
+}
diff --git a/packages/layers/src/line/shaders/line_dash_vert.glsl b/packages/layers/src/line/shaders/line_dash_vert.glsl
new file mode 100644
index 0000000000..34e6b9b1ab
--- /dev/null
+++ b/packages/layers/src/line/shaders/line_dash_vert.glsl
@@ -0,0 +1,32 @@
+
+attribute float a_Miter;
+attribute vec4 a_Color;
+attribute float a_Size;
+attribute vec3 a_Normal;
+attribute float a_Total_Distance;
+attribute vec3 a_Position;
+attribute float a_Distance;
+uniform mat4 u_ModelMatrix;
+uniform vec2 u_dash_array: [10.0, 5.];
+uniform float u_dash_offset: 0;
+
+varying vec4 v_color;
+varying vec2 v_dash_array;
+varying vec2 v_normal;
+
+varying float v_distance_ratio;
+
+#pragma include "projection"
+void main() {
+
+ v_distance_ratio = a_Distance / a_Total_Distance;
+
+ v_dash_array = pow(2.0, 20.0 - u_Zoom) * u_dash_array / a_Total_Distance;
+
+ v_normal = vec2(reverse_offset_normal(a_Normal) * sign(a_Miter));
+ v_color = a_Color;
+ vec3 size = a_Miter * a_Size * reverse_offset_normal(a_Normal); //v_normal * vec3(1., -1., 1.0);
+ vec2 offset = project_pixel(size.xy);
+ vec4 project_pos = project_position(vec4(a_Position.xy, 0, 1.0));
+ gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0, 1.0));
+}
diff --git a/packages/layers/src/line/shaders/line_frag.glsl b/packages/layers/src/line/shaders/line_frag.glsl
index 8379af0d5e..0af8c88906 100644
--- a/packages/layers/src/line/shaders/line_frag.glsl
+++ b/packages/layers/src/line/shaders/line_frag.glsl
@@ -1,9 +1,16 @@
-uniform float u_blur : 0.99;
+uniform float u_blur : 0.9;
+uniform float u_opacity : 1.0;
+uniform float u_dash_offset : 0.0;
+uniform float u_dash_ratio : 0.0;
varying vec4 v_color;
-varying vec3 v_normal;
+varying vec2 v_normal;
+
+varying float v_distance_ratio;
+varying float v_dash_array;
void main() {
gl_FragColor = v_color;
// anti-alias
- float blur = smoothstep(u_blur, 1., length(v_normal.xy));
+ float blur = 1.- smoothstep(u_blur, 1., length(v_normal.xy)) * u_opacity;
gl_FragColor.a *= blur;
-}
\ No newline at end of file
+
+}
diff --git a/packages/layers/src/line/shaders/line_vert.glsl b/packages/layers/src/line/shaders/line_vert.glsl
index 75f3992525..dd7f9a1792 100644
--- a/packages/layers/src/line/shaders/line_vert.glsl
+++ b/packages/layers/src/line/shaders/line_vert.glsl
@@ -2,22 +2,17 @@
attribute float a_Miter;
attribute vec4 a_Color;
attribute float a_Size;
-attribute float a_Distance;
-attribute float a_dash_array;
-attribute float a_total_distance;
attribute vec3 a_Normal;
attribute vec3 a_Position;
uniform mat4 u_ModelMatrix;
-
+#pragma include "projection"
varying vec4 v_color;
varying float v_dash_array;
-varying vec3 v_normal;
-
-#pragma include "projection"
+varying vec2 v_normal;
void main() {
- v_normal = a_Normal;
+ v_normal = vec2(reverse_offset_normal(a_Normal) * sign(a_Miter));
v_color = a_Color;
- vec3 size = a_Miter * a_Size * v_normal;
+ vec3 size = a_Miter * a_Size * reverse_offset_normal(a_Normal); //v_normal * vec3(1., -1., 1.0);
vec2 offset = project_pixel(size.xy);
vec4 project_pos = project_position(vec4(a_Position.xy, 0, 1.0));
gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0, 1.0));
diff --git a/packages/layers/src/plugins/DataMappingPlugin.ts b/packages/layers/src/plugins/DataMappingPlugin.ts
index f864dfddfe..b4db541cb3 100644
--- a/packages/layers/src/plugins/DataMappingPlugin.ts
+++ b/packages/layers/src/plugins/DataMappingPlugin.ts
@@ -85,16 +85,14 @@ export default class DataMappingPlugin implements ILayerPlugin {
if (!attribute.scale) {
return [];
}
-
const scalers = attribute?.scale?.scalers || [];
const params: unknown[] = [];
scalers.forEach(({ field }) => {
- if (record[field]) {
+ if (record.hasOwnProperty(field) || attribute.scale?.type ==='variable') {
params.push(record[field]);
}
});
-
return attribute.mapping ? attribute.mapping(params) : [];
}
}
diff --git a/packages/layers/src/plugins/FeatureScalePlugin.ts b/packages/layers/src/plugins/FeatureScalePlugin.ts
index 93abe798ba..8147ca885b 100644
--- a/packages/layers/src/plugins/FeatureScalePlugin.ts
+++ b/packages/layers/src/plugins/FeatureScalePlugin.ts
@@ -4,6 +4,7 @@ import {
ILayerPlugin,
ILogService,
IScale,
+ IScaleOptions,
IStyleAttribute,
IStyleScale,
lazyInject,
@@ -47,14 +48,18 @@ export default class FeatureScalePlugin implements ILayerPlugin {
[field: string]: IStyleScale;
} = {};
+ private scaleOptions: IScaleOptions = {}
+
public apply(layer: ILayer) {
layer.hooks.init.tap('FeatureScalePlugin', () => {
+ this.scaleOptions = layer.getScaleOptions();
const attributes = layer.styleAttributeService.getLayerStyleAttributes();
const { dataArray } = layer.getSource().data;
this.caculateScalesForAttributes(attributes || [], dataArray);
});
layer.hooks.beforeRender.tap('FeatureScalePlugin', () => {
+ this.scaleOptions = layer.getScaleOptions();
const attributes = layer.styleAttributeService.getLayerStyleAttributes();
if (attributes) {
const { dataArray } = layer.getSource().data;
@@ -154,15 +159,13 @@ export default class FeatureScalePlugin implements ILayerPlugin {
private createScale(field: string, data?: IParseDataItem[]): IStyleScale {
// 首先查找全局默认配置例如 color
- const scaleOption: IScale | undefined = this.configService.getConfig()?.scales?.[field];
-
+ const scaleOption: IScale | undefined = this.scaleOptions[field];
const styleScale: IStyleScale = {
field,
scale: undefined,
type: StyleScaleType.VARIABLE,
option: scaleOption,
};
-
if (!data || !data.length) {
if (scaleOption && scaleOption.type) {
@@ -214,6 +217,8 @@ export default class FeatureScalePlugin implements ILayerPlugin {
cfg.domain = extent(values);
} else if (type === ScaleTypes.CAT) {
cfg.domain = uniq(values);
+ } else if(type === ScaleTypes.QUANTILE) {
+ cfg.domain = values
}
return cfg;
}
diff --git a/packages/layers/src/plugins/MultiPassRendererPlugin.ts b/packages/layers/src/plugins/MultiPassRendererPlugin.ts
index 9a9a9b5d29..02bff96d62 100644
--- a/packages/layers/src/plugins/MultiPassRendererPlugin.ts
+++ b/packages/layers/src/plugins/MultiPassRendererPlugin.ts
@@ -76,13 +76,6 @@ export default class MultiPassRendererPlugin implements ILayerPlugin {
// 渲染前根据 viewport 调整 FBO size
const { width, height } = this.rendererService.getViewportSize();
layer.multiPassRenderer.resize(width, height);
- } else {
- // 未开启 MultiPassRenderer,由于没有 ClearPass,渲染前需要手动 clear
- this.rendererService.clear({
- color: [0, 0, 0, 0],
- depth: 1,
- framebuffer: null,
- });
}
});
}
@@ -99,7 +92,7 @@ export default class MultiPassRendererPlugin implements ILayerPlugin {
const { enablePicking, enableTAA } = layer.getStyleOptions();
// clear first
- multiPassRenderer.add(new ClearPass());
+ // multiPassRenderer.add(new ClearPass());
// picking pass if enabled
if (enablePicking) {
diff --git a/packages/layers/src/point/extrude.ts b/packages/layers/src/point/extrude.ts
index 2d8d3fcade..82d4cf7ce3 100644
--- a/packages/layers/src/point/extrude.ts
+++ b/packages/layers/src/point/extrude.ts
@@ -26,7 +26,7 @@ export default class PointLayer extends BaseLayer {
this.models.forEach((model) =>
model.draw({
uniforms: {
- u_Opacity: opacity || 1.0,
+ u_opacity: opacity || 1.0,
},
}),
);
@@ -78,7 +78,6 @@ export default class PointLayer extends BaseLayer {
if (size) {
let buffersize: number[] = [];
if (Array.isArray(size)) {
- // TODO 多维size支持
buffersize =
size.length === 2 ? [size[0], size[0], size[1]] : size;
}
diff --git a/packages/layers/src/point/fill.ts b/packages/layers/src/point/fill.ts
new file mode 100644
index 0000000000..a94fefbe69
--- /dev/null
+++ b/packages/layers/src/point/fill.ts
@@ -0,0 +1,154 @@
+import {
+ AttributeType,
+ gl,
+ IEncodeFeature,
+ ILayer,
+ ILayerPlugin,
+ ILogService,
+ IStyleAttributeService,
+ lazyInject,
+ TYPES,
+} from '@l7/core';
+import BaseLayer from '../core/BaseLayer';
+import { rgb2arr } from '../utils/color';
+import pointFillFrag from './shaders/fill_frag.glsl';
+import pointFillVert from './shaders/fill_vert.glsl';
+interface IPointLayerStyleOptions {
+ opacity: number;
+ strokeWidth: number;
+ strokeColor: string;
+}
+export function PointTriangulation(feature: IEncodeFeature) {
+ const coordinates = feature.coordinates as number[];
+ return {
+ vertices: [...coordinates, ...coordinates, ...coordinates, ...coordinates],
+ extrude: [-1, -1, 1, -1, 1, 1, -1, 1],
+ indices: [0, 1, 2, 2, 3, 0],
+ size: coordinates.length,
+ };
+}
+export default class PointLayer extends BaseLayer {
+ public name: string = 'PointLayer';
+
+ protected getConfigSchema() {
+ return {
+ properties: {
+ opacity: {
+ type: 'number',
+ minimum: 0,
+ maximum: 1,
+ },
+ },
+ };
+ }
+
+ protected renderModels() {
+ const {
+ opacity = 1,
+ strokeColor = 'rgb(0,0,0,0)',
+ strokeWidth = 1,
+ } = this.getStyleOptions();
+ this.models.forEach((model) =>
+ model.draw({
+ uniforms: {
+ u_opacity: opacity,
+ u_stroke_width: strokeWidth,
+ u_stroke_color: rgb2arr(strokeColor),
+ },
+ }),
+ );
+ return this;
+ }
+
+ protected buildModels() {
+ this.registerBuiltinAttributes(this);
+ this.models = [
+ this.buildLayerModel({
+ moduleName: 'pointfill',
+ vertexShader: pointFillVert,
+ fragmentShader: pointFillFrag,
+ triangulation: PointTriangulation,
+ depth: { enable: false },
+ }),
+ ];
+ }
+
+ private registerBuiltinAttributes(layer: ILayer) {
+ layer.styleAttributeService.registerStyleAttribute({
+ name: 'extrude',
+ type: AttributeType.Attribute,
+ descriptor: {
+ name: 'a_Extrude',
+ buffer: {
+ // give the WebGL driver a hint that this buffer may change
+ usage: gl.DYNAMIC_DRAW,
+ data: [],
+ type: gl.FLOAT,
+ },
+ size: 2,
+ update: (
+ feature: IEncodeFeature,
+ featureIdx: number,
+ vertex: number[],
+ attributeIdx: number,
+ ) => {
+ const extrude = [-1, -1, 1, -1, 1, 1, -1, 1];
+ const extrudeIndex = (attributeIdx % 4) * 2;
+ return [extrude[extrudeIndex], extrude[extrudeIndex + 1]];
+ },
+ },
+ });
+
+ // point layer size;
+ layer.styleAttributeService.registerStyleAttribute({
+ name: 'size',
+ type: AttributeType.Attribute,
+ descriptor: {
+ name: 'a_Size',
+ buffer: {
+ // give the WebGL driver a hint that this buffer may change
+ usage: gl.DYNAMIC_DRAW,
+ data: [],
+ type: gl.FLOAT,
+ },
+ size: 1,
+ update: (
+ feature: IEncodeFeature,
+ featureIdx: number,
+ vertex: number[],
+ attributeIdx: number,
+ ) => {
+ const { size } = feature;
+ return Array.isArray(size) ? [size[0]] : [size as number];
+ },
+ },
+ });
+
+ // point layer size;
+ layer.styleAttributeService.registerStyleAttribute({
+ name: 'shape',
+ type: AttributeType.Attribute,
+ descriptor: {
+ name: 'a_Shape',
+ buffer: {
+ // give the WebGL driver a hint that this buffer may change
+ usage: gl.DYNAMIC_DRAW,
+ data: [],
+ type: gl.FLOAT,
+ },
+ size: 1,
+ update: (
+ feature: IEncodeFeature,
+ featureIdx: number,
+ vertex: number[],
+ attributeIdx: number,
+ ) => {
+ const { shape = 2 } = feature;
+ const shape2d = layer.configService.getConfig().shape2d as string[];
+ const shapeIndex = shape2d.indexOf(shape as string);
+ return [shapeIndex];
+ },
+ },
+ });
+ }
+}
diff --git a/packages/layers/src/point/image.ts b/packages/layers/src/point/image.ts
index 0da6fb6c4d..0112f7be08 100644
--- a/packages/layers/src/point/image.ts
+++ b/packages/layers/src/point/image.ts
@@ -6,6 +6,7 @@ import {
ILayerPlugin,
ILogService,
IStyleAttributeService,
+ ITexture2D,
lazyInject,
TYPES,
} from '@l7/core';
@@ -27,7 +28,7 @@ export function PointTriangulation(feature: IEncodeFeature) {
}
export default class PointLayer extends BaseLayer {
public name: string = 'PointLayer';
-
+ private texture: ITexture2D;
protected getConfigSchema() {
return {
properties: {
@@ -46,12 +47,9 @@ export default class PointLayer extends BaseLayer {
this.models.forEach((model) =>
model.draw({
uniforms: {
- u_Opacity: opacity || 1.0,
- u_texture: createTexture2D({
- data: this.iconService.getCanvas(),
- width: 1024,
- height: this.iconService.canvasHeight || 64,
- }),
+ u_opacity: opacity || 1.0,
+ u_texture: this.texture,
+ u_textSize: [1024, this.iconService.canvasHeight || 128],
},
}),
);
@@ -61,7 +59,9 @@ export default class PointLayer extends BaseLayer {
protected buildModels() {
this.registerBuiltinAttributes(this);
+ this.updateTexture();
this.iconService.on('imageUpdate', () => {
+ this.updateTexture();
this.renderModels();
});
this.models = [
@@ -131,6 +131,7 @@ export default class PointLayer extends BaseLayer {
attributeIdx: number,
) => {
const iconMap = this.iconService.getIconMap();
+
const { shape } = feature;
const { x, y } = iconMap[shape as string] || { x: 0, y: 0 };
return [x, y];
@@ -138,4 +139,12 @@ export default class PointLayer extends BaseLayer {
},
});
}
+ private updateTexture() {
+ const { createTexture2D } = this.rendererService;
+ this.texture = createTexture2D({
+ data: this.iconService.getCanvas(),
+ width: 1024,
+ height: this.iconService.canvasHeight || 128,
+ });
+ }
}
diff --git a/packages/layers/src/point/index.ts b/packages/layers/src/point/index.ts
index ee41bcf005..07ea0c83c6 100644
--- a/packages/layers/src/point/index.ts
+++ b/packages/layers/src/point/index.ts
@@ -10,10 +10,13 @@ import {
TYPES,
} from '@l7/core';
import BaseLayer from '../core/BaseLayer';
+import { rgb2arr } from '../utils/color';
import pointFillFrag from './shaders/fill_frag.glsl';
import pointFillVert from './shaders/fill_vert.glsl';
interface IPointLayerStyleOptions {
opacity: number;
+ strokeWidth: number;
+ strokeColor: string;
}
export function PointTriangulation(feature: IEncodeFeature) {
const coordinates = feature.coordinates as number[];
@@ -40,11 +43,17 @@ export default class PointLayer extends BaseLayer {
}
protected renderModels() {
- const { opacity } = this.getStyleOptions();
+ const {
+ opacity = 1,
+ strokeColor = '#fff',
+ strokeWidth = 1,
+ } = this.getStyleOptions();
this.models.forEach((model) =>
model.draw({
uniforms: {
- u_Opacity: opacity || 1.0,
+ u_opacity: opacity,
+ u_stroke_width: strokeWidth,
+ u_stroke_color: rgb2arr(strokeColor),
},
}),
);
@@ -60,15 +69,6 @@ export default class PointLayer extends BaseLayer {
fragmentShader: pointFillFrag,
triangulation: PointTriangulation,
depth: { enable: false },
- blend: {
- enable: true,
- func: {
- srcRGB: gl.SRC_ALPHA,
- srcAlpha: 1,
- dstRGB: gl.ONE_MINUS_SRC_ALPHA,
- dstAlpha: 1,
- },
- },
}),
];
}
diff --git a/packages/layers/src/point/point.ts b/packages/layers/src/point/point.ts
deleted file mode 100644
index 59f97bef18..0000000000
--- a/packages/layers/src/point/point.ts
+++ /dev/null
@@ -1,130 +0,0 @@
-// import {
-// gl,
-// IIconService,
-// IRendererService,
-// IShaderModuleService,
-// lazyInject,
-// TYPES,
-// } from '@l7/core';
-// import BaseLayer from '../core/BaseLayer';
-// import ExtrudeBuffer from './buffers/ExtrudeBuffer';
-// import ImageBuffer from './buffers/ImageBuffer';
-// import extrude_frag from './shaders/extrude_frag.glsl';
-// import extrude_vert from './shaders/extrude_vert.glsl';
-// import image_frag from './shaders/image_frag.glsl';
-// import image_vert from './shaders/image_vert.glsl';
-
-// export default class PointLayer extends BaseLayer {
-// public name: string = 'PointLayer';
-
-// @lazyInject(TYPES.IShaderModuleService)
-// private readonly shaderModule: IShaderModuleService;
-
-// @lazyInject(TYPES.IRendererService)
-// private readonly renderer: IRendererService;
-
-// protected renderModels() {
-// this.models.forEach((model) =>
-// model.draw({
-// uniforms: {
-// u_ModelMatrix: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1],
-// },
-// }),
-// );
-// return this;
-// }
-
-// protected buildModels(): void {
-// this.shaderModule.registerModule('point', {
-// vs: extrude_vert,
-// fs: extrude_frag,
-// });
-// this.shaderModule.registerModule('pointImage', {
-// vs: image_vert,
-// fs: image_frag,
-// });
-
-// this.models = [];
-// const { vs, fs, uniforms } = this.shaderModule.getModule('pointImage');
-// // const buffer = new ExtrudeBuffer({
-// // data: this.getEncodedData(),
-// // });
-// // buffer.computeVertexNormals('miters', false);
-// const {
-// createAttribute,
-// createBuffer,
-// createElements,
-// createTexture2D,
-// createModel,
-// } = this.renderer;
-// const buffer = new ImageBuffer({
-// data: this.getEncodedData(),
-// iconMap: this.iconService.getIconMap(),
-// });
-// this.models.push(
-// createModel({
-// attributes: {
-// a_Position: createAttribute({
-// buffer: createBuffer({
-// data: buffer.attributes.positions,
-// type: gl.FLOAT,
-// }),
-// size: 3,
-// }),
-// a_normal: createAttribute({
-// buffer: createBuffer({
-// data: buffer.attributes.normals,
-// type: gl.FLOAT,
-// }),
-// size: 3,
-// }),
-// a_color: createAttribute({
-// buffer: createBuffer({
-// data: buffer.attributes.colors,
-// type: gl.FLOAT,
-// }),
-// size: 4,
-// }),
-// a_size: createAttribute({
-// buffer: createBuffer({
-// data: buffer.attributes.sizes,
-// type: gl.FLOAT,
-// }),
-// size: 1,
-// }),
-// a_uv: createAttribute({
-// buffer: createBuffer({
-// data: buffer.attributes.uv,
-// type: gl.FLOAT,
-// }),
-// size: 2,
-// }),
-// // a_shape: createAttribute({
-// // buffer: createBuffer({
-// // data: buffer.attributes.miters,
-// // type: gl.FLOAT,
-// // }),
-// // size: 3,
-// // }),
-// },
-// uniforms: {
-// ...uniforms,
-// u_opacity: this.styleOption.opacity as number,
-// u_texture: createTexture2D({
-// data: this.iconService.getCanvas(),
-// width: 1024,
-// height: this.iconService.canvasHeight,
-// }),
-// },
-// fs,
-// vs,
-// primitive: gl.POINTS,
-// count: buffer.verticesCount,
-// // elements: createElements({
-// // data: buffer.indexArray,
-// // type: gl.UNSIGNED_INT,
-// // }),
-// }),
-// );
-// }
-// }
diff --git a/packages/layers/src/point/shaders/circle_frag.glsl b/packages/layers/src/point/shaders/circle_frag.glsl
index 82b8a77362..ca6b845eb1 100644
--- a/packages/layers/src/point/shaders/circle_frag.glsl
+++ b/packages/layers/src/point/shaders/circle_frag.glsl
@@ -58,4 +58,4 @@ void main() {
);
gl_FragColor = opacity_t * mix(v_color * u_opacity, u_stroke_color * u_stroke_opacity, color_t);
-}
\ No newline at end of file
+}
diff --git a/packages/layers/src/point/shaders/circle_vert.glsl b/packages/layers/src/point/shaders/circle_vert.glsl
index f26e1f34d7..3bea5f4854 100644
--- a/packages/layers/src/point/shaders/circle_vert.glsl
+++ b/packages/layers/src/point/shaders/circle_vert.glsl
@@ -49,4 +49,4 @@ void main() {
// construct point coords
v_data = vec4(extrude, antialiasblur, shape_type);
-}
\ No newline at end of file
+}
diff --git a/packages/layers/src/point/shaders/extrude_frag.glsl b/packages/layers/src/point/shaders/extrude_frag.glsl
index 6f26ac6083..3f0cf17883 100644
--- a/packages/layers/src/point/shaders/extrude_frag.glsl
+++ b/packages/layers/src/point/shaders/extrude_frag.glsl
@@ -3,4 +3,4 @@ uniform float u_opacity: 1.0;
void main() {
gl_FragColor = v_color;
gl_FragColor.a *= u_opacity;
-}
\ No newline at end of file
+}
diff --git a/packages/layers/src/point/shaders/fill_frag.glsl b/packages/layers/src/point/shaders/fill_frag.glsl
index ca6b845eb1..b1eecf6211 100644
--- a/packages/layers/src/point/shaders/fill_frag.glsl
+++ b/packages/layers/src/point/shaders/fill_frag.glsl
@@ -1,7 +1,7 @@
uniform float u_blur : 0;
uniform float u_opacity : 1;
uniform float u_stroke_width : 1;
-uniform vec4 u_stroke_color : [1, 1, 1, 1];
+uniform vec4 u_stroke_color : [0, 0, 0, 0];
uniform float u_stroke_opacity : 1;
varying vec4 v_data;
@@ -9,6 +9,7 @@ varying vec4 v_color;
varying float v_radius;
#pragma include "sdf_2d"
+#pragma include "picking"
void main() {
int shape = int(floor(v_data.w + 0.5));
@@ -56,6 +57,7 @@ void main() {
0.0,
inner_df
);
+ vec4 strokeColor = u_stroke_color == vec4(0) ? v_color : u_stroke_color;
- gl_FragColor = opacity_t * mix(v_color * u_opacity, u_stroke_color * u_stroke_opacity, color_t);
+ gl_FragColor = opacity_t * mix(vec4(v_color.rgb, v_color.a * u_opacity), strokeColor * u_stroke_opacity, color_t);
}
diff --git a/packages/layers/src/point/shaders/fill_vert.glsl b/packages/layers/src/point/shaders/fill_vert.glsl
index dc9a93d76e..af5cb17eb2 100644
--- a/packages/layers/src/point/shaders/fill_vert.glsl
+++ b/packages/layers/src/point/shaders/fill_vert.glsl
@@ -10,7 +10,9 @@ uniform float u_stroke_width : 2;
varying vec4 v_data;
varying vec4 v_color;
varying float v_radius;
+
#pragma include "projection"
+#pragma include "picking"
void main() {
// unpack color(vec2)
@@ -33,4 +35,6 @@ void main() {
// construct point coords
v_data = vec4(extrude, antialiasblur, shape_type);
+
+ setPickingColor(a_PickingColor);
}
diff --git a/packages/layers/src/point/shaders/image_frag.glsl b/packages/layers/src/point/shaders/image_frag.glsl
index a7a2e01450..58992a075f 100644
--- a/packages/layers/src/point/shaders/image_frag.glsl
+++ b/packages/layers/src/point/shaders/image_frag.glsl
@@ -1,12 +1,26 @@
+
uniform sampler2D u_texture;
varying vec4 v_color;
varying vec2 v_uv;
+uniform vec2 u_textSize;
+uniform float u_stroke_width : 1;
+uniform vec4 u_stroke_color : [1, 1, 1, 1];
+uniform float u_stroke_opacity : 1;
+uniform float u_opacity : 1;
+
+varying float v_size;
void main(){
- vec2 pos= v_uv + gl_PointCoord / vec2(1024.,128.)* 64.;
-// pos.y= 1.- pos.y;
+vec2 pos= v_uv / u_textSize + gl_PointCoord / u_textSize * 64.;
+vec2 fragmentPosition = 2.0*gl_PointCoord - 1.0;
+float distance = length(fragmentPosition);
+float distanceSqrd = distance * distance;
+float radius = 1.;
+float r = 1.0 - smoothstep(radius-(radius*0.01),
+ radius+(radius*0.01),
+ distanceSqrd);
vec4 textureColor=texture2D(u_texture,pos);
if(v_color == vec4(0.)){
- gl_FragColor= textureColor;
+ gl_FragColor= vec4(textureColor.xyz, textureColor.w * r);
}else {
gl_FragColor= step(0.01, textureColor.x) * v_color;
}
diff --git a/packages/layers/src/point/shaders/image_vert.glsl b/packages/layers/src/point/shaders/image_vert.glsl
index 5b86d4df16..7aa6a25aa7 100644
--- a/packages/layers/src/point/shaders/image_vert.glsl
+++ b/packages/layers/src/point/shaders/image_vert.glsl
@@ -1,3 +1,4 @@
+
precision highp float;
attribute vec3 a_Position;
attribute vec4 a_Color;
@@ -6,12 +7,18 @@ attribute float a_Size;
varying vec4 v_color;
varying vec2 v_uv;
uniform mat4 u_ModelMatrix;
+uniform float u_stroke_width : 1;
+varying float v_size;
+
#pragma include "projection"
+
void main() {
v_color = a_Color;
v_uv = a_Uv;
vec4 project_pos = project_position(vec4(a_Position, 1.0));
+ v_size = a_Size;
+
gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
- gl_PointSize = a_Size;
+ gl_PointSize = a_Size * 2.0 * u_DevicePixelRatio;
}
diff --git a/packages/layers/src/point/shaders/text_frag.glsl b/packages/layers/src/point/shaders/text_frag.glsl
index c10cd7a96a..d3dfa93034 100644
--- a/packages/layers/src/point/shaders/text_frag.glsl
+++ b/packages/layers/src/point/shaders/text_frag.glsl
@@ -18,10 +18,10 @@ void main() {
lowp float buff = (6.0 - u_strokeWidth / fontScale) / SDF_PX;
highp float gamma = (u_halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);
-
+
highp float gamma_scaled = gamma * v_gamma_scale;
highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);
gl_FragColor = mix(v_color * u_opacity, u_stroke, smoothstep(0., 0.5, 1. - dist)) * alpha;
-}
\ No newline at end of file
+}
diff --git a/packages/layers/src/point/text.ts b/packages/layers/src/point/text.ts
index 21c8958b1c..d31753e987 100644
--- a/packages/layers/src/point/text.ts
+++ b/packages/layers/src/point/text.ts
@@ -56,7 +56,7 @@ export default class TextLayer extends BaseLayer {
this.models.forEach((model) =>
model.draw({
uniforms: {
- u_Opacity: opacity || 1.0,
+ u_opacity: opacity || 1.0,
},
}),
);
diff --git a/packages/layers/src/polygon/index.ts b/packages/layers/src/polygon/index.ts
index ec6fee9464..cf37f37f66 100644
--- a/packages/layers/src/polygon/index.ts
+++ b/packages/layers/src/polygon/index.ts
@@ -40,7 +40,7 @@ export default class PolygonLayer extends BaseLayer {
this.models.forEach((model) =>
model.draw({
uniforms: {
- u_Opacity: opacity || 1.0,
+ u_opacity: opacity || 1.0,
},
}),
);
diff --git a/packages/layers/src/polygon/polygon3D.ts b/packages/layers/src/polygon/polygon3D.ts
index 9e981a4e19..3c33e2f089 100644
--- a/packages/layers/src/polygon/polygon3D.ts
+++ b/packages/layers/src/polygon/polygon3D.ts
@@ -26,7 +26,7 @@ export default class PointLayer extends BaseLayer {
this.models.forEach((model) =>
model.draw({
uniforms: {
- u_Opacity: opacity || 1.0,
+ u_opacity: opacity || 1.0,
},
}),
);
diff --git a/packages/layers/src/polygon/shaders/polygon_extrude_frag.glsl b/packages/layers/src/polygon/shaders/polygon_extrude_frag.glsl
index 72a94d2edc..6a07a19084 100644
--- a/packages/layers/src/polygon/shaders/polygon_extrude_frag.glsl
+++ b/packages/layers/src/polygon/shaders/polygon_extrude_frag.glsl
@@ -1,10 +1,10 @@
-uniform float u_Opacity: 1.0;
+uniform float u_opacity: 1.0;
varying vec4 v_Color;
#pragma include "picking"
void main() {
gl_FragColor = v_Color;
- gl_FragColor.a *= u_Opacity;
+ gl_FragColor.a *= u_opacity;
gl_FragColor = filterColor(gl_FragColor);
}
diff --git a/packages/layers/src/polygon/shaders/polygon_frag.glsl b/packages/layers/src/polygon/shaders/polygon_frag.glsl
index 6543d1b4d5..6a07a19084 100644
--- a/packages/layers/src/polygon/shaders/polygon_frag.glsl
+++ b/packages/layers/src/polygon/shaders/polygon_frag.glsl
@@ -1,10 +1,10 @@
-uniform float u_Opacity: 1.0;
+uniform float u_opacity: 1.0;
varying vec4 v_Color;
#pragma include "picking"
void main() {
gl_FragColor = v_Color;
- gl_FragColor.a *= u_Opacity;
+ gl_FragColor.a *= u_opacity;
gl_FragColor = filterColor(gl_FragColor);
-}
\ No newline at end of file
+}
diff --git a/packages/layers/src/raster/image.ts b/packages/layers/src/raster/image.ts
index 74a6e84465..38c29f6569 100644
--- a/packages/layers/src/raster/image.ts
+++ b/packages/layers/src/raster/image.ts
@@ -40,7 +40,7 @@ export default class ImageLayer extends BaseLayer {
this.models.forEach((model) =>
model.draw({
uniforms: {
- u_Opacity: opacity || 1,
+ u_opacity: opacity || 1,
u_texture: this.texture,
},
}),
diff --git a/packages/layers/src/raster/raster.ts b/packages/layers/src/raster/raster.ts
index 011eaef5bd..8a4d87bc83 100644
--- a/packages/layers/src/raster/raster.ts
+++ b/packages/layers/src/raster/raster.ts
@@ -48,7 +48,7 @@ export default class RasterLayer extends BaseLayer {
this.models.forEach((model) =>
model.draw({
uniforms: {
- u_Opacity: opacity || 1,
+ u_opacity: opacity || 1,
u_texture: this.texture,
u_min: min,
u_width: width,
diff --git a/packages/layers/src/raster/shaders/raster_frag.glsl b/packages/layers/src/raster/shaders/raster_frag.glsl
index bc97a61bcb..8c56cd6d8d 100644
--- a/packages/layers/src/raster/shaders/raster_frag.glsl
+++ b/packages/layers/src/raster/shaders/raster_frag.glsl
@@ -1,9 +1,9 @@
varying vec4 v_color;
-uniform float u_Opacity: 1.0;
+uniform float u_opacity: 1.0;
#define PI 3.141592653589793
void main() {
gl_FragColor = v_color;
- gl_FragColor.a *= u_Opacity;
+ gl_FragColor.a *= u_opacity;
}
diff --git a/packages/layers/src/utils/polylineNormal.ts b/packages/layers/src/utils/polylineNormal.ts
index ddfed304a3..3ac7ee0d54 100644
--- a/packages/layers/src/utils/polylineNormal.ts
+++ b/packages/layers/src/utils/polylineNormal.ts
@@ -48,9 +48,10 @@ function addNext(
}
function lineSegmentDistance(end: vec2, start: vec2) {
- const dx = start[0] - end[0];
- const dy = start[1] - end[1];
- // const dz = start[2] - end[2];
+ const a1 = aProjectFlat([start[0], start[1]]);
+ const b1 = aProjectFlat([end[0], end[1]]);
+ const dx = a1[0] - b1[0];
+ const dy = a1[1] - b1[1];
return Math.sqrt(dx * dx + dy * dy);
}
@@ -212,12 +213,14 @@ export default function(
}
const pickData = [];
for (let i = 0; i < miters.length; i++) {
+ const totalDistance = attrDistance[attrDistance.length - 1];
pickData.push(
attrPos[i * 3],
attrPos[i * 3 + 1],
attrPos[i * 3 + 1],
attrDistance[i],
miters[i],
+ totalDistance,
);
}
return {
diff --git a/packages/maps/src/amap/Viewport.ts b/packages/maps/src/amap/Viewport.ts
index 0338737dd6..d7b63e5ca5 100644
--- a/packages/maps/src/amap/Viewport.ts
+++ b/packages/maps/src/amap/Viewport.ts
@@ -24,7 +24,6 @@ export default class Viewport implements IViewport {
far = 1000,
fov = 0,
} = mapCamera;
-
this.zoom = zoom;
this.center = center;
diff --git a/packages/maps/src/amap/index.ts b/packages/maps/src/amap/index.ts
index c1bbd6cb4f..696f06db42 100644
--- a/packages/maps/src/amap/index.ts
+++ b/packages/maps/src/amap/index.ts
@@ -10,16 +10,18 @@ import {
IMapService,
IPoint,
IViewport,
+ MapServiceEvent,
MapType,
TYPES,
} from '@l7/core';
import { DOM } from '@l7/utils';
import { inject, injectable } from 'inversify';
import { IAMapEvent, IAMapInstance } from '../../typings/index';
+import { MapTheme } from './theme';
import Viewport from './Viewport';
const AMAP_API_KEY: string = '15cd8a57710d40c9b7c0e3cc120f1200';
-const AMAP_VERSION: string = '1.4.8';
+const AMAP_VERSION: string = '1.4.15';
const LNGLAT_OFFSET_ZOOM_THRESHOLD = 12;
/**
@@ -31,8 +33,9 @@ export default class AMapService implements IMapService {
@inject(TYPES.ICoordinateSystemService)
private readonly coordinateSystemService: ICoordinateSystemService;
+ @inject(TYPES.IEventEmitter)
+ private eventEmitter: IEventEmitter;
private markerContainer: HTMLElement;
-
private $mapContainer: HTMLElement | null;
private $jsapi: HTMLScriptElement;
@@ -56,9 +59,12 @@ export default class AMapService implements IMapService {
// map event
public on(type: string, handle: (...args: any[]) => void): void {
- this.map.on(type, handle);
+ if (MapServiceEvent.indexOf(type) !== -1) {
+ this.eventEmitter.on(type, handle);
+ } else {
+ this.map.on(type, handle);
+ }
}
-
public off(type: string, handle: (...args: any[]) => void): void {
this.map.off(type, handle);
}
@@ -137,7 +143,7 @@ export default class AMapService implements IMapService {
this.map.setZoomAndCenter(zoom, center);
}
public setMapStyle(style: string): void {
- this.setMapStyle(style);
+ this.map.setMapStyle(this.getMapStyle(style));
}
public pixelToLngLat(pixel: [number, number]): ILngLat {
const lngLat = this.map.pixelToLngLat(new AMap.Pixel(pixel[0], pixel[1]));
@@ -168,10 +174,18 @@ export default class AMapService implements IMapService {
}
public async init(mapConfig: IMapConfig): Promise {
- const { id, style, ...rest } = mapConfig;
+ const {
+ id,
+ style = 'light',
+ minZoom = 0,
+ maxZoom = 18,
+ ...rest
+ } = mapConfig;
this.$mapContainer = document.getElementById(id);
+ // this.eventEmitter = container.get(TYPES.IEventEmitter);
+
// tslint:disable-next-line:typedef
await new Promise((resolve) => {
// 异步加载高德地图
@@ -179,13 +193,15 @@ export default class AMapService implements IMapService {
window.onload = (): void => {
// @ts-ignore
this.map = new AMap.Map(id, {
- mapStyle: style,
+ mapStyle: this.getMapStyle(style),
+ zooms: [minZoom, maxZoom],
viewMode: '3D',
...rest,
});
// 监听地图相机时间
this.map.on('camerachange', this.handleCameraChanged);
+ this.emit('mapload');
resolve();
};
@@ -198,10 +214,20 @@ export default class AMapService implements IMapService {
this.viewport = new Viewport();
}
+ public emit(name: string, ...args: any[]) {
+ this.eventEmitter.emit(name, ...args);
+ }
+
+ public once(name: string, ...args: any[]) {
+ this.eventEmitter.once(name, ...args);
+ }
public destroy() {
- this.map.destroy();
- document.head.removeChild(this.$jsapi);
+ this.eventEmitter.removeAllListeners();
+ if (this.map) {
+ this.map.destroy();
+ document.head.removeChild(this.$jsapi);
+ }
}
public getMapContainer() {
@@ -224,7 +250,6 @@ export default class AMapService implements IMapService {
position,
} = e.camera;
const { lng, lat } = this.getCenter();
-
if (this.cameraChangedCallback) {
// resync viewport
this.viewport.syncWithMapCamera({
@@ -244,15 +269,20 @@ export default class AMapService implements IMapService {
});
// set coordinate system
- if (this.viewport.getZoom() > LNGLAT_OFFSET_ZOOM_THRESHOLD) {
- this.coordinateSystemService.setCoordinateSystem(
- CoordinateSystem.P20_OFFSET,
- );
- } else {
- this.coordinateSystemService.setCoordinateSystem(CoordinateSystem.P20);
- }
-
+ // if (this.viewport.getZoom() > LNGLAT_OFFSET_ZOOM_THRESHOLD) {
+ // // TODO:偏移坐标系高德地图不支持 pith bear 同步
+ // this.coordinateSystemService.setCoordinateSystem(
+ // CoordinateSystem.P20_OFFSET,
+ // );
+ // } else {
+ // this.coordinateSystemService.setCoordinateSystem(CoordinateSystem.P20);
+ // }
+ this.coordinateSystemService.setCoordinateSystem(CoordinateSystem.P20);
this.cameraChangedCallback(this.viewport);
}
};
+
+ private getMapStyle(name: string) {
+ return MapTheme[name] ? MapTheme[name] : name;
+ }
}
diff --git a/packages/maps/src/amap/theme.ts b/packages/maps/src/amap/theme.ts
new file mode 100644
index 0000000000..ce284d7338
--- /dev/null
+++ b/packages/maps/src/amap/theme.ts
@@ -0,0 +1,7 @@
+export const MapTheme: {
+ [key: string]: any;
+} = {
+ dark: 'amap://styles/2a09079c3daac9420ee53b67307a8006?isPublic=true',
+ light: 'amap://styles/1fd9f8ef9751298f11f5c56968312c70?isPublic=true',
+ normal: 'amap://styles/12db649ba3493333b098127ed892c0cb?isPublic=true',
+};
diff --git a/packages/maps/src/map.ts b/packages/maps/src/map.ts
new file mode 100644
index 0000000000..25f1799d7d
--- /dev/null
+++ b/packages/maps/src/map.ts
@@ -0,0 +1,34 @@
+import {
+ Bounds,
+ container,
+ CoordinateSystem,
+ ICoordinateSystemService,
+ ILngLat,
+ IMapConfig,
+ IMapService,
+ IPoint,
+ IViewport,
+ MapType,
+ TYPES,
+} from '@l7/core';
+import { DOM } from '@l7/utils';
+import { inject, injectable } from 'inversify';
+import { IAMapEvent, IAMapInstance } from '../typings/index';
+
+@injectable()
+export default class MapService implements IMapService {
+ public map: MapInstance;
+
+ @inject(TYPES.ICoordinateSystemService)
+ protected readonly coordinateSystemService: ICoordinateSystemService;
+ @inject(TYPES.IEventEmitter)
+ protected eventEmitter: IEventEmitter;
+ protected markerContainer: HTMLElement;
+ protected $mapContainer: HTMLElement | null;
+
+ private cameraChangedCallback: (viewport: IViewport) => void;
+
+ public getMarkerContainer(): HTMLElement {
+ return this.markerContainer;
+ }
+}
diff --git a/packages/maps/src/mapbox/index.ts b/packages/maps/src/mapbox/index.ts
index 2ce6f0d59c..218a89788b 100644
--- a/packages/maps/src/mapbox/index.ts
+++ b/packages/maps/src/mapbox/index.ts
@@ -10,6 +10,7 @@ import {
IMapService,
IPoint,
IViewport,
+ MapServiceEvent,
MapType,
TYPES,
} from '@l7/core';
@@ -24,7 +25,7 @@ const EventMap: {
mapmove: 'move',
camerachange: 'move',
};
-
+import { MapTheme } from './theme';
mapboxgl.accessToken =
'pk.eyJ1IjoieGlhb2l2ZXIiLCJhIjoiY2pxcmc5OGNkMDY3cjQzbG42cXk5NTl3YiJ9.hUC5Chlqzzh0FFd_aEc-uQ';
const LNGLAT_OFFSET_ZOOM_THRESHOLD = 12;
@@ -37,6 +38,9 @@ export default class MapboxService implements IMapService {
public map: Map & IMapboxInstance;
@inject(TYPES.ICoordinateSystemService)
private readonly coordinateSystemService: ICoordinateSystemService;
+
+ @inject(TYPES.IEventEmitter)
+ private eventEmitter: IEventEmitter;
private viewport: Viewport;
private markerContainer: HTMLElement;
private cameraChangedCallback: (viewport: IViewport) => void;
@@ -55,7 +59,12 @@ export default class MapboxService implements IMapService {
// map event
public on(type: string, handle: (...args: any[]) => void): void {
- this.map.on(EventMap[type] || type, handle);
+ if (MapServiceEvent.indexOf('mapload') !== -1) {
+ this.eventEmitter.on(type, handle);
+ } else {
+ // 统一事件名称
+ this.map.on(EventMap[type] || type, handle);
+ }
}
public off(type: string, handle: (...args: any[]) => void): void {
this.map.off(EventMap[type] || type, handle);
@@ -142,7 +151,7 @@ export default class MapboxService implements IMapService {
}
public setMapStyle(style: string): void {
- this.map.setStyle(style);
+ this.map.setStyle(this.getMapStyle(style));
}
// TODO: 计算像素坐标
public pixelToLngLat(pixel: [number, number]): ILngLat {
@@ -162,7 +171,12 @@ export default class MapboxService implements IMapService {
}
public async init(mapConfig: IMapConfig): Promise {
- const { id, attributionControl = false, ...rest } = mapConfig;
+ const {
+ id,
+ attributionControl = false,
+ style = 'light',
+ ...rest
+ } = mapConfig;
this.$mapContainer = document.getElementById(id);
this.viewport = new Viewport();
@@ -174,9 +188,11 @@ export default class MapboxService implements IMapService {
// @ts-ignore
this.map = new mapboxgl.Map({
container: id,
+ style: this.getMapStyle(style),
attributionControl,
...rest,
});
+ this.map.on('load', this.handleCameraChanged);
this.map.on('move', this.handleCameraChanged);
// 不同于高德地图,需要手动触发首次渲染
@@ -191,9 +207,18 @@ export default class MapboxService implements IMapService {
}
public destroy() {
- document.head.removeChild(this.$link);
- this.$mapContainer = null;
- this.map.remove();
+ this.eventEmitter.removeAllListeners();
+ if (this.map) {
+ this.map.remove();
+ document.head.removeChild(this.$link);
+ this.$mapContainer = null;
+ }
+ }
+ public emit(name: string, ...args: any[]) {
+ this.eventEmitter.emit(name, ...args);
+ }
+ public once(name: string, ...args: any[]) {
+ this.eventEmitter.once(name, ...args);
}
public getMapContainer() {
@@ -234,6 +259,7 @@ export default class MapboxService implements IMapService {
this.cameraChangedCallback(this.viewport);
};
+
private removeLogoControl(): void {
// @ts-ignore
const controls = this.map._controls as IControl[];
@@ -246,4 +272,8 @@ export default class MapboxService implements IMapService {
this.map.removeControl(logoCtr);
}
}
+
+ private getMapStyle(name: string) {
+ return MapTheme[name] ? MapTheme[name] : name;
+ }
}
diff --git a/packages/maps/src/mapbox/theme.ts b/packages/maps/src/mapbox/theme.ts
new file mode 100644
index 0000000000..9b16ab1e5c
--- /dev/null
+++ b/packages/maps/src/mapbox/theme.ts
@@ -0,0 +1,7 @@
+export const MapTheme: {
+ [key: string]: any;
+} = {
+ light: 'mapbox://styles/zcxduo/ck233y3ru1di71cnulo9jdg2v',
+ dark: 'mapbox://styles/zcxduo/ck241p6413s0b1cpayzldv7x7',
+ normal: 'mapbox://styles/zcxduo/ck2mzfaem0vdw1covi2yy793s',
+};
diff --git a/packages/maps/typings/index.d.ts b/packages/maps/typings/index.d.ts
index e4dcf73132..2cc081b0c5 100644
--- a/packages/maps/typings/index.d.ts
+++ b/packages/maps/typings/index.d.ts
@@ -1,4 +1,5 @@
///
+///
import { IControl } from 'mapbox-gl';
@@ -29,3 +30,22 @@ interface IMapboxInstance {
height: number;
};
}
+interface IEventEmitter {
+ emit(event: EventTypes, ...args: any[]): boolean;
+ /**
+ * Add a listener for a given event.
+ */
+ on(event: EventTypes, handle: (...args: any[]) => void, context?: any): this;
+
+ off(
+ event: EventTypes,
+ handle: (...args: any[]) => void,
+ context?: any,
+ once?: boolean,
+ ): this;
+
+ /**
+ * Remove all listeners, or those of the specified event.
+ */
+ removeAllListeners(event?: EventTypes): this;
+}
diff --git a/packages/renderer/src/regl/ReglModel.ts b/packages/renderer/src/regl/ReglModel.ts
index 16730973cb..661d4f4a79 100644
--- a/packages/renderer/src/regl/ReglModel.ts
+++ b/packages/renderer/src/regl/ReglModel.ts
@@ -85,7 +85,6 @@ export default class ReglModel implements IModel {
this.initBlendDrawParams({ blend }, drawParams);
this.initStencilDrawParams({ stencil }, drawParams);
this.initCullDrawParams({ cull }, drawParams);
-
this.drawCommand = reGl(drawParams);
}
@@ -132,7 +131,6 @@ export default class ReglModel implements IModel {
| ReglTexture2D).get();
}
});
-
this.drawCommand(reglDrawProps);
}
diff --git a/packages/scene/package.json b/packages/scene/package.json
index 09fde486c7..1787e32e86 100644
--- a/packages/scene/package.json
+++ b/packages/scene/package.json
@@ -22,6 +22,7 @@
"@l7/core": "^0.0.1",
"@l7/maps": "^0.0.1",
"@l7/renderer": "^0.0.1",
+ "@l7/component": "^0.0.1",
"mapbox-gl": "^1.2.1",
"inversify": "^5.0.1",
"inversify-inject-decorators": "^3.1.0",
diff --git a/packages/scene/src/index.ts b/packages/scene/src/index.ts
index ca35343e94..3b0243cd73 100644
--- a/packages/scene/src/index.ts
+++ b/packages/scene/src/index.ts
@@ -1,3 +1,4 @@
+import { Logo } from '@l7/component';
import {
Bounds,
container,
@@ -6,6 +7,7 @@ import {
IIconService,
IImage,
ILayer,
+ ILayerService,
ILngLat,
IMapConfig,
IMapService,
@@ -64,16 +66,16 @@ let mapType: MapType;
* scene.render();
*/
class Scene {
- public map: AMap.Map | Map;
+ // public map: AMap.Map | Map;
private sceneService: ISceneService;
private mapService: IMapService;
private controlService: IControlService;
+ private layerService: ILayerService;
private iconService: IIconService;
public constructor(config: IMapConfig & IRenderConfig) {
const { type = MapType.amap } = config;
-
// 根据用户传入参数绑定地图服务
let mapServiceImpl: new (...args: any[]) => IMapService;
if (type === MapType.mapbox) {
@@ -104,8 +106,11 @@ class Scene {
this.mapService = container.get(TYPES.IMapService);
this.iconService = container.get(TYPES.IIconService);
this.controlService = container.get(TYPES.IControlService);
- this.map = this.mapService.map; // 暴露原生map方法
+ this.layerService = container.get(TYPES.ILayerService);
mapType = this.mapService.getType();
+ // 初始化 scene
+
+ this.init();
}
public getMapService(): IMapService {
@@ -113,10 +118,26 @@ class Scene {
//
}
+ public get map() {
+ return this.mapService.map;
+ }
+
public addLayer(layer: ILayer): void {
this.sceneService.addLayer(layer);
}
+ public getLayers(): ILayer[] {
+ return this.layerService.getLayers();
+ }
+
+ public getLayer(id: string): ILayer | undefined {
+ return this.layerService.getLayer(id);
+ }
+
+ public removeLayer(layer: ILayer): void {
+ this.layerService.remove(layer);
+ }
+
public render(): void {
this.sceneService.render();
}
@@ -136,7 +157,13 @@ class Scene {
// map control method
public addControl(ctr: IControl) {
- this.controlService.addControl(ctr, this.mapService);
+ if (this.mapService.map) {
+ this.controlService.addControl(ctr, this.mapService);
+ } else {
+ this.mapService.once('mapload', () => {
+ this.controlService.addControl(ctr, this.mapService);
+ });
+ }
}
public removeControl(ctr: IControl) {
@@ -238,6 +265,15 @@ class Scene {
// TODO: 清理其他 Service 例如 IconService
}
+ private init(): void {
+ this.initControl();
+ this.render();
+ }
+
+ private initControl(): void {
+ this.addControl(new Logo());
+ }
+
// 资源管理
}
diff --git a/packages/source/src/transform/grid.ts b/packages/source/src/transform/grid.ts
index 54aada184d..1d829ea49a 100644
--- a/packages/source/src/transform/grid.ts
+++ b/packages/source/src/transform/grid.ts
@@ -19,8 +19,8 @@ export function aggregatorToGrid(data: IParserData, option: ITransform) {
const { gridHash, gridOffset } = _pointsGridHash(dataArray, size);
const layerData = _getGridLayerDataFromGridHash(gridHash, gridOffset, option);
return {
- yOffset: gridOffset.yOffset / 1.8,
- xOffset: gridOffset.xOffset / 1.8,
+ yOffset: gridOffset.yOffset / 1.6,
+ xOffset: gridOffset.xOffset / 1.6,
radius: gridOffset.xOffset,
dataArray: layerData,
};
diff --git a/site/locale.json b/site/locale.json
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/site/pages/index.en.ts b/site/pages/index.en.ts
new file mode 100644
index 0000000000..4816cd94d3
--- /dev/null
+++ b/site/pages/index.en.ts
@@ -0,0 +1,2 @@
+import Index from './index.zh';
+export default Index;
diff --git a/site/pages/index.zh.ts b/site/pages/index.zh.ts
new file mode 100644
index 0000000000..41eb5c9ca2
--- /dev/null
+++ b/site/pages/index.zh.ts
@@ -0,0 +1,5 @@
+const IndexPage = () => {
+ return 'test';
+};
+
+export default IndexPage;
diff --git a/stories/Animation/components/Polygon.tsx b/stories/Animation/components/Polygon.tsx
index be6b7594ad..3786c27b78 100644
--- a/stories/Animation/components/Polygon.tsx
+++ b/stories/Animation/components/Polygon.tsx
@@ -56,7 +56,7 @@ export default class Mapbox extends React.Component {
])
.shape('fill')
.style({
- opacity: 0.8,
+ opacity: 0.3,
});
scene.addLayer(layer);
scene.render();
diff --git a/stories/Layers/components/Line.tsx b/stories/Layers/components/Line.tsx
index 55dd4d5bcb..e3542876d2 100644
--- a/stories/Layers/components/Line.tsx
+++ b/stories/Layers/components/Line.tsx
@@ -57,7 +57,7 @@ export default class LineDemo extends React.Component {
'#002466',
].reverse(),
)
- .render();
+
scene.addLayer(lineLayer);
scene.render();
this.scene = scene;
diff --git a/stories/Layers/components/Point.tsx b/stories/Layers/components/Point.tsx
index 00c39467ce..303a9217d6 100644
--- a/stories/Layers/components/Point.tsx
+++ b/stories/Layers/components/Point.tsx
@@ -53,7 +53,11 @@ export default class Point3D extends React.Component {
'rhombus',
'vesica',
])
- .size('scalerank', [2, 4, 6, 8, 10]);
+ .size('scalerank', [5,10])
+ .style({
+ opacity: 1.0
+ })
+ ;
scene.addLayer(pointLayer);
console.log(pointLayer);
scene.render();
diff --git a/stories/Layers/components/heatMap.tsx b/stories/Layers/components/heatMap.tsx
index 4dc2c55241..932a838c23 100644
--- a/stories/Layers/components/heatMap.tsx
+++ b/stories/Layers/components/heatMap.tsx
@@ -23,7 +23,7 @@ export default class HeatMapLayerDemo extends React.Component {
zoom: 2,
});
const layer = new HeatMapLayer({
- enableTAA: true,
+ enableTAA: false,
});
layer
.source(await response.json())
@@ -31,10 +31,9 @@ export default class HeatMapLayerDemo extends React.Component {
.style({
intensity: 2,
radius: 20,
- opacity: 0.5,
+ opacity: 0.6,
rampColors: {
colors: [
- 'rgba(0,0,0,0)',
'#2E8AE6',
'#69D1AB',
'#DAF291',
@@ -42,7 +41,7 @@ export default class HeatMapLayerDemo extends React.Component {
'#FF7A45',
'#CF1D49',
],
- positions: [0, 0.1, 0.2, 0.4, 0.6, 0.8, 1.0],
+ positions: [0,0.2, 0.4, 0.6, 0.8, 1.0],
},
});
scene.addLayer(layer);
diff --git a/stories/Layers/components/pointImage.tsx b/stories/Layers/components/pointImage.tsx
index 7d2dcf820f..1d35687395 100644
--- a/stories/Layers/components/pointImage.tsx
+++ b/stories/Layers/components/pointImage.tsx
@@ -1,4 +1,4 @@
-import { PointImageLayer } from '@l7/layers';
+import { PointImageLayer, PointLayer } from '@l7/layers';
import { Scene } from '@l7/scene';
import * as React from 'react';
import data from '../data/data.json';
@@ -9,39 +9,51 @@ export default class PointImage extends React.Component {
this.scene.destroy();
}
- public componentDidMount() {
+ public async componentDidMount() {
+ const response = await fetch(
+ 'https://gw.alipayobjects.com/os/basement_prod/893d1d5f-11d9-45f3-8322-ee9140d288ae.json',
+ );
const scene = new Scene({
- center: [120.19382669582967, 30.258134],
+ center: [121.40, 31.258134],
+ zoom: 15,
id: 'map',
pitch: 0,
type: 'mapbox',
style: 'mapbox://styles/mapbox/streets-v9',
- zoom: 1,
});
- const pointLayer = new PointImageLayer({});
- const p1 = {
- type: 'FeatureCollection',
- features: [
- {
- type: 'Feature',
- properties: {},
- geometry: {
- type: 'Point',
- coordinates: [83.671875, 44.84029065139799],
- },
- },
- ],
- };
scene.addImage(
'00',
- 'https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*kzTMQqS2QdUAAAAAAAAAAABkARQnAQ',
+ 'https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*Rq6tQ5b4_JMAAAAAAAAAAABkARQnAQ',
);
- pointLayer
- .source(data)
- .shape('00')
- .size(30);
- scene.addLayer(pointLayer);
- scene.render();
+ scene.addImage(
+ '01',
+ 'https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*0D0SQ6AgkRMAAAAAAAAAAABkARQnAQ',
+ );
+ scene.addImage(
+ '02',
+ 'https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*o16fSIvcKdUAAAAAAAAAAABkARQnAQ',
+ );
+ this.scene = scene;
+ scene.on('loaded', () => {
+ run();
+ });
+ const imageLayer = new PointImageLayer({})
+ .source(await response.json(), {
+ parser: {
+ type: 'json',
+ x: 'longitude',
+ y: 'latitude',
+ }
+ })
+ .shape('name', ['00', '01', '02'])
+ .size(60);
+ scene.addLayer(imageLayer);
+
+ function run() {
+ scene.render();
+ console.log('render');
+ requestAnimationFrame(run);
+ }
this.scene = scene;
}
diff --git a/stories/Picking/components/Highlight.tsx b/stories/Picking/components/Highlight.tsx
index 3211675500..6c004bd8cb 100644
--- a/stories/Picking/components/Highlight.tsx
+++ b/stories/Picking/components/Highlight.tsx
@@ -38,7 +38,7 @@ export default class Highlight extends React.Component {
highlightColor: [0, 0, 1, 1],
onHover: (pickedFeature) => {
// tslint:disable-next-line:no-console
- console.log(pickedFeature);
+ // console.log(pickedFeature);
},
});
@@ -59,7 +59,7 @@ export default class Highlight extends React.Component {
});
scene.addLayer(layer);
scene.render();
-
+ console.log(layer);
this.scene = scene;
/*** 运行时修改样式属性 ***/
diff --git a/stories/Picking/components/Tooltip.tsx b/stories/Picking/components/Tooltip.tsx
index 120f0dc957..d833036b65 100644
--- a/stories/Picking/components/Tooltip.tsx
+++ b/stories/Picking/components/Tooltip.tsx
@@ -29,7 +29,7 @@ export default class Mapbox extends React.Component {
enableHighlight: false,
onHover: (pickedFeature) => {
// tslint:disable-next-line:no-console
- console.log(pickedFeature);
+ // console.log(pickedFeature);
},
});
diff --git a/tslint.json b/tslint.json
index 8cd0ecd6f6..25de824011 100644
--- a/tslint.json
+++ b/tslint.json
@@ -17,5 +17,8 @@
"no-bitwise": false,
"object-literal-sort-keys": false,
"no-implicit-dependencies": false
+ },
+ "globals": {
+ "AMap": true
}
}
diff --git a/tslint.prod.json b/tslint.prod.json
index 3cae08d96e..24d12a308b 100644
--- a/tslint.prod.json
+++ b/tslint.prod.json
@@ -6,4 +6,4 @@
"linterOptions": {
"exclude": ["**/*.d.ts", "**/*.{test,story}.ts{,x}"]
}
-}
\ No newline at end of file
+}