├── .gitignore
├── README.md
├── go.mod
├── go.sum
├── macres
└── synk.icns
├── main.go
├── scripts
├── build_for_mac.sh
└── build_for_win.sh
├── server
├── config
│ └── path.go
├── controllers
│ ├── addresses_controller.go
│ ├── files_controller.go
│ ├── qrcodes_controller.go
│ ├── texts_controller.go
│ └── uploads_controller.go
├── frontend
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── index.html
│ ├── package.json
│ ├── src
│ │ ├── components
│ │ │ ├── center.jsx
│ │ │ ├── dialog.jsx
│ │ │ ├── loading.jsx
│ │ │ ├── qrcode.jsx
│ │ │ └── space.jsx
│ │ ├── hooks
│ │ │ └── use_query.js
│ │ ├── images
│ │ │ ├── synk.ico
│ │ │ ├── synk.png
│ │ │ └── synk.svg
│ │ ├── initializers
│ │ │ ├── client_id.js
│ │ │ └── index.js
│ │ ├── main.jsx
│ │ ├── pages
│ │ │ ├── downloads.jsx
│ │ │ ├── home.jsx
│ │ │ └── home
│ │ │ │ ├── components.jsx
│ │ │ │ ├── nav.jsx
│ │ │ │ ├── upload_file_form.jsx
│ │ │ │ ├── upload_screenshot_form.jsx
│ │ │ │ └── upload_text_form.jsx
│ │ ├── shared
│ │ │ ├── app_context.js
│ │ │ ├── global_style.jsx
│ │ │ ├── history.js
│ │ │ ├── http.js
│ │ │ ├── prefetch.js
│ │ │ └── ws_client.js
│ │ └── vite-env.d.ts
│ ├── tsconfig.json
│ ├── vite.config.ts
│ └── yarn.lock
├── initializers
│ └── cors.go
├── server.go
└── ws
│ ├── client.go
│ ├── http_controller.go
│ └── hub.go
├── tmp
└── .keep
├── version
├── winres
├── synk.png
└── winres.json
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | /uploads
2 | /main
3 | /*.exe
4 | *.log
5 | /go-demo-*
6 | /synk*
7 | node_modules
8 | /build
9 | *.syso
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 最近在学习 Go 语言,语法看得差不多了,想着找点什么项目做做,正好我一直想做一个「局域网PC与手机互传文件,且不想借助微信/QQ等骚扰软件」的软件,于是就用 Go 来做了,最终截图如下:
2 |
3 | 
4 |
5 | 
6 |
7 | 
8 |
9 | 功能很简单:
10 | 1. PC 上传文字或文件后创建二维码,提供给手机浏览器扫码下载
11 | 2. 手机在浏览器上传文字或文件后自动用 websocket 通知给 PC 端,弹出下载提示
12 |
13 | 这里主要说一下实现思路。
14 |
15 | # 实现思路
16 |
17 | ## 用 Loca 创建窗口
18 |
19 | 我了解到 Go 的如下库可以实现窗口:
20 |
21 | 1. [lorca](https://github.com/zserge/lorca) - 调用系统现有的 Chrome/Edge 实现简单的窗口,UI 通过 HTML/CSS/JS 实现
22 | 2. [webview](https://github.com/webview/webview) - 比 lorca 功能更强,实现 UI 的思路差不多
23 | 3. [fyne](https://github.com/fyne-io/fyne) - 使用 Canvas 绘制的 UI 框架,性能不错
24 | 4. [qt](https://github.com/therecipe/qt) - 更复杂更强大的 UI 框架
25 |
26 | 我随便挑了个最简单的 Lorca 就开始了。
27 |
28 | ## 用 HTML/CSS/JS 制作 UI
29 |
30 | 我用 React + ReactRouter 来实现页面结构,文件上传和对话框是自己用原生 JS 写的,UI 细节用 CSS3 来做,没有依赖其他 UI 组件库。
31 |
32 | Lorca 的主要功能就是展示我写的 index.html。
33 |
34 | ## 用 [gin](https://github.com/gin-gonic/gin) 实现后台接口
35 |
36 | index.html 中的 JS 用到了五个接口,我使用 gin 来实现:
37 |
38 | ```
39 | router.GET("/uploads/:path", controllers.UploadsController)
40 | router.GET("/api/v1/addresses", controllers.AddressesController)
41 | router.GET("/api/v1/qrcodes", controllers.QrcodesController)
42 | router.POST("/api/v1/files", controllers.FilesController)
43 | router.POST("/api/v1/texts", controllers.TextsController)
44 | ```
45 |
46 | 其中的二维码生成我用的是 [go-qrcode](https://github.com/skip2/go-qrcode)。
47 |
48 | ## 用 [gorilla/websocket](https://github.com/gorilla/websocket) 实现手机通知 PC
49 |
50 | 这个库提供了一个聊天室的例子,稍微改一下就能为我所用了。
51 |
52 | ## 整体思路
53 |
54 | 总得来说:
55 |
56 | 1. 用 Lorca 搞出一个窗口
57 | 2. 用 HTML 制作界面,用 JS 调用后台接口
58 | 3. 用 Gin 实现后台接口
59 | 4. 上传的文件都放到 uploads 文件夹中
60 |
61 | 共 400 行 Go 代码,700 行 JS 代码。
62 |
63 | # 如何使用
64 |
65 | 目前我只测试了 Windows 系统,能正常运行。理论上 macOS 和 Linux 也能运行,但我并没有测试。
66 |
67 | 你可以在 [releases 页面](https://github.com/FrankFang/synk/releases) 下载可执行文件,也可以自行编译源代码得到可执行文件。
68 |
69 | ## Windows 用户须知
70 |
71 | Windows 用户需要在防火墙的入站规则中运行 27149 端口的连接,否则此软件无法被手机访问。
72 |
73 | ## 自行编译
74 |
75 | ```
76 | git clone git@github.com:FrankFang/synk.git
77 | cd synk
78 | cd server/frontend; yarn; yarn build; cd -
79 | ./scripts/build_for_mac.sh
80 | ./scripts/build_for_win.sh
81 | ```
82 |
83 | # 我的收获
84 |
85 | 1. 知道如何用 Go 写一个发布订阅(使用 websocket 的时候看到别人的源码了)
86 | 2. 知道 `ch2 <- ch1` 与 `ch2 <- (<-ch1)` 的区别了,前者一般是写错了
87 | 3. 知道了 Go 应用代码引入本地包的方法
88 |
89 |
90 |
91 |
--------------------------------------------------------------------------------
/go.mod:
--------------------------------------------------------------------------------
1 | module synk
2 |
3 | go 1.16
4 |
5 | require (
6 | github.com/gin-contrib/cors v1.3.1
7 | github.com/gin-gonic/gin v1.7.4
8 | github.com/go-playground/validator/v10 v10.9.0 // indirect
9 | github.com/golang/protobuf v1.5.2 // indirect
10 | github.com/google/uuid v1.3.0
11 | github.com/gorilla/websocket v1.4.2
12 | github.com/json-iterator/go v1.1.12 // indirect
13 | github.com/mattn/go-isatty v0.0.14 // indirect
14 | github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
15 | github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
16 | github.com/ugorji/go v1.2.6 // indirect
17 | github.com/zserge/lorca v0.1.10
18 | golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect
19 | golang.org/x/sys v0.0.0-20210921065528-437939a70204 // indirect
20 | golang.org/x/text v0.3.7 // indirect
21 | golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
22 | google.golang.org/protobuf v1.27.1 // indirect
23 | gopkg.in/yaml.v2 v2.4.0 // indirect
24 | )
25 |
--------------------------------------------------------------------------------
/go.sum:
--------------------------------------------------------------------------------
1 | github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
2 | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
3 | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
4 | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5 | github.com/gin-contrib/cors v1.3.1 h1:doAsuITavI4IOcd0Y19U4B+O0dNWihRyX//nn4sEmgA=
6 | github.com/gin-contrib/cors v1.3.1/go.mod h1:jjEJ4268OPZUcU7k9Pm653S7lXUGcqMADzFA61xsmDk=
7 | github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
8 | github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
9 | github.com/gin-gonic/gin v1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmCsR2Do=
10 | github.com/gin-gonic/gin v1.7.4 h1:QmUZXrvJ9qZ3GfWvQ+2wnW/1ePrTEJqPKMYEU3lD/DM=
11 | github.com/gin-gonic/gin v1.7.4/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY=
12 | github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A=
13 | github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
14 | github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM=
15 | github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
16 | github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU=
17 | github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs=
18 | github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY=
19 | github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
20 | github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho=
21 | github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA=
22 | github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4=
23 | github.com/go-playground/validator/v10 v10.9.0 h1:NgTtmN58D0m8+UuxtYmGztBJB7VnPgjj221I1QHci2A=
24 | github.com/go-playground/validator/v10 v10.9.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos=
25 | github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
26 | github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
27 | github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
28 | github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
29 | github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
30 | github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
31 | github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
32 | github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
33 | github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
34 | github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
35 | github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
36 | github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
37 | github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
38 | github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
39 | github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
40 | github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
41 | github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
42 | github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
43 | github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
44 | github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
45 | github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
46 | github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
47 | github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
48 | github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
49 | github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw=
50 | github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
51 | github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w=
52 | github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY=
53 | github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
54 | github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
55 | github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
56 | github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
57 | github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
58 | github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
59 | github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
60 | github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
61 | github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
62 | github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
63 | github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
64 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
65 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
66 | github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
67 | github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8=
68 | github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
69 | github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e h1:MRM5ITcdelLK2j1vwZ3Je0FKVCfqOLp5zO6trqMLYs0=
70 | github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e/go.mod h1:XV66xRDqSt+GTGFMVlhk3ULuV0y9ZmzeVGR4mloJI3M=
71 | github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
72 | github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
73 | github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
74 | github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
75 | github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
76 | github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
77 | github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
78 | github.com/ugorji/go v1.2.6 h1:tGiWC9HENWE2tqYycIqFTNorMmFRVhNwCpDOpWqnk8E=
79 | github.com/ugorji/go v1.2.6/go.mod h1:anCg0y61KIhDlPZmnH+so+RQbysYVyDko0IMgJv0Nn0=
80 | github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
81 | github.com/ugorji/go/codec v1.2.6 h1:7kbGefxLoDBuYXOms4yD7223OpNMMPNPZxXk5TvFcyQ=
82 | github.com/ugorji/go/codec v1.2.6/go.mod h1:V6TCNZ4PHqoHGFZuSG1W8nrCzzdgA2DozYxWFFpvxTw=
83 | github.com/zserge/lorca v0.1.10 h1:f/xBJ3D3ipcVRCcvN8XqZnpoKcOXV8I4vwqlFyw7ruc=
84 | github.com/zserge/lorca v0.1.10/go.mod h1:bVmnIbIRlOcoV285KIRSe4bUABKi7R7384Ycuum6e4A=
85 | golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
86 | golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
87 | golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
88 | golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg=
89 | golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
90 | golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
91 | golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
92 | golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 h1:qWPm9rbaAMKs8Bq/9LRpbMqxWRVUAQwMI9fVrssnTfw=
93 | golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
94 | golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
95 | golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
96 | golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
97 | golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
98 | golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
99 | golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
100 | golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
101 | golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
102 | golang.org/x/sys v0.0.0-20210921065528-437939a70204 h1:JJhkWtBuTQKyz2bd5WG9H8iUsJRU3En/KRfN8B2RnDs=
103 | golang.org/x/sys v0.0.0-20210921065528-437939a70204/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
104 | golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
105 | golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
106 | golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
107 | golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
108 | golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
109 | golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
110 | golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
111 | golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
112 | golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
113 | golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
114 | golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
115 | google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
116 | google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
117 | google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
118 | google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
119 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
120 | gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
121 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
122 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
123 | gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
124 | gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
125 | gopkg.in/go-playground/validator.v9 v9.29.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ=
126 | gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
127 | gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
128 | gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
129 | gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
130 | gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
131 | gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
132 | gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
133 |
--------------------------------------------------------------------------------
/macres/synk.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrankFang/synk/9a69de156f30fbe1d113d754f30b53e2d902c8ea/macres/synk.icns
--------------------------------------------------------------------------------
/main.go:
--------------------------------------------------------------------------------
1 | //go:generate go-winres make --product-version=git-tag
2 | package main
3 |
4 | import (
5 | "embed"
6 | "fmt"
7 | "os"
8 | "os/signal"
9 | "sync"
10 |
11 | server "synk/server"
12 |
13 | "github.com/zserge/lorca"
14 | )
15 |
16 | //go:embed server/frontend/dist/*
17 | var FS embed.FS
18 |
19 | func recoverFromError() {
20 | if r := recover(); r != nil {
21 | fmt.Println("Recovering from panic:", r)
22 | }
23 | }
24 | func main() {
25 | var endWaiter sync.WaitGroup
26 | endWaiter.Add(1)
27 | start := make(chan int)
28 | end := make(chan interface{})
29 | go server.Run(start, end)
30 | go func(start chan int, quit chan interface{}) {
31 | port := <-start
32 | defer recoverFromError()
33 | ui, _ := lorca.New(fmt.Sprintf("http://127.0.0.1:%d/static/index.html", port), "", 800, 600, "--disable-sync", " --disable-translate")
34 | defer ui.Close()
35 | quit <- (<-ui.Done())
36 | }(start, end)
37 | signalChannel := make(chan os.Signal, 1)
38 | signal.Notify(signalChannel, os.Interrupt)
39 | select {
40 | case <-signalChannel:
41 | endWaiter.Done()
42 | case <-end:
43 | endWaiter.Done()
44 | }
45 | endWaiter.Wait()
46 | }
47 |
--------------------------------------------------------------------------------
/scripts/build_for_mac.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | version=$(git describe --tags $(git rev-list --tags='v[0-9].[0-9]*' --max-count=1))
3 |
4 | APP="Synk-${version}.app"
5 | mkdir -p build/$APP/Contents/MacOS
6 | mkdir -p build/$APP/Contents/Resources
7 | GOOS=darwin GOARCH=amd64 go build -o build/$APP/Contents/MacOS/synk
8 | cat > build/$APP/Contents/Info.plist << EOF
9 |
10 |
11 |
12 |
13 | CFBundleExecutable
14 | synk
15 | CFBundleIconFile
16 | icon.icns
17 | CFBundleIdentifier
18 | com.fangyinghang.synk
19 |
20 |
21 | EOF
22 | cp macres/synk.icns build/$APP/Contents/Resources/icon.icns
23 | find build/$APP
--------------------------------------------------------------------------------
/scripts/build_for_win.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | version=$(git describe --tags $(git rev-list --tags='v[0-9].[0-9]*' --max-count=1))
3 |
4 | go generate
5 | GOOS=windows GOARCH=amd64 go build -ldflags "-H windowsgui" -o build/synk-${version}.exe
6 |
--------------------------------------------------------------------------------
/server/config/path.go:
--------------------------------------------------------------------------------
1 | package config
2 |
3 | import (
4 | "log"
5 | "os"
6 | "path/filepath"
7 | )
8 |
9 | func DefaultPathes() (uploads string) {
10 | exe, err := os.Executable()
11 | if err != nil {
12 | log.Fatal(err)
13 | }
14 | dir := filepath.Dir(exe)
15 | uploads = filepath.Join(dir, "uploads")
16 | return
17 | }
18 |
19 | var UploadsDir = DefaultPathes()
20 |
--------------------------------------------------------------------------------
/server/controllers/addresses_controller.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "net"
5 | "net/http"
6 |
7 | "github.com/gin-gonic/gin"
8 | )
9 |
10 | func AddressesController(c *gin.Context) {
11 | addrs, _ := net.InterfaceAddrs()
12 | var result []string
13 | for _, address := range addrs {
14 | // check the address type and if it is not a loopback the display it
15 | if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
16 | if ipnet.IP.To4() != nil {
17 | result = append(result, ipnet.IP.String())
18 | }
19 | }
20 | }
21 | c.JSON(http.StatusOK, gin.H{"addresses": result})
22 | }
23 |
--------------------------------------------------------------------------------
/server/controllers/files_controller.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "log"
5 | "net/http"
6 | "os"
7 | "path"
8 | "path/filepath"
9 |
10 | "github.com/gin-gonic/gin"
11 | "github.com/google/uuid"
12 | )
13 |
14 | func FilesController(c *gin.Context) {
15 | file, err := c.FormFile("raw")
16 | if err != nil {
17 | log.Fatal(err)
18 | }
19 | exe, err := os.Executable()
20 | if err != nil {
21 | log.Fatal(err)
22 | }
23 | dir := filepath.Dir(exe)
24 | if err != nil {
25 | log.Fatal(err)
26 | }
27 | filename := uuid.New().String()
28 | uploads := filepath.Join(dir, "uploads")
29 | err = os.MkdirAll(uploads, os.ModePerm)
30 | if err != nil {
31 | log.Fatal(err)
32 | }
33 | fullpath := path.Join("uploads", filename+filepath.Ext(file.Filename))
34 | fileErr := c.SaveUploadedFile(file, filepath.Join(dir, fullpath))
35 | if fileErr != nil {
36 | log.Fatal(fileErr)
37 | }
38 | c.JSON(http.StatusOK, gin.H{"url": "/" + fullpath})
39 | }
40 |
--------------------------------------------------------------------------------
/server/controllers/qrcodes_controller.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "log"
5 | "net/http"
6 |
7 | "github.com/gin-gonic/gin"
8 | "github.com/skip2/go-qrcode"
9 | )
10 |
11 | func QrcodesController(c *gin.Context) {
12 | if content := c.Query("content"); content != "" {
13 | png, err := qrcode.Encode(content, qrcode.Medium, 256)
14 | if err != nil {
15 | log.Fatal(err)
16 | }
17 | c.Data(http.StatusOK, "image/png", png)
18 | } else {
19 | c.Status(http.StatusPreconditionRequired)
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/server/controllers/texts_controller.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "io/ioutil"
5 | "log"
6 | "net/http"
7 | "os"
8 | "path"
9 | "path/filepath"
10 |
11 | "github.com/gin-gonic/gin"
12 | "github.com/google/uuid"
13 | )
14 |
15 | func TextsController(c *gin.Context) {
16 | var json struct {
17 | Raw string
18 | }
19 | if err := c.ShouldBindJSON(&json); err != nil {
20 | c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
21 | } else {
22 | exe, err := os.Executable()
23 | if err != nil {
24 | log.Fatal(err)
25 | }
26 | dir := filepath.Dir(exe)
27 | if err != nil {
28 | log.Fatal(err)
29 | }
30 | filename := uuid.New().String()
31 | uploads := filepath.Join(dir, "uploads")
32 | err = os.MkdirAll(uploads, os.ModePerm)
33 | if err != nil {
34 | log.Fatal(err)
35 | }
36 | fullpath := path.Join("uploads", filename+".txt")
37 | err = ioutil.WriteFile(filepath.Join(dir, fullpath), []byte(json.Raw), 0644)
38 | if err != nil {
39 | log.Fatal(err)
40 | }
41 | c.JSON(http.StatusOK, gin.H{"url": "/" + fullpath})
42 | }
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/server/controllers/uploads_controller.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "net/http"
5 |
6 | "path/filepath"
7 | config "synk/server/config"
8 |
9 | "github.com/gin-gonic/gin"
10 | )
11 |
12 | func UploadsController(c *gin.Context) {
13 | if path := c.Param("path"); path != "" {
14 | target := filepath.Join(config.UploadsDir, path)
15 | c.Header("Content-Description", "File Transfer")
16 | c.Header("Content-Transfer-Encoding", "binary")
17 | c.Header("Content-Disposition", "attachment; filename="+path)
18 | c.Header("Content-Type", "application/octet-stream")
19 | c.File(target)
20 | } else {
21 | c.Status(http.StatusNotFound)
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/server/frontend/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | "env": {
3 | "browser": true,
4 | "es2021": true,
5 | "node": true
6 | },
7 | "extends": [
8 | "eslint:recommended",
9 | "plugin:react/recommended",
10 | "plugin:react/jsx-runtime"
11 | ],
12 | "parserOptions": {
13 | "ecmaFeatures": {
14 | "jsx": true
15 | },
16 | "ecmaVersion": 12,
17 | "sourceType": "module"
18 | },
19 | "plugins": [
20 | "react"
21 | ],
22 | "settings": {
23 | "react": {
24 | "version": "detect"
25 | },
26 | },
27 | "rules": {
28 | "no-unused-vars": ["error", { "vars": "local", "args": "none", "ignoreRestSiblings": true }],
29 | "react/jsx-uses-react": "error",
30 | "react/jsx-uses-vars": "error",
31 | "react/prop-types": "off"
32 | },
33 | "overrides": [
34 | {
35 | "files": ["*.{ts,tsx}"],
36 | "rules": {
37 | },
38 | "parser": "@typescript-eslint/parser",
39 | }
40 | ],
41 | };
42 |
--------------------------------------------------------------------------------
/server/frontend/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | dist-ssr
5 | *.local
6 |
--------------------------------------------------------------------------------
/server/frontend/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | 同步传
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/server/frontend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "frontend",
3 | "version": "0.0.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "tsc && vite build --base ./",
8 | "lint": "eslint --ext .jsx --ext .js --ext .ts --ext .tsx ./src",
9 | "serve": "vite preview"
10 | },
11 | "dependencies": {
12 | "axios": "0.22.0",
13 | "classnames": "2.3.1",
14 | "history": "4.10.1",
15 | "lodash": "4.17.21",
16 | "query-string": "^7.0.1",
17 | "react": "17.0.2",
18 | "react-dom": "17.0.2",
19 | "react-is": "17.0.2",
20 | "react-router": "5.2.1",
21 | "react-router-dom": "5.3.0",
22 | "styled-components": "5.3.1",
23 | "swr": "1.0.1",
24 | "uuid": "^8.3.2"
25 | },
26 | "devDependencies": {
27 | "@types/react": "17.0.24",
28 | "@types/react-dom": "17.0.9",
29 | "@types/styled-components": "^5.1.14",
30 | "@typescript-eslint/eslint-plugin": "^4.33.0",
31 | "@typescript-eslint/parser": "^4.33.0",
32 | "@vitejs/plugin-react": "^1.0.2",
33 | "@vitejs/plugin-react-refresh": "1.3.6",
34 | "eslint": "^7.32.0",
35 | "eslint-plugin-react": "^7.26.1",
36 | "typescript": "^4.4.3",
37 | "vite": "2.6.3"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/server/frontend/src/components/center.jsx:
--------------------------------------------------------------------------------
1 | import styled from "styled-components";
2 | export const Center = styled.div`
3 | display: flex;
4 | flex-direction: ${({ virtical }) => virtical ? 'column' : 'row'};
5 | justify-content: center;
6 | align-items: center;
7 | `;
8 |
--------------------------------------------------------------------------------
/server/frontend/src/components/dialog.jsx:
--------------------------------------------------------------------------------
1 | import { createContext } from "react";
2 | import { unmountComponentAtNode, render, createPortal } from "react-dom";
3 | import styled from "styled-components";
4 | import { AppContext } from "../shared/app_context";
5 |
6 | const DialogOverlay = styled.div`
7 | position: fixed; z-index: 10; background: rgba(0,0,0,0.5); width: 100%;
8 | height: 100%; left: 0; top: 0;
9 | `;
10 | const DialogContent = styled.div`
11 | position: fixed; z-index: 11; min-width: 120px; min-height: 40px;
12 | max-width: 100%; max-height: 100%; background: white; top: 50%; left: 50%;
13 | transform: translate(-50%, -50%);
14 | border-radius: 8px;
15 | `;
16 |
17 | export const Dialog = ({ container, onClickOverlay, children }) => {
18 | return createPortal(
19 | <>
20 |
21 | {children}
22 | >,
23 | container ?? document.body
24 | );
25 | };
26 |
27 | let lastDiv = null
28 |
29 | const close = (div) => {
30 | if (!div) return
31 | unmountComponentAtNode(div);
32 | div.remove();
33 | lastDiv = null
34 | };
35 | export const createDialog = (content, options = {}) => {
36 | close(lastDiv)
37 | const { closeOnClickOverlay, context } = options;
38 | const div = lastDiv = document.createElement("div");
39 | div.className = "tempApp";
40 | document.body.append(div);
41 | const onClickOverlay = () => {
42 | if (closeOnClickOverlay) {
43 | close(div);
44 | }
45 | };
46 | render(
47 |
48 |
51 | ,
52 | div
53 | );
54 | return () => close(div);
55 | };
56 |
--------------------------------------------------------------------------------
/server/frontend/src/components/loading.jsx:
--------------------------------------------------------------------------------
1 | import { Center } from "./center";
2 | import styled from "styled-components";
3 |
4 | const _Loading = styled(Center)`
5 | flex-direction: column;
6 | padding: 8px;
7 | > svg {
8 | width: 40px;
9 | height: 40px;
10 | margin: 16px;
11 | }
12 | `;
13 |
14 | export const Loading = ({ children, className }) => {
15 | return (
16 | <_Loading className={className}>
17 |
20 | {children}
21 |
22 | );
23 | };
24 |
--------------------------------------------------------------------------------
/server/frontend/src/components/qrcode.jsx:
--------------------------------------------------------------------------------
1 | import React, { useEffect, useState } from "react";
2 | import { Loading } from "./loading";
3 | import styled from "styled-components";
4 | import { prefetch } from "../shared/prefetch";
5 | const MyLoading = styled(Loading)`
6 | width: 256px;
7 | height: 256px;
8 | `;
9 | export const Qrcode = ({ content }) => {
10 | const [image, setImage] = useState(null);
11 | content = encodeURIComponent(content);
12 | const [loading, setLoading] = useState(false);
13 | const [error, setError] = useState(null);
14 | useEffect(() => {
15 | if (!content) return;
16 | const url = `/api/v1/qrcodes?content=${content}`;
17 | setLoading(true);
18 | prefetch(url)
19 | .then(
20 | () => setImage(
),
21 | (e) => setError(e)
22 | )
23 | .finally(() => setLoading(false));
24 | }, [content]);
25 | return loading ? (
26 | 加载中
27 | ) : error ? (
28 | 加载二维码出错:{JSON.stringify(error)}
29 | ) : (
30 | image
31 | );
32 | };
33 |
--------------------------------------------------------------------------------
/server/frontend/src/components/space.jsx:
--------------------------------------------------------------------------------
1 | import styled from "styled-components"
2 | export const Space = styled.div`
3 | height: ${({ x2, x3 }) => x2 ? 16 * 2 : x3 ? 16 * 3 : 16}px;
4 | `
--------------------------------------------------------------------------------
/server/frontend/src/hooks/use_query.js:
--------------------------------------------------------------------------------
1 | import { useLocation } from "react-router";
2 | import qs from 'query-string'
3 | export const useQuery = () => {
4 | const location = useLocation();
5 | const parsed = qs.parse(location.search)
6 | return parsed
7 | }
--------------------------------------------------------------------------------
/server/frontend/src/images/synk.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrankFang/synk/9a69de156f30fbe1d113d754f30b53e2d902c8ea/server/frontend/src/images/synk.ico
--------------------------------------------------------------------------------
/server/frontend/src/images/synk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrankFang/synk/9a69de156f30fbe1d113d754f30b53e2d902c8ea/server/frontend/src/images/synk.png
--------------------------------------------------------------------------------
/server/frontend/src/images/synk.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/frontend/src/initializers/client_id.js:
--------------------------------------------------------------------------------
1 | import { v4 as uuidv4 } from 'uuid';
2 |
3 | let clientId = localStorage.getItem('clientId')
4 | if (clientId?.length !== 36) {
5 | clientId = uuidv4();
6 | localStorage.setItem('clientId', clientId)
7 | }
8 |
9 | export { clientId }
10 |
--------------------------------------------------------------------------------
/server/frontend/src/initializers/index.js:
--------------------------------------------------------------------------------
1 | import './client_id'
2 | export const init = () => {
3 |
4 | }
--------------------------------------------------------------------------------
/server/frontend/src/main.jsx:
--------------------------------------------------------------------------------
1 | import React, { useContext, useEffect, useRef, useState } from "react";
2 | import ReactDOM from "react-dom";
3 | import { Router, Route, Switch, Redirect } from "react-router";
4 | import { Home } from "./pages/home";
5 | import { Downloads } from "./pages/downloads";
6 | import { ThemeProvider } from "styled-components";
7 | import { GlobalStyle } from './shared/global_style'
8 | import { history } from "./shared/history";
9 | import { init } from "./initializers";
10 | import { getWsClient } from "./shared/ws_client";
11 | import { clientId } from "./initializers/client_id";
12 | import { createDialog } from "./components/dialog";
13 | import { showUploadFileSuccessDialog, showUploadTextSuccessDialog } from "./pages/home/components";
14 | import { http } from "./shared/http";
15 | import _ from "lodash";
16 | import { AppContext } from "./shared/app_context";
17 |
18 |
19 | const theme = {
20 | borderColor: "#333",
21 | highlightColor: "#f5b70d",
22 | };
23 |
24 | const Main = () => {
25 | init()
26 | const addressesRef = useRef(null);
27 | const context = { addressesRef }
28 | useEffect(async () => {
29 | const {
30 | data: { addresses },
31 | } = await http
32 | .get("/api/v1/addresses")
33 | .catch((e) => Promise.reject(e));
34 | addressesRef.current = _.uniq(addresses.concat("127.0.0.1"));
35 | }, []);
36 |
37 | useEffect(() => {
38 | getWsClient().then(c => {
39 | c.onMessage(data => {
40 | const { url, type } = data
41 | if (data.clientId !== clientId) {
42 | const content = (addr) => addr && `http://${addr}:27149/static/downloads?type=${type}&url=${encodeURIComponent(`http://${addr}:27149${url}`)}`
43 | if (type === 'text') {
44 | showUploadTextSuccessDialog({ context, content });
45 | } else {
46 | showUploadFileSuccessDialog({ context, content });
47 | }
48 | }
49 | })
50 | })
51 | }, [])
52 | return
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 | 404
66 |
67 |
68 |
69 |
70 |
71 | }
72 |
73 | ReactDOM.render(
74 |
75 |
76 | ,
77 | document.getElementById("root")
78 | );
79 |
--------------------------------------------------------------------------------
/server/frontend/src/pages/downloads.jsx:
--------------------------------------------------------------------------------
1 | import { useQuery } from "../hooks/use_query";
2 | import { BigTextarea, Button, Header, Layout } from "./home/components";
3 | import styled from "styled-components";
4 | import { Center } from "../components/center";
5 | import { Space } from "../components/space";
6 | import { useState } from "react";
7 | import { useRef } from "react";
8 | import { useEffect } from "react";
9 | import { http } from "../shared/http";
10 | import { history } from "../shared/history";
11 |
12 | export const Downloads = () => {
13 | const query = useQuery()
14 | const type = normalizeType(query.type)
15 | const [text, setText] = useState("")
16 | useEffect(() => {
17 | if (type === "text") {
18 | http.get(query.url).then(({ data }) => {
19 | setText(data)
20 | })
21 | }
22 | }, [type])
23 |
24 | let node = null
25 | switch (type) {
26 | case 'text':
27 | node = (
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 | )
36 | break;
37 | case 'file':
38 | node = (
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 | )
49 | break;
50 | case 'image':
51 | node = (
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | )
61 | break;
62 | }
63 | const onClickUpload = () => {
64 | history.push("/")
65 | }
66 | return (
67 |
68 |
69 | {node}
70 |
71 |
72 |
73 |
74 |
75 | )
76 | };
77 | const Picture = styled.img`
78 | border: 2px solid ${({ theme }) => theme.borderColor};
79 | margin: 16px;
80 | `
81 | const P = styled.p`
82 | margin: 8px 0;
83 | `
84 |
85 | const normalizeType = type => {
86 | if (/^image\/.*$/.test(type)) {
87 | return 'image'
88 | } else if (/^text(\/.*)?$/.test(type)) {
89 | return 'text'
90 | } else {
91 | return 'file'
92 | }
93 | }
--------------------------------------------------------------------------------
/server/frontend/src/pages/home.jsx:
--------------------------------------------------------------------------------
1 | import { Switch, Route } from "react-router";
2 | import { Header, Layout } from "./home/components";
3 | import { UploadTextForm } from "./home/upload_text_form";
4 | import { UploadFileForm } from "./home/upload_file_form";
5 | import { nav } from "./home/nav";
6 | import { UploadScreenshotForm } from "./home/upload_screenshot_form";
7 |
8 | export function Home() {
9 | return (
10 |
11 |
12 | {nav}
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | );
26 | }
27 |
--------------------------------------------------------------------------------
/server/frontend/src/pages/home/components.jsx:
--------------------------------------------------------------------------------
1 | import { createDialog } from "../../components/dialog";
2 | import styled from "styled-components";
3 | import React, { useContext, useState } from "react";
4 | import { Qrcode } from "../../components/qrcode";
5 | import { Loading } from "../../components/loading";
6 | import { AppContext } from "../../shared/app_context";
7 | import { Center } from "../../components/center";
8 | import { http } from "../../shared/http";
9 | import { getWsClient } from "../../shared/ws_client";
10 | import { clientId } from "../../initializers/client_id";
11 | import { Space } from "../../components/space";
12 |
13 | export const Layout = styled.div`
14 | min-height: 100vh; display: flex; align-items: stretch; flex-direction: column;
15 | padding: 0 16px; margin: 0 auto;
16 | @media (min-width: 414px) {
17 | max-width: 600px;
18 | }
19 | `;
20 | export const Header = styled.h1`
21 | margin-top: 48px;
22 | margin-bottom: 32px;
23 | text-align: center;
24 | `;
25 | export const BigTextarea = styled.textarea`
26 | width: 100%;
27 | min-height: 160px;
28 | line-height: 20px;
29 | &.draging {
30 | border-color: red;
31 | }
32 | `;
33 | export const Button = styled.button`
34 | min-height: 40px;
35 | padding: 0 60px;
36 | border: 2px solid #666;
37 | background: #f5b70d;
38 | border-radius: 8px;
39 | cursor: pointer;
40 | `;
41 | export const Form = styled.form`
42 | &> .row {
43 | margin: 16px 0;
44 | }
45 | `;
46 |
47 | const Span = styled.span`
48 | margin-right: 8px;
49 | `;
50 | const Label = styled.label`
51 | display: flex; padding: 4px 0;
52 | justify-content: flex-start; align-items: center;
53 | min-height: 40px; white-space: nowrap;
54 | `;
55 | const H2 = styled.h2`
56 | font-weight: bold; font-size: 24px;
57 | margin-bottom: 16px;
58 | `
59 | const P = styled.p`
60 | a {text-decoration: underline;}
61 | `
62 | const UploadSuccessDialog = ({ content, onClose }) => {
63 | const [address, setAddress] = useState(localStorage.getItem("address") || "");
64 | const context = useContext(AppContext);
65 | const addressesRef = context?.addressesRef ?? null
66 | const onChange = (e) => {
67 | setAddress(e.target.value);
68 | localStorage.setItem("address", e.target.value);
69 | };
70 | content = typeof content === "string" ? content : content(address)
71 | return (
72 |
73 | 上传成功
74 | {addressesRef.current ?
75 |
76 |
77 | 请 Windows 用户在防火墙入站规则中开通 27149 端口(教程)
78 |
79 |
80 |
91 |
92 |
93 | : null
94 | }
95 |
96 | {content ? : null}
97 |
98 |
99 | {content ? 请 手机扫码 或 点击下载 : null}
100 |
101 |
102 |
103 |
104 |
105 |
106 | );
107 | };
108 | export const showUploadTextSuccessDialog = ({ context, content }) => {
109 | const close = createDialog(
110 | close()} />,
111 | { context }
112 | );
113 | };
114 | export const showUploadFileSuccessDialog = ({ context, content }) => {
115 | const close = createDialog(
116 | close()} />,
117 | { context }
118 | );
119 | };
120 | export const showUploadFailDialog = () => {
121 | return createDialog(
122 |
123 | 上传失败
124 |
125 |
126 | );
127 | };
128 | export const showUploadingDialog = () => {
129 | return createDialog(上传中);
130 | };
131 | const Pop = styled.div`
132 | padding: 16px;
133 | `;
134 |
135 | const notifyPc = (response, type) => {
136 | getWsClient().then(c => {
137 | c.send({ clientId, type, url: response.data.url })
138 | })
139 | return response
140 | }
141 | export const uploadText = (text) => {
142 | return http.post("/api/v1/texts", {
143 | raw: text
144 | }).then(r => notifyPc(r, 'text'))
145 | }
146 | export const uploadFile = (blob) => {
147 | const formData = new FormData();
148 | formData.append("raw", blob);
149 | return http({
150 | method: "post",
151 | url: "/api/v1/files",
152 | data: formData,
153 | headers: {
154 | "Content-Type": "multipart/form-data",
155 | },
156 | }).then(r => notifyPc(r, 'file'))
157 | };
158 |
--------------------------------------------------------------------------------
/server/frontend/src/pages/home/nav.jsx:
--------------------------------------------------------------------------------
1 | import { NavLink } from "react-router-dom";
2 | import styled from "styled-components";
3 | const Nav = styled.nav`
4 | text-align: center;
5 | > ul {
6 | display: flex; border-top: 1px solid ${({ theme }) => theme.borderColor};
7 | border-left: 1px solid ${({ theme }) => theme.borderColor};
8 | > li { flex-grow: 1; border-bottom: 1px solid #333;
9 | border-right: 1px solid ${({ theme }) => theme.borderColor};
10 | > a { display: block; padding: 8px 0;
11 | &.selected{ background: ${({ theme }) => theme.highlightColor} }
12 | }
13 | }
14 | }
15 | `;
16 | export const nav = (
17 |
36 | );
37 |
--------------------------------------------------------------------------------
/server/frontend/src/pages/home/upload_file_form.jsx:
--------------------------------------------------------------------------------
1 | import React, { useContext, useState } from "react";
2 | import styled from "styled-components";
3 | import {
4 | Form,
5 | showUploadingDialog,
6 | showUploadFileSuccessDialog,
7 | uploadFile,
8 | } from "../../pages/home/components";
9 | import { AppContext } from "../../shared/app_context";
10 |
11 | export const UploadFileForm = () => {
12 | const context = useContext(AppContext);
13 | const [boxClass, setBoxClass] = useState("default");
14 | const onDragOver = (e) => {
15 | e.preventDefault();
16 | setBoxClass("dragging");
17 | };
18 | const onDragLeave = (e) => {
19 | setBoxClass("default");
20 | };
21 | const onDrop = async (e) => {
22 | e.preventDefault();
23 | const file = e.dataTransfer?.items?.[0]?.getAsFile();
24 | if (!file) return;
25 | const type = file.type || "unknown";
26 | showUploadingDialog();
27 | const { data: { url } } = await uploadFile(file);
28 | showUploadFileSuccessDialog({
29 | context,
30 | content: (addr) =>
31 | addr &&
32 | `http://${addr}:27149/static/downloads?type=${type}&url=${encodeURIComponent(
33 | `http://${addr}:27149${url}`
34 | )}`,
35 | });
36 | };
37 | const onChange = async (e) => {
38 | const file = e.target?.files?.[0];
39 | if (!file) return;
40 | const type = file.type || "unknown";
41 | showUploadingDialog();
42 | const { data: { url } } = await uploadFile(file);
43 | showUploadFileSuccessDialog({
44 | context,
45 | content: (addr) =>
46 | addr &&
47 | `http://${addr}:27149/static/downloads?type=${type}&url=${encodeURIComponent(
48 | `http://${addr}:27149${url}`
49 | )}`,
50 | });
51 | };
52 | return (
53 |
66 | );
67 | };
68 | const Box = styled.div`
69 | &.dragging {
70 | border-color: ${({ theme }) => theme.highlightColor};
71 | color: ${({ theme }) => theme.highlightColor};
72 | }
73 | min-height: 160px; border: 2px dashed ${({ theme }) => theme.borderColor};
74 | position: relative; overflow: hidden; display: flex; justify-content: center; align-items: center; border-radius: 8px;
75 | `;
76 | const FileInput = styled.input`
77 | position: absolute; right: 0; top: 0; width: 100%; height: 100%;
78 | opacity: 0; cursor: pointer;
79 | `;
80 |
--------------------------------------------------------------------------------
/server/frontend/src/pages/home/upload_screenshot_form.jsx:
--------------------------------------------------------------------------------
1 | import React, { useContext, useEffect } from "react";
2 | import styled from "styled-components";
3 | import {
4 | Form,
5 | showUploadingDialog,
6 | showUploadFileSuccessDialog,
7 | uploadFile,
8 | } from "../../pages/home/components";
9 | import { AppContext } from "../../shared/app_context";
10 | export const UploadScreenshotForm = () => {
11 | const context = useContext(AppContext);
12 | const _uploadFile = async (file) => {
13 | if (!file) return;
14 | const type = file.type || "unknown";
15 | showUploadingDialog();
16 | const { data: { url } } = await uploadFile(file);
17 | showUploadFileSuccessDialog({
18 | context,
19 | content: (addr) =>
20 | addr &&
21 | `http://${addr}:27149/static/downloads?type=${type}&url=${encodeURIComponent(
22 | `http://${addr}:27149${url}`
23 | )}`,
24 | });
25 | }
26 | const onPaste = (e) => {
27 | const { items: [item] } = e.clipboardData;
28 | _uploadFile(item?.getAsFile())
29 | };
30 | useEffect(() => {
31 | window.addEventListener("paste", onPaste);
32 | return () => {
33 | window.removeEventListener("paste", onPaste);
34 | };
35 | }, []);
36 | const onChange = async (e) => {
37 | _uploadFile(e.target?.files?.[0])
38 | };
39 | return (
40 |
53 | );
54 | };
55 | const Box = styled.div`
56 | &.dragging {
57 | border-color: ${({ theme }) => theme.highlightColor};
58 | color: ${({ theme }) => theme.highlightColor};
59 | }
60 | min-height: 160px; border: 2px dashed ${({ theme }) => theme.borderColor};
61 | position: relative; overflow: hidden; display: flex; justify-content: center; align-items: center; border-radius: 8px;
62 | `;
63 | const FileInput = styled.input`
64 | position: absolute; right: 0; top: 0; width: 100%; height: 100%;
65 | opacity: 0; cursor: pointer;
66 | `;
67 |
--------------------------------------------------------------------------------
/server/frontend/src/pages/home/upload_text_form.jsx:
--------------------------------------------------------------------------------
1 | import React, { useContext, useState } from "react";
2 | import {
3 | BigTextarea,
4 | Button,
5 | Form,
6 | showUploadingDialog,
7 | showUploadTextSuccessDialog,
8 | uploadText,
9 | } from "../../pages/home/components";
10 | import { AppContext } from "../../shared/app_context";
11 | import { Center } from "../../components/center";
12 |
13 | export const UploadTextForm = () => {
14 | const context = useContext(AppContext);
15 | const [text, setText] = useState("");
16 | const onSubmit = async (e) => {
17 | e.preventDefault();
18 | showUploadingDialog();
19 | const { data: { url } } = await uploadText(text)
20 | showUploadTextSuccessDialog({
21 | context, content: (addr) => addr && `http://${addr}:27149/static/downloads?type=text&url=http://${addr + ":27149" + encodeURIComponent(url)}`
22 | });
23 | };
24 | return (
25 |
36 | );
37 | };
38 |
--------------------------------------------------------------------------------
/server/frontend/src/shared/app_context.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | export const AppContext = React.createContext({ addressesRef: null })
3 |
4 |
--------------------------------------------------------------------------------
/server/frontend/src/shared/global_style.jsx:
--------------------------------------------------------------------------------
1 | import { createGlobalStyle, keyframes } from "styled-components";
2 | const spin = keyframes`
3 | 0% {
4 | transform: rotate(0deg);
5 | }
6 | 100%{
7 | transform: rotate(360deg);
8 | }
9 | `;
10 | export const GlobalStyle = createGlobalStyle`
11 | * { box-sizing: border-box; padding: 0; margin: 0; }
12 | *::before, *::after {box-sizing: border-box;}
13 | body {
14 | font-size: 16px;
15 | font-family: -apple-system, "Noto Sans", "Helvetica Neue", Helvetica, "Nimbus Sans L", Arial, "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Source Han Sans SC", "Source Han Sans CN", "Microsoft YaHei", "Wenquanyi Micro Hei", "WenQuanYi Zen Hei", "ST Heiti", SimHei, "WenQuanYi Zen Hei Sharp", sans-serif;
16 | }
17 | a {text-decoration: none; color: inherit;}
18 | img {max-width: 100%; max-height: 100%; }
19 | input, button {font: inherit;}
20 | ul, ol {list-style: none; }
21 | img{vertical-align: middle;}
22 | :focus{ outline: none; }
23 |
24 | // helpers
25 | .spin {
26 | animation: ${spin} 2s linear infinite;
27 | }
28 | `;
29 |
--------------------------------------------------------------------------------
/server/frontend/src/shared/history.js:
--------------------------------------------------------------------------------
1 | import { createBrowserHistory } from "history";
2 | export const history = createBrowserHistory({ basename: "/static/" });
--------------------------------------------------------------------------------
/server/frontend/src/shared/http.js:
--------------------------------------------------------------------------------
1 | import axios from "axios";
2 | export const http = axios.create({
3 | timeout: 5000
4 | });
5 |
--------------------------------------------------------------------------------
/server/frontend/src/shared/prefetch.js:
--------------------------------------------------------------------------------
1 | export const prefetch = (src) => {
2 | return new Promise((resolve, reject) => {
3 | const picture = new Image()
4 | picture.onload = () => {
5 | resolve(picture)
6 | }
7 | picture.onerror = (error) => {
8 | reject(error)
9 | }
10 | picture.src = src
11 | })
12 | }
--------------------------------------------------------------------------------
/server/frontend/src/shared/ws_client.js:
--------------------------------------------------------------------------------
1 | const url = `ws://${window.location.hostname}:27149/ws`;
2 | const wsClient = new WebSocket(url);
3 |
4 | class WsClient {
5 | constructor(client) {
6 | this.client = client
7 | }
8 | send(data) {
9 | this.client.send(JSON.stringify(data))
10 | }
11 | onMessage(fn) {
12 | this.client.onmessage = ({ data }) => {
13 | fn(JSON.parse(data))
14 | }
15 | }
16 | }
17 |
18 |
19 | const promise = new Promise((resolve, reject) => {
20 | wsClient.onopen = () => {
21 | resolve(new WsClient(wsClient))
22 | }
23 | setTimeout(() => {
24 | reject(new Error('get ws connection timeout'))
25 | }, 10000)
26 | })
27 |
28 | export const getWsClient = () => promise
--------------------------------------------------------------------------------
/server/frontend/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/server/frontend/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
5 | "lib": ["DOM", "DOM.Iterable", "ESNext"],
6 | "allowJs": false,
7 | "skipLibCheck": false,
8 | "esModuleInterop": false,
9 | "allowSyntheticDefaultImports": true,
10 | "strict": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "module": "ESNext",
13 | "moduleResolution": "Node",
14 | "resolveJsonModule": true,
15 | "isolatedModules": true,
16 | "noEmit": true,
17 | "jsx": "react"
18 | },
19 | "include": ["./src"]
20 | }
21 |
--------------------------------------------------------------------------------
/server/frontend/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()],
7 | server: {
8 | proxy: {
9 | '/api': {
10 | target: 'http://127.0.0.1:27149/',
11 | changeOrigin: true,
12 | },
13 | }
14 | }
15 | })
16 |
--------------------------------------------------------------------------------
/server/frontend/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/code-frame@7.12.11":
6 | version "7.12.11"
7 | resolved "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz"
8 | integrity sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8=
9 | dependencies:
10 | "@babel/highlight" "^7.10.4"
11 |
12 | "@babel/code-frame@^7.14.5":
13 | version "7.14.5"
14 | resolved "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz"
15 | integrity sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts=
16 | dependencies:
17 | "@babel/highlight" "^7.14.5"
18 |
19 | "@babel/code-frame@^7.15.8":
20 | version "7.15.8"
21 | resolved "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.15.8.tgz#45990c47adadb00c03677baa89221f7cc23d2503"
22 | integrity sha1-RZkMR62tsAwDZ3uqiSIffMI9JQM=
23 | dependencies:
24 | "@babel/highlight" "^7.14.5"
25 |
26 | "@babel/compat-data@^7.15.0":
27 | version "7.15.0"
28 | resolved "https://registry.nlark.com/@babel/compat-data/download/@babel/compat-data-7.15.0.tgz"
29 | integrity sha1-Lbr4uFM0eWyvuw9Xk6kKL8AQsXY=
30 |
31 | "@babel/core@^7.14.8":
32 | version "7.15.5"
33 | resolved "https://registry.nlark.com/@babel/core/download/@babel/core-7.15.5.tgz"
34 | integrity sha1-+O2aznMHIlRGCfkMm7SRYtw79bk=
35 | dependencies:
36 | "@babel/code-frame" "^7.14.5"
37 | "@babel/generator" "^7.15.4"
38 | "@babel/helper-compilation-targets" "^7.15.4"
39 | "@babel/helper-module-transforms" "^7.15.4"
40 | "@babel/helpers" "^7.15.4"
41 | "@babel/parser" "^7.15.5"
42 | "@babel/template" "^7.15.4"
43 | "@babel/traverse" "^7.15.4"
44 | "@babel/types" "^7.15.4"
45 | convert-source-map "^1.7.0"
46 | debug "^4.1.0"
47 | gensync "^1.0.0-beta.2"
48 | json5 "^2.1.2"
49 | semver "^6.3.0"
50 | source-map "^0.5.0"
51 |
52 | "@babel/core@^7.15.5":
53 | version "7.15.8"
54 | resolved "https://registry.npmmirror.com/@babel/core/download/@babel/core-7.15.8.tgz#195b9f2bffe995d2c6c159e72fe525b4114e8c10"
55 | integrity sha1-GVufK//pldLGwVnnL+UltBFOjBA=
56 | dependencies:
57 | "@babel/code-frame" "^7.15.8"
58 | "@babel/generator" "^7.15.8"
59 | "@babel/helper-compilation-targets" "^7.15.4"
60 | "@babel/helper-module-transforms" "^7.15.8"
61 | "@babel/helpers" "^7.15.4"
62 | "@babel/parser" "^7.15.8"
63 | "@babel/template" "^7.15.4"
64 | "@babel/traverse" "^7.15.4"
65 | "@babel/types" "^7.15.6"
66 | convert-source-map "^1.7.0"
67 | debug "^4.1.0"
68 | gensync "^1.0.0-beta.2"
69 | json5 "^2.1.2"
70 | semver "^6.3.0"
71 | source-map "^0.5.0"
72 |
73 | "@babel/generator@^7.15.4":
74 | version "7.15.4"
75 | resolved "https://registry.nlark.com/@babel/generator/download/@babel/generator-7.15.4.tgz"
76 | integrity sha1-hayxWaJnymMk+Xk5hpke4gIqBbA=
77 | dependencies:
78 | "@babel/types" "^7.15.4"
79 | jsesc "^2.5.1"
80 | source-map "^0.5.0"
81 |
82 | "@babel/generator@^7.15.8":
83 | version "7.15.8"
84 | resolved "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.15.8.tgz#fa56be6b596952ceb231048cf84ee499a19c0cd1"
85 | integrity sha1-+la+a1lpUs6yMQSM+E7kmaGcDNE=
86 | dependencies:
87 | "@babel/types" "^7.15.6"
88 | jsesc "^2.5.1"
89 | source-map "^0.5.0"
90 |
91 | "@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.14.5":
92 | version "7.15.4"
93 | resolved "https://registry.nlark.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.15.4.tgz"
94 | integrity sha1-PQ5DsAxeSf22xX5CFgGnpljV+DU=
95 | dependencies:
96 | "@babel/types" "^7.15.4"
97 |
98 | "@babel/helper-compilation-targets@^7.15.4":
99 | version "7.15.4"
100 | resolved "https://registry.nlark.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.15.4.tgz"
101 | integrity sha1-z22U8w++/BORI+J91rAvZa7tt7k=
102 | dependencies:
103 | "@babel/compat-data" "^7.15.0"
104 | "@babel/helper-validator-option" "^7.14.5"
105 | browserslist "^4.16.6"
106 | semver "^6.3.0"
107 |
108 | "@babel/helper-function-name@^7.15.4":
109 | version "7.15.4"
110 | resolved "https://registry.nlark.com/@babel/helper-function-name/download/@babel/helper-function-name-7.15.4.tgz"
111 | integrity sha1-hFdE2vxDgaSl+2r6bD02+Yp4frw=
112 | dependencies:
113 | "@babel/helper-get-function-arity" "^7.15.4"
114 | "@babel/template" "^7.15.4"
115 | "@babel/types" "^7.15.4"
116 |
117 | "@babel/helper-get-function-arity@^7.15.4":
118 | version "7.15.4"
119 | resolved "https://registry.nlark.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.15.4.tgz"
120 | integrity sha1-CYgYk0oTf854tTaj4BWGS+Hih5s=
121 | dependencies:
122 | "@babel/types" "^7.15.4"
123 |
124 | "@babel/helper-hoist-variables@^7.15.4":
125 | version "7.15.4"
126 | resolved "https://registry.nlark.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.15.4.tgz"
127 | integrity sha1-CZk6MlnA6Rj5nRBCYd/fwDPxeN8=
128 | dependencies:
129 | "@babel/types" "^7.15.4"
130 |
131 | "@babel/helper-member-expression-to-functions@^7.15.4":
132 | version "7.15.4"
133 | resolved "https://registry.nlark.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.15.4.tgz"
134 | integrity sha1-v9NNybupgkpGWLAxfsL9VxpR5u8=
135 | dependencies:
136 | "@babel/types" "^7.15.4"
137 |
138 | "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.15.4":
139 | version "7.15.4"
140 | resolved "https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.15.4.tgz"
141 | integrity sha1-4YAH0jBjLeoZtHhTuYRHbntOED8=
142 | dependencies:
143 | "@babel/types" "^7.15.4"
144 |
145 | "@babel/helper-module-transforms@^7.15.4":
146 | version "7.15.7"
147 | resolved "https://registry.nlark.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.15.7.tgz"
148 | integrity sha1-fagMjLwfAmVdg/i3nSWGav5Q0iY=
149 | dependencies:
150 | "@babel/helper-module-imports" "^7.15.4"
151 | "@babel/helper-replace-supers" "^7.15.4"
152 | "@babel/helper-simple-access" "^7.15.4"
153 | "@babel/helper-split-export-declaration" "^7.15.4"
154 | "@babel/helper-validator-identifier" "^7.15.7"
155 | "@babel/template" "^7.15.4"
156 | "@babel/traverse" "^7.15.4"
157 | "@babel/types" "^7.15.6"
158 |
159 | "@babel/helper-module-transforms@^7.15.8":
160 | version "7.15.8"
161 | resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.15.8.tgz#d8c0e75a87a52e374a8f25f855174786a09498b2"
162 | integrity sha1-2MDnWoelLjdKjyX4VRdHhqCUmLI=
163 | dependencies:
164 | "@babel/helper-module-imports" "^7.15.4"
165 | "@babel/helper-replace-supers" "^7.15.4"
166 | "@babel/helper-simple-access" "^7.15.4"
167 | "@babel/helper-split-export-declaration" "^7.15.4"
168 | "@babel/helper-validator-identifier" "^7.15.7"
169 | "@babel/template" "^7.15.4"
170 | "@babel/traverse" "^7.15.4"
171 | "@babel/types" "^7.15.6"
172 |
173 | "@babel/helper-optimise-call-expression@^7.15.4":
174 | version "7.15.4"
175 | resolved "https://registry.nlark.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.15.4.tgz"
176 | integrity sha1-8xClEho7nMUtmrGRIr1ymCLe4XE=
177 | dependencies:
178 | "@babel/types" "^7.15.4"
179 |
180 | "@babel/helper-plugin-utils@^7.14.5":
181 | version "7.14.5"
182 | resolved "https://registry.nlark.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.14.5.tgz"
183 | integrity sha1-WsgizpfuxGdBq3ClF5ceRDpwxak=
184 |
185 | "@babel/helper-replace-supers@^7.15.4":
186 | version "7.15.4"
187 | resolved "https://registry.nlark.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.15.4.tgz"
188 | integrity sha1-UqirJrqRjH9t7ihiiwcHGse3NHo=
189 | dependencies:
190 | "@babel/helper-member-expression-to-functions" "^7.15.4"
191 | "@babel/helper-optimise-call-expression" "^7.15.4"
192 | "@babel/traverse" "^7.15.4"
193 | "@babel/types" "^7.15.4"
194 |
195 | "@babel/helper-simple-access@^7.15.4":
196 | version "7.15.4"
197 | resolved "https://registry.nlark.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.15.4.tgz"
198 | integrity sha1-rDaJBavx3o6XgUNLY12PhnS8wTs=
199 | dependencies:
200 | "@babel/types" "^7.15.4"
201 |
202 | "@babel/helper-split-export-declaration@^7.15.4":
203 | version "7.15.4"
204 | resolved "https://registry.nlark.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.15.4.tgz"
205 | integrity sha1-rsq5Lc2+9qEKo7YqsgSwhfd24lc=
206 | dependencies:
207 | "@babel/types" "^7.15.4"
208 |
209 | "@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.15.7":
210 | version "7.15.7"
211 | resolved "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.15.7.tgz?cache=0&sync_timestamp=1631921299259&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.15.7.tgz"
212 | integrity sha1-Ig35k7/pBKSmsCq08zhaXr9uI4k=
213 |
214 | "@babel/helper-validator-option@^7.14.5":
215 | version "7.14.5"
216 | resolved "https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz"
217 | integrity sha1-bnKh//GNXfy4eOHmLxoCHEty1aM=
218 |
219 | "@babel/helpers@^7.15.4":
220 | version "7.15.4"
221 | resolved "https://registry.nlark.com/@babel/helpers/download/@babel/helpers-7.15.4.tgz"
222 | integrity sha1-X0DwIFCjAnEho89I1JfAXFVer0M=
223 | dependencies:
224 | "@babel/template" "^7.15.4"
225 | "@babel/traverse" "^7.15.4"
226 | "@babel/types" "^7.15.4"
227 |
228 | "@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5":
229 | version "7.14.5"
230 | resolved "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz"
231 | integrity sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk=
232 | dependencies:
233 | "@babel/helper-validator-identifier" "^7.14.5"
234 | chalk "^2.0.0"
235 | js-tokens "^4.0.0"
236 |
237 | "@babel/parser@^7.15.4", "@babel/parser@^7.15.5":
238 | version "7.15.7"
239 | resolved "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.15.7.tgz?cache=0&sync_timestamp=1631921300140&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.15.7.tgz"
240 | integrity sha1-DD7UousHsWXfqFs8xFxyczTE7a4=
241 |
242 | "@babel/parser@^7.15.8":
243 | version "7.15.8"
244 | resolved "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.15.8.tgz#7bacdcbe71bdc3ff936d510c15dcea7cf0b99016"
245 | integrity sha1-e6zcvnG9w/+TbVEMFdzqfPC5kBY=
246 |
247 | "@babel/plugin-syntax-jsx@^7.14.5":
248 | version "7.14.5"
249 | resolved "https://registry.nlark.com/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201"
250 | integrity sha1-AA4uJdhnPM5JMAUXo+2kTCY+QgE=
251 | dependencies:
252 | "@babel/helper-plugin-utils" "^7.14.5"
253 |
254 | "@babel/plugin-transform-react-jsx-development@^7.14.5":
255 | version "7.14.5"
256 | resolved "https://registry.nlark.com/@babel/plugin-transform-react-jsx-development/download/@babel/plugin-transform-react-jsx-development-7.14.5.tgz#1a6c73e2f7ed2c42eebc3d2ad60b0c7494fcb9af"
257 | integrity sha1-Gmxz4vftLELuvD0q1gsMdJT8ua8=
258 | dependencies:
259 | "@babel/plugin-transform-react-jsx" "^7.14.5"
260 |
261 | "@babel/plugin-transform-react-jsx-self@^7.14.5", "@babel/plugin-transform-react-jsx-self@^7.14.9":
262 | version "7.14.9"
263 | resolved "https://registry.nlark.com/@babel/plugin-transform-react-jsx-self/download/@babel/plugin-transform-react-jsx-self-7.14.9.tgz?cache=0&sync_timestamp=1627804577561&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-react-jsx-self%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-self-7.14.9.tgz"
264 | integrity sha1-MwQeZlRTOR627lSi7PO6HUa9MPQ=
265 | dependencies:
266 | "@babel/helper-plugin-utils" "^7.14.5"
267 |
268 | "@babel/plugin-transform-react-jsx-source@^7.14.5":
269 | version "7.14.5"
270 | resolved "https://registry.nlark.com/@babel/plugin-transform-react-jsx-source/download/@babel/plugin-transform-react-jsx-source-7.14.5.tgz"
271 | integrity sha1-efco5g5tvTGiuGCwv2yXZZGKzx0=
272 | dependencies:
273 | "@babel/helper-plugin-utils" "^7.14.5"
274 |
275 | "@babel/plugin-transform-react-jsx@^7.14.5", "@babel/plugin-transform-react-jsx@^7.14.9":
276 | version "7.14.9"
277 | resolved "https://registry.nlark.com/@babel/plugin-transform-react-jsx/download/@babel/plugin-transform-react-jsx-7.14.9.tgz?cache=0&sync_timestamp=1627875065052&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-react-jsx%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-7.14.9.tgz#3314b2163033abac5200a869c4de242cd50a914c"
278 | integrity sha1-MxSyFjAzq6xSAKhpxN4kLNUKkUw=
279 | dependencies:
280 | "@babel/helper-annotate-as-pure" "^7.14.5"
281 | "@babel/helper-module-imports" "^7.14.5"
282 | "@babel/helper-plugin-utils" "^7.14.5"
283 | "@babel/plugin-syntax-jsx" "^7.14.5"
284 | "@babel/types" "^7.14.9"
285 |
286 | "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13":
287 | version "7.15.4"
288 | resolved "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.15.4.tgz"
289 | integrity sha1-/RfRa/34eObdAtGXU6OfqKjZyEo=
290 | dependencies:
291 | regenerator-runtime "^0.13.4"
292 |
293 | "@babel/template@^7.15.4":
294 | version "7.15.4"
295 | resolved "https://registry.nlark.com/@babel/template/download/@babel/template-7.15.4.tgz"
296 | integrity sha1-UYmNNdzz+qZwxO5q/P1RfuE58ZQ=
297 | dependencies:
298 | "@babel/code-frame" "^7.14.5"
299 | "@babel/parser" "^7.15.4"
300 | "@babel/types" "^7.15.4"
301 |
302 | "@babel/traverse@^7.15.4", "@babel/traverse@^7.4.5":
303 | version "7.15.4"
304 | resolved "https://registry.nlark.com/@babel/traverse/download/@babel/traverse-7.15.4.tgz"
305 | integrity sha1-/4UQNnoUS/v/VS2eGOKPPiiJwi0=
306 | dependencies:
307 | "@babel/code-frame" "^7.14.5"
308 | "@babel/generator" "^7.15.4"
309 | "@babel/helper-function-name" "^7.15.4"
310 | "@babel/helper-hoist-variables" "^7.15.4"
311 | "@babel/helper-split-export-declaration" "^7.15.4"
312 | "@babel/parser" "^7.15.4"
313 | "@babel/types" "^7.15.4"
314 | debug "^4.1.0"
315 | globals "^11.1.0"
316 |
317 | "@babel/types@^7.14.9", "@babel/types@^7.15.4", "@babel/types@^7.15.6":
318 | version "7.15.6"
319 | resolved "https://registry.nlark.com/@babel/types/download/@babel/types-7.15.6.tgz"
320 | integrity sha1-mavcSCGLKIHAWN0KerBbmcm+dY8=
321 | dependencies:
322 | "@babel/helper-validator-identifier" "^7.14.9"
323 | to-fast-properties "^2.0.0"
324 |
325 | "@emotion/is-prop-valid@^0.8.8":
326 | version "0.8.8"
327 | resolved "https://registry.npm.taobao.org/@emotion/is-prop-valid/download/@emotion/is-prop-valid-0.8.8.tgz"
328 | integrity sha1-2yixxDaKJZtgqXMR1qlS1P0BrBo=
329 | dependencies:
330 | "@emotion/memoize" "0.7.4"
331 |
332 | "@emotion/memoize@0.7.4":
333 | version "0.7.4"
334 | resolved "https://registry.npm.taobao.org/@emotion/memoize/download/@emotion/memoize-0.7.4.tgz"
335 | integrity sha1-Gb8PWvGRSREcQNmLsM+CEZ9dnus=
336 |
337 | "@emotion/stylis@^0.8.4":
338 | version "0.8.5"
339 | resolved "https://registry.npm.taobao.org/@emotion/stylis/download/@emotion/stylis-0.8.5.tgz"
340 | integrity sha1-3qyzib1u530ef8rMzp4WxcfnjgQ=
341 |
342 | "@emotion/unitless@^0.7.4":
343 | version "0.7.5"
344 | resolved "https://registry.npm.taobao.org/@emotion/unitless/download/@emotion/unitless-0.7.5.tgz"
345 | integrity sha1-dyESkcGQCnALinjPr9oxYNdpSe0=
346 |
347 | "@eslint/eslintrc@^0.4.3":
348 | version "0.4.3"
349 | resolved "https://registry.nlark.com/@eslint/eslintrc/download/@eslint/eslintrc-0.4.3.tgz"
350 | integrity sha1-nkKYHvA1vrPdSa3ResuW6P9vOUw=
351 | dependencies:
352 | ajv "^6.12.4"
353 | debug "^4.1.1"
354 | espree "^7.3.0"
355 | globals "^13.9.0"
356 | ignore "^4.0.6"
357 | import-fresh "^3.2.1"
358 | js-yaml "^3.13.1"
359 | minimatch "^3.0.4"
360 | strip-json-comments "^3.1.1"
361 |
362 | "@humanwhocodes/config-array@^0.5.0":
363 | version "0.5.0"
364 | resolved "https://registry.npmmirror.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.5.0.tgz"
365 | integrity sha1-FAeWfUxu7Nc4j4Os8er00Mbljvk=
366 | dependencies:
367 | "@humanwhocodes/object-schema" "^1.2.0"
368 | debug "^4.1.1"
369 | minimatch "^3.0.4"
370 |
371 | "@humanwhocodes/object-schema@^1.2.0":
372 | version "1.2.0"
373 | resolved "https://registry.nlark.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.0.tgz"
374 | integrity sha1-h956+cIxgm/daKxyWPd8Qp4OX88=
375 |
376 | "@nodelib/fs.scandir@2.1.5":
377 | version "2.1.5"
378 | resolved "https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz"
379 | integrity sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=
380 | dependencies:
381 | "@nodelib/fs.stat" "2.0.5"
382 | run-parallel "^1.1.9"
383 |
384 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
385 | version "2.0.5"
386 | resolved "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz"
387 | integrity sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=
388 |
389 | "@nodelib/fs.walk@^1.2.3":
390 | version "1.2.8"
391 | resolved "https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz"
392 | integrity sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po=
393 | dependencies:
394 | "@nodelib/fs.scandir" "2.1.5"
395 | fastq "^1.6.0"
396 |
397 | "@rollup/pluginutils@^4.1.1":
398 | version "4.1.1"
399 | resolved "https://registry.nlark.com/@rollup/pluginutils/download/@rollup/pluginutils-4.1.1.tgz"
400 | integrity sha1-HU2obdTt7RVlalfZM/2iuaCNR+w=
401 | dependencies:
402 | estree-walker "^2.0.1"
403 | picomatch "^2.2.2"
404 |
405 | "@types/hoist-non-react-statics@*":
406 | version "3.3.1"
407 | resolved "https://registry.nlark.com/@types/hoist-non-react-statics/download/@types/hoist-non-react-statics-3.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fhoist-non-react-statics%2Fdownload%2F%40types%2Fhoist-non-react-statics-3.3.1.tgz"
408 | integrity sha1-ESSq/lEYy1kZd66xzqrtEHDrA58=
409 | dependencies:
410 | "@types/react" "*"
411 | hoist-non-react-statics "^3.3.0"
412 |
413 | "@types/json-schema@^7.0.7":
414 | version "7.0.9"
415 | resolved "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz"
416 | integrity sha1-l+3JA36gw4WFMgsolk3eOznkZg0=
417 |
418 | "@types/prop-types@*":
419 | version "15.7.4"
420 | resolved "https://registry.nlark.com/@types/prop-types/download/@types/prop-types-15.7.4.tgz?cache=0&sync_timestamp=1629708829833&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fprop-types%2Fdownload%2F%40types%2Fprop-types-15.7.4.tgz"
421 | integrity sha1-/PcgXCXf95Xuea8eMNosl5CAjxE=
422 |
423 | "@types/react-dom@17.0.9":
424 | version "17.0.9"
425 | resolved "https://registry.nlark.com/@types/react-dom/download/@types/react-dom-17.0.9.tgz?cache=0&sync_timestamp=1629708976357&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Freact-dom%2Fdownload%2F%40types%2Freact-dom-17.0.9.tgz"
426 | integrity sha1-RBqYHanXvhFwQuGm/T2sSzD1Wt0=
427 | dependencies:
428 | "@types/react" "*"
429 |
430 | "@types/react@*", "@types/react@17.0.24":
431 | version "17.0.24"
432 | resolved "https://registry.nlark.com/@types/react/download/@types/react-17.0.24.tgz"
433 | integrity sha1-fhs/eND8U3glQ/m85tlJlZpYgL0=
434 | dependencies:
435 | "@types/prop-types" "*"
436 | "@types/scheduler" "*"
437 | csstype "^3.0.2"
438 |
439 | "@types/scheduler@*":
440 | version "0.16.2"
441 | resolved "https://registry.nlark.com/@types/scheduler/download/@types/scheduler-0.16.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fscheduler%2Fdownload%2F%40types%2Fscheduler-0.16.2.tgz"
442 | integrity sha1-GmL4lSVyPd4kuhsBsJK/XfitTTk=
443 |
444 | "@types/styled-components@^5.1.14":
445 | version "5.1.14"
446 | resolved "https://registry.nlark.com/@types/styled-components/download/@types/styled-components-5.1.14.tgz?cache=0&sync_timestamp=1630748522443&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fstyled-components%2Fdownload%2F%40types%2Fstyled-components-5.1.14.tgz"
447 | integrity sha1-6c+M217vnROWKBg6hMCD9jBjXWc=
448 | dependencies:
449 | "@types/hoist-non-react-statics" "*"
450 | "@types/react" "*"
451 | csstype "^3.0.2"
452 |
453 | "@typescript-eslint/eslint-plugin@^4.33.0":
454 | version "4.33.0"
455 | resolved "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.33.0.tgz?cache=0&sync_timestamp=1633599729411&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276"
456 | integrity sha1-wk3HyAacdwa8QNmfb6h+3LIAUnY=
457 | dependencies:
458 | "@typescript-eslint/experimental-utils" "4.33.0"
459 | "@typescript-eslint/scope-manager" "4.33.0"
460 | debug "^4.3.1"
461 | functional-red-black-tree "^1.0.1"
462 | ignore "^5.1.8"
463 | regexpp "^3.1.0"
464 | semver "^7.3.5"
465 | tsutils "^3.21.0"
466 |
467 | "@typescript-eslint/experimental-utils@4.33.0":
468 | version "4.33.0"
469 | resolved "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.33.0.tgz?cache=0&sync_timestamp=1633599744822&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40typescript-eslint%2Fexperimental-utils%2Fdownload%2F%40typescript-eslint%2Fexperimental-utils-4.33.0.tgz"
470 | integrity sha1-byp4akIJ+iIimJ6TgLUzGygQ9/0=
471 | dependencies:
472 | "@types/json-schema" "^7.0.7"
473 | "@typescript-eslint/scope-manager" "4.33.0"
474 | "@typescript-eslint/types" "4.33.0"
475 | "@typescript-eslint/typescript-estree" "4.33.0"
476 | eslint-scope "^5.1.1"
477 | eslint-utils "^3.0.0"
478 |
479 | "@typescript-eslint/parser@^4.33.0":
480 | version "4.33.0"
481 | resolved "https://registry.npmmirror.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.33.0.tgz?cache=0&sync_timestamp=1633599730942&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899"
482 | integrity sha1-3+eXVw2WlOVgUo0Y7srYbIx0SJk=
483 | dependencies:
484 | "@typescript-eslint/scope-manager" "4.33.0"
485 | "@typescript-eslint/types" "4.33.0"
486 | "@typescript-eslint/typescript-estree" "4.33.0"
487 | debug "^4.3.1"
488 |
489 | "@typescript-eslint/scope-manager@4.33.0":
490 | version "4.33.0"
491 | resolved "https://registry.npmmirror.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.33.0.tgz"
492 | integrity sha1-045JKA2YPody4pEhz4xukiHygKM=
493 | dependencies:
494 | "@typescript-eslint/types" "4.33.0"
495 | "@typescript-eslint/visitor-keys" "4.33.0"
496 |
497 | "@typescript-eslint/types@4.33.0":
498 | version "4.33.0"
499 | resolved "https://registry.npmmirror.com/@typescript-eslint/types/download/@typescript-eslint/types-4.33.0.tgz"
500 | integrity sha1-oeWQNqO1OuhDDO6/KpGdx/mvbXI=
501 |
502 | "@typescript-eslint/typescript-estree@4.33.0":
503 | version "4.33.0"
504 | resolved "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.33.0.tgz?cache=0&sync_timestamp=1633599748128&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-4.33.0.tgz"
505 | integrity sha1-DftRwpCPaMXAjYKu/q8WahfCRgk=
506 | dependencies:
507 | "@typescript-eslint/types" "4.33.0"
508 | "@typescript-eslint/visitor-keys" "4.33.0"
509 | debug "^4.3.1"
510 | globby "^11.0.3"
511 | is-glob "^4.0.1"
512 | semver "^7.3.5"
513 | tsutils "^3.21.0"
514 |
515 | "@typescript-eslint/visitor-keys@4.33.0":
516 | version "4.33.0"
517 | resolved "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.33.0.tgz"
518 | integrity sha1-KiL3ekFgQom3oYZYbp7EjKku8d0=
519 | dependencies:
520 | "@typescript-eslint/types" "4.33.0"
521 | eslint-visitor-keys "^2.0.0"
522 |
523 | "@vitejs/plugin-react-refresh@1.3.6":
524 | version "1.3.6"
525 | resolved "https://registry.nlark.com/@vitejs/plugin-react-refresh/download/@vitejs/plugin-react-refresh-1.3.6.tgz"
526 | integrity sha1-GYGDktsB6BdGz+sE4JarMBDnn+M=
527 | dependencies:
528 | "@babel/core" "^7.14.8"
529 | "@babel/plugin-transform-react-jsx-self" "^7.14.5"
530 | "@babel/plugin-transform-react-jsx-source" "^7.14.5"
531 | "@rollup/pluginutils" "^4.1.1"
532 | react-refresh "^0.10.0"
533 |
534 | "@vitejs/plugin-react@^1.0.2":
535 | version "1.0.2"
536 | resolved "https://registry.npmmirror.com/@vitejs/plugin-react/download/@vitejs/plugin-react-1.0.2.tgz#08147baff5bcc0c66740209823169103d73437b3"
537 | integrity sha1-CBR7r/W8wMZnQCCYIxaRA9c0N7M=
538 | dependencies:
539 | "@babel/core" "^7.15.5"
540 | "@babel/plugin-transform-react-jsx" "^7.14.9"
541 | "@babel/plugin-transform-react-jsx-development" "^7.14.5"
542 | "@babel/plugin-transform-react-jsx-self" "^7.14.9"
543 | "@babel/plugin-transform-react-jsx-source" "^7.14.5"
544 | "@rollup/pluginutils" "^4.1.1"
545 | react-refresh "^0.10.0"
546 | resolve "^1.20.0"
547 |
548 | acorn-jsx@^5.3.1:
549 | version "5.3.2"
550 | resolved "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz"
551 | integrity sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=
552 |
553 | acorn@^7.4.0:
554 | version "7.4.1"
555 | resolved "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1630916517167&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz"
556 | integrity sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=
557 |
558 | ajv@^6.10.0, ajv@^6.12.4:
559 | version "6.12.6"
560 | resolved "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz"
561 | integrity sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=
562 | dependencies:
563 | fast-deep-equal "^3.1.1"
564 | fast-json-stable-stringify "^2.0.0"
565 | json-schema-traverse "^0.4.1"
566 | uri-js "^4.2.2"
567 |
568 | ajv@^8.0.1:
569 | version "8.6.3"
570 | resolved "https://registry.nlark.com/ajv/download/ajv-8.6.3.tgz"
571 | integrity sha1-EaZlJ3Ydw+mjhF6nddLTwEFOh2Q=
572 | dependencies:
573 | fast-deep-equal "^3.1.1"
574 | json-schema-traverse "^1.0.0"
575 | require-from-string "^2.0.2"
576 | uri-js "^4.2.2"
577 |
578 | ansi-colors@^4.1.1:
579 | version "4.1.1"
580 | resolved "https://registry.nlark.com/ansi-colors/download/ansi-colors-4.1.1.tgz"
581 | integrity sha1-y7muJWv3UK8eqzRPIpqif+lLo0g=
582 |
583 | ansi-regex@^5.0.1:
584 | version "5.0.1"
585 | resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz"
586 | integrity sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=
587 |
588 | ansi-styles@^3.2.1:
589 | version "3.2.1"
590 | resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz"
591 | integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=
592 | dependencies:
593 | color-convert "^1.9.0"
594 |
595 | ansi-styles@^4.0.0, ansi-styles@^4.1.0:
596 | version "4.3.0"
597 | resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz"
598 | integrity sha1-7dgDYornHATIWuegkG7a00tkiTc=
599 | dependencies:
600 | color-convert "^2.0.1"
601 |
602 | argparse@^1.0.7:
603 | version "1.0.10"
604 | resolved "https://registry.nlark.com/argparse/download/argparse-1.0.10.tgz"
605 | integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=
606 | dependencies:
607 | sprintf-js "~1.0.2"
608 |
609 | array-includes@^3.1.3:
610 | version "3.1.4"
611 | resolved "https://registry.npmmirror.com/array-includes/download/array-includes-3.1.4.tgz"
612 | integrity sha1-9bSTFix2DzU5Yx8AW6K7Rqy0W6k=
613 | dependencies:
614 | call-bind "^1.0.2"
615 | define-properties "^1.1.3"
616 | es-abstract "^1.19.1"
617 | get-intrinsic "^1.1.1"
618 | is-string "^1.0.7"
619 |
620 | array-union@^2.1.0:
621 | version "2.1.0"
622 | resolved "https://registry.nlark.com/array-union/download/array-union-2.1.0.tgz"
623 | integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0=
624 |
625 | array.prototype.flatmap@^1.2.4:
626 | version "1.2.5"
627 | resolved "https://registry.npmmirror.com/array.prototype.flatmap/download/array.prototype.flatmap-1.2.5.tgz"
628 | integrity sha1-kI3ILYpAaTD984WY1R50EdGNREY=
629 | dependencies:
630 | call-bind "^1.0.0"
631 | define-properties "^1.1.3"
632 | es-abstract "^1.19.0"
633 |
634 | astral-regex@^2.0.0:
635 | version "2.0.0"
636 | resolved "https://registry.nlark.com/astral-regex/download/astral-regex-2.0.0.tgz"
637 | integrity sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=
638 |
639 | axios@0.22.0:
640 | version "0.22.0"
641 | resolved "https://registry.npmmirror.com/axios/download/axios-0.22.0.tgz"
642 | integrity sha1-v3AsQftQ+8pFOVidg5oHcRe3myU=
643 | dependencies:
644 | follow-redirects "^1.14.4"
645 |
646 | "babel-plugin-styled-components@>= 1.12.0":
647 | version "1.13.2"
648 | resolved "https://registry.nlark.com/babel-plugin-styled-components/download/babel-plugin-styled-components-1.13.2.tgz"
649 | integrity sha1-6+Dm3v9R1/k/ztoYGem5auuIJ40=
650 | dependencies:
651 | "@babel/helper-annotate-as-pure" "^7.0.0"
652 | "@babel/helper-module-imports" "^7.0.0"
653 | babel-plugin-syntax-jsx "^6.18.0"
654 | lodash "^4.17.11"
655 |
656 | babel-plugin-syntax-jsx@^6.18.0:
657 | version "6.18.0"
658 | resolved "https://registry.npm.taobao.org/babel-plugin-syntax-jsx/download/babel-plugin-syntax-jsx-6.18.0.tgz"
659 | integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
660 |
661 | balanced-match@^1.0.0:
662 | version "1.0.2"
663 | resolved "https://registry.nlark.com/balanced-match/download/balanced-match-1.0.2.tgz"
664 | integrity sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=
665 |
666 | brace-expansion@^1.1.7:
667 | version "1.1.11"
668 | resolved "https://registry.nlark.com/brace-expansion/download/brace-expansion-1.1.11.tgz"
669 | integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=
670 | dependencies:
671 | balanced-match "^1.0.0"
672 | concat-map "0.0.1"
673 |
674 | braces@^3.0.1:
675 | version "3.0.2"
676 | resolved "https://registry.nlark.com/braces/download/braces-3.0.2.tgz"
677 | integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc=
678 | dependencies:
679 | fill-range "^7.0.1"
680 |
681 | browserslist@^4.16.6:
682 | version "4.17.1"
683 | resolved "https://registry.nlark.com/browserslist/download/browserslist-4.17.1.tgz?cache=0&sync_timestamp=1632288345505&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.17.1.tgz"
684 | integrity sha1-qY0QT1SvRBKQt9WSYm3VQfpkLrk=
685 | dependencies:
686 | caniuse-lite "^1.0.30001259"
687 | electron-to-chromium "^1.3.846"
688 | escalade "^3.1.1"
689 | nanocolors "^0.1.5"
690 | node-releases "^1.1.76"
691 |
692 | call-bind@^1.0.0, call-bind@^1.0.2:
693 | version "1.0.2"
694 | resolved "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz"
695 | integrity sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=
696 | dependencies:
697 | function-bind "^1.1.1"
698 | get-intrinsic "^1.0.2"
699 |
700 | callsites@^3.0.0:
701 | version "3.1.0"
702 | resolved "https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz"
703 | integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=
704 |
705 | camelize@^1.0.0:
706 | version "1.0.0"
707 | resolved "https://registry.npm.taobao.org/camelize/download/camelize-1.0.0.tgz"
708 | integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=
709 |
710 | caniuse-lite@^1.0.30001259:
711 | version "1.0.30001259"
712 | resolved "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001259.tgz"
713 | integrity sha1-riFpHT2pxL5hREA6xA9x2fbv15A=
714 |
715 | chalk@^2.0.0:
716 | version "2.4.2"
717 | resolved "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1627646614989&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz"
718 | integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=
719 | dependencies:
720 | ansi-styles "^3.2.1"
721 | escape-string-regexp "^1.0.5"
722 | supports-color "^5.3.0"
723 |
724 | chalk@^4.0.0:
725 | version "4.1.2"
726 | resolved "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646850823&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz"
727 | integrity sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=
728 | dependencies:
729 | ansi-styles "^4.1.0"
730 | supports-color "^7.1.0"
731 |
732 | classnames@2.3.1:
733 | version "2.3.1"
734 | resolved "https://registry.nlark.com/classnames/download/classnames-2.3.1.tgz"
735 | integrity sha1-38+jiR4wbsHa0QXQ6I9EF7hTXo4=
736 |
737 | color-convert@^1.9.0:
738 | version "1.9.3"
739 | resolved "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz?cache=0&sync_timestamp=1624607968569&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcolor-convert%2Fdownload%2Fcolor-convert-1.9.3.tgz"
740 | integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=
741 | dependencies:
742 | color-name "1.1.3"
743 |
744 | color-convert@^2.0.1:
745 | version "2.0.1"
746 | resolved "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz"
747 | integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=
748 | dependencies:
749 | color-name "~1.1.4"
750 |
751 | color-name@1.1.3:
752 | version "1.1.3"
753 | resolved "https://registry.nlark.com/color-name/download/color-name-1.1.3.tgz"
754 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
755 |
756 | color-name@~1.1.4:
757 | version "1.1.4"
758 | resolved "https://registry.nlark.com/color-name/download/color-name-1.1.4.tgz"
759 | integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=
760 |
761 | concat-map@0.0.1:
762 | version "0.0.1"
763 | resolved "https://registry.nlark.com/concat-map/download/concat-map-0.0.1.tgz"
764 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
765 |
766 | convert-source-map@^1.7.0:
767 | version "1.8.0"
768 | resolved "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz"
769 | integrity sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k=
770 | dependencies:
771 | safe-buffer "~5.1.1"
772 |
773 | cross-spawn@^7.0.2:
774 | version "7.0.3"
775 | resolved "https://registry.nlark.com/cross-spawn/download/cross-spawn-7.0.3.tgz"
776 | integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY=
777 | dependencies:
778 | path-key "^3.1.0"
779 | shebang-command "^2.0.0"
780 | which "^2.0.1"
781 |
782 | css-color-keywords@^1.0.0:
783 | version "1.0.0"
784 | resolved "https://registry.npm.taobao.org/css-color-keywords/download/css-color-keywords-1.0.0.tgz"
785 | integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=
786 |
787 | css-to-react-native@^3.0.0:
788 | version "3.0.0"
789 | resolved "https://registry.npm.taobao.org/css-to-react-native/download/css-to-react-native-3.0.0.tgz"
790 | integrity sha1-YtvmeAcqgkpom8/uAR/JbgKn11Y=
791 | dependencies:
792 | camelize "^1.0.0"
793 | css-color-keywords "^1.0.0"
794 | postcss-value-parser "^4.0.2"
795 |
796 | csstype@^3.0.2:
797 | version "3.0.9"
798 | resolved "https://registry.nlark.com/csstype/download/csstype-3.0.9.tgz?cache=0&sync_timestamp=1631540708034&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcsstype%2Fdownload%2Fcsstype-3.0.9.tgz"
799 | integrity sha1-ZBCvMbJr0FIJM9AsvGT86c4/vws=
800 |
801 | debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
802 | version "4.3.2"
803 | resolved "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz"
804 | integrity sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=
805 | dependencies:
806 | ms "2.1.2"
807 |
808 | decode-uri-component@^0.2.0:
809 | version "0.2.0"
810 | resolved "https://registry.nlark.com/decode-uri-component/download/decode-uri-component-0.2.0.tgz"
811 | integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
812 |
813 | deep-is@^0.1.3:
814 | version "0.1.4"
815 | resolved "https://registry.nlark.com/deep-is/download/deep-is-0.1.4.tgz?cache=0&sync_timestamp=1630774990168&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdeep-is%2Fdownload%2Fdeep-is-0.1.4.tgz"
816 | integrity sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE=
817 |
818 | define-properties@^1.1.3:
819 | version "1.1.3"
820 | resolved "https://registry.nlark.com/define-properties/download/define-properties-1.1.3.tgz"
821 | integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=
822 | dependencies:
823 | object-keys "^1.0.12"
824 |
825 | dequal@2.0.2:
826 | version "2.0.2"
827 | resolved "https://registry.npm.taobao.org/dequal/download/dequal-2.0.2.tgz"
828 | integrity sha1-hcoiAl46h+Ze91p6Q3s1KEp+MZ0=
829 |
830 | dir-glob@^3.0.1:
831 | version "3.0.1"
832 | resolved "https://registry.nlark.com/dir-glob/download/dir-glob-3.0.1.tgz"
833 | integrity sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=
834 | dependencies:
835 | path-type "^4.0.0"
836 |
837 | doctrine@^2.1.0:
838 | version "2.1.0"
839 | resolved "https://registry.nlark.com/doctrine/download/doctrine-2.1.0.tgz"
840 | integrity sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=
841 | dependencies:
842 | esutils "^2.0.2"
843 |
844 | doctrine@^3.0.0:
845 | version "3.0.0"
846 | resolved "https://registry.nlark.com/doctrine/download/doctrine-3.0.0.tgz"
847 | integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=
848 | dependencies:
849 | esutils "^2.0.2"
850 |
851 | electron-to-chromium@^1.3.846:
852 | version "1.3.846"
853 | resolved "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.846.tgz"
854 | integrity sha1-pV/VlhPbyu1gnpZePoj0KwjEAdM=
855 |
856 | emoji-regex@^8.0.0:
857 | version "8.0.0"
858 | resolved "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1632751313004&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz"
859 | integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=
860 |
861 | enquirer@^2.3.5:
862 | version "2.3.6"
863 | resolved "https://registry.nlark.com/enquirer/download/enquirer-2.3.6.tgz"
864 | integrity sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00=
865 | dependencies:
866 | ansi-colors "^4.1.1"
867 |
868 | es-abstract@^1.19.0, es-abstract@^1.19.1:
869 | version "1.19.1"
870 | resolved "https://registry.npmmirror.com/es-abstract/download/es-abstract-1.19.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.19.1.tgz"
871 | integrity sha1-1IhXlodpFpWd547aoN9FZicRXsM=
872 | dependencies:
873 | call-bind "^1.0.2"
874 | es-to-primitive "^1.2.1"
875 | function-bind "^1.1.1"
876 | get-intrinsic "^1.1.1"
877 | get-symbol-description "^1.0.0"
878 | has "^1.0.3"
879 | has-symbols "^1.0.2"
880 | internal-slot "^1.0.3"
881 | is-callable "^1.2.4"
882 | is-negative-zero "^2.0.1"
883 | is-regex "^1.1.4"
884 | is-shared-array-buffer "^1.0.1"
885 | is-string "^1.0.7"
886 | is-weakref "^1.0.1"
887 | object-inspect "^1.11.0"
888 | object-keys "^1.1.1"
889 | object.assign "^4.1.2"
890 | string.prototype.trimend "^1.0.4"
891 | string.prototype.trimstart "^1.0.4"
892 | unbox-primitive "^1.0.1"
893 |
894 | es-to-primitive@^1.2.1:
895 | version "1.2.1"
896 | resolved "https://registry.nlark.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz"
897 | integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=
898 | dependencies:
899 | is-callable "^1.1.4"
900 | is-date-object "^1.0.1"
901 | is-symbol "^1.0.2"
902 |
903 | esbuild-android-arm64@0.13.4:
904 | version "0.13.4"
905 | resolved "https://registry.npmmirror.com/esbuild-android-arm64/download/esbuild-android-arm64-0.13.4.tgz#5178a20d2b7aba741a31c19609f9e67b346996b9"
906 | integrity sha1-UXiiDSt6unQaMcGWCfnmezRplrk=
907 |
908 | esbuild-darwin-64@0.13.4:
909 | version "0.13.4"
910 | resolved "https://registry.npmmirror.com/esbuild-darwin-64/download/esbuild-darwin-64-0.13.4.tgz#7a3e66c8e1271b650541b25eed65c84f3564a69d"
911 | integrity sha1-ej5myOEnG2UFQbJe7WXITzVkpp0=
912 |
913 | esbuild-darwin-arm64@0.13.4:
914 | version "0.13.4"
915 | resolved "https://registry.npmmirror.com/esbuild-darwin-arm64/download/esbuild-darwin-arm64-0.13.4.tgz#793feca6032b2a57ef291eb9b2d33768d60a49d6"
916 | integrity sha1-eT/spgMrKlfvKR65stM3aNYKSdY=
917 |
918 | esbuild-freebsd-64@0.13.4:
919 | version "0.13.4"
920 | resolved "https://registry.npmmirror.com/esbuild-freebsd-64/download/esbuild-freebsd-64-0.13.4.tgz#294aec3c2cf4b41fb6900212fc9c33dd8fbbb4a2"
921 | integrity sha1-KUrsPCz0tB+2kAIS/Jwz3Y+7tKI=
922 |
923 | esbuild-freebsd-arm64@0.13.4:
924 | version "0.13.4"
925 | resolved "https://registry.npmmirror.com/esbuild-freebsd-arm64/download/esbuild-freebsd-arm64-0.13.4.tgz#09fe66c751c12f9b976976b1d83f3de594cb2787"
926 | integrity sha1-Cf5mx1HBL5uXaXax2D895ZTLJ4c=
927 |
928 | esbuild-linux-32@0.13.4:
929 | version "0.13.4"
930 | resolved "https://registry.npmmirror.com/esbuild-linux-32/download/esbuild-linux-32-0.13.4.tgz#a9f0793d7bcc9cef4f4ffa4398c525877fba5839"
931 | integrity sha1-qfB5PXvMnO9PT/pDmMUlh3+6WDk=
932 |
933 | esbuild-linux-64@0.13.4:
934 | version "0.13.4"
935 | resolved "https://registry.npmmirror.com/esbuild-linux-64/download/esbuild-linux-64-0.13.4.tgz"
936 | integrity sha1-wNC0ydYuO7+L3yzs43QDqm1g/C4=
937 |
938 | esbuild-linux-arm64@0.13.4:
939 | version "0.13.4"
940 | resolved "https://registry.npmmirror.com/esbuild-linux-arm64/download/esbuild-linux-arm64-0.13.4.tgz#1292d97bfa64a08d12728f8a7837bf92776c779b"
941 | integrity sha1-EpLZe/pkoI0Sco+KeDe/kndsd5s=
942 |
943 | esbuild-linux-arm@0.13.4:
944 | version "0.13.4"
945 | resolved "https://registry.npmmirror.com/esbuild-linux-arm/download/esbuild-linux-arm-0.13.4.tgz#186cd9b8885ac132b9953a4a0afe668168debd10"
946 | integrity sha1-GGzZuIhawTK5lTpKCv5mgWjevRA=
947 |
948 | esbuild-linux-mips64le@0.13.4:
949 | version "0.13.4"
950 | resolved "https://registry.npmmirror.com/esbuild-linux-mips64le/download/esbuild-linux-mips64le-0.13.4.tgz#42049bf72bc586817b4a51cc9e32148d13e5e807"
951 | integrity sha1-QgSb9yvFhoF7SlHMnjIUjRPl6Ac=
952 |
953 | esbuild-linux-ppc64le@0.13.4:
954 | version "0.13.4"
955 | resolved "https://registry.npmmirror.com/esbuild-linux-ppc64le/download/esbuild-linux-ppc64le-0.13.4.tgz#adf1ce2ef2302757c4383887da6ac4dd25be9d4f"
956 | integrity sha1-rfHOLvIwJ1fEODiH2mrE3SW+nU8=
957 |
958 | esbuild-openbsd-64@0.13.4:
959 | version "0.13.4"
960 | resolved "https://registry.npmmirror.com/esbuild-openbsd-64/download/esbuild-openbsd-64-0.13.4.tgz#1c8122101898c52a20c8786935cf3eb7a19b83b4"
961 | integrity sha1-HIEiEBiYxSogyHhpNc8+t6Gbg7Q=
962 |
963 | esbuild-sunos-64@0.13.4:
964 | version "0.13.4"
965 | resolved "https://registry.npmmirror.com/esbuild-sunos-64/download/esbuild-sunos-64-0.13.4.tgz#4ec95faa14a60f295fe485bebffefff408739337"
966 | integrity sha1-TslfqhSmDylf5IW+v/7/9Ahzkzc=
967 |
968 | esbuild-windows-32@0.13.4:
969 | version "0.13.4"
970 | resolved "https://registry.npmmirror.com/esbuild-windows-32/download/esbuild-windows-32-0.13.4.tgz#3182c380487b797b04d0ec2c80c2945666869080"
971 | integrity sha1-MYLDgEh7eXsE0OwsgMKUVmaGkIA=
972 |
973 | esbuild-windows-64@0.13.4:
974 | version "0.13.4"
975 | resolved "https://registry.npmmirror.com/esbuild-windows-64/download/esbuild-windows-64-0.13.4.tgz#b9e995f92d81f433a04f33611e603e82f9232e69"
976 | integrity sha1-uemV+S2B9DOgTzNhHmA+gvkjLmk=
977 |
978 | esbuild-windows-arm64@0.13.4:
979 | version "0.13.4"
980 | resolved "https://registry.npmmirror.com/esbuild-windows-arm64/download/esbuild-windows-arm64-0.13.4.tgz#fb239532f07b764d158f4cc787178ef4c6fadb5c"
981 | integrity sha1-+yOVMvB7dk0Vj0zHhxeO9Mb621w=
982 |
983 | esbuild@^0.13.2:
984 | version "0.13.4"
985 | resolved "https://registry.npmmirror.com/esbuild/download/esbuild-0.13.4.tgz"
986 | integrity sha1-zi3rVsT7Ngk4MRy/xn+ORnu2hBs=
987 | optionalDependencies:
988 | esbuild-android-arm64 "0.13.4"
989 | esbuild-darwin-64 "0.13.4"
990 | esbuild-darwin-arm64 "0.13.4"
991 | esbuild-freebsd-64 "0.13.4"
992 | esbuild-freebsd-arm64 "0.13.4"
993 | esbuild-linux-32 "0.13.4"
994 | esbuild-linux-64 "0.13.4"
995 | esbuild-linux-arm "0.13.4"
996 | esbuild-linux-arm64 "0.13.4"
997 | esbuild-linux-mips64le "0.13.4"
998 | esbuild-linux-ppc64le "0.13.4"
999 | esbuild-openbsd-64 "0.13.4"
1000 | esbuild-sunos-64 "0.13.4"
1001 | esbuild-windows-32 "0.13.4"
1002 | esbuild-windows-64 "0.13.4"
1003 | esbuild-windows-arm64 "0.13.4"
1004 |
1005 | escalade@^3.1.1:
1006 | version "3.1.1"
1007 | resolved "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz"
1008 | integrity sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=
1009 |
1010 | escape-string-regexp@^1.0.5:
1011 | version "1.0.5"
1012 | resolved "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz"
1013 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
1014 |
1015 | escape-string-regexp@^4.0.0:
1016 | version "4.0.0"
1017 | resolved "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz"
1018 | integrity sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=
1019 |
1020 | eslint-plugin-react@^7.26.1:
1021 | version "7.26.1"
1022 | resolved "https://registry.npmmirror.com/eslint-plugin-react/download/eslint-plugin-react-7.26.1.tgz#41bcfe3e39e6a5ac040971c1af94437c80daa40e"
1023 | integrity sha1-Qbz+PjnmpawECXHBr5RDfIDapA4=
1024 | dependencies:
1025 | array-includes "^3.1.3"
1026 | array.prototype.flatmap "^1.2.4"
1027 | doctrine "^2.1.0"
1028 | estraverse "^5.2.0"
1029 | jsx-ast-utils "^2.4.1 || ^3.0.0"
1030 | minimatch "^3.0.4"
1031 | object.entries "^1.1.4"
1032 | object.fromentries "^2.0.4"
1033 | object.hasown "^1.0.0"
1034 | object.values "^1.1.4"
1035 | prop-types "^15.7.2"
1036 | resolve "^2.0.0-next.3"
1037 | semver "^6.3.0"
1038 | string.prototype.matchall "^4.0.5"
1039 |
1040 | eslint-scope@^5.1.1:
1041 | version "5.1.1"
1042 | resolved "https://registry.nlark.com/eslint-scope/download/eslint-scope-5.1.1.tgz"
1043 | integrity sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=
1044 | dependencies:
1045 | esrecurse "^4.3.0"
1046 | estraverse "^4.1.1"
1047 |
1048 | eslint-utils@^2.1.0:
1049 | version "2.1.0"
1050 | resolved "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz"
1051 | integrity sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=
1052 | dependencies:
1053 | eslint-visitor-keys "^1.1.0"
1054 |
1055 | eslint-utils@^3.0.0:
1056 | version "3.0.0"
1057 | resolved "https://registry.nlark.com/eslint-utils/download/eslint-utils-3.0.0.tgz"
1058 | integrity sha1-iuuvrOc0W7M1WdsKHxOh0tSMNnI=
1059 | dependencies:
1060 | eslint-visitor-keys "^2.0.0"
1061 |
1062 | eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
1063 | version "1.3.0"
1064 | resolved "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz"
1065 | integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=
1066 |
1067 | eslint-visitor-keys@^2.0.0:
1068 | version "2.1.0"
1069 | resolved "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz"
1070 | integrity sha1-9lMoJZMFknOSyTjtROsKXJsr0wM=
1071 |
1072 | eslint@^7.32.0:
1073 | version "7.32.0"
1074 | resolved "https://registry.npmmirror.com/eslint/download/eslint-7.32.0.tgz?cache=0&sync_timestamp=1632525386220&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint%2Fdownload%2Feslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d"
1075 | integrity sha1-xtMooUvj+wjI0dIeEsAv23oqgS0=
1076 | dependencies:
1077 | "@babel/code-frame" "7.12.11"
1078 | "@eslint/eslintrc" "^0.4.3"
1079 | "@humanwhocodes/config-array" "^0.5.0"
1080 | ajv "^6.10.0"
1081 | chalk "^4.0.0"
1082 | cross-spawn "^7.0.2"
1083 | debug "^4.0.1"
1084 | doctrine "^3.0.0"
1085 | enquirer "^2.3.5"
1086 | escape-string-regexp "^4.0.0"
1087 | eslint-scope "^5.1.1"
1088 | eslint-utils "^2.1.0"
1089 | eslint-visitor-keys "^2.0.0"
1090 | espree "^7.3.1"
1091 | esquery "^1.4.0"
1092 | esutils "^2.0.2"
1093 | fast-deep-equal "^3.1.3"
1094 | file-entry-cache "^6.0.1"
1095 | functional-red-black-tree "^1.0.1"
1096 | glob-parent "^5.1.2"
1097 | globals "^13.6.0"
1098 | ignore "^4.0.6"
1099 | import-fresh "^3.0.0"
1100 | imurmurhash "^0.1.4"
1101 | is-glob "^4.0.0"
1102 | js-yaml "^3.13.1"
1103 | json-stable-stringify-without-jsonify "^1.0.1"
1104 | levn "^0.4.1"
1105 | lodash.merge "^4.6.2"
1106 | minimatch "^3.0.4"
1107 | natural-compare "^1.4.0"
1108 | optionator "^0.9.1"
1109 | progress "^2.0.0"
1110 | regexpp "^3.1.0"
1111 | semver "^7.2.1"
1112 | strip-ansi "^6.0.0"
1113 | strip-json-comments "^3.1.0"
1114 | table "^6.0.9"
1115 | text-table "^0.2.0"
1116 | v8-compile-cache "^2.0.3"
1117 |
1118 | espree@^7.3.0, espree@^7.3.1:
1119 | version "7.3.1"
1120 | resolved "https://registry.nlark.com/espree/download/espree-7.3.1.tgz"
1121 | integrity sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y=
1122 | dependencies:
1123 | acorn "^7.4.0"
1124 | acorn-jsx "^5.3.1"
1125 | eslint-visitor-keys "^1.3.0"
1126 |
1127 | esprima@^4.0.0:
1128 | version "4.0.1"
1129 | resolved "https://registry.nlark.com/esprima/download/esprima-4.0.1.tgz"
1130 | integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=
1131 |
1132 | esquery@^1.4.0:
1133 | version "1.4.0"
1134 | resolved "https://registry.nlark.com/esquery/download/esquery-1.4.0.tgz"
1135 | integrity sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=
1136 | dependencies:
1137 | estraverse "^5.1.0"
1138 |
1139 | esrecurse@^4.3.0:
1140 | version "4.3.0"
1141 | resolved "https://registry.nlark.com/esrecurse/download/esrecurse-4.3.0.tgz"
1142 | integrity sha1-eteWTWeauyi+5yzsY3WLHF0smSE=
1143 | dependencies:
1144 | estraverse "^5.2.0"
1145 |
1146 | estraverse@^4.1.1:
1147 | version "4.3.0"
1148 | resolved "https://registry.nlark.com/estraverse/download/estraverse-4.3.0.tgz"
1149 | integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=
1150 |
1151 | estraverse@^5.1.0, estraverse@^5.2.0:
1152 | version "5.2.0"
1153 | resolved "https://registry.nlark.com/estraverse/download/estraverse-5.2.0.tgz"
1154 | integrity sha1-MH30JUfmzHMk088DwVXVzbjFOIA=
1155 |
1156 | estree-walker@^2.0.1:
1157 | version "2.0.2"
1158 | resolved "https://registry.npm.taobao.org/estree-walker/download/estree-walker-2.0.2.tgz"
1159 | integrity sha1-UvAQF4wqTBF6d1fP6UKtt9LaTKw=
1160 |
1161 | esutils@^2.0.2:
1162 | version "2.0.3"
1163 | resolved "https://registry.nlark.com/esutils/download/esutils-2.0.3.tgz"
1164 | integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=
1165 |
1166 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
1167 | version "3.1.3"
1168 | resolved "https://registry.nlark.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz"
1169 | integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=
1170 |
1171 | fast-glob@^3.1.1:
1172 | version "3.2.7"
1173 | resolved "https://registry.nlark.com/fast-glob/download/fast-glob-3.2.7.tgz?cache=0&sync_timestamp=1625772524389&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.7.tgz"
1174 | integrity sha1-/Wy3otfpqnp4RhEehaGW1rL3ZqE=
1175 | dependencies:
1176 | "@nodelib/fs.stat" "^2.0.2"
1177 | "@nodelib/fs.walk" "^1.2.3"
1178 | glob-parent "^5.1.2"
1179 | merge2 "^1.3.0"
1180 | micromatch "^4.0.4"
1181 |
1182 | fast-json-stable-stringify@^2.0.0:
1183 | version "2.1.0"
1184 | resolved "https://registry.nlark.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz"
1185 | integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=
1186 |
1187 | fast-levenshtein@^2.0.6:
1188 | version "2.0.6"
1189 | resolved "https://registry.nlark.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz"
1190 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
1191 |
1192 | fastq@^1.6.0:
1193 | version "1.13.0"
1194 | resolved "https://registry.nlark.com/fastq/download/fastq-1.13.0.tgz?cache=0&sync_timestamp=1631609750055&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffastq%2Fdownload%2Ffastq-1.13.0.tgz"
1195 | integrity sha1-YWdg+Ip1Jr38WWt8q4wYk4w2uYw=
1196 | dependencies:
1197 | reusify "^1.0.4"
1198 |
1199 | file-entry-cache@^6.0.1:
1200 | version "6.0.1"
1201 | resolved "https://registry.nlark.com/file-entry-cache/download/file-entry-cache-6.0.1.tgz"
1202 | integrity sha1-IRst2WWcsDlLBz5zI6w8kz1SICc=
1203 | dependencies:
1204 | flat-cache "^3.0.4"
1205 |
1206 | fill-range@^7.0.1:
1207 | version "7.0.1"
1208 | resolved "https://registry.nlark.com/fill-range/download/fill-range-7.0.1.tgz"
1209 | integrity sha1-GRmmp8df44ssfHflGYU12prN2kA=
1210 | dependencies:
1211 | to-regex-range "^5.0.1"
1212 |
1213 | filter-obj@^1.1.0:
1214 | version "1.1.0"
1215 | resolved "https://registry.nlark.com/filter-obj/download/filter-obj-1.1.0.tgz"
1216 | integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs=
1217 |
1218 | flat-cache@^3.0.4:
1219 | version "3.0.4"
1220 | resolved "https://registry.nlark.com/flat-cache/download/flat-cache-3.0.4.tgz"
1221 | integrity sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=
1222 | dependencies:
1223 | flatted "^3.1.0"
1224 | rimraf "^3.0.2"
1225 |
1226 | flatted@^3.1.0:
1227 | version "3.2.2"
1228 | resolved "https://registry.nlark.com/flatted/download/flatted-3.2.2.tgz?cache=0&sync_timestamp=1627541049935&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fflatted%2Fdownload%2Fflatted-3.2.2.tgz"
1229 | integrity sha1-ZL/tXLaP48p4s+shStl7Y77c5WE=
1230 |
1231 | follow-redirects@^1.14.4:
1232 | version "1.14.4"
1233 | resolved "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.14.4.tgz?cache=0&sync_timestamp=1631622112426&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.14.4.tgz"
1234 | integrity sha1-g4/fSKi73XnlLuUfsclOPtmLk3k=
1235 |
1236 | fs.realpath@^1.0.0:
1237 | version "1.0.0"
1238 | resolved "https://registry.nlark.com/fs.realpath/download/fs.realpath-1.0.0.tgz"
1239 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
1240 |
1241 | fsevents@~2.3.2:
1242 | version "2.3.2"
1243 | resolved "https://registry.nlark.com/fsevents/download/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
1244 | integrity sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=
1245 |
1246 | function-bind@^1.1.1:
1247 | version "1.1.1"
1248 | resolved "https://registry.nlark.com/function-bind/download/function-bind-1.1.1.tgz"
1249 | integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=
1250 |
1251 | functional-red-black-tree@^1.0.1:
1252 | version "1.0.1"
1253 | resolved "https://registry.nlark.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz"
1254 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
1255 |
1256 | gensync@^1.0.0-beta.2:
1257 | version "1.0.0-beta.2"
1258 | resolved "https://registry.nlark.com/gensync/download/gensync-1.0.0-beta.2.tgz"
1259 | integrity sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=
1260 |
1261 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
1262 | version "1.1.1"
1263 | resolved "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz"
1264 | integrity sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=
1265 | dependencies:
1266 | function-bind "^1.1.1"
1267 | has "^1.0.3"
1268 | has-symbols "^1.0.1"
1269 |
1270 | get-symbol-description@^1.0.0:
1271 | version "1.0.0"
1272 | resolved "https://registry.nlark.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz"
1273 | integrity sha1-f9uByQAQH71WTdXxowr1qtweWNY=
1274 | dependencies:
1275 | call-bind "^1.0.2"
1276 | get-intrinsic "^1.1.1"
1277 |
1278 | glob-parent@^5.1.2:
1279 | version "5.1.2"
1280 | resolved "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz"
1281 | integrity sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=
1282 | dependencies:
1283 | is-glob "^4.0.1"
1284 |
1285 | glob@^7.1.3:
1286 | version "7.2.0"
1287 | resolved "https://registry.npmmirror.com/glob/download/glob-7.2.0.tgz"
1288 | integrity sha1-0VU1r3cy4C6Uj0xBYovZECk/YCM=
1289 | dependencies:
1290 | fs.realpath "^1.0.0"
1291 | inflight "^1.0.4"
1292 | inherits "2"
1293 | minimatch "^3.0.4"
1294 | once "^1.3.0"
1295 | path-is-absolute "^1.0.0"
1296 |
1297 | globals@^11.1.0:
1298 | version "11.12.0"
1299 | resolved "https://registry.nlark.com/globals/download/globals-11.12.0.tgz"
1300 | integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=
1301 |
1302 | globals@^13.6.0, globals@^13.9.0:
1303 | version "13.11.0"
1304 | resolved "https://registry.nlark.com/globals/download/globals-13.11.0.tgz"
1305 | integrity sha1-QO9njaEX/nvS4o8fqySVG9AlW+c=
1306 | dependencies:
1307 | type-fest "^0.20.2"
1308 |
1309 | globby@^11.0.3:
1310 | version "11.0.4"
1311 | resolved "https://registry.nlark.com/globby/download/globby-11.0.4.tgz"
1312 | integrity sha1-LLr/d8Lypi5x6bKBOme5ejowAaU=
1313 | dependencies:
1314 | array-union "^2.1.0"
1315 | dir-glob "^3.0.1"
1316 | fast-glob "^3.1.1"
1317 | ignore "^5.1.4"
1318 | merge2 "^1.3.0"
1319 | slash "^3.0.0"
1320 |
1321 | has-bigints@^1.0.1:
1322 | version "1.0.1"
1323 | resolved "https://registry.nlark.com/has-bigints/download/has-bigints-1.0.1.tgz"
1324 | integrity sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=
1325 |
1326 | has-flag@^3.0.0:
1327 | version "3.0.0"
1328 | resolved "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz"
1329 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
1330 |
1331 | has-flag@^4.0.0:
1332 | version "4.0.0"
1333 | resolved "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz"
1334 | integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=
1335 |
1336 | has-symbols@^1.0.1, has-symbols@^1.0.2:
1337 | version "1.0.2"
1338 | resolved "https://registry.nlark.com/has-symbols/download/has-symbols-1.0.2.tgz"
1339 | integrity sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=
1340 |
1341 | has-tostringtag@^1.0.0:
1342 | version "1.0.0"
1343 | resolved "https://registry.nlark.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz"
1344 | integrity sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU=
1345 | dependencies:
1346 | has-symbols "^1.0.2"
1347 |
1348 | has@^1.0.3:
1349 | version "1.0.3"
1350 | resolved "https://registry.nlark.com/has/download/has-1.0.3.tgz"
1351 | integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=
1352 | dependencies:
1353 | function-bind "^1.1.1"
1354 |
1355 | history@4.10.1, history@^4.9.0:
1356 | version "4.10.1"
1357 | resolved "https://registry.nlark.com/history/download/history-4.10.1.tgz"
1358 | integrity sha1-MzcaZeOoOyZ0NOKz87G0xYqtTPM=
1359 | dependencies:
1360 | "@babel/runtime" "^7.1.2"
1361 | loose-envify "^1.2.0"
1362 | resolve-pathname "^3.0.0"
1363 | tiny-invariant "^1.0.2"
1364 | tiny-warning "^1.0.0"
1365 | value-equal "^1.0.1"
1366 |
1367 | hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0:
1368 | version "3.3.2"
1369 | resolved "https://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz"
1370 | integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U=
1371 | dependencies:
1372 | react-is "^16.7.0"
1373 |
1374 | ignore@^4.0.6:
1375 | version "4.0.6"
1376 | resolved "https://registry.nlark.com/ignore/download/ignore-4.0.6.tgz"
1377 | integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=
1378 |
1379 | ignore@^5.1.4, ignore@^5.1.8:
1380 | version "5.1.8"
1381 | resolved "https://registry.nlark.com/ignore/download/ignore-5.1.8.tgz"
1382 | integrity sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=
1383 |
1384 | import-fresh@^3.0.0, import-fresh@^3.2.1:
1385 | version "3.3.0"
1386 | resolved "https://registry.nlark.com/import-fresh/download/import-fresh-3.3.0.tgz"
1387 | integrity sha1-NxYsJfy566oublPVtNiM4X2eDCs=
1388 | dependencies:
1389 | parent-module "^1.0.0"
1390 | resolve-from "^4.0.0"
1391 |
1392 | imurmurhash@^0.1.4:
1393 | version "0.1.4"
1394 | resolved "https://registry.nlark.com/imurmurhash/download/imurmurhash-0.1.4.tgz"
1395 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
1396 |
1397 | inflight@^1.0.4:
1398 | version "1.0.6"
1399 | resolved "https://registry.nlark.com/inflight/download/inflight-1.0.6.tgz"
1400 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
1401 | dependencies:
1402 | once "^1.3.0"
1403 | wrappy "1"
1404 |
1405 | inherits@2:
1406 | version "2.0.4"
1407 | resolved "https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz"
1408 | integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=
1409 |
1410 | internal-slot@^1.0.3:
1411 | version "1.0.3"
1412 | resolved "https://registry.nlark.com/internal-slot/download/internal-slot-1.0.3.tgz"
1413 | integrity sha1-c0fjB97uovqsKsYgXUvH00ln9Zw=
1414 | dependencies:
1415 | get-intrinsic "^1.1.0"
1416 | has "^1.0.3"
1417 | side-channel "^1.0.4"
1418 |
1419 | is-bigint@^1.0.1:
1420 | version "1.0.4"
1421 | resolved "https://registry.nlark.com/is-bigint/download/is-bigint-1.0.4.tgz"
1422 | integrity sha1-CBR6GHW8KzIAXUHM2Ckd/8ZpHfM=
1423 | dependencies:
1424 | has-bigints "^1.0.1"
1425 |
1426 | is-boolean-object@^1.1.0:
1427 | version "1.1.2"
1428 | resolved "https://registry.nlark.com/is-boolean-object/download/is-boolean-object-1.1.2.tgz"
1429 | integrity sha1-XG3CACRt2TIa5LiFoRS7H3X2Nxk=
1430 | dependencies:
1431 | call-bind "^1.0.2"
1432 | has-tostringtag "^1.0.0"
1433 |
1434 | is-callable@^1.1.4, is-callable@^1.2.4:
1435 | version "1.2.4"
1436 | resolved "https://registry.nlark.com/is-callable/download/is-callable-1.2.4.tgz?cache=0&sync_timestamp=1628259899162&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-callable%2Fdownload%2Fis-callable-1.2.4.tgz"
1437 | integrity sha1-RzAdWN0CWUB4ZVR4U99tYf5HGUU=
1438 |
1439 | is-core-module@^2.2.0:
1440 | version "2.6.0"
1441 | resolved "https://registry.nlark.com/is-core-module/download/is-core-module-2.6.0.tgz"
1442 | integrity sha1-11U7JSb+Wbkro+QMjfdX7Ipwnhk=
1443 | dependencies:
1444 | has "^1.0.3"
1445 |
1446 | is-date-object@^1.0.1:
1447 | version "1.0.5"
1448 | resolved "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.5.tgz"
1449 | integrity sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8=
1450 | dependencies:
1451 | has-tostringtag "^1.0.0"
1452 |
1453 | is-extglob@^2.1.1:
1454 | version "2.1.1"
1455 | resolved "https://registry.nlark.com/is-extglob/download/is-extglob-2.1.1.tgz"
1456 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
1457 |
1458 | is-fullwidth-code-point@^3.0.0:
1459 | version "3.0.0"
1460 | resolved "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz"
1461 | integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=
1462 |
1463 | is-glob@^4.0.0, is-glob@^4.0.1:
1464 | version "4.0.3"
1465 | resolved "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz"
1466 | integrity sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=
1467 | dependencies:
1468 | is-extglob "^2.1.1"
1469 |
1470 | is-negative-zero@^2.0.1:
1471 | version "2.0.1"
1472 | resolved "https://registry.nlark.com/is-negative-zero/download/is-negative-zero-2.0.1.tgz"
1473 | integrity sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=
1474 |
1475 | is-number-object@^1.0.4:
1476 | version "1.0.6"
1477 | resolved "https://registry.nlark.com/is-number-object/download/is-number-object-1.0.6.tgz"
1478 | integrity sha1-anqvg4x/BoalC0VT9+VKlklOifA=
1479 | dependencies:
1480 | has-tostringtag "^1.0.0"
1481 |
1482 | is-number@^7.0.0:
1483 | version "7.0.0"
1484 | resolved "https://registry.nlark.com/is-number/download/is-number-7.0.0.tgz"
1485 | integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=
1486 |
1487 | is-regex@^1.1.4:
1488 | version "1.1.4"
1489 | resolved "https://registry.nlark.com/is-regex/download/is-regex-1.1.4.tgz?cache=0&sync_timestamp=1628222029198&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.4.tgz"
1490 | integrity sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg=
1491 | dependencies:
1492 | call-bind "^1.0.2"
1493 | has-tostringtag "^1.0.0"
1494 |
1495 | is-shared-array-buffer@^1.0.1:
1496 | version "1.0.1"
1497 | resolved "https://registry.npmmirror.com/is-shared-array-buffer/download/is-shared-array-buffer-1.0.1.tgz?cache=0&sync_timestamp=1633062013521&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-shared-array-buffer%2Fdownload%2Fis-shared-array-buffer-1.0.1.tgz"
1498 | integrity sha1-l7DIX72stZycRG/mU7gs8rW3z+Y=
1499 |
1500 | is-string@^1.0.5, is-string@^1.0.7:
1501 | version "1.0.7"
1502 | resolved "https://registry.nlark.com/is-string/download/is-string-1.0.7.tgz?cache=0&sync_timestamp=1628213504076&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-string%2Fdownload%2Fis-string-1.0.7.tgz"
1503 | integrity sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0=
1504 | dependencies:
1505 | has-tostringtag "^1.0.0"
1506 |
1507 | is-symbol@^1.0.2, is-symbol@^1.0.3:
1508 | version "1.0.4"
1509 | resolved "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.4.tgz"
1510 | integrity sha1-ptrJO2NbBjymhyI23oiRClevE5w=
1511 | dependencies:
1512 | has-symbols "^1.0.2"
1513 |
1514 | is-weakref@^1.0.1:
1515 | version "1.0.1"
1516 | resolved "https://registry.nlark.com/is-weakref/download/is-weakref-1.0.1.tgz"
1517 | integrity sha1-hC26TsF/qayYUN8tbvvBc3J08qI=
1518 | dependencies:
1519 | call-bind "^1.0.0"
1520 |
1521 | isarray@0.0.1:
1522 | version "0.0.1"
1523 | resolved "https://registry.nlark.com/isarray/download/isarray-0.0.1.tgz"
1524 | integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
1525 |
1526 | isexe@^2.0.0:
1527 | version "2.0.0"
1528 | resolved "https://registry.nlark.com/isexe/download/isexe-2.0.0.tgz"
1529 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
1530 |
1531 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
1532 | version "4.0.0"
1533 | resolved "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz"
1534 | integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk=
1535 |
1536 | js-yaml@^3.13.1:
1537 | version "3.14.1"
1538 | resolved "https://registry.nlark.com/js-yaml/download/js-yaml-3.14.1.tgz"
1539 | integrity sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=
1540 | dependencies:
1541 | argparse "^1.0.7"
1542 | esprima "^4.0.0"
1543 |
1544 | jsesc@^2.5.1:
1545 | version "2.5.2"
1546 | resolved "https://registry.nlark.com/jsesc/download/jsesc-2.5.2.tgz"
1547 | integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=
1548 |
1549 | json-schema-traverse@^0.4.1:
1550 | version "0.4.1"
1551 | resolved "https://registry.nlark.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz"
1552 | integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA=
1553 |
1554 | json-schema-traverse@^1.0.0:
1555 | version "1.0.0"
1556 | resolved "https://registry.nlark.com/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz"
1557 | integrity sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=
1558 |
1559 | json-stable-stringify-without-jsonify@^1.0.1:
1560 | version "1.0.1"
1561 | resolved "https://registry.nlark.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz"
1562 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
1563 |
1564 | json5@^2.1.2:
1565 | version "2.2.0"
1566 | resolved "https://registry.nlark.com/json5/download/json5-2.2.0.tgz"
1567 | integrity sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=
1568 | dependencies:
1569 | minimist "^1.2.5"
1570 |
1571 | "jsx-ast-utils@^2.4.1 || ^3.0.0":
1572 | version "3.2.1"
1573 | resolved "https://registry.nlark.com/jsx-ast-utils/download/jsx-ast-utils-3.2.1.tgz"
1574 | integrity sha1-cguXv+fZAbkn2Hw3c2N66OpIeBs=
1575 | dependencies:
1576 | array-includes "^3.1.3"
1577 | object.assign "^4.1.2"
1578 |
1579 | levn@^0.4.1:
1580 | version "0.4.1"
1581 | resolved "https://registry.nlark.com/levn/download/levn-0.4.1.tgz"
1582 | integrity sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=
1583 | dependencies:
1584 | prelude-ls "^1.2.1"
1585 | type-check "~0.4.0"
1586 |
1587 | lodash.clonedeep@^4.5.0:
1588 | version "4.5.0"
1589 | resolved "https://registry.nlark.com/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz"
1590 | integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
1591 |
1592 | lodash.merge@^4.6.2:
1593 | version "4.6.2"
1594 | resolved "https://registry.nlark.com/lodash.merge/download/lodash.merge-4.6.2.tgz"
1595 | integrity sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=
1596 |
1597 | lodash.truncate@^4.4.2:
1598 | version "4.4.2"
1599 | resolved "https://registry.nlark.com/lodash.truncate/download/lodash.truncate-4.4.2.tgz"
1600 | integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
1601 |
1602 | lodash@4.17.21, lodash@^4.17.11:
1603 | version "4.17.21"
1604 | resolved "https://registry.nlark.com/lodash/download/lodash-4.17.21.tgz"
1605 | integrity sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=
1606 |
1607 | loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
1608 | version "1.4.0"
1609 | resolved "https://registry.nlark.com/loose-envify/download/loose-envify-1.4.0.tgz"
1610 | integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=
1611 | dependencies:
1612 | js-tokens "^3.0.0 || ^4.0.0"
1613 |
1614 | lru-cache@^6.0.0:
1615 | version "6.0.0"
1616 | resolved "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz"
1617 | integrity sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=
1618 | dependencies:
1619 | yallist "^4.0.0"
1620 |
1621 | merge2@^1.3.0:
1622 | version "1.4.1"
1623 | resolved "https://registry.nlark.com/merge2/download/merge2-1.4.1.tgz"
1624 | integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=
1625 |
1626 | micromatch@^4.0.4:
1627 | version "4.0.4"
1628 | resolved "https://registry.nlark.com/micromatch/download/micromatch-4.0.4.tgz"
1629 | integrity sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=
1630 | dependencies:
1631 | braces "^3.0.1"
1632 | picomatch "^2.2.3"
1633 |
1634 | mini-create-react-context@^0.4.0:
1635 | version "0.4.1"
1636 | resolved "https://registry.nlark.com/mini-create-react-context/download/mini-create-react-context-0.4.1.tgz"
1637 | integrity sha1-ByFxVhv9ySLaCKYMIZekl8wtHV4=
1638 | dependencies:
1639 | "@babel/runtime" "^7.12.1"
1640 | tiny-warning "^1.0.3"
1641 |
1642 | minimatch@^3.0.4:
1643 | version "3.0.4"
1644 | resolved "https://registry.nlark.com/minimatch/download/minimatch-3.0.4.tgz"
1645 | integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=
1646 | dependencies:
1647 | brace-expansion "^1.1.7"
1648 |
1649 | minimist@^1.2.5:
1650 | version "1.2.5"
1651 | resolved "https://registry.nlark.com/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1624607886507&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz"
1652 | integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=
1653 |
1654 | ms@2.1.2:
1655 | version "2.1.2"
1656 | resolved "https://registry.nlark.com/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1631949869663&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fms%2Fdownload%2Fms-2.1.2.tgz"
1657 | integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=
1658 |
1659 | nanocolors@^0.1.5:
1660 | version "0.1.6"
1661 | resolved "https://registry.nlark.com/nanocolors/download/nanocolors-0.1.6.tgz?cache=0&sync_timestamp=1632297859314&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnanocolors%2Fdownload%2Fnanocolors-0.1.6.tgz"
1662 | integrity sha1-vCNQ0+39v63XrAGMhVrnwTkFpq0=
1663 |
1664 | nanoid@^3.1.28:
1665 | version "3.1.29"
1666 | resolved "https://registry.npmmirror.com/nanoid/download/nanoid-3.1.29.tgz"
1667 | integrity sha1-IU+y16M+GlvvR1e3ed+utqTlrrQ=
1668 |
1669 | natural-compare@^1.4.0:
1670 | version "1.4.0"
1671 | resolved "https://registry.nlark.com/natural-compare/download/natural-compare-1.4.0.tgz"
1672 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
1673 |
1674 | node-releases@^1.1.76:
1675 | version "1.1.76"
1676 | resolved "https://registry.nlark.com/node-releases/download/node-releases-1.1.76.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.76.tgz"
1677 | integrity sha1-3yRbBisMr71SgqtnkvfczC2X824=
1678 |
1679 | object-assign@^4.1.1:
1680 | version "4.1.1"
1681 | resolved "https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz"
1682 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
1683 |
1684 | object-inspect@^1.11.0, object-inspect@^1.9.0:
1685 | version "1.11.0"
1686 | resolved "https://registry.nlark.com/object-inspect/download/object-inspect-1.11.0.tgz"
1687 | integrity sha1-nc6xRs7dQUig2eUauI00z1CZIrE=
1688 |
1689 | object-keys@^1.0.12, object-keys@^1.1.1:
1690 | version "1.1.1"
1691 | resolved "https://registry.nlark.com/object-keys/download/object-keys-1.1.1.tgz"
1692 | integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4=
1693 |
1694 | object.assign@^4.1.2:
1695 | version "4.1.2"
1696 | resolved "https://registry.nlark.com/object.assign/download/object.assign-4.1.2.tgz"
1697 | integrity sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=
1698 | dependencies:
1699 | call-bind "^1.0.0"
1700 | define-properties "^1.1.3"
1701 | has-symbols "^1.0.1"
1702 | object-keys "^1.1.1"
1703 |
1704 | object.entries@^1.1.4:
1705 | version "1.1.5"
1706 | resolved "https://registry.npmmirror.com/object.entries/download/object.entries-1.1.5.tgz"
1707 | integrity sha1-4azdF8TeLNltWghIfPuduE2IGGE=
1708 | dependencies:
1709 | call-bind "^1.0.2"
1710 | define-properties "^1.1.3"
1711 | es-abstract "^1.19.1"
1712 |
1713 | object.fromentries@^2.0.4:
1714 | version "2.0.5"
1715 | resolved "https://registry.npmmirror.com/object.fromentries/download/object.fromentries-2.0.5.tgz"
1716 | integrity sha1-ezeyBRCcIedB5gVyf+iwrV+gglE=
1717 | dependencies:
1718 | call-bind "^1.0.2"
1719 | define-properties "^1.1.3"
1720 | es-abstract "^1.19.1"
1721 |
1722 | object.hasown@^1.0.0:
1723 | version "1.1.0"
1724 | resolved "https://registry.npmmirror.com/object.hasown/download/object.hasown-1.1.0.tgz"
1725 | integrity sha1-cjLtJm800ZfRXKxYgCMvekeQr+U=
1726 | dependencies:
1727 | define-properties "^1.1.3"
1728 | es-abstract "^1.19.1"
1729 |
1730 | object.values@^1.1.4:
1731 | version "1.1.5"
1732 | resolved "https://registry.npmmirror.com/object.values/download/object.values-1.1.5.tgz"
1733 | integrity sha1-lZ9j486e8QhyAzMIITHkpFm3Fqw=
1734 | dependencies:
1735 | call-bind "^1.0.2"
1736 | define-properties "^1.1.3"
1737 | es-abstract "^1.19.1"
1738 |
1739 | once@^1.3.0:
1740 | version "1.4.0"
1741 | resolved "https://registry.nlark.com/once/download/once-1.4.0.tgz"
1742 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
1743 | dependencies:
1744 | wrappy "1"
1745 |
1746 | optionator@^0.9.1:
1747 | version "0.9.1"
1748 | resolved "https://registry.nlark.com/optionator/download/optionator-0.9.1.tgz"
1749 | integrity sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk=
1750 | dependencies:
1751 | deep-is "^0.1.3"
1752 | fast-levenshtein "^2.0.6"
1753 | levn "^0.4.1"
1754 | prelude-ls "^1.2.1"
1755 | type-check "^0.4.0"
1756 | word-wrap "^1.2.3"
1757 |
1758 | parent-module@^1.0.0:
1759 | version "1.0.1"
1760 | resolved "https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz?cache=0&sync_timestamp=1633338673294&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fparent-module%2Fdownload%2Fparent-module-1.0.1.tgz"
1761 | integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=
1762 | dependencies:
1763 | callsites "^3.0.0"
1764 |
1765 | path-is-absolute@^1.0.0:
1766 | version "1.0.1"
1767 | resolved "https://registry.nlark.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz"
1768 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
1769 |
1770 | path-key@^3.1.0:
1771 | version "3.1.1"
1772 | resolved "https://registry.nlark.com/path-key/download/path-key-3.1.1.tgz"
1773 | integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=
1774 |
1775 | path-parse@^1.0.6:
1776 | version "1.0.7"
1777 | resolved "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz"
1778 | integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=
1779 |
1780 | path-to-regexp@^1.7.0:
1781 | version "1.8.0"
1782 | resolved "https://registry.nlark.com/path-to-regexp/download/path-to-regexp-1.8.0.tgz"
1783 | integrity sha1-iHs7qdhDk+h6CgufTLdWGYtTVIo=
1784 | dependencies:
1785 | isarray "0.0.1"
1786 |
1787 | path-type@^4.0.0:
1788 | version "4.0.0"
1789 | resolved "https://registry.nlark.com/path-type/download/path-type-4.0.0.tgz"
1790 | integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=
1791 |
1792 | picocolors@^0.2.1:
1793 | version "0.2.1"
1794 | resolved "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz"
1795 | integrity sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=
1796 |
1797 | picomatch@^2.2.2, picomatch@^2.2.3:
1798 | version "2.3.0"
1799 | resolved "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz?cache=0&sync_timestamp=1621648305056&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpicomatch%2Fdownload%2Fpicomatch-2.3.0.tgz"
1800 | integrity sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=
1801 |
1802 | postcss-value-parser@^4.0.2:
1803 | version "4.1.0"
1804 | resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz"
1805 | integrity sha1-RD9qIM7WSBor2k+oUypuVdeJoss=
1806 |
1807 | postcss@^8.3.8:
1808 | version "8.3.9"
1809 | resolved "https://registry.npmmirror.com/postcss/download/postcss-8.3.9.tgz?cache=0&sync_timestamp=1633378564902&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss%2Fdownload%2Fpostcss-8.3.9.tgz"
1810 | integrity sha1-mHVMqgbE7p61nMSL0HO7a9NDfDE=
1811 | dependencies:
1812 | nanoid "^3.1.28"
1813 | picocolors "^0.2.1"
1814 | source-map-js "^0.6.2"
1815 |
1816 | prelude-ls@^1.2.1:
1817 | version "1.2.1"
1818 | resolved "https://registry.nlark.com/prelude-ls/download/prelude-ls-1.2.1.tgz"
1819 | integrity sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=
1820 |
1821 | progress@^2.0.0:
1822 | version "2.0.3"
1823 | resolved "https://registry.nlark.com/progress/download/progress-2.0.3.tgz"
1824 | integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=
1825 |
1826 | prop-types@^15.6.2, prop-types@^15.7.2:
1827 | version "15.7.2"
1828 | resolved "https://registry.nlark.com/prop-types/download/prop-types-15.7.2.tgz?cache=0&sync_timestamp=1618760877401&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fprop-types%2Fdownload%2Fprop-types-15.7.2.tgz"
1829 | integrity sha1-UsQedbjIfnK52TYOAga5ncv/psU=
1830 | dependencies:
1831 | loose-envify "^1.4.0"
1832 | object-assign "^4.1.1"
1833 | react-is "^16.8.1"
1834 |
1835 | punycode@^2.1.0:
1836 | version "2.1.1"
1837 | resolved "https://registry.nlark.com/punycode/download/punycode-2.1.1.tgz"
1838 | integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew=
1839 |
1840 | query-string@^7.0.1:
1841 | version "7.0.1"
1842 | resolved "https://registry.nlark.com/query-string/download/query-string-7.0.1.tgz?cache=0&sync_timestamp=1627011329938&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fquery-string%2Fdownload%2Fquery-string-7.0.1.tgz"
1843 | integrity sha1-Rb0UnPWGqqWC3/x+x6itl90C910=
1844 | dependencies:
1845 | decode-uri-component "^0.2.0"
1846 | filter-obj "^1.1.0"
1847 | split-on-first "^1.0.0"
1848 | strict-uri-encode "^2.0.0"
1849 |
1850 | queue-microtask@^1.2.2:
1851 | version "1.2.3"
1852 | resolved "https://registry.nlark.com/queue-microtask/download/queue-microtask-1.2.3.tgz"
1853 | integrity sha1-SSkii7xyTfrEPg77BYyve2z7YkM=
1854 |
1855 | react-dom@17.0.2:
1856 | version "17.0.2"
1857 | resolved "https://registry.nlark.com/react-dom/download/react-dom-17.0.2.tgz?cache=0&sync_timestamp=1632263699971&other_urls=https%3A%2F%2Fregistry.nlark.com%2Freact-dom%2Fdownload%2Freact-dom-17.0.2.tgz"
1858 | integrity sha1-7P+2hF462Nv83EmPDQqTlzZQLCM=
1859 | dependencies:
1860 | loose-envify "^1.1.0"
1861 | object-assign "^4.1.1"
1862 | scheduler "^0.20.2"
1863 |
1864 | react-is@17.0.2:
1865 | version "17.0.2"
1866 | resolved "https://registry.nlark.com/react-is/download/react-is-17.0.2.tgz"
1867 | integrity sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=
1868 |
1869 | react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1:
1870 | version "16.13.1"
1871 | resolved "https://registry.nlark.com/react-is/download/react-is-16.13.1.tgz?cache=0&sync_timestamp=1632264340694&other_urls=https%3A%2F%2Fregistry.nlark.com%2Freact-is%2Fdownload%2Freact-is-16.13.1.tgz"
1872 | integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ=
1873 |
1874 | react-refresh@^0.10.0:
1875 | version "0.10.0"
1876 | resolved "https://registry.nlark.com/react-refresh/download/react-refresh-0.10.0.tgz?cache=0&sync_timestamp=1632265895877&other_urls=https%3A%2F%2Fregistry.nlark.com%2Freact-refresh%2Fdownload%2Freact-refresh-0.10.0.tgz"
1877 | integrity sha1-L1NslmDAubHVAGhNnlKmXnQE9+M=
1878 |
1879 | react-router-dom@5.3.0:
1880 | version "5.3.0"
1881 | resolved "https://registry.npmmirror.com/react-router-dom/download/react-router-dom-5.3.0.tgz#da1bfb535a0e89a712a93b97dd76f47ad1f32363"
1882 | integrity sha1-2hv7U1oOiacSqTuX3Xb0etHzI2M=
1883 | dependencies:
1884 | "@babel/runtime" "^7.12.13"
1885 | history "^4.9.0"
1886 | loose-envify "^1.3.1"
1887 | prop-types "^15.6.2"
1888 | react-router "5.2.1"
1889 | tiny-invariant "^1.0.2"
1890 | tiny-warning "^1.0.0"
1891 |
1892 | react-router@5.2.1:
1893 | version "5.2.1"
1894 | resolved "https://registry.npmmirror.com/react-router/download/react-router-5.2.1.tgz"
1895 | integrity sha1-TS5OnVrpQlCRhFuNvG2dJ2I5d00=
1896 | dependencies:
1897 | "@babel/runtime" "^7.12.13"
1898 | history "^4.9.0"
1899 | hoist-non-react-statics "^3.1.0"
1900 | loose-envify "^1.3.1"
1901 | mini-create-react-context "^0.4.0"
1902 | path-to-regexp "^1.7.0"
1903 | prop-types "^15.6.2"
1904 | react-is "^16.6.0"
1905 | tiny-invariant "^1.0.2"
1906 | tiny-warning "^1.0.0"
1907 |
1908 | react@17.0.2:
1909 | version "17.0.2"
1910 | resolved "https://registry.nlark.com/react/download/react-17.0.2.tgz?cache=0&sync_timestamp=1632263700464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Freact%2Fdownload%2Freact-17.0.2.tgz"
1911 | integrity sha1-0LXMUW0p6z7uOD91tihkz7aAADc=
1912 | dependencies:
1913 | loose-envify "^1.1.0"
1914 | object-assign "^4.1.1"
1915 |
1916 | regenerator-runtime@^0.13.4:
1917 | version "0.13.9"
1918 | resolved "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz?cache=0&sync_timestamp=1626994846308&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.9.tgz"
1919 | integrity sha1-iSV0Kpj/2QgUmI11Zq0wyjsmO1I=
1920 |
1921 | regexp.prototype.flags@^1.3.1:
1922 | version "1.3.1"
1923 | resolved "https://registry.nlark.com/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz"
1924 | integrity sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=
1925 | dependencies:
1926 | call-bind "^1.0.2"
1927 | define-properties "^1.1.3"
1928 |
1929 | regexpp@^3.1.0:
1930 | version "3.2.0"
1931 | resolved "https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz?cache=0&sync_timestamp=1623669303572&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpp%2Fdownload%2Fregexpp-3.2.0.tgz"
1932 | integrity sha1-BCWido2PI7rXDKS5BGH6LxIT4bI=
1933 |
1934 | require-from-string@^2.0.2:
1935 | version "2.0.2"
1936 | resolved "https://registry.nlark.com/require-from-string/download/require-from-string-2.0.2.tgz"
1937 | integrity sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=
1938 |
1939 | resolve-from@^4.0.0:
1940 | version "4.0.0"
1941 | resolved "https://registry.nlark.com/resolve-from/download/resolve-from-4.0.0.tgz"
1942 | integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=
1943 |
1944 | resolve-pathname@^3.0.0:
1945 | version "3.0.0"
1946 | resolved "https://registry.nlark.com/resolve-pathname/download/resolve-pathname-3.0.0.tgz"
1947 | integrity sha1-mdAiJNPPJjaJvsuzk7xWAxMCXc0=
1948 |
1949 | resolve@^1.20.0:
1950 | version "1.20.0"
1951 | resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz?cache=0&sync_timestamp=1613054862388&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.20.0.tgz"
1952 | integrity sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=
1953 | dependencies:
1954 | is-core-module "^2.2.0"
1955 | path-parse "^1.0.6"
1956 |
1957 | resolve@^2.0.0-next.3:
1958 | version "2.0.0-next.3"
1959 | resolved "https://registry.nlark.com/resolve/download/resolve-2.0.0-next.3.tgz"
1960 | integrity sha1-1BAWKT1KhYajnKXZtfFcvqH1XkY=
1961 | dependencies:
1962 | is-core-module "^2.2.0"
1963 | path-parse "^1.0.6"
1964 |
1965 | reusify@^1.0.4:
1966 | version "1.0.4"
1967 | resolved "https://registry.nlark.com/reusify/download/reusify-1.0.4.tgz"
1968 | integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=
1969 |
1970 | rimraf@^3.0.2:
1971 | version "3.0.2"
1972 | resolved "https://registry.nlark.com/rimraf/download/rimraf-3.0.2.tgz"
1973 | integrity sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=
1974 | dependencies:
1975 | glob "^7.1.3"
1976 |
1977 | rollup@^2.57.0:
1978 | version "2.58.0"
1979 | resolved "https://registry.npmmirror.com/rollup/download/rollup-2.58.0.tgz?cache=0&sync_timestamp=1633071502975&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Frollup%2Fdownload%2Frollup-2.58.0.tgz"
1980 | integrity sha1-pkOYM2Xnv39bfGKoMxuYO3xMZ/s=
1981 | optionalDependencies:
1982 | fsevents "~2.3.2"
1983 |
1984 | run-parallel@^1.1.9:
1985 | version "1.2.0"
1986 | resolved "https://registry.nlark.com/run-parallel/download/run-parallel-1.2.0.tgz"
1987 | integrity sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=
1988 | dependencies:
1989 | queue-microtask "^1.2.2"
1990 |
1991 | safe-buffer@~5.1.1:
1992 | version "5.1.2"
1993 | resolved "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.1.2.tgz"
1994 | integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0=
1995 |
1996 | scheduler@^0.20.2:
1997 | version "0.20.2"
1998 | resolved "https://registry.nlark.com/scheduler/download/scheduler-0.20.2.tgz?cache=0&sync_timestamp=1632265923129&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fscheduler%2Fdownload%2Fscheduler-0.20.2.tgz"
1999 | integrity sha1-S67jlDbjSqk7SHS93L8P6Li1DpE=
2000 | dependencies:
2001 | loose-envify "^1.1.0"
2002 | object-assign "^4.1.1"
2003 |
2004 | semver@^6.3.0:
2005 | version "6.3.0"
2006 | resolved "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz"
2007 | integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=
2008 |
2009 | semver@^7.2.1, semver@^7.3.5:
2010 | version "7.3.5"
2011 | resolved "https://registry.nlark.com/semver/download/semver-7.3.5.tgz"
2012 | integrity sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=
2013 | dependencies:
2014 | lru-cache "^6.0.0"
2015 |
2016 | shallowequal@^1.1.0:
2017 | version "1.1.0"
2018 | resolved "https://registry.npm.taobao.org/shallowequal/download/shallowequal-1.1.0.tgz"
2019 | integrity sha1-GI1SHelbkIdAT9TctosT3wrk5/g=
2020 |
2021 | shebang-command@^2.0.0:
2022 | version "2.0.0"
2023 | resolved "https://registry.nlark.com/shebang-command/download/shebang-command-2.0.0.tgz"
2024 | integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=
2025 | dependencies:
2026 | shebang-regex "^3.0.0"
2027 |
2028 | shebang-regex@^3.0.0:
2029 | version "3.0.0"
2030 | resolved "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz"
2031 | integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=
2032 |
2033 | side-channel@^1.0.4:
2034 | version "1.0.4"
2035 | resolved "https://registry.nlark.com/side-channel/download/side-channel-1.0.4.tgz"
2036 | integrity sha1-785cj9wQTudRslxY1CkAEfpeos8=
2037 | dependencies:
2038 | call-bind "^1.0.0"
2039 | get-intrinsic "^1.0.2"
2040 | object-inspect "^1.9.0"
2041 |
2042 | slash@^3.0.0:
2043 | version "3.0.0"
2044 | resolved "https://registry.nlark.com/slash/download/slash-3.0.0.tgz"
2045 | integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=
2046 |
2047 | slice-ansi@^4.0.0:
2048 | version "4.0.0"
2049 | resolved "https://registry.nlark.com/slice-ansi/download/slice-ansi-4.0.0.tgz"
2050 | integrity sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms=
2051 | dependencies:
2052 | ansi-styles "^4.0.0"
2053 | astral-regex "^2.0.0"
2054 | is-fullwidth-code-point "^3.0.0"
2055 |
2056 | source-map-js@^0.6.2:
2057 | version "0.6.2"
2058 | resolved "https://registry.npm.taobao.org/source-map-js/download/source-map-js-0.6.2.tgz"
2059 | integrity sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=
2060 |
2061 | source-map@^0.5.0:
2062 | version "0.5.7"
2063 | resolved "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz"
2064 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
2065 |
2066 | split-on-first@^1.0.0:
2067 | version "1.1.0"
2068 | resolved "https://registry.nlark.com/split-on-first/download/split-on-first-1.1.0.tgz"
2069 | integrity sha1-9hCv7uOxK84dDDBCXnY5i3gkml8=
2070 |
2071 | sprintf-js@~1.0.2:
2072 | version "1.0.3"
2073 | resolved "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz"
2074 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
2075 |
2076 | strict-uri-encode@^2.0.0:
2077 | version "2.0.0"
2078 | resolved "https://registry.nlark.com/strict-uri-encode/download/strict-uri-encode-2.0.0.tgz"
2079 | integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
2080 |
2081 | string-width@^4.2.3:
2082 | version "4.2.3"
2083 | resolved "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz"
2084 | integrity sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=
2085 | dependencies:
2086 | emoji-regex "^8.0.0"
2087 | is-fullwidth-code-point "^3.0.0"
2088 | strip-ansi "^6.0.1"
2089 |
2090 | string.prototype.matchall@^4.0.5:
2091 | version "4.0.6"
2092 | resolved "https://registry.npmmirror.com/string.prototype.matchall/download/string.prototype.matchall-4.0.6.tgz?cache=0&sync_timestamp=1633405729396&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring.prototype.matchall%2Fdownload%2Fstring.prototype.matchall-4.0.6.tgz"
2093 | integrity sha1-Wrtdq8lMew6iOA9lumELOlRLFfo=
2094 | dependencies:
2095 | call-bind "^1.0.2"
2096 | define-properties "^1.1.3"
2097 | es-abstract "^1.19.1"
2098 | get-intrinsic "^1.1.1"
2099 | has-symbols "^1.0.2"
2100 | internal-slot "^1.0.3"
2101 | regexp.prototype.flags "^1.3.1"
2102 | side-channel "^1.0.4"
2103 |
2104 | string.prototype.trimend@^1.0.4:
2105 | version "1.0.4"
2106 | resolved "https://registry.nlark.com/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz"
2107 | integrity sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=
2108 | dependencies:
2109 | call-bind "^1.0.2"
2110 | define-properties "^1.1.3"
2111 |
2112 | string.prototype.trimstart@^1.0.4:
2113 | version "1.0.4"
2114 | resolved "https://registry.nlark.com/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz"
2115 | integrity sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=
2116 | dependencies:
2117 | call-bind "^1.0.2"
2118 | define-properties "^1.1.3"
2119 |
2120 | strip-ansi@^6.0.0, strip-ansi@^6.0.1:
2121 | version "6.0.1"
2122 | resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.1.tgz"
2123 | integrity sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=
2124 | dependencies:
2125 | ansi-regex "^5.0.1"
2126 |
2127 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
2128 | version "3.1.1"
2129 | resolved "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz"
2130 | integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=
2131 |
2132 | styled-components@5.3.1:
2133 | version "5.3.1"
2134 | resolved "https://registry.nlark.com/styled-components/download/styled-components-5.3.1.tgz?cache=0&sync_timestamp=1629798356811&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstyled-components%2Fdownload%2Fstyled-components-5.3.1.tgz"
2135 | integrity sha1-iobc0xv/cEnC7UCLrjb6I/A/Bxo=
2136 | dependencies:
2137 | "@babel/helper-module-imports" "^7.0.0"
2138 | "@babel/traverse" "^7.4.5"
2139 | "@emotion/is-prop-valid" "^0.8.8"
2140 | "@emotion/stylis" "^0.8.4"
2141 | "@emotion/unitless" "^0.7.4"
2142 | babel-plugin-styled-components ">= 1.12.0"
2143 | css-to-react-native "^3.0.0"
2144 | hoist-non-react-statics "^3.0.0"
2145 | shallowequal "^1.1.0"
2146 | supports-color "^5.5.0"
2147 |
2148 | supports-color@^5.3.0, supports-color@^5.5.0:
2149 | version "5.5.0"
2150 | resolved "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz"
2151 | integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=
2152 | dependencies:
2153 | has-flag "^3.0.0"
2154 |
2155 | supports-color@^7.1.0:
2156 | version "7.2.0"
2157 | resolved "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1626703414084&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz"
2158 | integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=
2159 | dependencies:
2160 | has-flag "^4.0.0"
2161 |
2162 | swr@1.0.1:
2163 | version "1.0.1"
2164 | resolved "https://registry.nlark.com/swr/download/swr-1.0.1.tgz"
2165 | integrity sha1-FfYoRrh+4ADlL6B4Ertl62LXlIM=
2166 | dependencies:
2167 | dequal "2.0.2"
2168 |
2169 | table@^6.0.9:
2170 | version "6.7.2"
2171 | resolved "https://registry.npmmirror.com/table/download/table-6.7.2.tgz"
2172 | integrity sha1-qNObn1lmaTyosP66Jwp4ciy687A=
2173 | dependencies:
2174 | ajv "^8.0.1"
2175 | lodash.clonedeep "^4.5.0"
2176 | lodash.truncate "^4.4.2"
2177 | slice-ansi "^4.0.0"
2178 | string-width "^4.2.3"
2179 | strip-ansi "^6.0.1"
2180 |
2181 | text-table@^0.2.0:
2182 | version "0.2.0"
2183 | resolved "https://registry.nlark.com/text-table/download/text-table-0.2.0.tgz"
2184 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
2185 |
2186 | tiny-invariant@^1.0.2:
2187 | version "1.1.0"
2188 | resolved "https://registry.nlark.com/tiny-invariant/download/tiny-invariant-1.1.0.tgz"
2189 | integrity sha1-Y0xfjv3CdxS384bDXmdgmR0jCHU=
2190 |
2191 | tiny-warning@^1.0.0, tiny-warning@^1.0.3:
2192 | version "1.0.3"
2193 | resolved "https://registry.nlark.com/tiny-warning/download/tiny-warning-1.0.3.tgz"
2194 | integrity sha1-lKMNtFPfTGQ9D9VmBg1gqHXYR1Q=
2195 |
2196 | to-fast-properties@^2.0.0:
2197 | version "2.0.0"
2198 | resolved "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1628418893613&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz"
2199 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
2200 |
2201 | to-regex-range@^5.0.1:
2202 | version "5.0.1"
2203 | resolved "https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz"
2204 | integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=
2205 | dependencies:
2206 | is-number "^7.0.0"
2207 |
2208 | tslib@^1.8.1:
2209 | version "1.14.1"
2210 | resolved "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz"
2211 | integrity sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=
2212 |
2213 | tsutils@^3.21.0:
2214 | version "3.21.0"
2215 | resolved "https://registry.nlark.com/tsutils/download/tsutils-3.21.0.tgz"
2216 | integrity sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM=
2217 | dependencies:
2218 | tslib "^1.8.1"
2219 |
2220 | type-check@^0.4.0, type-check@~0.4.0:
2221 | version "0.4.0"
2222 | resolved "https://registry.nlark.com/type-check/download/type-check-0.4.0.tgz"
2223 | integrity sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=
2224 | dependencies:
2225 | prelude-ls "^1.2.1"
2226 |
2227 | type-fest@^0.20.2:
2228 | version "0.20.2"
2229 | resolved "https://registry.nlark.com/type-fest/download/type-fest-0.20.2.tgz"
2230 | integrity sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=
2231 |
2232 | typescript@^4.4.3:
2233 | version "4.4.3"
2234 | resolved "https://registry.npmmirror.com/typescript/download/typescript-4.4.3.tgz?cache=0&sync_timestamp=1633597517900&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftypescript%2Fdownload%2Ftypescript-4.4.3.tgz"
2235 | integrity sha1-vcVAfKorEJ79T4L+EwZW+XeikyQ=
2236 |
2237 | unbox-primitive@^1.0.1:
2238 | version "1.0.1"
2239 | resolved "https://registry.nlark.com/unbox-primitive/download/unbox-primitive-1.0.1.tgz"
2240 | integrity sha1-CF4hViXsMWJXTciFmr7nilmxRHE=
2241 | dependencies:
2242 | function-bind "^1.1.1"
2243 | has-bigints "^1.0.1"
2244 | has-symbols "^1.0.2"
2245 | which-boxed-primitive "^1.0.2"
2246 |
2247 | uri-js@^4.2.2:
2248 | version "4.4.1"
2249 | resolved "https://registry.nlark.com/uri-js/download/uri-js-4.4.1.tgz"
2250 | integrity sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=
2251 | dependencies:
2252 | punycode "^2.1.0"
2253 |
2254 | uuid@^8.3.2:
2255 | version "8.3.2"
2256 | resolved "https://registry.nlark.com/uuid/download/uuid-8.3.2.tgz?cache=0&sync_timestamp=1622213185460&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fuuid%2Fdownload%2Fuuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
2257 | integrity sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=
2258 |
2259 | v8-compile-cache@^2.0.3:
2260 | version "2.3.0"
2261 | resolved "https://registry.nlark.com/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz"
2262 | integrity sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=
2263 |
2264 | value-equal@^1.0.1:
2265 | version "1.0.1"
2266 | resolved "https://registry.nlark.com/value-equal/download/value-equal-1.0.1.tgz"
2267 | integrity sha1-Hgt5THNMXAyt4XnEN9NW2TGjTWw=
2268 |
2269 | vite@2.6.3:
2270 | version "2.6.3"
2271 | resolved "https://registry.npmmirror.com/vite/download/vite-2.6.3.tgz"
2272 | integrity sha1-W7wdP8/2v+6cXjwNCmibGOWXSzg=
2273 | dependencies:
2274 | esbuild "^0.13.2"
2275 | postcss "^8.3.8"
2276 | resolve "^1.20.0"
2277 | rollup "^2.57.0"
2278 | optionalDependencies:
2279 | fsevents "~2.3.2"
2280 |
2281 | which-boxed-primitive@^1.0.2:
2282 | version "1.0.2"
2283 | resolved "https://registry.nlark.com/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz"
2284 | integrity sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=
2285 | dependencies:
2286 | is-bigint "^1.0.1"
2287 | is-boolean-object "^1.1.0"
2288 | is-number-object "^1.0.4"
2289 | is-string "^1.0.5"
2290 | is-symbol "^1.0.3"
2291 |
2292 | which@^2.0.1:
2293 | version "2.0.2"
2294 | resolved "https://registry.nlark.com/which/download/which-2.0.2.tgz"
2295 | integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=
2296 | dependencies:
2297 | isexe "^2.0.0"
2298 |
2299 | word-wrap@^1.2.3:
2300 | version "1.2.3"
2301 | resolved "https://registry.nlark.com/word-wrap/download/word-wrap-1.2.3.tgz"
2302 | integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=
2303 |
2304 | wrappy@1:
2305 | version "1.0.2"
2306 | resolved "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz"
2307 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
2308 |
2309 | yallist@^4.0.0:
2310 | version "4.0.0"
2311 | resolved "https://registry.nlark.com/yallist/download/yallist-4.0.0.tgz"
2312 | integrity sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=
2313 |
--------------------------------------------------------------------------------
/server/initializers/cors.go:
--------------------------------------------------------------------------------
1 | package initializers
2 |
3 | import (
4 | "log"
5 | "time"
6 |
7 | "github.com/gin-contrib/cors"
8 | "github.com/gin-gonic/gin"
9 | )
10 |
11 | func InitCors(router *gin.Engine) {
12 | router.Use(cors.New(cors.Config{
13 | AllowMethods: []string{"PUT", "PATCH", "POST"},
14 | AllowHeaders: []string{"Origin", "Content-Type"},
15 | ExposeHeaders: []string{"Content-Length"},
16 | AllowCredentials: true,
17 | AllowOriginFunc: func(origin string) bool {
18 | if origin == "http://127.0.0.1:3000" || origin == "http://localhost:3000" {
19 | return true
20 | } else {
21 | log.Printf("%v is now allowed", origin)
22 | return false
23 | }
24 | },
25 | MaxAge: 12 * time.Hour,
26 | }))
27 | }
28 |
--------------------------------------------------------------------------------
/server/server.go:
--------------------------------------------------------------------------------
1 | package server
2 |
3 | import (
4 | "embed"
5 | "fmt"
6 | "io/fs"
7 | "log"
8 | "net/http"
9 | "strings"
10 |
11 | "synk/server/controllers"
12 | "synk/server/initializers"
13 | "synk/server/ws"
14 |
15 | "github.com/gin-gonic/gin"
16 | )
17 |
18 | //go:embed frontend/dist/*
19 | var FS embed.FS
20 |
21 | func Run(start chan int, end chan interface{}) {
22 | gin.SetMode(gin.ReleaseMode)
23 | gin.DisableConsoleColor()
24 | router := gin.Default()
25 | initializers.InitCors(router)
26 | hub := ws.NewHub()
27 | go hub.Run()
28 | router.GET("/ws", func(c *gin.Context) {
29 | ws.HttpController(c, hub)
30 | })
31 | router.GET("/uploads/:path", controllers.UploadsController)
32 | router.GET("/api/v1/addresses", controllers.AddressesController)
33 | router.GET("/api/v1/qrcodes", controllers.QrcodesController)
34 | router.POST("/api/v1/files", controllers.FilesController)
35 | router.POST("/api/v1/texts", controllers.TextsController)
36 | staticFiles, _ := fs.Sub(FS, "frontend/dist")
37 | router.StaticFS("/static", http.FS(staticFiles))
38 | router.NoRoute(func(c *gin.Context) {
39 | path := c.Request.URL.Path
40 | if strings.HasPrefix(path, "/static/") {
41 | reader, err := staticFiles.Open("index.html")
42 | if err != nil {
43 | log.Fatal(err)
44 | }
45 | defer reader.Close()
46 | stat, err := reader.Stat()
47 | if err != nil {
48 | log.Fatal(err)
49 | }
50 | c.DataFromReader(http.StatusOK, stat.Size(), "text/html", reader, nil)
51 | } else {
52 | c.Status(http.StatusNotFound)
53 | }
54 | })
55 | port := 27149
56 | start <- port
57 | runErr := router.Run(fmt.Sprintf(":%d", port))
58 | if runErr != nil {
59 | end <- runErr
60 | log.Fatal(runErr)
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/server/ws/client.go:
--------------------------------------------------------------------------------
1 | package ws
2 |
3 | import (
4 | "bytes"
5 | "log"
6 | "net/http"
7 | "time"
8 |
9 | "github.com/gorilla/websocket"
10 | )
11 |
12 | const (
13 | // Time allowed to write a message to the peer.
14 | writeWait = 10 * time.Second
15 |
16 | // Time allowed to read the next pong message from the peer.
17 | pongWait = 60 * time.Second
18 |
19 | // Send pings to peer with this period. Must be less than pongWait.
20 | pingPeriod = (pongWait * 9) / 10
21 |
22 | // Maximum message size allowed from peer.
23 | maxMessageSize = 512
24 | )
25 |
26 | var (
27 | newline = []byte{'\n'}
28 | space = []byte{' '}
29 | )
30 |
31 | var upgrader = websocket.Upgrader{
32 | ReadBufferSize: 1024,
33 | WriteBufferSize: 1024,
34 | }
35 |
36 | // Client is a middleman between the websocket connection and the hub.
37 | type Client struct {
38 | hub *Hub
39 |
40 | // The websocket connection.
41 | conn *websocket.Conn
42 |
43 | // Buffered channel of outbound messages.
44 | send chan []byte
45 | }
46 |
47 | // readPump pumps messages from the websocket connection to the hub.
48 | //
49 | // The application runs readPump in a per-connection goroutine. The application
50 | // ensures that there is at most one reader on a connection by executing all
51 | // reads from this goroutine.
52 | func (c *Client) readPump() {
53 | defer func() {
54 | c.hub.unregister <- c
55 | c.conn.Close()
56 | }()
57 | c.conn.SetReadLimit(maxMessageSize)
58 | c.conn.SetReadDeadline(time.Now().Add(pongWait))
59 | c.conn.SetPongHandler(func(string) error { c.conn.SetReadDeadline(time.Now().Add(pongWait)); return nil })
60 | for {
61 | _, message, err := c.conn.ReadMessage()
62 | if err != nil {
63 | if websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway, websocket.CloseAbnormalClosure) {
64 | log.Printf("error: %v", err)
65 | }
66 | break
67 | }
68 | message = bytes.TrimSpace(bytes.Replace(message, newline, space, -1))
69 | c.hub.broadcast <- message
70 | }
71 | }
72 |
73 | // writePump pumps messages from the hub to the websocket connection.
74 | //
75 | // A goroutine running writePump is started for each connection. The
76 | // application ensures that there is at most one writer to a connection by
77 | // executing all writes from this goroutine.
78 | func (c *Client) writePump() {
79 | ticker := time.NewTicker(pingPeriod)
80 | defer func() {
81 | ticker.Stop()
82 | c.conn.Close()
83 | }()
84 | for {
85 | select {
86 | case message, ok := <-c.send:
87 | c.conn.SetWriteDeadline(time.Now().Add(writeWait))
88 | if !ok {
89 | c.conn.WriteMessage(websocket.CloseMessage, []byte{})
90 | return
91 | }
92 |
93 | w, err := c.conn.NextWriter(websocket.TextMessage)
94 | if err != nil {
95 | return
96 | }
97 | w.Write(message)
98 |
99 | // Add queued chat messages to the current websocket message.
100 | n := len(c.send)
101 | for i := 0; i < n; i++ {
102 | w.Write(newline)
103 | w.Write(<-c.send)
104 | }
105 |
106 | if err := w.Close(); err != nil {
107 | return
108 | }
109 | case <-ticker.C:
110 | c.conn.SetWriteDeadline(time.Now().Add(writeWait))
111 | if err := c.conn.WriteMessage(websocket.PingMessage, nil); err != nil {
112 | return
113 | }
114 | }
115 | }
116 | }
117 |
118 | // serveWs handles websocket requests from the peer.
119 | func serveWs(hub *Hub, w http.ResponseWriter, r *http.Request) {
120 | conn, err := upgrader.Upgrade(w, r, nil)
121 | if err != nil {
122 | log.Println(err)
123 | return
124 | }
125 | client := &Client{hub: hub, conn: conn, send: make(chan []byte, 256)}
126 | client.hub.register <- client
127 |
128 | // Allow collection of memory referenced by the caller by doing all work in
129 | // new goroutines.
130 | go client.writePump()
131 | go client.readPump()
132 | }
133 |
--------------------------------------------------------------------------------
/server/ws/http_controller.go:
--------------------------------------------------------------------------------
1 | package ws
2 |
3 | import (
4 | "log"
5 | "net/http"
6 |
7 | "github.com/gin-gonic/gin"
8 | "github.com/gorilla/websocket"
9 | )
10 |
11 | var wsupgrader = websocket.Upgrader{
12 | ReadBufferSize: 1024,
13 | WriteBufferSize: 1024,
14 | CheckOrigin: func(r *http.Request) bool {
15 | return true
16 | },
17 | }
18 |
19 | func wshandler(hub *Hub, w http.ResponseWriter, r *http.Request) {
20 | conn, err := wsupgrader.Upgrade(w, r, nil)
21 | if err != nil {
22 | log.Println(err)
23 | return
24 | }
25 | client := &Client{hub: hub, conn: conn, send: make(chan []byte, 256)}
26 | client.hub.register <- client
27 |
28 | // Allow collection of memory referenced by the caller by doing all work in
29 | // new goroutines.
30 | go client.writePump()
31 | go client.readPump()
32 | }
33 | func HttpController(c *gin.Context, hub *Hub) {
34 | wshandler(hub, c.Writer, c.Request)
35 | }
36 |
--------------------------------------------------------------------------------
/server/ws/hub.go:
--------------------------------------------------------------------------------
1 | package ws
2 |
3 | import (
4 | "sync"
5 | )
6 |
7 | // Hub maintains the set of active clients and broadcasts messages to the
8 | // clients.
9 | type Hub struct {
10 | // Registered clients.
11 | clients map[*Client]bool
12 |
13 | // Inbound messages from the clients.
14 | broadcast chan []byte
15 |
16 | // Register requests from the clients.
17 | register chan *Client
18 |
19 | // Unregister requests from clients.
20 | unregister chan *Client
21 | }
22 |
23 | func NewHub() *Hub {
24 | return &Hub{
25 | broadcast: make(chan []byte),
26 | register: make(chan *Client),
27 | unregister: make(chan *Client),
28 | clients: make(map[*Client]bool),
29 | }
30 | }
31 |
32 | var once sync.Once
33 | var singleton *Hub
34 |
35 | func (h *Hub) Run() {
36 | for {
37 | select {
38 | case client := <-h.register:
39 | h.clients[client] = true
40 | case client := <-h.unregister:
41 | if _, ok := h.clients[client]; ok {
42 | delete(h.clients, client)
43 | close(client.send)
44 | }
45 | case message := <-h.broadcast:
46 | for client := range h.clients {
47 | select {
48 | case client.send <- message:
49 | default:
50 | close(client.send)
51 | delete(h.clients, client)
52 | }
53 | }
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/tmp/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrankFang/synk/9a69de156f30fbe1d113d754f30b53e2d902c8ea/tmp/.keep
--------------------------------------------------------------------------------
/version:
--------------------------------------------------------------------------------
1 | 0.1.0
--------------------------------------------------------------------------------
/winres/synk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrankFang/synk/9a69de156f30fbe1d113d754f30b53e2d902c8ea/winres/synk.png
--------------------------------------------------------------------------------
/winres/winres.json:
--------------------------------------------------------------------------------
1 | {
2 | "RT_GROUP_ICON": {
3 | "APP": {
4 | "0000": [
5 | "synk.png"
6 | ]
7 | }
8 | },
9 | "RT_MANIFEST": {
10 | "#1": {
11 | "0409": {
12 | "identity": {
13 | "name": "synk"
14 | },
15 | "description": "局域网同步传",
16 | "minimum-os": "win7",
17 | "execution-level": "as invoker",
18 | "ui-access": false,
19 | "auto-elevate": false,
20 | "dpi-awareness": "system",
21 | "disable-theming": false,
22 | "disable-window-filtering": false,
23 | "high-resolution-scrolling-aware": false,
24 | "ultra-high-resolution-scrolling-aware": false,
25 | "long-path-aware": false,
26 | "printer-driver-isolation": false,
27 | "gdi-scaling": false,
28 | "segment-heap": false,
29 | "use-common-controls-v6": false
30 | }
31 | }
32 | },
33 | "RT_VERSION": {
34 | "#1": {
35 | "0000": {
36 | "fixed": {
37 | "file_version": "0.1.0.0",
38 | "product_version": "0.1.0.0"
39 | },
40 | "info": {
41 | "0409": {
42 | "Comments": "",
43 | "CompanyName": "方应杭",
44 | "FileDescription": "",
45 | "FileVersion": "",
46 | "InternalName": "synk",
47 | "LegalCopyright": "",
48 | "LegalTrademarks": "",
49 | "OriginalFilename": "",
50 | "PrivateBuild": "",
51 | "ProductName": "同步传",
52 | "ProductVersion": "0.1.0",
53 | "SpecialBuild": ""
54 | }
55 | }
56 | }
57 | }
58 | }
59 | }
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/code-frame@7.12.11":
6 | version "7.12.11"
7 | resolved "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
8 | integrity sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8=
9 | dependencies:
10 | "@babel/highlight" "^7.10.4"
11 |
12 | "@babel/helper-validator-identifier@^7.14.5":
13 | version "7.15.7"
14 | resolved "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389"
15 | integrity sha1-Ig35k7/pBKSmsCq08zhaXr9uI4k=
16 |
17 | "@babel/highlight@^7.10.4":
18 | version "7.14.5"
19 | resolved "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
20 | integrity sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk=
21 | dependencies:
22 | "@babel/helper-validator-identifier" "^7.14.5"
23 | chalk "^2.0.0"
24 | js-tokens "^4.0.0"
25 |
26 | "@eslint/eslintrc@^0.4.3":
27 | version "0.4.3"
28 | resolved "https://registry.nlark.com/@eslint/eslintrc/download/@eslint/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c"
29 | integrity sha1-nkKYHvA1vrPdSa3ResuW6P9vOUw=
30 | dependencies:
31 | ajv "^6.12.4"
32 | debug "^4.1.1"
33 | espree "^7.3.0"
34 | globals "^13.9.0"
35 | ignore "^4.0.6"
36 | import-fresh "^3.2.1"
37 | js-yaml "^3.13.1"
38 | minimatch "^3.0.4"
39 | strip-json-comments "^3.1.1"
40 |
41 | "@humanwhocodes/config-array@^0.5.0":
42 | version "0.5.0"
43 | resolved "https://registry.npmmirror.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9"
44 | integrity sha1-FAeWfUxu7Nc4j4Os8er00Mbljvk=
45 | dependencies:
46 | "@humanwhocodes/object-schema" "^1.2.0"
47 | debug "^4.1.1"
48 | minimatch "^3.0.4"
49 |
50 | "@humanwhocodes/object-schema@^1.2.0":
51 | version "1.2.0"
52 | resolved "https://registry.nlark.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf"
53 | integrity sha1-h956+cIxgm/daKxyWPd8Qp4OX88=
54 |
55 | "@nodelib/fs.scandir@2.1.5":
56 | version "2.1.5"
57 | resolved "https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
58 | integrity sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=
59 | dependencies:
60 | "@nodelib/fs.stat" "2.0.5"
61 | run-parallel "^1.1.9"
62 |
63 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
64 | version "2.0.5"
65 | resolved "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
66 | integrity sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=
67 |
68 | "@nodelib/fs.walk@^1.2.3":
69 | version "1.2.8"
70 | resolved "https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
71 | integrity sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po=
72 | dependencies:
73 | "@nodelib/fs.scandir" "2.1.5"
74 | fastq "^1.6.0"
75 |
76 | "@types/json-schema@^7.0.7":
77 | version "7.0.9"
78 | resolved "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
79 | integrity sha1-l+3JA36gw4WFMgsolk3eOznkZg0=
80 |
81 | "@typescript-eslint/eslint-plugin@^4.33.0":
82 | version "4.33.0"
83 | resolved "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.33.0.tgz?cache=0&sync_timestamp=1633599729411&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276"
84 | integrity sha1-wk3HyAacdwa8QNmfb6h+3LIAUnY=
85 | dependencies:
86 | "@typescript-eslint/experimental-utils" "4.33.0"
87 | "@typescript-eslint/scope-manager" "4.33.0"
88 | debug "^4.3.1"
89 | functional-red-black-tree "^1.0.1"
90 | ignore "^5.1.8"
91 | regexpp "^3.1.0"
92 | semver "^7.3.5"
93 | tsutils "^3.21.0"
94 |
95 | "@typescript-eslint/experimental-utils@4.33.0":
96 | version "4.33.0"
97 | resolved "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.33.0.tgz?cache=0&sync_timestamp=1633599744822&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40typescript-eslint%2Fexperimental-utils%2Fdownload%2F%40typescript-eslint%2Fexperimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd"
98 | integrity sha1-byp4akIJ+iIimJ6TgLUzGygQ9/0=
99 | dependencies:
100 | "@types/json-schema" "^7.0.7"
101 | "@typescript-eslint/scope-manager" "4.33.0"
102 | "@typescript-eslint/types" "4.33.0"
103 | "@typescript-eslint/typescript-estree" "4.33.0"
104 | eslint-scope "^5.1.1"
105 | eslint-utils "^3.0.0"
106 |
107 | "@typescript-eslint/parser@^4.33.0":
108 | version "4.33.0"
109 | resolved "https://registry.npmmirror.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.33.0.tgz?cache=0&sync_timestamp=1633599730942&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899"
110 | integrity sha1-3+eXVw2WlOVgUo0Y7srYbIx0SJk=
111 | dependencies:
112 | "@typescript-eslint/scope-manager" "4.33.0"
113 | "@typescript-eslint/types" "4.33.0"
114 | "@typescript-eslint/typescript-estree" "4.33.0"
115 | debug "^4.3.1"
116 |
117 | "@typescript-eslint/scope-manager@4.33.0":
118 | version "4.33.0"
119 | resolved "https://registry.npmmirror.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3"
120 | integrity sha1-045JKA2YPody4pEhz4xukiHygKM=
121 | dependencies:
122 | "@typescript-eslint/types" "4.33.0"
123 | "@typescript-eslint/visitor-keys" "4.33.0"
124 |
125 | "@typescript-eslint/types@4.33.0":
126 | version "4.33.0"
127 | resolved "https://registry.npmmirror.com/@typescript-eslint/types/download/@typescript-eslint/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72"
128 | integrity sha1-oeWQNqO1OuhDDO6/KpGdx/mvbXI=
129 |
130 | "@typescript-eslint/typescript-estree@4.33.0":
131 | version "4.33.0"
132 | resolved "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.33.0.tgz?cache=0&sync_timestamp=1633599748128&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609"
133 | integrity sha1-DftRwpCPaMXAjYKu/q8WahfCRgk=
134 | dependencies:
135 | "@typescript-eslint/types" "4.33.0"
136 | "@typescript-eslint/visitor-keys" "4.33.0"
137 | debug "^4.3.1"
138 | globby "^11.0.3"
139 | is-glob "^4.0.1"
140 | semver "^7.3.5"
141 | tsutils "^3.21.0"
142 |
143 | "@typescript-eslint/visitor-keys@4.33.0":
144 | version "4.33.0"
145 | resolved "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd"
146 | integrity sha1-KiL3ekFgQom3oYZYbp7EjKku8d0=
147 | dependencies:
148 | "@typescript-eslint/types" "4.33.0"
149 | eslint-visitor-keys "^2.0.0"
150 |
151 | acorn-jsx@^5.3.1:
152 | version "5.3.2"
153 | resolved "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
154 | integrity sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=
155 |
156 | acorn@^7.4.0:
157 | version "7.4.1"
158 | resolved "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1630916517167&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
159 | integrity sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=
160 |
161 | ajv@^6.10.0, ajv@^6.12.4:
162 | version "6.12.6"
163 | resolved "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
164 | integrity sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=
165 | dependencies:
166 | fast-deep-equal "^3.1.1"
167 | fast-json-stable-stringify "^2.0.0"
168 | json-schema-traverse "^0.4.1"
169 | uri-js "^4.2.2"
170 |
171 | ajv@^8.0.1:
172 | version "8.6.3"
173 | resolved "https://registry.nlark.com/ajv/download/ajv-8.6.3.tgz#11a66527761dc3e9a3845ea775d2d3c0414e8764"
174 | integrity sha1-EaZlJ3Ydw+mjhF6nddLTwEFOh2Q=
175 | dependencies:
176 | fast-deep-equal "^3.1.1"
177 | json-schema-traverse "^1.0.0"
178 | require-from-string "^2.0.2"
179 | uri-js "^4.2.2"
180 |
181 | ansi-colors@^4.1.1:
182 | version "4.1.1"
183 | resolved "https://registry.nlark.com/ansi-colors/download/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
184 | integrity sha1-y7muJWv3UK8eqzRPIpqif+lLo0g=
185 |
186 | ansi-regex@^5.0.1:
187 | version "5.0.1"
188 | resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
189 | integrity sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=
190 |
191 | ansi-styles@^3.2.1:
192 | version "3.2.1"
193 | resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
194 | integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=
195 | dependencies:
196 | color-convert "^1.9.0"
197 |
198 | ansi-styles@^4.0.0, ansi-styles@^4.1.0:
199 | version "4.3.0"
200 | resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
201 | integrity sha1-7dgDYornHATIWuegkG7a00tkiTc=
202 | dependencies:
203 | color-convert "^2.0.1"
204 |
205 | argparse@^1.0.7:
206 | version "1.0.10"
207 | resolved "https://registry.nlark.com/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
208 | integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=
209 | dependencies:
210 | sprintf-js "~1.0.2"
211 |
212 | array-includes@^3.1.3:
213 | version "3.1.4"
214 | resolved "https://registry.npmmirror.com/array-includes/download/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9"
215 | integrity sha1-9bSTFix2DzU5Yx8AW6K7Rqy0W6k=
216 | dependencies:
217 | call-bind "^1.0.2"
218 | define-properties "^1.1.3"
219 | es-abstract "^1.19.1"
220 | get-intrinsic "^1.1.1"
221 | is-string "^1.0.7"
222 |
223 | array-union@^2.1.0:
224 | version "2.1.0"
225 | resolved "https://registry.nlark.com/array-union/download/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
226 | integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0=
227 |
228 | array.prototype.flatmap@^1.2.4:
229 | version "1.2.5"
230 | resolved "https://registry.npmmirror.com/array.prototype.flatmap/download/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446"
231 | integrity sha1-kI3ILYpAaTD984WY1R50EdGNREY=
232 | dependencies:
233 | call-bind "^1.0.0"
234 | define-properties "^1.1.3"
235 | es-abstract "^1.19.0"
236 |
237 | astral-regex@^2.0.0:
238 | version "2.0.0"
239 | resolved "https://registry.nlark.com/astral-regex/download/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
240 | integrity sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=
241 |
242 | balanced-match@^1.0.0:
243 | version "1.0.2"
244 | resolved "https://registry.nlark.com/balanced-match/download/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
245 | integrity sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=
246 |
247 | brace-expansion@^1.1.7:
248 | version "1.1.11"
249 | resolved "https://registry.nlark.com/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
250 | integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=
251 | dependencies:
252 | balanced-match "^1.0.0"
253 | concat-map "0.0.1"
254 |
255 | braces@^3.0.1:
256 | version "3.0.2"
257 | resolved "https://registry.nlark.com/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
258 | integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc=
259 | dependencies:
260 | fill-range "^7.0.1"
261 |
262 | call-bind@^1.0.0, call-bind@^1.0.2:
263 | version "1.0.2"
264 | resolved "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
265 | integrity sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=
266 | dependencies:
267 | function-bind "^1.1.1"
268 | get-intrinsic "^1.0.2"
269 |
270 | callsites@^3.0.0:
271 | version "3.1.0"
272 | resolved "https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
273 | integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=
274 |
275 | chalk@^2.0.0:
276 | version "2.4.2"
277 | resolved "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1627646850823&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
278 | integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=
279 | dependencies:
280 | ansi-styles "^3.2.1"
281 | escape-string-regexp "^1.0.5"
282 | supports-color "^5.3.0"
283 |
284 | chalk@^4.0.0:
285 | version "4.1.2"
286 | resolved "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646850823&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
287 | integrity sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=
288 | dependencies:
289 | ansi-styles "^4.1.0"
290 | supports-color "^7.1.0"
291 |
292 | color-convert@^1.9.0:
293 | version "1.9.3"
294 | resolved "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
295 | integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=
296 | dependencies:
297 | color-name "1.1.3"
298 |
299 | color-convert@^2.0.1:
300 | version "2.0.1"
301 | resolved "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
302 | integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=
303 | dependencies:
304 | color-name "~1.1.4"
305 |
306 | color-name@1.1.3:
307 | version "1.1.3"
308 | resolved "https://registry.nlark.com/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
309 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
310 |
311 | color-name@~1.1.4:
312 | version "1.1.4"
313 | resolved "https://registry.nlark.com/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
314 | integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=
315 |
316 | concat-map@0.0.1:
317 | version "0.0.1"
318 | resolved "https://registry.nlark.com/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
319 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
320 |
321 | cross-spawn@^7.0.2:
322 | version "7.0.3"
323 | resolved "https://registry.nlark.com/cross-spawn/download/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
324 | integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY=
325 | dependencies:
326 | path-key "^3.1.0"
327 | shebang-command "^2.0.0"
328 | which "^2.0.1"
329 |
330 | debug@^4.0.1, debug@^4.1.1, debug@^4.3.1:
331 | version "4.3.2"
332 | resolved "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374735764&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
333 | integrity sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=
334 | dependencies:
335 | ms "2.1.2"
336 |
337 | deep-is@^0.1.3:
338 | version "0.1.4"
339 | resolved "https://registry.nlark.com/deep-is/download/deep-is-0.1.4.tgz?cache=0&sync_timestamp=1630774990168&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdeep-is%2Fdownload%2Fdeep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
340 | integrity sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE=
341 |
342 | define-properties@^1.1.3:
343 | version "1.1.3"
344 | resolved "https://registry.nlark.com/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
345 | integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=
346 | dependencies:
347 | object-keys "^1.0.12"
348 |
349 | dir-glob@^3.0.1:
350 | version "3.0.1"
351 | resolved "https://registry.nlark.com/dir-glob/download/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
352 | integrity sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=
353 | dependencies:
354 | path-type "^4.0.0"
355 |
356 | doctrine@^2.1.0:
357 | version "2.1.0"
358 | resolved "https://registry.nlark.com/doctrine/download/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
359 | integrity sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=
360 | dependencies:
361 | esutils "^2.0.2"
362 |
363 | doctrine@^3.0.0:
364 | version "3.0.0"
365 | resolved "https://registry.nlark.com/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
366 | integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=
367 | dependencies:
368 | esutils "^2.0.2"
369 |
370 | emoji-regex@^8.0.0:
371 | version "8.0.0"
372 | resolved "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1632751313004&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
373 | integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=
374 |
375 | enquirer@^2.3.5:
376 | version "2.3.6"
377 | resolved "https://registry.nlark.com/enquirer/download/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
378 | integrity sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00=
379 | dependencies:
380 | ansi-colors "^4.1.1"
381 |
382 | es-abstract@^1.19.0, es-abstract@^1.19.1:
383 | version "1.19.1"
384 | resolved "https://registry.npmmirror.com/es-abstract/download/es-abstract-1.19.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3"
385 | integrity sha1-1IhXlodpFpWd547aoN9FZicRXsM=
386 | dependencies:
387 | call-bind "^1.0.2"
388 | es-to-primitive "^1.2.1"
389 | function-bind "^1.1.1"
390 | get-intrinsic "^1.1.1"
391 | get-symbol-description "^1.0.0"
392 | has "^1.0.3"
393 | has-symbols "^1.0.2"
394 | internal-slot "^1.0.3"
395 | is-callable "^1.2.4"
396 | is-negative-zero "^2.0.1"
397 | is-regex "^1.1.4"
398 | is-shared-array-buffer "^1.0.1"
399 | is-string "^1.0.7"
400 | is-weakref "^1.0.1"
401 | object-inspect "^1.11.0"
402 | object-keys "^1.1.1"
403 | object.assign "^4.1.2"
404 | string.prototype.trimend "^1.0.4"
405 | string.prototype.trimstart "^1.0.4"
406 | unbox-primitive "^1.0.1"
407 |
408 | es-to-primitive@^1.2.1:
409 | version "1.2.1"
410 | resolved "https://registry.nlark.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
411 | integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=
412 | dependencies:
413 | is-callable "^1.1.4"
414 | is-date-object "^1.0.1"
415 | is-symbol "^1.0.2"
416 |
417 | escape-string-regexp@^1.0.5:
418 | version "1.0.5"
419 | resolved "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
420 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
421 |
422 | escape-string-regexp@^4.0.0:
423 | version "4.0.0"
424 | resolved "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
425 | integrity sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=
426 |
427 | eslint-plugin-react@^7.26.1:
428 | version "7.26.1"
429 | resolved "https://registry.npmmirror.com/eslint-plugin-react/download/eslint-plugin-react-7.26.1.tgz#41bcfe3e39e6a5ac040971c1af94437c80daa40e"
430 | integrity sha1-Qbz+PjnmpawECXHBr5RDfIDapA4=
431 | dependencies:
432 | array-includes "^3.1.3"
433 | array.prototype.flatmap "^1.2.4"
434 | doctrine "^2.1.0"
435 | estraverse "^5.2.0"
436 | jsx-ast-utils "^2.4.1 || ^3.0.0"
437 | minimatch "^3.0.4"
438 | object.entries "^1.1.4"
439 | object.fromentries "^2.0.4"
440 | object.hasown "^1.0.0"
441 | object.values "^1.1.4"
442 | prop-types "^15.7.2"
443 | resolve "^2.0.0-next.3"
444 | semver "^6.3.0"
445 | string.prototype.matchall "^4.0.5"
446 |
447 | eslint-scope@^5.1.1:
448 | version "5.1.1"
449 | resolved "https://registry.nlark.com/eslint-scope/download/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
450 | integrity sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=
451 | dependencies:
452 | esrecurse "^4.3.0"
453 | estraverse "^4.1.1"
454 |
455 | eslint-utils@^2.1.0:
456 | version "2.1.0"
457 | resolved "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
458 | integrity sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=
459 | dependencies:
460 | eslint-visitor-keys "^1.1.0"
461 |
462 | eslint-utils@^3.0.0:
463 | version "3.0.0"
464 | resolved "https://registry.nlark.com/eslint-utils/download/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
465 | integrity sha1-iuuvrOc0W7M1WdsKHxOh0tSMNnI=
466 | dependencies:
467 | eslint-visitor-keys "^2.0.0"
468 |
469 | eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
470 | version "1.3.0"
471 | resolved "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
472 | integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=
473 |
474 | eslint-visitor-keys@^2.0.0:
475 | version "2.1.0"
476 | resolved "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
477 | integrity sha1-9lMoJZMFknOSyTjtROsKXJsr0wM=
478 |
479 | eslint@^7.32.0:
480 | version "7.32.0"
481 | resolved "https://registry.npmmirror.com/eslint/download/eslint-7.32.0.tgz?cache=0&sync_timestamp=1632525386220&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint%2Fdownload%2Feslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d"
482 | integrity sha1-xtMooUvj+wjI0dIeEsAv23oqgS0=
483 | dependencies:
484 | "@babel/code-frame" "7.12.11"
485 | "@eslint/eslintrc" "^0.4.3"
486 | "@humanwhocodes/config-array" "^0.5.0"
487 | ajv "^6.10.0"
488 | chalk "^4.0.0"
489 | cross-spawn "^7.0.2"
490 | debug "^4.0.1"
491 | doctrine "^3.0.0"
492 | enquirer "^2.3.5"
493 | escape-string-regexp "^4.0.0"
494 | eslint-scope "^5.1.1"
495 | eslint-utils "^2.1.0"
496 | eslint-visitor-keys "^2.0.0"
497 | espree "^7.3.1"
498 | esquery "^1.4.0"
499 | esutils "^2.0.2"
500 | fast-deep-equal "^3.1.3"
501 | file-entry-cache "^6.0.1"
502 | functional-red-black-tree "^1.0.1"
503 | glob-parent "^5.1.2"
504 | globals "^13.6.0"
505 | ignore "^4.0.6"
506 | import-fresh "^3.0.0"
507 | imurmurhash "^0.1.4"
508 | is-glob "^4.0.0"
509 | js-yaml "^3.13.1"
510 | json-stable-stringify-without-jsonify "^1.0.1"
511 | levn "^0.4.1"
512 | lodash.merge "^4.6.2"
513 | minimatch "^3.0.4"
514 | natural-compare "^1.4.0"
515 | optionator "^0.9.1"
516 | progress "^2.0.0"
517 | regexpp "^3.1.0"
518 | semver "^7.2.1"
519 | strip-ansi "^6.0.0"
520 | strip-json-comments "^3.1.0"
521 | table "^6.0.9"
522 | text-table "^0.2.0"
523 | v8-compile-cache "^2.0.3"
524 |
525 | espree@^7.3.0, espree@^7.3.1:
526 | version "7.3.1"
527 | resolved "https://registry.nlark.com/espree/download/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
528 | integrity sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y=
529 | dependencies:
530 | acorn "^7.4.0"
531 | acorn-jsx "^5.3.1"
532 | eslint-visitor-keys "^1.3.0"
533 |
534 | esprima@^4.0.0:
535 | version "4.0.1"
536 | resolved "https://registry.nlark.com/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
537 | integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=
538 |
539 | esquery@^1.4.0:
540 | version "1.4.0"
541 | resolved "https://registry.nlark.com/esquery/download/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
542 | integrity sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=
543 | dependencies:
544 | estraverse "^5.1.0"
545 |
546 | esrecurse@^4.3.0:
547 | version "4.3.0"
548 | resolved "https://registry.nlark.com/esrecurse/download/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
549 | integrity sha1-eteWTWeauyi+5yzsY3WLHF0smSE=
550 | dependencies:
551 | estraverse "^5.2.0"
552 |
553 | estraverse@^4.1.1:
554 | version "4.3.0"
555 | resolved "https://registry.nlark.com/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
556 | integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=
557 |
558 | estraverse@^5.1.0, estraverse@^5.2.0:
559 | version "5.2.0"
560 | resolved "https://registry.nlark.com/estraverse/download/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
561 | integrity sha1-MH30JUfmzHMk088DwVXVzbjFOIA=
562 |
563 | esutils@^2.0.2:
564 | version "2.0.3"
565 | resolved "https://registry.nlark.com/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
566 | integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=
567 |
568 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
569 | version "3.1.3"
570 | resolved "https://registry.nlark.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
571 | integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=
572 |
573 | fast-glob@^3.1.1:
574 | version "3.2.7"
575 | resolved "https://registry.nlark.com/fast-glob/download/fast-glob-3.2.7.tgz?cache=0&sync_timestamp=1625772524389&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1"
576 | integrity sha1-/Wy3otfpqnp4RhEehaGW1rL3ZqE=
577 | dependencies:
578 | "@nodelib/fs.stat" "^2.0.2"
579 | "@nodelib/fs.walk" "^1.2.3"
580 | glob-parent "^5.1.2"
581 | merge2 "^1.3.0"
582 | micromatch "^4.0.4"
583 |
584 | fast-json-stable-stringify@^2.0.0:
585 | version "2.1.0"
586 | resolved "https://registry.nlark.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
587 | integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=
588 |
589 | fast-levenshtein@^2.0.6:
590 | version "2.0.6"
591 | resolved "https://registry.nlark.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
592 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
593 |
594 | fastq@^1.6.0:
595 | version "1.13.0"
596 | resolved "https://registry.nlark.com/fastq/download/fastq-1.13.0.tgz?cache=0&sync_timestamp=1631609750055&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffastq%2Fdownload%2Ffastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
597 | integrity sha1-YWdg+Ip1Jr38WWt8q4wYk4w2uYw=
598 | dependencies:
599 | reusify "^1.0.4"
600 |
601 | file-entry-cache@^6.0.1:
602 | version "6.0.1"
603 | resolved "https://registry.nlark.com/file-entry-cache/download/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
604 | integrity sha1-IRst2WWcsDlLBz5zI6w8kz1SICc=
605 | dependencies:
606 | flat-cache "^3.0.4"
607 |
608 | fill-range@^7.0.1:
609 | version "7.0.1"
610 | resolved "https://registry.nlark.com/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
611 | integrity sha1-GRmmp8df44ssfHflGYU12prN2kA=
612 | dependencies:
613 | to-regex-range "^5.0.1"
614 |
615 | flat-cache@^3.0.4:
616 | version "3.0.4"
617 | resolved "https://registry.nlark.com/flat-cache/download/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
618 | integrity sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=
619 | dependencies:
620 | flatted "^3.1.0"
621 | rimraf "^3.0.2"
622 |
623 | flatted@^3.1.0:
624 | version "3.2.2"
625 | resolved "https://registry.nlark.com/flatted/download/flatted-3.2.2.tgz?cache=0&sync_timestamp=1627541049935&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fflatted%2Fdownload%2Fflatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561"
626 | integrity sha1-ZL/tXLaP48p4s+shStl7Y77c5WE=
627 |
628 | fs.realpath@^1.0.0:
629 | version "1.0.0"
630 | resolved "https://registry.nlark.com/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
631 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
632 |
633 | function-bind@^1.1.1:
634 | version "1.1.1"
635 | resolved "https://registry.nlark.com/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
636 | integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=
637 |
638 | functional-red-black-tree@^1.0.1:
639 | version "1.0.1"
640 | resolved "https://registry.nlark.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
641 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
642 |
643 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
644 | version "1.1.1"
645 | resolved "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
646 | integrity sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=
647 | dependencies:
648 | function-bind "^1.1.1"
649 | has "^1.0.3"
650 | has-symbols "^1.0.1"
651 |
652 | get-symbol-description@^1.0.0:
653 | version "1.0.0"
654 | resolved "https://registry.nlark.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
655 | integrity sha1-f9uByQAQH71WTdXxowr1qtweWNY=
656 | dependencies:
657 | call-bind "^1.0.2"
658 | get-intrinsic "^1.1.1"
659 |
660 | glob-parent@^5.1.2:
661 | version "5.1.2"
662 | resolved "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
663 | integrity sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=
664 | dependencies:
665 | is-glob "^4.0.1"
666 |
667 | glob@^7.1.3:
668 | version "7.2.0"
669 | resolved "https://registry.npmmirror.com/glob/download/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
670 | integrity sha1-0VU1r3cy4C6Uj0xBYovZECk/YCM=
671 | dependencies:
672 | fs.realpath "^1.0.0"
673 | inflight "^1.0.4"
674 | inherits "2"
675 | minimatch "^3.0.4"
676 | once "^1.3.0"
677 | path-is-absolute "^1.0.0"
678 |
679 | globals@^13.6.0, globals@^13.9.0:
680 | version "13.11.0"
681 | resolved "https://registry.nlark.com/globals/download/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7"
682 | integrity sha1-QO9njaEX/nvS4o8fqySVG9AlW+c=
683 | dependencies:
684 | type-fest "^0.20.2"
685 |
686 | globby@^11.0.3:
687 | version "11.0.4"
688 | resolved "https://registry.nlark.com/globby/download/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5"
689 | integrity sha1-LLr/d8Lypi5x6bKBOme5ejowAaU=
690 | dependencies:
691 | array-union "^2.1.0"
692 | dir-glob "^3.0.1"
693 | fast-glob "^3.1.1"
694 | ignore "^5.1.4"
695 | merge2 "^1.3.0"
696 | slash "^3.0.0"
697 |
698 | has-bigints@^1.0.1:
699 | version "1.0.1"
700 | resolved "https://registry.nlark.com/has-bigints/download/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"
701 | integrity sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=
702 |
703 | has-flag@^3.0.0:
704 | version "3.0.0"
705 | resolved "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
706 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
707 |
708 | has-flag@^4.0.0:
709 | version "4.0.0"
710 | resolved "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
711 | integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=
712 |
713 | has-symbols@^1.0.1, has-symbols@^1.0.2:
714 | version "1.0.2"
715 | resolved "https://registry.nlark.com/has-symbols/download/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
716 | integrity sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=
717 |
718 | has-tostringtag@^1.0.0:
719 | version "1.0.0"
720 | resolved "https://registry.nlark.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
721 | integrity sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU=
722 | dependencies:
723 | has-symbols "^1.0.2"
724 |
725 | has@^1.0.3:
726 | version "1.0.3"
727 | resolved "https://registry.nlark.com/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
728 | integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=
729 | dependencies:
730 | function-bind "^1.1.1"
731 |
732 | ignore@^4.0.6:
733 | version "4.0.6"
734 | resolved "https://registry.nlark.com/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
735 | integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=
736 |
737 | ignore@^5.1.4, ignore@^5.1.8:
738 | version "5.1.8"
739 | resolved "https://registry.nlark.com/ignore/download/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
740 | integrity sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=
741 |
742 | import-fresh@^3.0.0, import-fresh@^3.2.1:
743 | version "3.3.0"
744 | resolved "https://registry.nlark.com/import-fresh/download/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
745 | integrity sha1-NxYsJfy566oublPVtNiM4X2eDCs=
746 | dependencies:
747 | parent-module "^1.0.0"
748 | resolve-from "^4.0.0"
749 |
750 | imurmurhash@^0.1.4:
751 | version "0.1.4"
752 | resolved "https://registry.nlark.com/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
753 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
754 |
755 | inflight@^1.0.4:
756 | version "1.0.6"
757 | resolved "https://registry.nlark.com/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
758 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
759 | dependencies:
760 | once "^1.3.0"
761 | wrappy "1"
762 |
763 | inherits@2:
764 | version "2.0.4"
765 | resolved "https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
766 | integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=
767 |
768 | internal-slot@^1.0.3:
769 | version "1.0.3"
770 | resolved "https://registry.nlark.com/internal-slot/download/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
771 | integrity sha1-c0fjB97uovqsKsYgXUvH00ln9Zw=
772 | dependencies:
773 | get-intrinsic "^1.1.0"
774 | has "^1.0.3"
775 | side-channel "^1.0.4"
776 |
777 | is-bigint@^1.0.1:
778 | version "1.0.4"
779 | resolved "https://registry.nlark.com/is-bigint/download/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
780 | integrity sha1-CBR6GHW8KzIAXUHM2Ckd/8ZpHfM=
781 | dependencies:
782 | has-bigints "^1.0.1"
783 |
784 | is-boolean-object@^1.1.0:
785 | version "1.1.2"
786 | resolved "https://registry.nlark.com/is-boolean-object/download/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
787 | integrity sha1-XG3CACRt2TIa5LiFoRS7H3X2Nxk=
788 | dependencies:
789 | call-bind "^1.0.2"
790 | has-tostringtag "^1.0.0"
791 |
792 | is-callable@^1.1.4, is-callable@^1.2.4:
793 | version "1.2.4"
794 | resolved "https://registry.nlark.com/is-callable/download/is-callable-1.2.4.tgz?cache=0&sync_timestamp=1628259899162&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-callable%2Fdownload%2Fis-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
795 | integrity sha1-RzAdWN0CWUB4ZVR4U99tYf5HGUU=
796 |
797 | is-core-module@^2.2.0:
798 | version "2.7.0"
799 | resolved "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.7.0.tgz#3c0ef7d31b4acfc574f80c58409d568a836848e3"
800 | integrity sha1-PA730xtKz8V0+AxYQJ1WioNoSOM=
801 | dependencies:
802 | has "^1.0.3"
803 |
804 | is-date-object@^1.0.1:
805 | version "1.0.5"
806 | resolved "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
807 | integrity sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8=
808 | dependencies:
809 | has-tostringtag "^1.0.0"
810 |
811 | is-extglob@^2.1.1:
812 | version "2.1.1"
813 | resolved "https://registry.nlark.com/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
814 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
815 |
816 | is-fullwidth-code-point@^3.0.0:
817 | version "3.0.0"
818 | resolved "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
819 | integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=
820 |
821 | is-glob@^4.0.0, is-glob@^4.0.1:
822 | version "4.0.3"
823 | resolved "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
824 | integrity sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=
825 | dependencies:
826 | is-extglob "^2.1.1"
827 |
828 | is-negative-zero@^2.0.1:
829 | version "2.0.1"
830 | resolved "https://registry.nlark.com/is-negative-zero/download/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
831 | integrity sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=
832 |
833 | is-number-object@^1.0.4:
834 | version "1.0.6"
835 | resolved "https://registry.nlark.com/is-number-object/download/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0"
836 | integrity sha1-anqvg4x/BoalC0VT9+VKlklOifA=
837 | dependencies:
838 | has-tostringtag "^1.0.0"
839 |
840 | is-number@^7.0.0:
841 | version "7.0.0"
842 | resolved "https://registry.nlark.com/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
843 | integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=
844 |
845 | is-regex@^1.1.4:
846 | version "1.1.4"
847 | resolved "https://registry.nlark.com/is-regex/download/is-regex-1.1.4.tgz?cache=0&sync_timestamp=1628222029198&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
848 | integrity sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg=
849 | dependencies:
850 | call-bind "^1.0.2"
851 | has-tostringtag "^1.0.0"
852 |
853 | is-shared-array-buffer@^1.0.1:
854 | version "1.0.1"
855 | resolved "https://registry.npmmirror.com/is-shared-array-buffer/download/is-shared-array-buffer-1.0.1.tgz?cache=0&sync_timestamp=1633062013521&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-shared-array-buffer%2Fdownload%2Fis-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6"
856 | integrity sha1-l7DIX72stZycRG/mU7gs8rW3z+Y=
857 |
858 | is-string@^1.0.5, is-string@^1.0.7:
859 | version "1.0.7"
860 | resolved "https://registry.nlark.com/is-string/download/is-string-1.0.7.tgz?cache=0&sync_timestamp=1628213504076&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-string%2Fdownload%2Fis-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
861 | integrity sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0=
862 | dependencies:
863 | has-tostringtag "^1.0.0"
864 |
865 | is-symbol@^1.0.2, is-symbol@^1.0.3:
866 | version "1.0.4"
867 | resolved "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
868 | integrity sha1-ptrJO2NbBjymhyI23oiRClevE5w=
869 | dependencies:
870 | has-symbols "^1.0.2"
871 |
872 | is-weakref@^1.0.1:
873 | version "1.0.1"
874 | resolved "https://registry.nlark.com/is-weakref/download/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2"
875 | integrity sha1-hC26TsF/qayYUN8tbvvBc3J08qI=
876 | dependencies:
877 | call-bind "^1.0.0"
878 |
879 | isexe@^2.0.0:
880 | version "2.0.0"
881 | resolved "https://registry.nlark.com/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
882 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
883 |
884 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
885 | version "4.0.0"
886 | resolved "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz?cache=0&sync_timestamp=1619345016391&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-tokens%2Fdownload%2Fjs-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
887 | integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk=
888 |
889 | js-yaml@^3.13.1:
890 | version "3.14.1"
891 | resolved "https://registry.nlark.com/js-yaml/download/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
892 | integrity sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=
893 | dependencies:
894 | argparse "^1.0.7"
895 | esprima "^4.0.0"
896 |
897 | json-schema-traverse@^0.4.1:
898 | version "0.4.1"
899 | resolved "https://registry.nlark.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
900 | integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA=
901 |
902 | json-schema-traverse@^1.0.0:
903 | version "1.0.0"
904 | resolved "https://registry.nlark.com/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
905 | integrity sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=
906 |
907 | json-stable-stringify-without-jsonify@^1.0.1:
908 | version "1.0.1"
909 | resolved "https://registry.nlark.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
910 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
911 |
912 | "jsx-ast-utils@^2.4.1 || ^3.0.0":
913 | version "3.2.1"
914 | resolved "https://registry.nlark.com/jsx-ast-utils/download/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b"
915 | integrity sha1-cguXv+fZAbkn2Hw3c2N66OpIeBs=
916 | dependencies:
917 | array-includes "^3.1.3"
918 | object.assign "^4.1.2"
919 |
920 | levn@^0.4.1:
921 | version "0.4.1"
922 | resolved "https://registry.nlark.com/levn/download/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
923 | integrity sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=
924 | dependencies:
925 | prelude-ls "^1.2.1"
926 | type-check "~0.4.0"
927 |
928 | lodash.clonedeep@^4.5.0:
929 | version "4.5.0"
930 | resolved "https://registry.nlark.com/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
931 | integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
932 |
933 | lodash.merge@^4.6.2:
934 | version "4.6.2"
935 | resolved "https://registry.nlark.com/lodash.merge/download/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
936 | integrity sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=
937 |
938 | lodash.truncate@^4.4.2:
939 | version "4.4.2"
940 | resolved "https://registry.nlark.com/lodash.truncate/download/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
941 | integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
942 |
943 | loose-envify@^1.4.0:
944 | version "1.4.0"
945 | resolved "https://registry.nlark.com/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
946 | integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=
947 | dependencies:
948 | js-tokens "^3.0.0 || ^4.0.0"
949 |
950 | lru-cache@^6.0.0:
951 | version "6.0.0"
952 | resolved "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
953 | integrity sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=
954 | dependencies:
955 | yallist "^4.0.0"
956 |
957 | merge2@^1.3.0:
958 | version "1.4.1"
959 | resolved "https://registry.nlark.com/merge2/download/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
960 | integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=
961 |
962 | micromatch@^4.0.4:
963 | version "4.0.4"
964 | resolved "https://registry.nlark.com/micromatch/download/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
965 | integrity sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=
966 | dependencies:
967 | braces "^3.0.1"
968 | picomatch "^2.2.3"
969 |
970 | minimatch@^3.0.4:
971 | version "3.0.4"
972 | resolved "https://registry.nlark.com/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
973 | integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=
974 | dependencies:
975 | brace-expansion "^1.1.7"
976 |
977 | ms@2.1.2:
978 | version "2.1.2"
979 | resolved "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1632788099051&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fms%2Fdownload%2Fms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
980 | integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=
981 |
982 | natural-compare@^1.4.0:
983 | version "1.4.0"
984 | resolved "https://registry.nlark.com/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
985 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
986 |
987 | object-assign@^4.1.1:
988 | version "4.1.1"
989 | resolved "https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
990 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
991 |
992 | object-inspect@^1.11.0, object-inspect@^1.9.0:
993 | version "1.11.0"
994 | resolved "https://registry.nlark.com/object-inspect/download/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1"
995 | integrity sha1-nc6xRs7dQUig2eUauI00z1CZIrE=
996 |
997 | object-keys@^1.0.12, object-keys@^1.1.1:
998 | version "1.1.1"
999 | resolved "https://registry.nlark.com/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
1000 | integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4=
1001 |
1002 | object.assign@^4.1.2:
1003 | version "4.1.2"
1004 | resolved "https://registry.nlark.com/object.assign/download/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
1005 | integrity sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=
1006 | dependencies:
1007 | call-bind "^1.0.0"
1008 | define-properties "^1.1.3"
1009 | has-symbols "^1.0.1"
1010 | object-keys "^1.1.1"
1011 |
1012 | object.entries@^1.1.4:
1013 | version "1.1.5"
1014 | resolved "https://registry.npmmirror.com/object.entries/download/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861"
1015 | integrity sha1-4azdF8TeLNltWghIfPuduE2IGGE=
1016 | dependencies:
1017 | call-bind "^1.0.2"
1018 | define-properties "^1.1.3"
1019 | es-abstract "^1.19.1"
1020 |
1021 | object.fromentries@^2.0.4:
1022 | version "2.0.5"
1023 | resolved "https://registry.npmmirror.com/object.fromentries/download/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251"
1024 | integrity sha1-ezeyBRCcIedB5gVyf+iwrV+gglE=
1025 | dependencies:
1026 | call-bind "^1.0.2"
1027 | define-properties "^1.1.3"
1028 | es-abstract "^1.19.1"
1029 |
1030 | object.hasown@^1.0.0:
1031 | version "1.1.0"
1032 | resolved "https://registry.npmmirror.com/object.hasown/download/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5"
1033 | integrity sha1-cjLtJm800ZfRXKxYgCMvekeQr+U=
1034 | dependencies:
1035 | define-properties "^1.1.3"
1036 | es-abstract "^1.19.1"
1037 |
1038 | object.values@^1.1.4:
1039 | version "1.1.5"
1040 | resolved "https://registry.npmmirror.com/object.values/download/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac"
1041 | integrity sha1-lZ9j486e8QhyAzMIITHkpFm3Fqw=
1042 | dependencies:
1043 | call-bind "^1.0.2"
1044 | define-properties "^1.1.3"
1045 | es-abstract "^1.19.1"
1046 |
1047 | once@^1.3.0:
1048 | version "1.4.0"
1049 | resolved "https://registry.nlark.com/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1050 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
1051 | dependencies:
1052 | wrappy "1"
1053 |
1054 | optionator@^0.9.1:
1055 | version "0.9.1"
1056 | resolved "https://registry.nlark.com/optionator/download/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
1057 | integrity sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk=
1058 | dependencies:
1059 | deep-is "^0.1.3"
1060 | fast-levenshtein "^2.0.6"
1061 | levn "^0.4.1"
1062 | prelude-ls "^1.2.1"
1063 | type-check "^0.4.0"
1064 | word-wrap "^1.2.3"
1065 |
1066 | parent-module@^1.0.0:
1067 | version "1.0.1"
1068 | resolved "https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz?cache=0&sync_timestamp=1633338673294&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fparent-module%2Fdownload%2Fparent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
1069 | integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=
1070 | dependencies:
1071 | callsites "^3.0.0"
1072 |
1073 | path-is-absolute@^1.0.0:
1074 | version "1.0.1"
1075 | resolved "https://registry.nlark.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1076 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
1077 |
1078 | path-key@^3.1.0:
1079 | version "3.1.1"
1080 | resolved "https://registry.nlark.com/path-key/download/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
1081 | integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=
1082 |
1083 | path-parse@^1.0.6:
1084 | version "1.0.7"
1085 | resolved "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-parse%2Fdownload%2Fpath-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
1086 | integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=
1087 |
1088 | path-type@^4.0.0:
1089 | version "4.0.0"
1090 | resolved "https://registry.nlark.com/path-type/download/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
1091 | integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=
1092 |
1093 | picomatch@^2.2.3:
1094 | version "2.3.0"
1095 | resolved "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz?cache=0&sync_timestamp=1621648305056&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpicomatch%2Fdownload%2Fpicomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
1096 | integrity sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=
1097 |
1098 | prelude-ls@^1.2.1:
1099 | version "1.2.1"
1100 | resolved "https://registry.nlark.com/prelude-ls/download/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
1101 | integrity sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=
1102 |
1103 | progress@^2.0.0:
1104 | version "2.0.3"
1105 | resolved "https://registry.nlark.com/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
1106 | integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=
1107 |
1108 | prop-types@^15.7.2:
1109 | version "15.7.2"
1110 | resolved "https://registry.nlark.com/prop-types/download/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
1111 | integrity sha1-UsQedbjIfnK52TYOAga5ncv/psU=
1112 | dependencies:
1113 | loose-envify "^1.4.0"
1114 | object-assign "^4.1.1"
1115 | react-is "^16.8.1"
1116 |
1117 | punycode@^2.1.0:
1118 | version "2.1.1"
1119 | resolved "https://registry.nlark.com/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
1120 | integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew=
1121 |
1122 | queue-microtask@^1.2.2:
1123 | version "1.2.3"
1124 | resolved "https://registry.nlark.com/queue-microtask/download/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
1125 | integrity sha1-SSkii7xyTfrEPg77BYyve2z7YkM=
1126 |
1127 | react-is@^16.8.1:
1128 | version "16.13.1"
1129 | resolved "https://registry.npmmirror.com/react-is/download/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
1130 | integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ=
1131 |
1132 | regexp.prototype.flags@^1.3.1:
1133 | version "1.3.1"
1134 | resolved "https://registry.nlark.com/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26"
1135 | integrity sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=
1136 | dependencies:
1137 | call-bind "^1.0.2"
1138 | define-properties "^1.1.3"
1139 |
1140 | regexpp@^3.1.0:
1141 | version "3.2.0"
1142 | resolved "https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz?cache=0&sync_timestamp=1623669303572&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpp%2Fdownload%2Fregexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
1143 | integrity sha1-BCWido2PI7rXDKS5BGH6LxIT4bI=
1144 |
1145 | require-from-string@^2.0.2:
1146 | version "2.0.2"
1147 | resolved "https://registry.nlark.com/require-from-string/download/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
1148 | integrity sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=
1149 |
1150 | resolve-from@^4.0.0:
1151 | version "4.0.0"
1152 | resolved "https://registry.nlark.com/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
1153 | integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=
1154 |
1155 | resolve@^2.0.0-next.3:
1156 | version "2.0.0-next.3"
1157 | resolved "https://registry.nlark.com/resolve/download/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46"
1158 | integrity sha1-1BAWKT1KhYajnKXZtfFcvqH1XkY=
1159 | dependencies:
1160 | is-core-module "^2.2.0"
1161 | path-parse "^1.0.6"
1162 |
1163 | reusify@^1.0.4:
1164 | version "1.0.4"
1165 | resolved "https://registry.nlark.com/reusify/download/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
1166 | integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=
1167 |
1168 | rimraf@^3.0.2:
1169 | version "3.0.2"
1170 | resolved "https://registry.nlark.com/rimraf/download/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
1171 | integrity sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=
1172 | dependencies:
1173 | glob "^7.1.3"
1174 |
1175 | run-parallel@^1.1.9:
1176 | version "1.2.0"
1177 | resolved "https://registry.nlark.com/run-parallel/download/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
1178 | integrity sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=
1179 | dependencies:
1180 | queue-microtask "^1.2.2"
1181 |
1182 | semver@^6.3.0:
1183 | version "6.3.0"
1184 | resolved "https://registry.nlark.com/semver/download/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
1185 | integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=
1186 |
1187 | semver@^7.2.1, semver@^7.3.5:
1188 | version "7.3.5"
1189 | resolved "https://registry.nlark.com/semver/download/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
1190 | integrity sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=
1191 | dependencies:
1192 | lru-cache "^6.0.0"
1193 |
1194 | shebang-command@^2.0.0:
1195 | version "2.0.0"
1196 | resolved "https://registry.nlark.com/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
1197 | integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=
1198 | dependencies:
1199 | shebang-regex "^3.0.0"
1200 |
1201 | shebang-regex@^3.0.0:
1202 | version "3.0.0"
1203 | resolved "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
1204 | integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=
1205 |
1206 | side-channel@^1.0.4:
1207 | version "1.0.4"
1208 | resolved "https://registry.nlark.com/side-channel/download/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
1209 | integrity sha1-785cj9wQTudRslxY1CkAEfpeos8=
1210 | dependencies:
1211 | call-bind "^1.0.0"
1212 | get-intrinsic "^1.0.2"
1213 | object-inspect "^1.9.0"
1214 |
1215 | slash@^3.0.0:
1216 | version "3.0.0"
1217 | resolved "https://registry.nlark.com/slash/download/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
1218 | integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=
1219 |
1220 | slice-ansi@^4.0.0:
1221 | version "4.0.0"
1222 | resolved "https://registry.nlark.com/slice-ansi/download/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
1223 | integrity sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms=
1224 | dependencies:
1225 | ansi-styles "^4.0.0"
1226 | astral-regex "^2.0.0"
1227 | is-fullwidth-code-point "^3.0.0"
1228 |
1229 | sprintf-js@~1.0.2:
1230 | version "1.0.3"
1231 | resolved "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
1232 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
1233 |
1234 | string-width@^4.2.3:
1235 | version "4.2.3"
1236 | resolved "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
1237 | integrity sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=
1238 | dependencies:
1239 | emoji-regex "^8.0.0"
1240 | is-fullwidth-code-point "^3.0.0"
1241 | strip-ansi "^6.0.1"
1242 |
1243 | string.prototype.matchall@^4.0.5:
1244 | version "4.0.6"
1245 | resolved "https://registry.npmmirror.com/string.prototype.matchall/download/string.prototype.matchall-4.0.6.tgz?cache=0&sync_timestamp=1633405729396&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring.prototype.matchall%2Fdownload%2Fstring.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa"
1246 | integrity sha1-Wrtdq8lMew6iOA9lumELOlRLFfo=
1247 | dependencies:
1248 | call-bind "^1.0.2"
1249 | define-properties "^1.1.3"
1250 | es-abstract "^1.19.1"
1251 | get-intrinsic "^1.1.1"
1252 | has-symbols "^1.0.2"
1253 | internal-slot "^1.0.3"
1254 | regexp.prototype.flags "^1.3.1"
1255 | side-channel "^1.0.4"
1256 |
1257 | string.prototype.trimend@^1.0.4:
1258 | version "1.0.4"
1259 | resolved "https://registry.nlark.com/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
1260 | integrity sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=
1261 | dependencies:
1262 | call-bind "^1.0.2"
1263 | define-properties "^1.1.3"
1264 |
1265 | string.prototype.trimstart@^1.0.4:
1266 | version "1.0.4"
1267 | resolved "https://registry.nlark.com/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
1268 | integrity sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=
1269 | dependencies:
1270 | call-bind "^1.0.2"
1271 | define-properties "^1.1.3"
1272 |
1273 | strip-ansi@^6.0.0, strip-ansi@^6.0.1:
1274 | version "6.0.1"
1275 | resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1276 | integrity sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=
1277 | dependencies:
1278 | ansi-regex "^5.0.1"
1279 |
1280 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
1281 | version "3.1.1"
1282 | resolved "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
1283 | integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=
1284 |
1285 | supports-color@^5.3.0:
1286 | version "5.5.0"
1287 | resolved "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1626703414084&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
1288 | integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=
1289 | dependencies:
1290 | has-flag "^3.0.0"
1291 |
1292 | supports-color@^7.1.0:
1293 | version "7.2.0"
1294 | resolved "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1626703414084&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
1295 | integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=
1296 | dependencies:
1297 | has-flag "^4.0.0"
1298 |
1299 | table@^6.0.9:
1300 | version "6.7.2"
1301 | resolved "https://registry.npmmirror.com/table/download/table-6.7.2.tgz#a8d39b9f5966693ca8b0feba270a78722cbaf3b0"
1302 | integrity sha1-qNObn1lmaTyosP66Jwp4ciy687A=
1303 | dependencies:
1304 | ajv "^8.0.1"
1305 | lodash.clonedeep "^4.5.0"
1306 | lodash.truncate "^4.4.2"
1307 | slice-ansi "^4.0.0"
1308 | string-width "^4.2.3"
1309 | strip-ansi "^6.0.1"
1310 |
1311 | text-table@^0.2.0:
1312 | version "0.2.0"
1313 | resolved "https://registry.nlark.com/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
1314 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
1315 |
1316 | to-regex-range@^5.0.1:
1317 | version "5.0.1"
1318 | resolved "https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
1319 | integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=
1320 | dependencies:
1321 | is-number "^7.0.0"
1322 |
1323 | tslib@^1.8.1:
1324 | version "1.14.1"
1325 | resolved "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
1326 | integrity sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=
1327 |
1328 | tsutils@^3.21.0:
1329 | version "3.21.0"
1330 | resolved "https://registry.nlark.com/tsutils/download/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
1331 | integrity sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM=
1332 | dependencies:
1333 | tslib "^1.8.1"
1334 |
1335 | type-check@^0.4.0, type-check@~0.4.0:
1336 | version "0.4.0"
1337 | resolved "https://registry.nlark.com/type-check/download/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
1338 | integrity sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=
1339 | dependencies:
1340 | prelude-ls "^1.2.1"
1341 |
1342 | type-fest@^0.20.2:
1343 | version "0.20.2"
1344 | resolved "https://registry.nlark.com/type-fest/download/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
1345 | integrity sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=
1346 |
1347 | unbox-primitive@^1.0.1:
1348 | version "1.0.1"
1349 | resolved "https://registry.nlark.com/unbox-primitive/download/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
1350 | integrity sha1-CF4hViXsMWJXTciFmr7nilmxRHE=
1351 | dependencies:
1352 | function-bind "^1.1.1"
1353 | has-bigints "^1.0.1"
1354 | has-symbols "^1.0.2"
1355 | which-boxed-primitive "^1.0.2"
1356 |
1357 | uri-js@^4.2.2:
1358 | version "4.4.1"
1359 | resolved "https://registry.nlark.com/uri-js/download/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
1360 | integrity sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=
1361 | dependencies:
1362 | punycode "^2.1.0"
1363 |
1364 | v8-compile-cache@^2.0.3:
1365 | version "2.3.0"
1366 | resolved "https://registry.nlark.com/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
1367 | integrity sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=
1368 |
1369 | which-boxed-primitive@^1.0.2:
1370 | version "1.0.2"
1371 | resolved "https://registry.nlark.com/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
1372 | integrity sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=
1373 | dependencies:
1374 | is-bigint "^1.0.1"
1375 | is-boolean-object "^1.1.0"
1376 | is-number-object "^1.0.4"
1377 | is-string "^1.0.5"
1378 | is-symbol "^1.0.3"
1379 |
1380 | which@^2.0.1:
1381 | version "2.0.2"
1382 | resolved "https://registry.nlark.com/which/download/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
1383 | integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=
1384 | dependencies:
1385 | isexe "^2.0.0"
1386 |
1387 | word-wrap@^1.2.3:
1388 | version "1.2.3"
1389 | resolved "https://registry.nlark.com/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
1390 | integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=
1391 |
1392 | wrappy@1:
1393 | version "1.0.2"
1394 | resolved "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1395 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
1396 |
1397 | yallist@^4.0.0:
1398 | version "4.0.0"
1399 | resolved "https://registry.nlark.com/yallist/download/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
1400 | integrity sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=
1401 |
--------------------------------------------------------------------------------