From 45dab88561bdbd1296ec4204aec572d00e46b1b4 Mon Sep 17 00:00:00 2001 From: Wei Zhu Date: Tue, 24 Nov 2020 12:40:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=80=E5=A4=A7=E6=B3=A2=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=20(#1366)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 真正的「混合开发」,React 代码会跟小程序代码一起构建, close #1153 - Web 端的的多页模式 - 支持小程序插件开发,close #705 - 集成 redbox-react,close #1077 --- .codesandbox/ci.json | 28 +- .github/workflows/e2e-web-mpa.yml | 32 + .github/workflows/e2e-web-spa.yml | 31 + .github/workflows/test.yml | 4 - e2e/{mini => app}/.gitignore | 2 +- e2e/app/CHANGELOG.md | 4 + e2e/app/README.md | 1 + e2e/{mini => app}/jest-puppeteer.config.js | 4 +- e2e/app/jest.config.js | 3 + e2e/{mini => app}/mini.project.json | 17 +- e2e/app/package.json | 50 + e2e/app/remax.config.js | 16 + e2e/app/scripts/build.sh | 13 + e2e/app/src/GlobalContext.js | 5 + .../pages/two/index.js => app/src/_error.js} | 4 +- e2e/app/src/app.config.js | 80 + e2e/app/src/app.js | 16 + e2e/{mini => app}/src/assets/images/cat.jpg | Bin e2e/{mini => app}/src/assets/images/dog.jpg | Bin .../src/components/@foo/a/index.axml | 0 .../src/components/@foo/a/index.js | 0 .../src/components/@foo/a/index.json | 0 .../src/components/Card/index.tsx | 0 e2e/app/src/components/a/index.axml | 1 + e2e/{mini => app}/src/components/a/index.js | 0 e2e/{mini => app}/src/components/a/index.json | 0 e2e/{mini => app}/src/components/b/index.axml | 0 e2e/{mini => app}/src/components/b/index.js | 0 e2e/{mini => app}/src/components/b/index.json | 0 e2e/{mini => app}/src/components/c/index.axml | 0 e2e/{mini => app}/src/components/c/index.js | 0 e2e/{mini => app}/src/components/c/index.json | 0 .../src/components/complex/button.acss | 0 .../src/components/complex/include.axml | 0 .../src/components/complex/index.acss | 0 .../src/components/complex/index.axml | 0 .../src/components/complex/index.js | 0 .../src/components/complex/index.json | 0 .../src/components/complex/index.sjs | 0 .../src/components/complex/msg.sjs | 0 e2e/{mini => app}/src/components/d/index.axml | 0 e2e/{mini => app}/src/components/d/index.js | 0 e2e/{mini => app}/src/components/d/index.json | 0 e2e/{mini => app}/src/components/e/index.axml | 0 e2e/{mini => app}/src/components/e/index.js | 0 e2e/{mini => app}/src/components/e/index.json | 0 e2e/{mini => app}/src/components/f/index.axml | 0 e2e/{mini => app}/src/components/f/index.js | 0 e2e/{mini => app}/src/components/f/index.json | 0 e2e/{mini => app}/src/components/g/index.tsx | 0 e2e/{mini => app}/src/components/h/Hello.tsx | 0 e2e/{mini => app}/src/components/h/index.tsx | 0 .../src/components/notInJSX/index.axml | 0 .../src/components/notInJSX/index.js | 0 .../src/components/notInJSX/index.json | 0 .../src/components/slot/index.axml | 0 .../src/components/slot/index.js | 0 .../src/components/slot/index.json | 0 .../src/components/src/index.axml | 0 e2e/{mini => app}/src/components/src/index.js | 0 .../src/components/src/index.json | 0 e2e/app/src/node_modules/empty/index.js | 8 + .../src/node_modules/rax-view/fmtEvent.js | 0 .../src/node_modules/rax-view/index.acss | 0 .../src/node_modules/rax-view/index.axml | 0 .../src/node_modules/rax-view/index.js | 0 .../src/node_modules/rax-view/index.json | 0 .../src/node_modules/rax-view/package.json | 0 e2e/app/src/node_modules/regenerator-pkg/a.js | 64 + e2e/app/src/node_modules/regenerator-pkg/b.js | 67 + e2e/app/src/node_modules/regenerator-pkg/c.js | 6 + e2e/{mini => app}/src/packageA/pages/index.js | 2 +- e2e/app/src/pages/error/index.js | 6 + e2e/app/src/pages/hybrid/index.axml | 1 + .../app/src/pages/hybrid}/index.js | 0 .../index => app/src/pages/image}/index.css | 0 e2e/app/src/pages/image/index.js | 15 + e2e/app/src/pages/index/index.js | 8 + .../src/pages/insert-before/index.js | 2 +- e2e/app/src/pages/lifecycle/index.js | 20 + .../src/pages/native-component/ModuleA.js | 2 +- .../src/pages/native-component/ModuleB.js | 2 +- .../pages/native-component/commonChunk1.tsx | 2 +- .../pages/native-component/commonChunk2.tsx | 2 +- .../src/pages/native-component/index.js | 4 +- .../src/pages/native-component/module.js | 2 +- e2e/app/src/pages/navigate/one/index.js | 10 + .../src/pages/navigate/two}/index.js | 2 +- e2e/{dummy => app}/src/pages/query/index.js | 0 .../src/pages/turbo-page/index.js | 12 +- .../src/pages/turbo-page/module.js | 0 .../src/pages/turbo-page/moduleB.js | 0 e2e/app/tests/error-screen.test.ts | 20 + e2e/app/tests/helpers.ts | 40 + e2e/app/tests/hybrid.test.ts | 14 + e2e/app/tests/image.test.ts | 39 + e2e/app/tests/index.test.ts | 48 + .../test => app/tests}/insert-before.test.ts | 6 +- e2e/app/tests/lifecycle.test.ts | 15 + .../tests}/native-component.test.ts | 13 +- e2e/app/tests/navitate.test.ts | 11 + e2e/app/tests/preset.js | 7 + e2e/app/tests/query.test.ts | 9 + e2e/app/tests/setup.js | 4 + .../test => app/tests}/turbo-page.test.ts | 19 +- e2e/{mini => app}/tsconfig.json | 4 +- e2e/{mini => app}/typings/index.d.ts | 1 + e2e/dummy/CHANGELOG.md | 149 - e2e/dummy/README.md | 33 - e2e/dummy/app.json | 1 - e2e/dummy/babel.config.js | 12 - e2e/dummy/jest.config.js | 3 - e2e/dummy/mini.project.json | 25 - e2e/dummy/package.json | 33 - e2e/dummy/project.config.json | 26 - e2e/dummy/remax.config.js | 11 - e2e/dummy/src/app.config.js | 51 - e2e/dummy/src/app.js | 3 - e2e/dummy/src/pages/modal/index.js | 13 - e2e/dummy/tests/index.test.js | 49 - e2e/dummy/yarn.lock | 9682 ----------------- e2e/mini/CHANGELOG.md | 148 - e2e/mini/README.md | 34 - e2e/mini/jest.config.js | 3 - e2e/mini/remax.config.js | 3 - e2e/mini/src/app.config.js | 42 - e2e/mini/src/app.js | 5 - e2e/mini/src/components/a/index.axml | 1 - e2e/mini/src/pages/modal/index.js | 12 - e2e/mini/src/pages/turbo-page/fragmentRoot.js | 18 - e2e/mini/test/index.test.ts | 91 - e2e/mini/test/modal.test.ts | 9 - e2e/plugin/.gitignore | 8 + e2e/plugin/CHANGELOG.md | 4 + .../jest-puppeteer.config.js | 7 +- e2e/plugin/jest.config.js | 3 + e2e/plugin/mini.project.json | 9 + e2e/plugin/miniprogram/app.acss | 3 + e2e/plugin/miniprogram/app.js | 11 + e2e/plugin/miniprogram/app.json | 14 + e2e/plugin/miniprogram/pages/index/index.acss | 19 + e2e/plugin/miniprogram/pages/index/index.axml | 10 + e2e/plugin/miniprogram/pages/index/index.js | 44 + e2e/plugin/miniprogram/pages/index/index.json | 5 + e2e/plugin/miniprogram/plugin.png | Bin 0 -> 10292 bytes e2e/{mini => plugin}/package.json | 25 +- e2e/plugin/snapshot.png | Bin 0 -> 15927 bytes e2e/plugin/src/api/data.js | 14 + .../plugin/src/assets/images}/cat.jpg | Bin e2e/plugin/src/assets/images/dog.jpg | Bin 0 -> 27462 bytes e2e/plugin/src/components/bye/index.axml | 1 + .../plugin/src/components/bye}/index.js | 0 .../plugin/src/components/bye}/index.json | 0 e2e/plugin/src/components/greet/index.js | 26 + e2e/plugin/src/components/greet2/index.js | 23 + .../src/components/list/list.acss} | 0 e2e/plugin/src/components/list/list.axml | 3 + e2e/plugin/src/components/list/list.js | 23 + .../plugin/src/components/list/list.json | 0 e2e/plugin/src/pages/hybrid/index.axml | 2 + .../plugin/src/pages/hybrid}/index.js | 0 e2e/plugin/src/pages/hybrid/index.json | 5 + .../src/pages/index}/index.css | 0 e2e/plugin/src/pages/index/index.js | 49 + e2e/plugin/src/pages/insert-before/index.js | 32 + e2e/plugin/src/plugin.config.js | 12 + e2e/plugin/tests/constants.js | 1 + e2e/{mini/test => plugin/tests}/helpers.ts | 13 +- e2e/plugin/tests/hybrid.test.ts | 20 + e2e/plugin/tests/index.test.ts | 60 + e2e/{mini/test => plugin/tests}/preset.js | 0 package.json | 9 +- .../CHANGELOG.md | 4 + .../README.md | 3 + .../jest.config.js | 5 + .../package.json | 44 + .../src/index.ts | 376 + .../tests/index.test.ts | 350 + .../tsconfig.json | 16 + .../typings/index.d.ts | 1 + .../babel-plugin-remax-lifecycle/CHANGELOG.md | 4 + .../babel-plugin-remax-lifecycle/README.md | 11 + .../jest.config.js | 5 + .../babel-plugin-remax-lifecycle/package.json | 41 + .../babel-plugin-remax-lifecycle/src/app.ts | 63 + .../babel-plugin-remax-lifecycle/src/index.ts | 2 + .../src/page.ts} | 29 +- .../tests/app.test.ts | 63 + .../tests/page.test.ts | 71 + .../tsconfig.json | 16 + .../typings/index.d.ts | 1 + .../CHANGELOG.md | 4 + .../README.md | 11 + .../jest.config.js | 5 + .../package.json | 41 + .../src/index.ts | 30 + .../tests/fixtures/fix/code.js | 5 + .../tests/fixtures/fix/output.js | 3 + .../tests/index.test.ts | 10 + .../tsconfig.json | 16 + .../typings/index.d.ts | 1 + .../CHANGELOG.md | 4 + .../babel-plugin-remax-turbo-render/README.md | 3 + .../jest.config.js | 5 + .../package.json | 42 + .../src}/constants.ts | 4 +- .../src/extractTemplate.ts | 195 + .../src}/helpers.ts | 75 +- .../helpers/cleanJSXElementLiteralChild.ts | 45 + .../src/index.ts | 3 + .../src/preprocess.ts | 136 + .../src}/templates/JSXElement.ts | 29 +- .../src}/templates/JSXExpressionContainer.ts | 8 +- .../src}/templates/attributes.ts | 49 +- .../src}/templates/index.ts | 14 +- .../src}/templates/stringPath.ts | 0 .../src}/types.ts | 4 + .../parent-is-composition-component/code.js | 9 + .../parent-is-composition-component/output.js | 8 + .../fixtures/remove-empty-expression/code.js | 3 + .../remove-empty-expression/output.js | 2 + .../tests/fixtures/skip-elements/code.js | 11 + .../tests/fixtures/skip-elements/output.js | 11 + .../fixtures/skip-non-host-component/code.js | 6 + .../skip-non-host-component/output.js | 7 + .../tests/fixtures/spm-attributes/code.js | 7 + .../tests/fixtures/spm-attributes/output.js | 6 + .../tests/fixtures/transform-fragment/code.js | 11 + .../fixtures/transform-fragment/output.js | 10 + .../tests/fixtures/wrap-expression/code.js | 13 + .../tests/fixtures/wrap-expression/output.js | 16 + .../tests/preprocess.test.ts | 42 + .../tests/render.test.ts | 374 + .../tsconfig.json | 16 + .../typings/index.d.ts | 1 + .../src/__tests__/components/Camera.test.tsx | 11 + .../src/__tests__/components/Lottie.test.tsx | 11 + .../__snapshots__/Camera.test.tsx.snap | 7 + .../__snapshots__/Lottie.test.tsx.snap | 8 + packages/remax-ali/src/__tests__/node.test.ts | 38 - .../remax-ali/src/{api/index.ts => api.ts} | 4 +- .../src/hostComponents/Button/index.ts | 4 +- .../src/hostComponents/Button/node.ts | 5 +- .../src/hostComponents/Camera/index.ts | 21 + .../src/hostComponents/Camera/node.ts | 20 + .../src/hostComponents/Canvas/index.ts | 5 +- .../src/hostComponents/Canvas/node.ts | 5 +- .../src/hostComponents/Checkbox/index.ts | 5 +- .../src/hostComponents/Checkbox/node.ts | 4 +- .../src/hostComponents/CheckboxGroup/index.ts | 8 +- .../src/hostComponents/CheckboxGroup/node.ts | 4 +- .../src/hostComponents/ContactButton/index.ts | 8 +- .../src/hostComponents/ContactButton/node.ts | 4 +- .../src/hostComponents/CoverImage/index.ts | 4 +- .../src/hostComponents/CoverImage/node.ts | 4 +- .../src/hostComponents/CoverView/index.ts | 4 +- .../src/hostComponents/CoverView/node.ts | 4 +- .../src/hostComponents/Form/index.ts | 4 +- .../remax-ali/src/hostComponents/Form/node.ts | 4 +- .../src/hostComponents/Icon/index.ts | 4 +- .../remax-ali/src/hostComponents/Icon/node.ts | 4 +- .../src/hostComponents/Image/index.ts | 4 +- .../src/hostComponents/Image/node.ts | 4 +- .../src/hostComponents/Input/index.ts | 4 +- .../src/hostComponents/Input/node.ts | 4 +- .../src/hostComponents/Label/index.ts | 4 +- .../src/hostComponents/Label/node.ts | 4 +- .../src/hostComponents/Lifestyle/index.ts | 4 +- .../src/hostComponents/Lifestyle/node.ts | 4 +- .../src/hostComponents/Lottie/index.ts | 26 + .../src/hostComponents/Lottie/node.ts | 25 + .../remax-ali/src/hostComponents/Map/index.ts | 4 +- .../remax-ali/src/hostComponents/Map/node.ts | 4 +- .../src/hostComponents/MovableArea/index.ts | 6 +- .../src/hostComponents/MovableArea/node.ts | 4 +- .../src/hostComponents/MovableView/index.ts | 6 +- .../src/hostComponents/MovableView/node.ts | 4 +- .../src/hostComponents/Navigator/index.ts | 4 +- .../src/hostComponents/Navigator/node.ts | 4 +- .../src/hostComponents/Picker/index.ts | 4 +- .../src/hostComponents/Picker/node.ts | 4 +- .../src/hostComponents/PickerView/index.ts | 4 +- .../src/hostComponents/PickerView/node.ts | 4 +- .../hostComponents/PickerViewColumn/index.ts | 4 +- .../src/hostComponents/Progress/index.ts | 4 +- .../src/hostComponents/Progress/node.ts | 4 +- .../src/hostComponents/Radio/index.ts | 4 +- .../src/hostComponents/Radio/node.ts | 4 +- .../src/hostComponents/RadioGroup/index.ts | 4 +- .../src/hostComponents/RadioGroup/node.ts | 4 +- .../src/hostComponents/RichText/index.ts | 4 +- .../src/hostComponents/RichText/node.ts | 4 +- .../src/hostComponents/ScrollView/index.ts | 4 +- .../src/hostComponents/ScrollView/node.ts | 4 +- .../src/hostComponents/Slider/index.ts | 4 +- .../src/hostComponents/Slider/node.ts | 4 +- .../src/hostComponents/Swiper/index.ts | 4 +- .../src/hostComponents/Swiper/node.ts | 4 +- .../src/hostComponents/SwiperItem/index.ts | 7 +- .../src/hostComponents/SwiperItem/node.ts | 11 +- .../src/hostComponents/Switch/index.ts | 5 +- .../src/hostComponents/Switch/node.ts | 4 +- .../src/hostComponents/Text/index.ts | 4 +- .../remax-ali/src/hostComponents/Text/node.ts | 4 +- .../src/hostComponents/Textarea/index.ts | 4 +- .../src/hostComponents/Textarea/node.ts | 4 +- .../src/hostComponents/Video/index.ts | 5 +- .../src/hostComponents/Video/node.ts | 5 +- .../src/hostComponents/View/index.ts | 4 +- .../remax-ali/src/hostComponents/View/node.ts | 4 +- .../src/hostComponents/WebView/index.ts | 4 +- .../src/hostComponents/WebView/node.ts | 5 +- .../remax-ali/src/hostComponents/index.ts | 2 + packages/remax-ali/src/hostComponents/node.ts | 4 + packages/remax-ali/src/index.ts | 2 +- packages/remax-ali/src/node/index.ts | 4 +- packages/remax-ali/src/types/config.ts | 1 + .../remax-ali/templates/default/component.ejs | 4 +- packages/remax-ali/templates/default/page.ejs | 10 +- .../static/host-components/camera.ejs | 7 + .../static/host-components/lottie.ejs | 7 + .../static/host-components/picker.ejs | 4 +- .../static/host-components/swiper.ejs | 6 +- .../templates/static/isolated-templates.ejs | 5 + .../templates/static/native-component.ejs | 4 +- packages/remax-ali/templates/static/page.ejs | 19 +- packages/remax-ali/tsconfig.json | 10 +- packages/remax-build-store/CHANGELOG.md | 4 + packages/remax-build-store/README.md | 3 + packages/remax-build-store/package.json | 31 + packages/remax-build-store/src/index.ts | 119 + packages/remax-build-store/tsconfig.json | 16 + .../remax-cli/{src => }/OptionsSchema.json | 25 +- packages/remax-cli/package.json | 7 + packages/remax-cli/src/API.ts | 56 +- packages/remax-cli/src/SourceCache.ts | 13 + packages/remax-cli/src/__tests__/API.test.ts | 11 +- .../UNSAFE_wechatTemplateDepth.test.ts | 49 - .../remax-cli/src/__tests__/config.test.ts | 34 - .../__snapshots__/config.test.ts.snap | 24 - .../src/__tests__/integration/ali.test.ts | 6 +- .../src/__tests__/integration/assets.test.ts | 4 +- .../src/__tests__/integration/babelrc.test.ts | 6 +- .../integration/circularDependence.test.ts | 4 +- .../src/__tests__/integration/cli.test.ts | 24 - .../src/__tests__/integration/config.test.ts | 18 +- .../createHostComponent/ali.test.ts | 6 +- .../createHostComponent/toutiao.test.ts | 11 - .../createHostComponent/wechat.test.ts | 11 - .../integration/customCwdBabel.test.ts | 4 +- .../integration/customHtmlTemplate.test.ts | 6 - .../integration/customRootDir.test.ts | 4 +- .../src/__tests__/integration/env.test.ts | 4 +- .../ali/expected/__remax_runtime_options__.js | 57 +- .../integration/fixtures/ali/expected/app.js | 65 +- .../ali/expected/packageA/pages/index.axml | 248 +- .../ali/expected/packageA/pages/index.js | 71 +- .../ali/expected/pages/classPage.axml | 248 +- .../fixtures/ali/expected/pages/classPage.js | 65 +- .../fixtures/ali/expected/pages/index.axml | 248 +- .../fixtures/ali/expected/pages/index.js | 102 +- .../fixtures/ali/expected/remax-styles.js | 2 +- .../fixtures/ali/expected/remax-vendors.js | 12 +- .../integration/fixtures/ali/src/app.js | 2 +- .../fixtures/ali/src/components/C/index.js | 2 +- .../fixtures/ali/src/packageA/pages/index.js | 2 +- .../fixtures/ali/src/pages/index.js | 5 +- .../6e6a60f044924f71fec456293be371f9.jpg | Bin 48890 -> 27462 bytes .../7285019d500b66029accbcfd7275e33a.jpg | Bin 15707 -> 8699 bytes .../expected/__remax_runtime_options__.js | 57 +- .../fixtures/assets/expected/app.js | 53 +- .../fixtures/assets/expected/pages/index.axml | 248 +- .../fixtures/assets/expected/pages/index.js | 60 +- .../fixtures/assets/src/pages/index.js | 2 +- .../expected/__remax_runtime_options__.js | 57 +- .../babel-plugin-import/expected/app.js | 62 +- .../expected/pages/index.axml | 248 +- .../expected/pages/index.js | 57 +- .../babel-plugin-import/src/pages/index.js | 2 +- .../fixtures/babelrc/babel.config.js | 2 +- .../expected/__remax_runtime_options__.js | 57 +- .../fixtures/babelrc/expected/app.js | 11 +- .../expected/components/a}/index.acss | 0 .../components/a/index.axml | 0 .../babelrc/expected/components/a/index.js | 11 + .../expected/components/a}/index.json | 1 + .../babelrc/expected/pages/index.axml | 340 +- .../fixtures/babelrc/expected/pages/index.js | 66 +- .../babelrc/expected/pages/index.json | 2 +- .../fixtures/babelrc/src/index.d.ts | 5 - .../index.tsx => babelrc/src/pages/index.js} | 17 +- .../expected/__remax_runtime_options__.js | 57 +- .../circularDependence/expected/app.js | 59 +- .../expected/pages/index.axml | 248 +- .../expected/pages/index.js | 61 +- .../circularDependence/src/pages/index.js | 2 +- .../expected/__remax_runtime_options__.js | 57 +- .../config-add-css-rule/expected/app.js | 40 +- .../expected/pages/index.axml | 248 +- .../expected/pages/index.js | 53 +- .../config-add-css-rule/remax.config.js | 5 +- .../config-add-css-rule/src/pages/index.js | 4 +- .../src/pages/{index.acss => index.scss} | 0 .../{ali => }/__remax_runtime_options__.js | 56 +- .../expected/alipay/index-chunk.js | 2451 ----- .../expected/{ali => }/app.acss | 0 .../expected/app.js | 53 +- .../expected/{ali => }/app.json | 0 .../expected/pages/index.acss | 0 .../expected/{ali => }/pages/index.axml | 282 +- .../expected/{ali => }/pages/index.js | 49 +- .../expected/{ali => }/pages/index.json | 0 .../expected/{ali => }/runtime.js | 0 .../toutiao/__remax_runtime_options__.js | 533 - .../expected/toutiao/app.js | 115 - .../expected/toutiao/app.json | 9 - .../expected/toutiao/base.ttml | 739 -- .../expected/toutiao/pages/index.js | 66 - .../expected/toutiao/pages/index.ttml | 3 - .../wechat/__remax_runtime_options__.js | 836 -- .../expected/wechat/app.js | 115 - .../expected/wechat/app.json | 9 - .../expected/wechat/base.wxml | 3552 ------ .../expected/wechat/pages/index.js | 66 - .../expected/wechat/pages/index.wxml | 3 - .../node_modules/custom-component/index.js | 4 +- .../createHostComponent/src/app.config.js | 16 - .../createHostComponent/src/pages/index.js | 2 +- .../expected/__remax_runtime_options__.js | 57 +- .../fixtures/customCwdBabel/expected/app.js | 11 +- .../expected/components/a}/index.acss | 0 .../components/a/index.axml | 0 .../expected/components/a/index.js | 11 + .../expected/components/a}/index.json | 1 + .../customCwdBabel/expected/pages/index.axml | 340 +- .../customCwdBabel/expected/pages/index.js | 66 +- .../customCwdBabel/expected/pages/index.json | 2 +- .../customCwdBabel/source/babel.config.js | 5 +- .../customCwdBabel/source/src/index.d.ts | 5 - .../source/src/pages/index.js} | 17 +- .../customHtmlTemplate/expected/index.css | 4 - .../customHtmlTemplate/expected/index.html | 21 - .../customHtmlTemplate/expected/index.js | 186 - .../expected/pages/index.js | 20 - .../customHtmlTemplate/expected/runtime.js | 223 - .../customHtmlTemplate/public/index.html | 21 - .../customHtmlTemplate/remax.config.js | 6 - .../fixtures/customHtmlTemplate/src/app.css | 3 - .../customHtmlTemplate/src/pages/index.js | 6 - .../expected/__remax_runtime_options__.js | 57 +- .../fixtures/customRootDir/expected/app.js | 11 +- .../customRootDir/expected/pages/index.axml | 248 +- .../customRootDir/expected/pages/index.js | 44 +- .../customRootDir/source/pages/index.js | 2 +- .../disablePxToRpx/expected/index-chunk.js | 2412 ---- .../env/expected/__remax_runtime_options__.js | 57 +- .../integration/fixtures/env/expected/app.js | 53 +- .../fixtures/env/expected/pages/index.axml | 248 +- .../fixtures/env/expected/pages/index.js | 49 +- .../fixtures/env/src/pages/index.js | 2 +- .../exception/remax.config/remax.config.js | 13 - .../expected/__remax_runtime_options__.js | 57 +- .../hook-config-babel/expected/app.js | 53 +- .../expected/pages/index.axml | 248 +- .../hook-config-babel/expected/pages/index.js | 58 +- .../hook-config-babel/src/pages/index.js | 2 +- .../expected/__remax_runtime_options__.js | 57 +- .../hook-config-webpack/expected/app.js | 53 +- .../expected/pages/index.axml | 248 +- .../expected/pages/index.js | 57 +- .../hook-config-webpack/src/pages/index.js | 2 +- .../expected/__remax_runtime_options__.js | 57 +- .../expected/app.acss | 0 .../expected/app.js | 53 +- .../expected/app.json | 0 .../expected/pages}/index.acss | 0 .../expected}/pages/index.axml | 256 +- .../expected/pages/index.js | 63 + .../expected}/pages/index.json | 0 .../expected/runtime.js | 0 .../remax.config.js | 0 .../src/app.js | 0 .../src/pages/index.js | 2 +- .../expected/__remax_runtime_options__.js | 57 +- .../expected/app.acss | 0 .../expected/app.js | 53 +- .../expected/app.json | 0 .../expected/pages/about.acss | 0 .../expected/pages/about.axml | 2197 ++++ .../expected/pages/about.js | 66 + .../expected/pages/about.json | 0 .../expected/pages}/index.acss | 0 .../expected/pages/index.axml | 256 +- .../expected/pages/index.js | 63 + .../expected/pages/index.json | 0 .../expected/runtime.js | 0 .../remax.config.js | 0 .../src/app.config.js | 0 .../src/app.js | 0 .../src/pages/about.js | 2 +- .../src/pages/index.js | 2 +- .../expected/__remax_runtime_options__.js | 59 +- .../expected/app.acss | 0 .../expected}/app.js | 53 +- .../hook-on-page-template/expected/app.json | 6 + .../expected/pages/about.acss} | 0 .../expected/pages/about.axml | 2198 ++++ .../expected/pages/about.js | 66 + .../expected/pages/about.json} | 0 .../expected/pages/index.acss | 0 .../expected}/pages/index.axml | 252 +- .../expected/pages/index.js | 63 + .../expected/pages/index.json | 0 .../expected/runtime.js | 0 .../hook-on-page-template/remax.config.js | 12 + .../hook-on-page-template/src/app.config.js | 3 + .../src/app.js | 0 .../hook-on-page-template/src/pages/about.js | 6 + .../hook-on-page-template/src/pages/index.js | 6 + .../expected/pages/index.axml | 1967 ---- .../hook-onAppConfig/expected/pages/index.js | 54 - .../expected/pages/about.axml | 1967 ---- .../hook-onPageConfig/expected/pages/about.js | 56 - .../expected/pages/index.axml | 1967 ---- .../hook-onPageConfig/expected/pages/index.js | 54 - .../expected/__remax_runtime_options__.js | 593 + .../fixtures/hybrid-app/expected/app.acss | 4 + .../fixtures/hybrid-app/expected/app.js | 63 + .../fixtures/hybrid-app/expected/app.json | 6 + .../hybrid-app/expected/assets/bg.png | Bin 0 -> 18613 bytes .../hybrid-app/expected/assets/logo.png | Bin 0 -> 12089 bytes .../expected/components/bar/index.acss | 4 + .../expected/components/bar/index.axml | 1 + .../expected/components/bar/index.js | 20 + .../expected/components/bar}/index.json | 1 + .../expected/components/foo/index.acss | 4 + .../expected/components/foo/index.axml | 1 + .../expected/components/foo/index.js | 20 + .../expected/components/foo/index.json} | 1 + .../expected/components/zxc/index.acss | 4 + .../expected/components/zxc/index.axml | 1 + .../expected/components/zxc/index.js | 20 + .../expected/components/zxc/index.json | 4 + .../hybrid-app/expected/npm/abc/index.acss | 4 + .../hybrid-app/expected/npm/abc/index.axml | 1 + .../hybrid-app/expected/npm/abc/index.js | 22 + .../hybrid-app/expected/npm/abc/index.json | 4 + .../expected/pages/mini/_footer.axml | 1 + .../hybrid-app/expected/pages/mini/_msg.axml | 3 + .../hybrid-app/expected/pages/mini/index.acss | 5 + .../hybrid-app/expected/pages/mini/index.axml | 7 + .../hybrid-app/expected/pages/mini/index.js | 28 + .../hybrid-app/expected/pages/mini/index.json | 7 + .../hybrid-app/expected/pages/mini/index.sjs | 4 + .../expected/pages/react}/index.acss | 0 .../expected/pages/react/index.axml | 2247 ++++ .../hybrid-app/expected/pages/react/index.js | 92 + .../expected/pages/react/index.json | 6 + .../ali => hybrid-app/expected}/runtime.js | 0 .../hybrid-app/node_modules/abc/index.acss | 3 + .../hybrid-app/node_modules/abc/index.axml | 1 + .../node_modules/abc}/index.js | 0 .../node_modules/abc}/index.json | 0 .../fixtures/hybrid-app/src/app.acss | 3 + .../fixtures/hybrid-app/src/app.js | 1 + .../fixtures/hybrid-app/src/app.json | 3 + .../fixtures/hybrid-app/src/assets/bg.png | Bin 0 -> 18613 bytes .../fixtures/hybrid-app/src/assets/logo.png | Bin 0 -> 12089 bytes .../hybrid-app/src/components/bar/index.acss | 3 + .../hybrid-app/src/components/bar/index.axml | 1 + .../src/components/bar}/index.js | 0 .../src/components/bar}/index.json | 0 .../hybrid-app/src/components/foo/index.acss | 3 + .../hybrid-app/src/components/foo/index.axml | 1 + .../src/components/foo}/index.js | 0 .../src/components/foo}/index.json | 0 .../hybrid-app/src/components/zxc/index.acss | 3 + .../hybrid-app/src/components/zxc/index.axml | 1 + .../src/components/zxc}/index.js | 0 .../src/components/zxc}/index.json | 0 .../hybrid-app/src/pages/mini/_footer.axml | 1 + .../hybrid-app/src/pages/mini/_msg.axml | 3 + .../hybrid-app/src/pages/mini/index.acss | 4 + .../hybrid-app/src/pages/mini/index.axml | 7 + .../hybrid-app/src/pages/mini/index.js | 1 + .../hybrid-app/src/pages/mini/index.json | 7 + .../hybrid-app/src/pages/mini/index.sjs | 4 + .../hybrid-app/src/pages/react/index.js | 13 + .../expected/__remax_runtime_options__.js | 593 + .../components/mini-greet}/index.acss | 0 .../expected/components/mini-greet/index.axml | 1 + .../expected/components/mini-greet/index.js | 12 + .../expected/components/mini-greet/index.json | 4 + .../components/react-greet}/index.acss | 0 .../components/react-greet/index.axml | 2197 ++++ .../expected/components/react-greet/index.js | 41 + .../components/react-greet}/index.json | 0 .../expected/main.acss} | 0 .../hybrid-mini-plugin/expected/main.js | 25 + .../expected/pages/mini/index.acss | 4 + .../expected/pages/mini/index.axml | 1 + .../expected/pages/mini/index.js | 29 + .../expected/pages/mini/index.json | 6 + .../expected/pages/react}/index.acss | 0 .../expected/pages/react/index.axml | 2222 ++++ .../expected/pages/react/index.js | 120 + .../expected/pages/react/index.json | 5 + .../hybrid-mini-plugin/expected/plugin.json | 15 + .../expected/remax-vendors.js | 24 + .../expected/runtime.js | 0 .../src/components/mini-greet/index.axml | 1 + .../src/components/mini-greet}/index.js | 0 .../src/components/mini-greet}/index.json | 0 .../src/components/react-greet/index.js | 5 + .../fixtures/hybrid-mini-plugin/src/main.js | 7 + .../src/pages/mini/index.acss | 3 + .../src/pages/mini/index.axml | 1 + .../src/pages/mini/index.js | 1 + .../src/pages/mini/index.json | 6 + .../src/pages/react/index.js | 13 + .../hybrid-mini-plugin/src/plugin.json | 12 + .../fixtures/hybrid/expected/app.acss | 6 - .../fixtures/hybrid/expected/app.json | 38 - .../hybrid/expected/packageA/pages/index.acss | 9 - .../hybrid/expected/packageA/pages/index.js | 96 - .../fixtures/hybrid/expected/pages/index.acss | 5 - .../fixtures/hybrid/expected/pages/index.js | 150 - .../fixtures/hybrid/expected/pages/index.json | 5 - .../hybrid/expected/pages/native/index.axml | 1 - .../hybrid/expected/pages/native/index.json | 1 - .../hybrid/expected/remax-styles.acss | 4 - .../fixtures/hybrid/expected/remax-styles.js | 10 - .../fixtures/hybrid/expected/remax-vendors.js | 27 - .../fixtures/hybrid/remax.config.js | 12 - .../fixtures/hybrid/src/app.config.js | 32 - .../integration/fixtures/hybrid/src/app.js | 13 - .../hybrid/src/components/C/index.css | 3 - .../fixtures/hybrid/src/components/C/index.js | 6 - .../hybrid/src/native/pages/native/index.axml | 1 - .../hybrid/src/native/pages/native/index.json | 1 - .../hybrid/src/packageA/pages/index.css | 7 - .../hybrid/src/packageA/pages/index.js | 23 - .../fixtures/hybrid/src/pages/data.json | 3 - .../fixtures/hybrid/src/pages/index.css | 3 - .../fixtures/hybrid/src/pages/index.js | 33 - .../hybrid/src/pages/index.module.css | 3 - .../packages/app1/expected/index-chunk.js | 2435 ----- .../expected/__remax_runtime_options__.js | 68 +- .../fixtures/lifeCycle/expected/app.js | 65 +- .../lifeCycle/expected/pages/classPage.axml | 248 +- .../lifeCycle/expected/pages/classPage.js | 77 +- .../lifeCycle/expected/pages/index.axml | 248 +- .../lifeCycle/expected/pages/index.js | 71 +- .../integration/fixtures/lifeCycle/src/app.js | 4 +- .../fixtures/lifeCycle/src/pages/classPage.js | 4 +- .../fixtures/lifeCycle/src/pages/hoc.js | 4 +- .../fixtures/lifeCycle/src/pages/index.js | 8 +- .../fixtures/lifeCycle/src/pages/module.js | 4 +- .../6e6a60f044924f71fec456293be371f9.jpg | Bin 0 -> 27462 bytes .../7285019d500b66029accbcfd7275e33a.jpg | Bin 0 -> 8699 bytes .../expected/__remax_runtime_options__.js | 593 + .../expected/api/data.acss} | 0 .../mini-plugin-basic/expected/api/data.js | 30 + .../expected/components/greet/index.acss} | 0 .../expected/components/greet/index.axml | 2201 ++++ .../expected/components/greet/index.js | 66 + .../expected/components/greet/index.json | 4 + .../expected/pages/index/index.acss | 13 + .../expected/pages/index/index.axml | 2201 ++++ .../expected/pages/index/index.js | 194 + .../expected/pages/index}/index.json | 0 .../mini-plugin-basic/expected/plugin.json | 12 + .../expected/remax-vendors.js | 51 + .../expected}/runtime.js | 0 .../mini-plugin-basic/src/api/data.js | 14 + .../src/assets/images/cat.jpg | Bin 0 -> 8699 bytes .../src/assets/images/dog.jpg | Bin 0 -> 27462 bytes .../src/components/greet/index.js | 5 + .../src/components/greet2/index.js | 5 + .../src/components/list/list.acss} | 0 .../src/components/list/list.axml | 3 + .../src/components/list/list.js | 23 + .../src/components/list/list.json} | 0 .../src/pages/index/index.css | 12 + .../src/pages/index/index.js | 4 +- .../src/pages/insert-before/index.js | 32 + .../mini-plugin-basic/src/plugin.config.js | 10 + .../namespaceAttribute/babel.config.js | 2 +- .../expected/__remax_runtime_options__.js | 57 +- .../namespaceAttribute/expected/app.js | 53 +- .../components/native-component/index.acss} | 0 .../components/native-component/index.axml | 0 .../components/native-component/index.js | 14 + .../components/native-component/index.json | 4 + .../expected/pages/index.axml | 302 +- .../expected/pages/index.js | 63 +- .../expected/pages/index.json | 2 +- .../components/native-component/index.js | 3 - .../namespaceAttribute/src/pages/index.js | 2 +- .../expected/ali/__remax_runtime_options__.js | 554 - .../nativeComponent/expected/ali/app.js | 57 +- .../ali/components/_foo/a/index.acss} | 0 .../components/_foo/a/index.axml | 0 .../expected/ali/components/_foo/a/index.js | 11 + .../expected/ali/components/_foo/a/index.json | 4 + .../expected/ali/components/a/index.acss} | 0 .../components/a/index.axml | 0 .../expected/ali/components/a/index.js | 14 + .../expected/ali/components/a/index.json | 4 + .../expected/ali/components/b/index.acss} | 0 .../components/b/index.axml | 0 .../expected/ali/components/b/index.js | 11 + .../expected/ali/components/b/index.json | 4 + .../expected/ali/components/c/index.acss} | 0 .../components/c/index.axml | 0 .../expected/ali/components/c/index.js | 11 + .../expected/ali/components/c/index.json | 4 + .../components/complex/button.acss | 0 .../components/complex/import1.axml | 0 .../components/complex/import2.axml | 0 .../components/complex/include.axml | 0 .../components/complex/index.acss | 0 .../components/complex/index.axml | 0 .../expected/ali/components/complex/index.js | 11 + .../components/complex/index.json | 4 +- .../components/complex/index.sjs | 0 .../components/complex/msg.sjs | 0 .../expected/ali/components/d/index.acss} | 0 .../components/d/index.axml | 0 .../expected/ali/components/d/index.js | 11 + .../expected/ali/components/d/index.json | 4 + .../expected/ali/components/e/index.acss} | 0 .../components/e/index.axml | 0 .../expected/ali/components/e/index.js | 11 + .../expected/ali/components/e/index.json | 4 + .../expected/ali/components/f/index.acss} | 0 .../components/f/index.axml | 0 .../expected/ali/components/f/index.js | 11 + .../expected/ali/components/f/index.json | 4 + .../ali/components/notInJSX/index.acss} | 0 .../ali/components/notInJSX/index.axml | 1 + .../expected/ali/components/notInJSX/index.js | 11 + .../ali/components/notInJSX/index.json | 4 + .../expected/ali/components/slot/index.acss} | 0 .../components/slot/index.axml | 0 .../expected/ali/components/slot/index.js | 11 + .../expected/ali/components/slot/index.json | 4 + .../expected/ali/components/src/index.acss} | 0 .../components/src/index.axml | 0 .../expected/ali/components/src/index.js | 11 + .../expected/ali/components/src/index.json | 4 + .../npm/cjs => npm/commonjs}/index.acss | 0 .../npm/cjs => npm/commonjs}/index.axml | 0 .../expected/ali/npm/commonjs/index.js | 131 + .../expected/ali/npm/commonjs/index.json | 6 + .../expected/ali/pages/index.axml | 958 +- .../expected/ali/pages/index.js | 149 +- .../expected/ali/pages/index.json | 25 +- .../expected/ali/pages/index2.axml | 363 +- .../expected/ali/pages/index2.js | 96 +- .../expected/ali/pages/index2.json | 4 +- .../expected/ali/pages/index3.axml | 485 +- .../expected/ali/pages/index3.js | 50 +- .../expected/ali/pages/index3.json | 8 +- .../expected/ali/pages/index4.axml | 485 +- .../expected/ali/pages/index4.js | 50 +- .../expected/ali/pages/index4.json | 8 +- .../expected/ali/pages/subPackage.axml | 367 +- .../expected/ali/pages/subPackage.js | 56 +- .../expected/ali/pages/subPackage.json | 4 +- .../expected/ali/remax-vendors.js | 105 - .../ali/remaxVendors/components/a/index.js | 3 - .../ali/remaxVendors/components/e/index.js | 1 - .../ali/remaxVendors/components/f/index.js | 1 - .../ali/remaxVendors/components/f/index.json | 3 - .../ali/remaxVendors/components/slot/index.js | 1 - .../remaxVendors/components/slot/index.json | 3 - .../ali/remaxVendors/components/src/index.js | 1 - .../remaxVendors/components/src/index.json | 3 - .../ali/remaxVendors/npm/_module/a/index.js | 1 - .../remaxVendors/npm/cjs/esmodule/index.js | 3 - .../ali/remaxVendors/npm/moduleB/index.axml | 1 - .../ali/remaxVendors/npm/moduleB/index.js | 1 - .../ali/remaxVendors/npm/moduleB/index.json | 3 - .../ali/remaxVendors/npm/moduleC/index.js | 1 - .../ali/remaxVendors/npm/moduleC/index.json | 3 - .../node_modules/cjs/esmodule/index.js | 3 - .../node_modules/cjs/fmtEvent.js | 26 - .../nativeComponent/node_modules/cjs/index.js | 62 - .../node_modules/cjs/index.json | 7 - .../node_modules/commonjs/esmodule/index.js | 1 + .../cjs => node_modules/commonjs}/fmtEvent.js | 0 .../node_modules/{cjs => commonjs}/index.acss | 0 .../node_modules/{cjs => commonjs}/index.axml | 0 .../cjs => node_modules/commonjs}/index.js | 2 - .../cjs => node_modules/commonjs}/index.json | 0 .../{cjs => commonjs}/package.json | 0 .../src/components/g/{index.tsx => index.js} | 2 +- .../src/components/h/{Hello.tsx => Hello.js} | 0 .../src/components/h/{index.tsx => index.js} | 0 .../fixtures/nativeComponent/src/index.d.ts | 5 - .../nativeComponent/src/pages/Hello.js | 2 +- .../nativeComponent/src/pages/Nihao.js | 2 +- .../nativeComponent/src/pages/index.js | 8 +- .../nativeComponent/src/pages/index2.js | 2 +- .../src/pages/{index3.tsx => index3.js} | 2 +- .../src/pages/{index4.tsx => index4.js} | 2 +- .../nativeComponent/src/pages/subPackage.js | 4 +- .../expected/ali/__remax_runtime_options__.js | 551 - .../fixtures/one/expected/ali/app.acss | 6 - .../fixtures/one/expected/ali/app.js | 147 - .../fixtures/one/expected/ali/app.json | 37 - .../fixtures/one/expected/ali/cat.jpg | Bin 15707 -> 0 bytes .../expected/ali/packageA/pages/index.acss | 9 - .../one/expected/ali/packageA/pages/index.js | 105 - .../one/expected/ali/pages/index.acss | 5 - .../one/expected/ali/pages/index.axml | 1971 ---- .../fixtures/one/expected/ali/pages/index.js | 188 - .../one/expected/ali/pages/index.json | 5 - .../one/expected/ali/remax-styles.acss | 4 - .../fixtures/one/expected/ali/remax-styles.js | 10 - .../one/expected/ali/remax-vendors.js | 27 - .../toutiao/__remax_runtime_options__.js | 523 - .../fixtures/one/expected/toutiao/app.js | 147 - .../fixtures/one/expected/toutiao/app.json | 37 - .../fixtures/one/expected/toutiao/app.ttss | 6 - .../fixtures/one/expected/toutiao/base.ttml | 713 -- .../fixtures/one/expected/toutiao/cat.jpg | Bin 15707 -> 0 bytes .../expected/toutiao/packageA/pages/index.js | 105 - .../toutiao/packageA/pages/index.ttml | 3 - .../toutiao/packageA/pages/index.ttss | 9 - .../one/expected/toutiao/pages/index.js | 186 - .../one/expected/toutiao/pages/index.json | 4 - .../one/expected/toutiao/pages/index.ttml | 3 - .../one/expected/toutiao/pages/index.ttss | 5 - .../one/expected/toutiao/remax-styles.js | 10 - .../one/expected/toutiao/remax-styles.ttss | 4 - .../one/expected/toutiao/remax-vendors.js | 27 - .../fixtures/one/expected/web/cat.jpg | Bin 15707 -> 0 bytes .../fixtures/one/expected/web/index.css | 5 - .../fixtures/one/expected/web/index.js | 353 - .../one/expected/web/packageA/pages/index.css | 12 - .../one/expected/web/packageA/pages/index.js | 81 - .../fixtures/one/expected/web/pages/index.css | 8 - .../fixtures/one/expected/web/pages/index.js | 168 - .../wechat/__remax_runtime_options__.js | 826 -- .../fixtures/one/expected/wechat/app.js | 147 - .../fixtures/one/expected/wechat/app.json | 37 - .../fixtures/one/expected/wechat/app.wxss | 6 - .../fixtures/one/expected/wechat/base.wxml | 3402 ------ .../fixtures/one/expected/wechat/cat.jpg | Bin 15707 -> 0 bytes .../expected/wechat/packageA/pages/index.js | 105 - .../expected/wechat/packageA/pages/index.wxml | 3 - .../expected/wechat/packageA/pages/index.wxss | 9 - .../one/expected/wechat/pages/index.js | 182 - .../one/expected/wechat/pages/index.json | 4 - .../one/expected/wechat/pages/index.wxml | 3 - .../one/expected/wechat/pages/index.wxss | 5 - .../one/expected/wechat/remax-styles.js | 10 - .../one/expected/wechat/remax-styles.wxss | 4 - .../one/expected/wechat/remax-vendors.js | 27 - .../integration/fixtures/one/remax.config.js | 8 - .../fixtures/one/src/api/chooseImage/index.js | 3 - .../one/src/api/chooseImage/index.wechat.js | 3 - .../one/src/api/chooseImageAli/index.ali.ts | 3 - .../one/src/api/chooseImageAli/index.mini.ts | 3 - .../one/src/api/chooseImageAli/index.ts | 3 - .../src/api/chooseImageAli/index.wechat.ts | 3 - .../one/src/api/chooseImageMini/index.js | 3 - .../one/src/api/chooseImageMini/index.mini.js | 3 - .../src/api/chooseImageMini/index.wechat.js | 3 - .../integration/fixtures/one/src/app.css | 4 - .../integration/fixtures/one/src/app.js | 13 - .../fixtures/one/src/components/C/index.css | 3 - .../fixtures/one/src/components/C/index.js | 6 - .../fixtures/one/src/packageA/pages/index.css | 7 - .../fixtures/one/src/packageA/pages/index.js | 23 - .../fixtures/one/src/pages/index.config.js | 16 - .../fixtures/one/src/pages/index.css | 3 - .../fixtures/one/src/pages/index.js | 39 - .../fixtures/one/src/pages/index.module.css | 3 - .../expected/__remax_runtime_options__.js | 57 +- .../fixtures/reactDomAlias/expected/app.js | 53 +- .../reactDomAlias/expected/pages/index.axml | 248 +- .../reactDomAlias/expected/pages/index.js | 55 +- .../fixtures/reactDomAlias/src/app.config.js | 16 - .../fixtures/reactDomAlias/src/pages/index.js | 2 +- .../expected/__remax_runtime_options__.js | 57 +- .../ali => regenerator-pkg/expected}/app.acss | 0 .../fixtures/regenerator-pkg/expected/app.js | 130 + .../expected/app.json | 0 .../expected/pages/index.acss} | 0 .../regenerator-pkg/expected/pages/index.axml | 2205 ++++ .../regenerator-pkg/expected/pages/index.js | 236 + .../expected}/pages/index.json | 0 .../expected}/runtime.js | 0 .../regenerator-pkg/node_modules/foo/index.js | 4 + .../node_modules/foo/index2.js | 63 + .../node_modules/foo/package.json | 5 + .../src/app.config.js | 0 .../{universe => regenerator-pkg}/src/app.js | 0 .../regenerator-pkg/src/pages/index.js | 24 + .../{toutiao => remaxPlugins}/babel.config.js | 0 .../fixtures/remaxPlugins/remax.config.js | 5 + .../{one => remaxPlugins}/src/app.config.js | 10 +- .../{hybrid => remaxPlugins}/src/app.css | 0 .../src/app.js | 0 .../src}/assets/images/cat.png | 0 .../src}/assets/images/dog.png | 0 .../src/packageA/pages/index.js | 2 +- .../src/pages/index.config.js | 0 .../src/pages/index.js | 9 +- .../renamePage/expected/pages/index.axml | 1967 ---- .../renamePage/expected/pages/index.js | 55 - .../fixtures/renamePage/src/pages/index.js | 7 - .../expected/__remax_runtime_options__.js | 57 +- .../resolve-platform-ext/expected/app.js | 34 +- .../expected/pages/index.axml | 256 +- .../expected/pages/index.js | 47 +- .../src/pages/index.ali.js | 4 +- .../resolve-platform-ext/src/pages/index.js | 2 +- .../expected}/__remax_runtime_options__.js | 57 +- .../expected/app.acss} | 0 .../expected/app.js | 143 +- .../runtime-plugin-with-jsx/expected/app.json | 5 + .../expected/pages/index.acss} | 0 .../expected/pages/index.axml | 2197 ++++ .../expected/pages/index.js | 64 + .../expected}/pages/index.json | 0 .../expected}/runtime.js | 2 +- .../runtime-plugin-with-jsx/remax.config.js | 7 + .../runtime-plugin-with-jsx/runtime.js | 12 + .../src/app.config.js | 1 - .../src/app.js | 1 - .../src/pages/index.js | 6 + .../expected/__remax_runtime_options__.js | 57 +- .../fixtures/runtime-plugin/expected/app.js | 53 +- .../runtime-plugin/expected/pages/index.axml | 248 +- .../runtime-plugin/expected/pages/index.js | 49 +- .../runtime-plugin/src/pages/index.js | 2 +- .../expected/__remax_runtime_options__.js | 523 - .../fixtures/toutiao/expected/app.js | 124 - .../fixtures/toutiao/expected/app.json | 37 - .../fixtures/toutiao/expected/app.ttss | 4 - .../fixtures/toutiao/expected/base.ttml | 713 -- .../toutiao/expected/packageA/pages/index.js | 74 - .../expected/packageA/pages/index.ttml | 3 - .../fixtures/toutiao/expected/pages/index.js | 113 - .../toutiao/expected/pages/index.json | 5 - .../toutiao/expected/pages/index.ttml | 3 - .../fixtures/toutiao/expected/runtime.js | 154 - .../fixtures/toutiao/remax.config.js | 7 - .../fixtures/toutiao/src/app.config.js | 33 - .../integration/fixtures/toutiao/src/app.css | 3 - .../toutiao/src/pages/index.config.js | 4 - .../fixtures/toutiao/src/pages/index.js | 25 - .../turbo-pages-basic/babel.config.js | 2 +- .../expected/__remax_runtime_options__.js | 58 +- .../turbo-pages-basic/expected/app.js | 53 +- .../components/nativeComponent/index.acss} | 0 .../components/nativeComponent/index.axml | 0 .../components/nativeComponent/index.js | 11 + .../components/nativeComponent/index.json | 4 + .../expected/pages/index.axml | 2767 +++-- .../turbo-pages-basic/expected/pages/index.js | 178 +- .../expected/pages/index.json | 2 +- .../components/nativeComponent/index.js | 1 - .../components/nativeComponent/index.json | 3 - .../turbo-pages-basic/remax.config.js | 3 - .../turbo-pages-basic/src/pages/index.js | 11 +- .../expected/__remax_runtime_options__.js | 58 +- .../turbo-pages-fragment-root/expected/app.js | 170 +- .../expected/isolated.axml | 1 + .../expected/pages/index.axml | 96 +- .../expected/pages/index.js | 55 +- .../turbo-pages-fragment-root/remax.config.js | 2 +- .../src/pages/index.js | 26 +- .../expected/app.acss} | 0 .../expected/app.js | 206 + .../expected/app.json | 5 + .../expected/pages/index.acss} | 0 .../expected/pages/index.axml | 723 ++ .../expected/pages/index.js | 76 + .../expected/pages/index.json | 0 .../expected}/runtime.js | 2 +- .../remax.config.js | 3 + .../src/app.config.js | 3 + .../src/app.js | 1 - .../src/pages/index.js | 9 + .../expected/__remax_runtime_options__.js | 593 + .../expected/app.acss} | 0 .../turbo-pages-picker-view/expected/app.js | 225 + .../turbo-pages-picker-view/expected/app.json | 5 + .../expected/isolated.axml | 1 + .../expected/pages/index.acss} | 0 .../expected/pages/index.axml | 804 ++ .../expected/pages/index.js | 84 + .../expected}/pages/index.json | 0 .../expected}/runtime.js | 2 +- .../turbo-pages-picker-view/remax.config.js | 3 + .../turbo-pages-picker-view/src/app.config.js | 3 + .../turbo-pages-picker-view/src/app.js | 7 + .../src/pages/index.js | 37 + .../expected/__remax_runtime_options__.js | 593 + .../expected/app.acss} | 0 .../turbo-pages-swiper/expected/app.js | 225 + .../turbo-pages-swiper/expected/app.json | 5 + .../turbo-pages-swiper/expected/isolated.axml | 1 + .../expected/pages/index.acss} | 0 .../expected/pages/index.axml | 789 ++ .../expected/pages/index.js | 70 + .../expected}/pages/index.json | 0 .../expected}/runtime.js | 2 +- .../turbo-pages-swiper/remax.config.js | 3 + .../turbo-pages-swiper/src/app.config.js | 3 + .../fixtures/turbo-pages-swiper/src/app.js | 7 + .../turbo-pages-swiper/src/pages/index.js | 17 + .../fixtures/typescript/expected/ali/app.acss | 4 - .../fixtures/typescript/expected/ali/app.js | 173 - .../fixtures/typescript/expected/ali/app.json | 11 - .../typescript/expected/ali/pages/index.axml | 1889 ---- .../typescript/expected/ali/pages/index.js | 89 - .../typescript/expected/ali/pages/index.json | 5 - .../expected/ali/pages/page2/index.axml | 1889 ---- .../expected/ali/pages/page2/index.js | 88 - .../expected/ali/pages/page2/index.json | 5 - .../expected/ali/pages/page3/index.axml | 1889 ---- .../expected/ali/pages/page3/index.js | 90 - .../expected/ali/pages/page3/index.json | 5 - .../typescript/expected/ali/remax-vendors.js | 75 - .../typescript/expected/alipay/index-chunk.js | 2502 ----- .../toutiao/__remax_runtime_options__.js | 524 - .../typescript/expected/toutiao/app.js | 161 - .../typescript/expected/toutiao/app.json | 11 - .../typescript/expected/toutiao/app.ttss | 4 - .../typescript/expected/toutiao/base.ttml | 712 -- .../expected/toutiao/pages/index.js | 92 - .../expected/toutiao/pages/index.json | 5 - .../expected/toutiao/pages/index.ttml | 3 - .../expected/toutiao/pages/page2/index.js | 91 - .../expected/toutiao/pages/page2/index.json | 5 - .../expected/toutiao/pages/page2/index.ttml | 3 - .../expected/toutiao/pages/page2/index.ttss | 0 .../expected/toutiao/pages/page3/index.js | 93 - .../expected/toutiao/pages/page3/index.json | 5 - .../expected/toutiao/pages/page3/index.ttml | 3 - .../expected/toutiao/pages/page3/index.ttss | 0 .../expected/toutiao/remax-vendors.js | 75 - .../typescript/expected/toutiao/runtime.js | 154 - .../wechat/__remax_runtime_options__.js | 827 -- .../typescript/expected/wechat/app.js | 161 - .../typescript/expected/wechat/app.json | 11 - .../typescript/expected/wechat/app.wxss | 4 - .../typescript/expected/wechat/base.wxml | 3362 ------ .../typescript/expected/wechat/pages/index.js | 92 - .../expected/wechat/pages/index.json | 5 - .../expected/wechat/pages/index.wxml | 3 - .../expected/wechat/pages/index.wxss | 0 .../expected/wechat/pages/page2/index.js | 91 - .../expected/wechat/pages/page2/index.json | 5 - .../expected/wechat/pages/page2/index.wxml | 3 - .../expected/wechat/pages/page2/index.wxss | 0 .../expected/wechat/pages/page3/index.js | 93 - .../expected/wechat/pages/page3/index.json | 5 - .../expected/wechat/pages/page3/index.wxml | 3 - .../expected/wechat/pages/page3/index.wxss | 0 .../expected/wechat/remax-vendors.js | 75 - .../typescript/expected/wechat/runtime.js | 154 - .../fixtures/typescript/src/app.config.ts | 29 - .../fixtures/typescript/src/app.css | 3 - .../fixtures/typescript/src/app.tsx | 37 - .../typescript/src/components/Text.tsx | 16 - .../typescript/src/components/View.tsx | 16 - .../typescript/src/pages/importApp.tsx | 11 - .../typescript/src/pages/index.config.ts | 20 - .../fixtures/typescript/src/pages/index.tsx | 24 - .../src/pages/page2/index.config.ts | 8 - .../typescript/src/pages/page2/index.tsx | 20 - .../src/pages/page3/index.config.ts | 8 - .../typescript/src/pages/page3/index.tsx | 20 - .../fixtures/universe/expected/ali/app.js | 115 - .../universe/expected/ali/pages/index.axml | 1967 ---- .../universe/expected/ali/pages/index.js | 195 - .../universe/expected/alipay/index-chunk.js | 2481 ----- .../universe/expected/alipay/pages/index.axml | 1889 ---- .../toutiao/__remax_runtime_options__.js | 522 - .../fixtures/universe/expected/toutiao/app.js | 115 - .../universe/expected/toutiao/app.json | 9 - .../universe/expected/toutiao/app.ttss | 0 .../universe/expected/toutiao/base.ttml | 712 -- .../universe/expected/toutiao/pages/index.js | 195 - .../expected/toutiao/pages/index.ttml | 3 - .../expected/toutiao/pages/index.ttss | 0 .../universe/expected/toutiao/runtime.js | 154 - .../wechat/__remax_runtime_options__.js | 825 -- .../fixtures/universe/expected/wechat/app.js | 115 - .../universe/expected/wechat/app.json | 9 - .../universe/expected/wechat/app.wxss | 0 .../universe/expected/wechat/base.wxml | 3362 ------ .../universe/expected/wechat/pages/index.js | 195 - .../universe/expected/wechat/pages/index.wxml | 3 - .../universe/expected/wechat/pages/index.wxss | 0 .../universe/expected/wechat/runtime.js | 154 - .../fixtures/universe/src/app.config.js | 23 - .../fixtures/universe/src/components/Text.js | 16 - .../fixtures/universe/src/components/View.js | 16 - .../web/expected-multi/pages/index/index.css | 45 + .../web/expected-multi/pages/index/index.html | 10 + .../web/expected-multi/pages/index/index.js | 154 + .../web/expected-multi/pages/index/index2.css | 45 + .../expected-multi/pages/index/index2.html | 10 + .../web/expected-multi/pages/index/index2.js | 143 + .../fixtures/web/expected-multi/runtime.js | 154 + .../fixtures/web/expected/index.css | 1 + .../expected/web => web/expected}/index.html | 0 .../fixtures/web/expected/index.js | 102 + .../web/expected/pages/index/index.js | 51 + .../web/expected/pages/index/index2.js | 37 + .../fixtures/web/expected/remax-styles.css | 44 + .../fixtures/web/expected/remax-styles.js | 11 + .../expected/web => web/expected}/runtime.js | 6 +- .../fixtures/web/src/app.config.js | 7 + .../pages/index.ttss => web/src/app.css} | 0 .../integration/fixtures/web/src/app.js | 8 + .../fixtures/web/src/pages/index/index.css | 29 + .../fixtures/web/src/pages/index/index.js | 46 + .../fixtures/web/src/pages/index/index2.js | 21 + .../fixtures/wechat/babel.config.js | 7 - .../expected/__remax_runtime_options__.js | 828 -- .../fixtures/wechat/expected/app.js | 124 - .../fixtures/wechat/expected/app.json | 39 - .../fixtures/wechat/expected/app.wxss | 4 - .../wechat/expected/assets/images/cat.png | 0 .../wechat/expected/assets/images/dog.png | 0 .../fixtures/wechat/expected/base.wxml | 3402 ------ .../wechat/expected/packageA/pages/index.js | 77 - .../wechat/expected/packageA/pages/index.wxml | 3 - .../wechat/expected/packageA/pages/index.wxss | 0 .../wechat/expected/packageA/pages/index2.js | 72 - .../expected/packageA/pages/index2.wxml | 3 - .../expected/packageA/pages/index2.wxss | 0 .../fixtures/wechat/expected/pages/index.js | 124 - .../fixtures/wechat/expected/pages/index.json | 5 - .../fixtures/wechat/expected/pages/index.wxml | 3 - .../fixtures/wechat/expected/pages/index.wxss | 0 .../fixtures/wechat/expected/pages/index2.js | 126 - .../wechat/expected/pages/index2.json | 3 - .../wechat/expected/pages/index2.wxml | 3 - .../wechat/expected/pages/index2.wxss | 0 .../fixtures/wechat/expected/runtime.js | 154 - .../fixtures/wechat/remax.config.js | 7 - .../fixtures/wechat/src/app.config.js | 33 - .../integration/fixtures/wechat/src/app.css | 3 - .../fixtures/wechat/src/assets/images/cat.png | 0 .../fixtures/wechat/src/assets/images/dog.png | 0 .../wechat/src/packageA/pages/index.js | 22 - .../wechat/src/packageA/pages/index2.js | 22 - .../fixtures/wechat/src/pages/index.config.js | 4 - .../fixtures/wechat/src/pages/index.js | 52 - .../fixtures/wechat/src/pages/index2.js | 52 - .../expected/__remax_runtime_options__.js | 593 + .../expected/app.acss} | 0 .../with-dsl-component/expected/app.js | 130 + .../expected}/app.json | 2 +- .../expected/npm/dsl-module/index.acss} | 0 .../expected/npm/dsl-module}/index.axml | 0 .../expected/npm/dsl-module/index.js | 12 + .../expected/npm/dsl-module/index.json | 4 + .../expected/pages/index.acss} | 0 .../expected/pages/index.axml | 2230 ++++ .../expected/pages/index.js | 120 + .../expected/pages/index.json | 5 + .../with-dsl-component/expected/runtime.js | 154 + .../node_modules/dsl-module/index.axml | 1 + .../node_modules/dsl-module}/index.js | 0 .../node_modules/dsl-module}/index.json | 0 .../node_modules/empty/index.js | 8 + .../remax.config.js} | 0 .../with-dsl-component/src/app.config.js | 7 + .../fixtures/with-dsl-component/src/app.js | 7 + .../with-dsl-component/src/pages/empty.js | 5 + .../with-dsl-component/src/pages/index.js | 14 + .../__tests__/integration/helpers/build.ts | 114 +- .../__tests__/integration/helpers/runTest.ts | 27 +- .../src/__tests__/integration/hybrid.test.ts | 7 +- .../__tests__/integration/lifeCycle.test.ts | 7 +- .../__tests__/integration/miniPlugin.test.ts | 5 + .../integration/namespaceAttribute.test.ts | 4 +- .../integration/nativeComponent/ali.test.ts | 6 +- .../with-dsl-component.test.ts | 8 + .../src/__tests__/integration/one/ali.test.ts | 7 - .../__tests__/integration/one/toutiao.test.ts | 7 - .../src/__tests__/integration/one/web.test.ts | 7 - .../__tests__/integration/one/wechat.test.ts | 7 - .../src/__tests__/integration/plugin.test.ts | 11 +- .../integration/reactDomAlias.test.ts | 4 +- .../integration/regenerator-pkg.test.ts | 5 + .../__tests__/integration/renamePage.test.ts | 5 - .../integration/runtimePlugin.test.ts | 9 +- .../src/__tests__/integration/toutiao.test.ts | 6 - .../__tests__/integration/turboPages.test.ts | 8 +- .../integration/typescript/toutiao.test.ts | 7 - .../integration/typescript/wechat.test.ts | 7 - .../integration/universe/ali.test.ts | 7 - .../integration/universe/toutiao.test.ts | 7 - .../integration/universe/wechat.test.ts | 7 - .../src/__tests__/integration/web.test.ts | 17 + .../src/__tests__/integration/wechat.test.ts | 6 - .../remax-cli/src/__tests__/output.test.ts | 3 + packages/remax-cli/src/build/Builder.ts | 61 + .../remax-cli/src/build/EntryCollection.ts | 125 + packages/remax-cli/src/build/MiniBuilder.ts | 78 + .../remax-cli/src/build/MiniPluginBuilder.ts | 72 + packages/remax-cli/src/build/NativeAssets.ts | 161 + packages/remax-cli/src/build/ProjectPath.ts | 65 + .../src/build/{web.ts => WebBuilder.ts} | 45 +- packages/remax-cli/src/build/babel/app.ts | 61 - .../src/build/babel/compiler/static/index.ts | 4 - .../babel/compiler/static/postProcess.ts | 122 - .../compiler/static/preprocess/JSXElement.ts | 30 - .../preprocess/JSXExpressionContainer.ts | 30 - .../babel/compiler/static/preprocess/index.ts | 17 - .../babel/compiler/static/render/index.ts | 167 - .../render/templates/TemplateInfoMap.ts | 31 - .../src/build/babel/componentManifest.ts | 396 - .../src/build/babel/fixRegeneratorRuntime.ts | 27 - packages/remax-cli/src/build/babel/page.ts | 72 - .../remax-cli/src/build/babel/pageEvent.ts | 56 - .../remax-cli/src/build/entries/AppEntry.ts | 13 + .../src/build/entries/ComponentEntry.ts | 13 + .../src/build/entries/FallbackEntry.ts | 17 + .../remax-cli/src/build/entries/MpaEntry.ts | 39 + .../src/build/entries/NativeEntry.ts | 87 + .../src/build/entries/NormalEntry.ts | 21 + .../remax-cli/src/build/entries/PageEntry.ts | 13 + .../remax-cli/src/build/entries/SpaEntry.ts | 42 + .../src/build/entries/VirtualEntry.ts | 49 + packages/remax-cli/src/build/index.ts | 59 +- packages/remax-cli/src/build/mini.ts | 79 - packages/remax-cli/src/build/utils/env.ts | 2 + .../remax-cli/src/build/utils/getAppConfig.ts | 11 - packages/remax-cli/src/build/utils/output.ts | 27 +- packages/remax-cli/src/build/utils/paths.ts | 45 +- .../remax-cli/src/build/utils/turboPages.ts | 18 - packages/remax-cli/src/build/utils/web.ts | 27 - packages/remax-cli/src/build/watch.ts | 33 +- .../remax-cli/src/build/webpack/baseConfig.ts | 27 +- .../src/build/webpack/config.mini.ts | 168 +- .../src/build/webpack/config.miniPlugin.ts | 216 + .../src/build/webpack/config.web.mpa.ts | 58 + .../remax-cli/src/build/webpack/config.web.ts | 147 +- .../remax-cli/src/build/webpack/config/css.ts | 26 +- .../build/webpack/loaders/nativeComponent.ts | 60 + .../loaders/nativeComponent/getAssets.ts | 29 - .../webpack/loaders/nativeComponent/index.ts | 30 - .../loaders/nativeComponent/template.ts | 46 - .../src/build/webpack/loaders/stub.ts | 17 - .../src/build/webpack/plugins/AppAsset.ts | 36 + .../plugins/ComponentAsset/createManifest.ts | 42 + .../plugins/ComponentAsset/createTemplate.ts | 61 + .../webpack/plugins/ComponentAsset/index.ts | 54 + .../src/build/webpack/plugins/NativeAsset.ts | 69 + .../webpack/plugins/NativeFiles/cacheable.ts | 17 - .../plugins/NativeFiles/createAppManifest.ts | 21 - .../plugins/NativeFiles/createPageManifest.ts | 47 - .../plugins/NativeFiles/createPageTemplate.ts | 118 - .../NativeFiles/createTurboPageTemplate.ts | 62 - .../plugins/NativeFiles/getUsingComponents.ts | 49 - .../webpack/plugins/NativeFiles/index.ts | 58 - .../build/webpack/plugins/OptimizeEntries.ts | 2 - .../PageAsset/createIsolatedTemplate.ts | 29 + .../plugins/PageAsset/createManifest.ts | 49 + .../plugins/PageAsset/createTemplate.ts | 135 + .../plugins/PageAsset/createTurboTemplate.ts | 59 + .../build/webpack/plugins/PageAsset/index.ts | 57 + .../src/build/webpack/plugins/PluginAsset.ts | 36 + .../build/webpack/plugins/RuntimeOptions.ts | 81 +- .../build/webpack/plugins/WebEntryWatcher.ts | 42 - .../webpack/plugins/getUsingComponents.ts | 106 + .../src/build/webpack/plugins/index.ts | 7 +- .../src/build/webpack/webBaseConfig.ts | 93 + packages/remax-cli/src/builtinPlugins.ts | 12 + .../remax-cli/src/defaultOptions/index.ts | 8 +- packages/remax-cli/src/getConfig.ts | 3 +- packages/remax-cli/src/getEntries.ts | 58 - packages/remax-cli/src/index.ts | 166 +- packages/remax-cli/src/legacyExport.ts | 18 + packages/remax-cli/src/readManifest.ts | 4 +- packages/remax-cli/src/remaxVersion.ts | 3 - ...ions.js.ejs => app-runtime-options.js.ejs} | 4 +- packages/remax-cli/template/entry.js.ejs | 87 - packages/remax-cli/tests/setup.ts | 21 +- packages/remax-cli/tsconfig.json | 14 +- packages/remax-cli/typings/index.d.ts | 1 + packages/remax-framework-shared/.npmignore | 9 + packages/remax-framework-shared/CHANGELOG.md | 4 + packages/remax-framework-shared/README.md | 11 + .../remax-framework-shared/jest.config.js | 13 + packages/remax-framework-shared/package.json | 39 + .../src/AppInstanceContext.ts | 4 +- .../src/ComponentInstanceContext.ts | 5 + .../src/PageInstanceContext.ts | 5 + .../src/PluginDriver.ts | 40 +- .../src/RuntimeOptions.ts | 18 +- .../src/__tests__/AppInstanceContext.test.ts | 0 .../src/__tests__/PluginDriver.test.ts | 17 + .../src/__tests__/createPageWrapper.test.tsx | 10 +- .../src/__tests__/promisify.test.ts | 0 .../src/createPageWrapper.ts | 13 +- .../src/formatDisplayName.ts | 0 packages/remax-framework-shared/src/hooks.ts | 32 + packages/remax-framework-shared/src/index.ts | 13 + .../src/lifecycle.ts} | 6 +- .../src/promisify.ts | 0 .../src/utils/capitalize.ts | 3 + .../src/utils/isClassComponent.ts | 5 + .../src/utils/lowercase.ts | 3 + packages/remax-framework-shared/tsconfig.json | 17 + packages/remax-macro/package.json | 1 + packages/remax-macro/src/macro.ts | 62 +- .../remax-macro/src/requirePluginComponent.ts | 38 +- .../src/utils/insertImportDeclaration.ts | 3 +- .../requirePluginComponent/imported/output.js | 2 +- .../requirePluginComponent/multiple/output.js | 6 +- .../namedImported/output.js | 2 +- .../requirePluginComponent/simple/output.js | 2 +- packages/remax-macro/tsconfig.json | 10 +- packages/remax-one/package.json | 3 +- packages/remax-one/src/api/index.ts | 2 +- packages/remax-one/src/api/types.ts | 30 - packages/remax-one/src/components/Modal.tsx | 7 +- packages/remax-one/src/createHostComponent.ts | 2 +- .../hostComponents/Navigator/index.web.tsx | 2 +- .../plainStyle/index.ts | 2 +- packages/remax-one/tsconfig.json | 19 +- .../remax-plugin-error-screen/CHANGELOG.md | 4 + packages/remax-plugin-error-screen/README.md | 11 + .../remax-plugin-error-screen/package.json | 34 + .../src/ErrorBoundary.tsx | 32 + .../src/ErrorScreen.development.tsx | 10 + .../src/ErrorScreen.tsx | 32 + .../remax-plugin-error-screen/src/index.ts | 54 + .../remax-plugin-error-screen/tsconfig.json | 12 + .../typings/index.d.ts | 1 + packages/remax-router/CHANGELOG.md | 250 - packages/remax-router/package.json | 19 - packages/remax-router/web.d.ts | 5 - packages/remax-router/web.js | 4 - packages/remax-runtime/package.json | 2 + packages/remax-runtime/src/Container.ts | 2 +- packages/remax-runtime/src/PageContext.ts | 8 - packages/remax-runtime/src/ReactIs.ts | 227 - packages/remax-runtime/src/ReactPortal.ts | 2 +- packages/remax-runtime/src/VNode.ts | 2 +- .../src/__tests__/RuntimeOptions.test.ts | 46 - .../remax-runtime/src/__tests__/app.test.tsx | 2 +- .../src/__tests__/helpers/Input.ts | 2 +- .../src/__tests__/helpers/View.ts | 2 +- .../src/__tests__/index.test.tsx | 39 +- .../src/__tests__/index.toutiao.test.tsx | 2 +- .../remax-runtime/src/__tests__/page.test.tsx | 3 +- .../src/__tests__/propsAlias.test.ts | 2 +- packages/remax-runtime/src/createAppConfig.ts | 15 +- .../src/createComponentConfig.ts | 60 + .../remax-runtime/src/createHostComponent.ts | 16 + .../remax-runtime/src/createPageConfig.ts | 32 +- packages/remax-runtime/src/hooks/index.ts | 33 +- .../remax-runtime/src/hooks/usePageContext.ts | 6 - packages/remax-runtime/src/hooks/useQuery.ts | 6 +- .../remax-runtime/src/hooks/useQuery.web.ts | 8 - packages/remax-runtime/src/index.ts | 9 +- .../remax-runtime/src/lifecycle/events.ts | 9 - .../remax-runtime/src/lifecycle/events.web.ts | 1 - packages/remax-runtime/src/propsAlias.ts | 2 +- .../src/stopPullDownRefresh/index.wechat.ts | 1 + .../src/utils/plainStyle/index.ts | 2 +- packages/remax-runtime/tsconfig.json | 5 - packages/remax-runtime/typings/index.d.ts | 1 - packages/remax-shared/package.json | 15 +- .../createHostComponent.test.tsx.snap | 13 - .../__tests__/createHostComponent.test.tsx | 19 - .../remax-shared/src/createHostComponent.ts | 19 - packages/remax-shared/src/index.ts | 6 +- .../src/nativeComponent/getAssets.ts | 23 + .../src/nativeComponent/helpers.ts} | 30 +- .../src}/nativeComponent/jsHelper.ts | 13 +- .../src}/nativeComponent/json.ts | 3 +- .../src}/nativeComponent/modules.ts | 2 +- .../src}/nativeComponent/style.ts | 11 +- .../src/nativeComponent/template.ts | 39 + .../src}/nativeComponent/usingComponents.ts | 7 +- packages/remax-shared/src/path.ts | 3 + packages/remax-shared/src/unique.ts | 3 + .../remax-toutiao/src/__tests__/node.test.ts | 16 - packages/remax-toutiao/src/api/index.ts | 2 +- .../src/hostComponents/Button/index.ts | 2 +- .../src/hostComponents/Canvas/index.ts | 2 +- .../src/hostComponents/Checkbox/index.ts | 2 +- .../src/hostComponents/CheckboxGroup/index.ts | 2 +- .../src/hostComponents/Form/index.ts | 2 +- .../src/hostComponents/Icon/index.ts | 2 +- .../src/hostComponents/Image/index.ts | 2 +- .../src/hostComponents/Input/index.ts | 2 +- .../src/hostComponents/Label/index.ts | 2 +- .../src/hostComponents/Navigator/index.ts | 2 +- .../src/hostComponents/Picker/index.ts | 2 +- .../src/hostComponents/PickerView/index.ts | 2 +- .../hostComponents/PickerViewColumn/index.ts | 2 +- .../src/hostComponents/Progress/index.ts | 2 +- .../src/hostComponents/Radio/index.ts | 2 +- .../src/hostComponents/RadioGroup/index.ts | 2 +- .../src/hostComponents/RichText/index.ts | 2 +- .../src/hostComponents/ScrollView/index.ts | 2 +- .../src/hostComponents/Slider/index.ts | 2 +- .../src/hostComponents/Swiper/index.ts | 2 +- .../src/hostComponents/SwiperItem/index.ts | 2 +- .../src/hostComponents/Switch/index.ts | 2 +- .../src/hostComponents/Text/index.ts | 2 +- .../src/hostComponents/Textarea/index.ts | 2 +- .../src/hostComponents/Video/index.ts | 2 +- .../src/hostComponents/View/index.ts | 2 +- .../src/hostComponents/WebView/index.ts | 2 +- packages/remax-toutiao/src/node/index.ts | 2 +- packages/remax-toutiao/templates/base.ejs | 20 +- packages/remax-toutiao/tsconfig.json | 10 +- packages/remax-types/package.json | 1 + packages/remax-types/src/index.ts | 84 +- .../{remax/web => remax-web/assets}/app.css | 35 +- .../web => remax-web/assets}/normalize.css | 0 packages/remax-web/package.json | 2 +- packages/remax-web/src/TabBar.tsx | 52 + .../__snapshots__/createApp.test.tsx.snap | 178 + .../src/__tests__/createApp.test.tsx | 169 + .../api/index.web.ts => remax-web/src/api.ts} | 16 +- packages/remax-web/src/bootstrap.tsx | 16 + packages/remax-web/src/bootstrapMpa.tsx | 68 + packages/remax-web/src/createApp.tsx | 69 + .../src/createAppConfig.tsx} | 6 +- .../src/createPageConfig.tsx} | 26 +- .../src/hooks/useNativeEffect.ts} | 0 packages/remax-web/src/hooks/useQuery.ts | 11 + packages/remax-web/src/index.ts | 14 +- packages/remax-web/src/node/index.ts | 8 - packages/remax-web/src/types/config.ts | 89 - packages/remax-web/src/types/index.ts | 93 +- .../remax-wechat/src/__tests__/node.test.ts | 31 - packages/remax-wechat/src/api/index.ts | 4 +- .../src/hostComponents/Ad/index.ts | 2 +- .../src/hostComponents/Audio/index.ts | 2 +- .../src/hostComponents/Button/index.ts | 2 +- .../src/hostComponents/Camera/index.ts | 2 +- .../src/hostComponents/Canvas/index.ts | 2 +- .../src/hostComponents/Checkbox/index.ts | 2 +- .../src/hostComponents/CheckboxGroup/index.ts | 2 +- .../src/hostComponents/CoverImage/index.ts | 2 +- .../src/hostComponents/CoverView/index.ts | 2 +- .../src/hostComponents/Editor/index.ts | 2 +- .../src/hostComponents/Form/index.ts | 2 +- .../FunctionalPageNavigator/index.ts | 2 +- .../src/hostComponents/Icon/index.ts | 2 +- .../src/hostComponents/Image/index.ts | 2 +- .../src/hostComponents/Input/index.ts | 2 +- .../src/hostComponents/Label/index.ts | 2 +- .../src/hostComponents/LivePlayer/index.ts | 2 +- .../src/hostComponents/LivePusher/index.ts | 2 +- .../src/hostComponents/Map/index.ts | 2 +- .../src/hostComponents/MovableArea/index.ts | 2 +- .../src/hostComponents/MovableView/index.ts | 2 +- .../src/hostComponents/Navigator/index.ts | 2 +- .../hostComponents/OfficialAccount/index.ts | 2 +- .../src/hostComponents/OpenData/index.ts | 2 +- .../src/hostComponents/Picker/index.ts | 2 +- .../src/hostComponents/PickerView/index.ts | 2 +- .../hostComponents/PickerViewColumn/index.ts | 2 +- .../src/hostComponents/Progress/index.ts | 2 +- .../src/hostComponents/Radio/index.ts | 2 +- .../src/hostComponents/RadioGroup/index.ts | 2 +- .../src/hostComponents/RichText/index.ts | 2 +- .../src/hostComponents/ScrollView/index.ts | 2 +- .../src/hostComponents/Slider/index.ts | 2 +- .../src/hostComponents/Swiper/index.ts | 2 +- .../src/hostComponents/SwiperItem/index.ts | 2 +- .../src/hostComponents/Switch/index.ts | 2 +- .../src/hostComponents/Text/index.ts | 2 +- .../src/hostComponents/Textarea/index.ts | 2 +- .../src/hostComponents/Video/index.ts | 2 +- .../src/hostComponents/View/index.ts | 2 +- .../src/hostComponents/WebView/index.ts | 2 +- packages/remax-wechat/src/node/index.ts | 2 +- packages/remax-wechat/templates/base.ejs | 28 +- packages/remax-wechat/templates/component.ejs | 2 +- packages/remax-wechat/tsconfig.json | 10 +- packages/remax/bin/remax | 4 +- packages/remax/build.d.ts | 3 +- packages/remax/build.js | 3 +- packages/remax/internal.js | 1 + packages/remax/internal.mini.js | 1 + packages/remax/modules/index.ts | 1 + packages/remax/modules/main.mini.ts | 11 + .../remax/{web/index.d.ts => modules/main.ts} | 0 packages/remax/package.json | 15 +- packages/remax/tsconfig.json | 13 + packages/remax/web/index.js | 1 - tsconfig.json | 33 +- yarn.lock | 6071 ++++++----- 1505 files changed, 57614 insertions(+), 90455 deletions(-) create mode 100644 .github/workflows/e2e-web-mpa.yml create mode 100644 .github/workflows/e2e-web-spa.yml rename e2e/{mini => app}/.gitignore (100%) create mode 100644 e2e/app/CHANGELOG.md create mode 100644 e2e/app/README.md rename e2e/{mini => app}/jest-puppeteer.config.js (69%) create mode 100644 e2e/app/jest.config.js rename e2e/{mini => app}/mini.project.json (56%) create mode 100644 e2e/app/package.json create mode 100644 e2e/app/remax.config.js create mode 100755 e2e/app/scripts/build.sh create mode 100644 e2e/app/src/GlobalContext.js rename e2e/{dummy/src/pages/two/index.js => app/src/_error.js} (53%) create mode 100644 e2e/app/src/app.config.js create mode 100644 e2e/app/src/app.js rename e2e/{mini => app}/src/assets/images/cat.jpg (100%) rename e2e/{mini => app}/src/assets/images/dog.jpg (100%) rename e2e/{mini => app}/src/components/@foo/a/index.axml (100%) rename e2e/{mini => app}/src/components/@foo/a/index.js (100%) rename e2e/{mini => app}/src/components/@foo/a/index.json (100%) rename e2e/{mini => app}/src/components/Card/index.tsx (100%) create mode 100644 e2e/app/src/components/a/index.axml rename e2e/{mini => app}/src/components/a/index.js (100%) rename e2e/{mini => app}/src/components/a/index.json (100%) rename e2e/{mini => app}/src/components/b/index.axml (100%) rename e2e/{mini => app}/src/components/b/index.js (100%) rename e2e/{mini => app}/src/components/b/index.json (100%) rename e2e/{mini => app}/src/components/c/index.axml (100%) rename e2e/{mini => app}/src/components/c/index.js (100%) rename e2e/{mini => app}/src/components/c/index.json (100%) rename e2e/{mini => app}/src/components/complex/button.acss (100%) rename e2e/{mini => app}/src/components/complex/include.axml (100%) rename e2e/{mini => app}/src/components/complex/index.acss (100%) rename e2e/{mini => app}/src/components/complex/index.axml (100%) rename e2e/{mini => app}/src/components/complex/index.js (100%) rename e2e/{mini => app}/src/components/complex/index.json (100%) rename e2e/{mini => app}/src/components/complex/index.sjs (100%) rename e2e/{mini => app}/src/components/complex/msg.sjs (100%) rename e2e/{mini => app}/src/components/d/index.axml (100%) rename e2e/{mini => app}/src/components/d/index.js (100%) rename e2e/{mini => app}/src/components/d/index.json (100%) rename e2e/{mini => app}/src/components/e/index.axml (100%) rename e2e/{mini => app}/src/components/e/index.js (100%) rename e2e/{mini => app}/src/components/e/index.json (100%) rename e2e/{mini => app}/src/components/f/index.axml (100%) rename e2e/{mini => app}/src/components/f/index.js (100%) rename e2e/{mini => app}/src/components/f/index.json (100%) rename e2e/{mini => app}/src/components/g/index.tsx (100%) rename e2e/{mini => app}/src/components/h/Hello.tsx (100%) rename e2e/{mini => app}/src/components/h/index.tsx (100%) rename e2e/{mini => app}/src/components/notInJSX/index.axml (100%) rename e2e/{mini => app}/src/components/notInJSX/index.js (100%) rename e2e/{mini => app}/src/components/notInJSX/index.json (100%) rename e2e/{mini => app}/src/components/slot/index.axml (100%) rename e2e/{mini => app}/src/components/slot/index.js (100%) rename e2e/{mini => app}/src/components/slot/index.json (100%) rename e2e/{mini => app}/src/components/src/index.axml (100%) rename e2e/{mini => app}/src/components/src/index.js (100%) rename e2e/{mini => app}/src/components/src/index.json (100%) create mode 100644 e2e/app/src/node_modules/empty/index.js rename e2e/{mini => app}/src/node_modules/rax-view/fmtEvent.js (100%) rename e2e/{mini => app}/src/node_modules/rax-view/index.acss (100%) rename e2e/{mini => app}/src/node_modules/rax-view/index.axml (100%) rename e2e/{mini => app}/src/node_modules/rax-view/index.js (100%) rename e2e/{mini => app}/src/node_modules/rax-view/index.json (100%) rename e2e/{mini => app}/src/node_modules/rax-view/package.json (100%) create mode 100644 e2e/app/src/node_modules/regenerator-pkg/a.js create mode 100644 e2e/app/src/node_modules/regenerator-pkg/b.js create mode 100644 e2e/app/src/node_modules/regenerator-pkg/c.js rename e2e/{mini => app}/src/packageA/pages/index.js (78%) create mode 100644 e2e/app/src/pages/error/index.js create mode 100644 e2e/app/src/pages/hybrid/index.axml rename {packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/pages/native => e2e/app/src/pages/hybrid}/index.js (100%) rename e2e/{mini/src/pages/index => app/src/pages/image}/index.css (100%) create mode 100644 e2e/app/src/pages/image/index.js create mode 100644 e2e/app/src/pages/index/index.js rename e2e/{mini => app}/src/pages/insert-before/index.js (94%) create mode 100644 e2e/app/src/pages/lifecycle/index.js rename e2e/{mini => app}/src/pages/native-component/ModuleA.js (78%) rename e2e/{mini => app}/src/pages/native-component/ModuleB.js (84%) rename e2e/{mini => app}/src/pages/native-component/commonChunk1.tsx (85%) rename e2e/{mini => app}/src/pages/native-component/commonChunk2.tsx (85%) rename e2e/{mini => app}/src/pages/native-component/index.js (93%) rename e2e/{mini => app}/src/pages/native-component/module.js (84%) create mode 100644 e2e/app/src/pages/navigate/one/index.js rename e2e/{dummy/src/pages/one => app/src/pages/navigate/two}/index.js (75%) rename e2e/{dummy => app}/src/pages/query/index.js (100%) rename e2e/{mini => app}/src/pages/turbo-page/index.js (91%) rename e2e/{mini => app}/src/pages/turbo-page/module.js (100%) rename e2e/{mini => app}/src/pages/turbo-page/moduleB.js (100%) create mode 100644 e2e/app/tests/error-screen.test.ts create mode 100644 e2e/app/tests/helpers.ts create mode 100644 e2e/app/tests/hybrid.test.ts create mode 100644 e2e/app/tests/image.test.ts create mode 100644 e2e/app/tests/index.test.ts rename e2e/{mini/test => app/tests}/insert-before.test.ts (93%) create mode 100644 e2e/app/tests/lifecycle.test.ts rename e2e/{mini/test => app/tests}/native-component.test.ts (79%) create mode 100644 e2e/app/tests/navitate.test.ts create mode 100644 e2e/app/tests/preset.js create mode 100644 e2e/app/tests/query.test.ts create mode 100644 e2e/app/tests/setup.js rename e2e/{mini/test => app/tests}/turbo-page.test.ts (85%) rename e2e/{mini => app}/tsconfig.json (83%) rename e2e/{mini => app}/typings/index.d.ts (61%) delete mode 100644 e2e/dummy/CHANGELOG.md delete mode 100644 e2e/dummy/README.md delete mode 100644 e2e/dummy/app.json delete mode 100644 e2e/dummy/babel.config.js delete mode 100644 e2e/dummy/jest.config.js delete mode 100644 e2e/dummy/mini.project.json delete mode 100644 e2e/dummy/package.json delete mode 100644 e2e/dummy/project.config.json delete mode 100644 e2e/dummy/remax.config.js delete mode 100644 e2e/dummy/src/app.config.js delete mode 100644 e2e/dummy/src/app.js delete mode 100644 e2e/dummy/src/pages/modal/index.js delete mode 100644 e2e/dummy/tests/index.test.js delete mode 100644 e2e/dummy/yarn.lock delete mode 100644 e2e/mini/CHANGELOG.md delete mode 100644 e2e/mini/README.md delete mode 100644 e2e/mini/jest.config.js delete mode 100644 e2e/mini/remax.config.js delete mode 100644 e2e/mini/src/app.config.js delete mode 100644 e2e/mini/src/app.js delete mode 100644 e2e/mini/src/components/a/index.axml delete mode 100644 e2e/mini/src/pages/modal/index.js delete mode 100644 e2e/mini/src/pages/turbo-page/fragmentRoot.js delete mode 100644 e2e/mini/test/index.test.ts delete mode 100644 e2e/mini/test/modal.test.ts create mode 100644 e2e/plugin/.gitignore create mode 100644 e2e/plugin/CHANGELOG.md rename e2e/{dummy => plugin}/jest-puppeteer.config.js (50%) create mode 100644 e2e/plugin/jest.config.js create mode 100644 e2e/plugin/mini.project.json create mode 100644 e2e/plugin/miniprogram/app.acss create mode 100644 e2e/plugin/miniprogram/app.js create mode 100644 e2e/plugin/miniprogram/app.json create mode 100644 e2e/plugin/miniprogram/pages/index/index.acss create mode 100644 e2e/plugin/miniprogram/pages/index/index.axml create mode 100644 e2e/plugin/miniprogram/pages/index/index.js create mode 100644 e2e/plugin/miniprogram/pages/index/index.json create mode 100644 e2e/plugin/miniprogram/plugin.png rename e2e/{mini => plugin}/package.json (56%) create mode 100644 e2e/plugin/snapshot.png create mode 100644 e2e/plugin/src/api/data.js rename {packages/remax-cli/src/__tests__/integration/fixtures/one/public => e2e/plugin/src/assets/images}/cat.jpg (100%) create mode 100644 e2e/plugin/src/assets/images/dog.jpg create mode 100644 e2e/plugin/src/components/bye/index.axml rename {packages/remax-cli/src/__tests__/integration/fixtures/babelrc/expected/remaxVendors/components/a => e2e/plugin/src/components/bye}/index.js (100%) rename {packages/remax-cli/src/__tests__/integration/fixtures/babelrc/expected/remaxVendors/components/a => e2e/plugin/src/components/bye}/index.json (100%) create mode 100644 e2e/plugin/src/components/greet/index.js create mode 100644 e2e/plugin/src/components/greet2/index.js rename e2e/{mini/src/app.css => plugin/src/components/list/list.acss} (100%) create mode 100644 e2e/plugin/src/components/list/list.axml create mode 100644 e2e/plugin/src/components/list/list.js rename packages/remax-cli/src/__tests__/integration/fixtures/customCwdBabel/expected/remaxVendors/components/a/index.json => e2e/plugin/src/components/list/list.json (100%) create mode 100644 e2e/plugin/src/pages/hybrid/index.axml rename {packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/native/pages/native => e2e/plugin/src/pages/hybrid}/index.js (100%) create mode 100644 e2e/plugin/src/pages/hybrid/index.json rename e2e/{mini/src/pages/modal => plugin/src/pages/index}/index.css (100%) create mode 100644 e2e/plugin/src/pages/index/index.js create mode 100644 e2e/plugin/src/pages/insert-before/index.js create mode 100644 e2e/plugin/src/plugin.config.js create mode 100644 e2e/plugin/tests/constants.js rename e2e/{mini/test => plugin/tests}/helpers.ts (55%) create mode 100644 e2e/plugin/tests/hybrid.test.ts create mode 100644 e2e/plugin/tests/index.test.ts rename e2e/{mini/test => plugin/tests}/preset.js (100%) create mode 100644 packages/babel-plugin-remax-host-component/CHANGELOG.md create mode 100644 packages/babel-plugin-remax-host-component/README.md create mode 100644 packages/babel-plugin-remax-host-component/jest.config.js create mode 100644 packages/babel-plugin-remax-host-component/package.json create mode 100644 packages/babel-plugin-remax-host-component/src/index.ts create mode 100644 packages/babel-plugin-remax-host-component/tests/index.test.ts create mode 100644 packages/babel-plugin-remax-host-component/tsconfig.json create mode 100644 packages/babel-plugin-remax-host-component/typings/index.d.ts create mode 100644 packages/babel-plugin-remax-lifecycle/CHANGELOG.md create mode 100644 packages/babel-plugin-remax-lifecycle/README.md create mode 100644 packages/babel-plugin-remax-lifecycle/jest.config.js create mode 100644 packages/babel-plugin-remax-lifecycle/package.json create mode 100644 packages/babel-plugin-remax-lifecycle/src/app.ts create mode 100644 packages/babel-plugin-remax-lifecycle/src/index.ts rename packages/{remax-cli/src/build/babel/appEvent.ts => babel-plugin-remax-lifecycle/src/page.ts} (56%) create mode 100644 packages/babel-plugin-remax-lifecycle/tests/app.test.ts create mode 100644 packages/babel-plugin-remax-lifecycle/tests/page.test.ts create mode 100644 packages/babel-plugin-remax-lifecycle/tsconfig.json create mode 100644 packages/babel-plugin-remax-lifecycle/typings/index.d.ts create mode 100644 packages/babel-plugin-remax-regenerator-runtime/CHANGELOG.md create mode 100644 packages/babel-plugin-remax-regenerator-runtime/README.md create mode 100644 packages/babel-plugin-remax-regenerator-runtime/jest.config.js create mode 100644 packages/babel-plugin-remax-regenerator-runtime/package.json create mode 100644 packages/babel-plugin-remax-regenerator-runtime/src/index.ts create mode 100644 packages/babel-plugin-remax-regenerator-runtime/tests/fixtures/fix/code.js create mode 100644 packages/babel-plugin-remax-regenerator-runtime/tests/fixtures/fix/output.js create mode 100644 packages/babel-plugin-remax-regenerator-runtime/tests/index.test.ts create mode 100644 packages/babel-plugin-remax-regenerator-runtime/tsconfig.json create mode 100644 packages/babel-plugin-remax-regenerator-runtime/typings/index.d.ts create mode 100644 packages/babel-plugin-remax-turbo-render/CHANGELOG.md create mode 100644 packages/babel-plugin-remax-turbo-render/README.md create mode 100644 packages/babel-plugin-remax-turbo-render/jest.config.js create mode 100644 packages/babel-plugin-remax-turbo-render/package.json rename packages/{remax-cli/src/build/babel/compiler/static => babel-plugin-remax-turbo-render/src}/constants.ts (78%) create mode 100644 packages/babel-plugin-remax-turbo-render/src/extractTemplate.ts rename packages/{remax-cli/src/build/babel/compiler/static => babel-plugin-remax-turbo-render/src}/helpers.ts (81%) create mode 100644 packages/babel-plugin-remax-turbo-render/src/helpers/cleanJSXElementLiteralChild.ts create mode 100644 packages/babel-plugin-remax-turbo-render/src/index.ts create mode 100644 packages/babel-plugin-remax-turbo-render/src/preprocess.ts rename packages/{remax-cli/src/build/babel/compiler/static/render => babel-plugin-remax-turbo-render/src}/templates/JSXElement.ts (70%) rename packages/{remax-cli/src/build/babel/compiler/static/render => babel-plugin-remax-turbo-render/src}/templates/JSXExpressionContainer.ts (76%) rename packages/{remax-cli/src/build/babel/compiler/static/render => babel-plugin-remax-turbo-render/src}/templates/attributes.ts (58%) rename packages/{remax-cli/src/build/babel/compiler/static/render => babel-plugin-remax-turbo-render/src}/templates/index.ts (69%) rename packages/{remax-cli/src/build/babel/compiler/static/render => babel-plugin-remax-turbo-render/src}/templates/stringPath.ts (100%) rename packages/{remax-cli/src/build/babel/compiler/static => babel-plugin-remax-turbo-render/src}/types.ts (73%) create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/parent-is-composition-component/code.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/parent-is-composition-component/output.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/remove-empty-expression/code.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/remove-empty-expression/output.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/skip-elements/code.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/skip-elements/output.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/skip-non-host-component/code.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/skip-non-host-component/output.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/spm-attributes/code.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/spm-attributes/output.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/transform-fragment/code.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/transform-fragment/output.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/wrap-expression/code.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/fixtures/wrap-expression/output.js create mode 100644 packages/babel-plugin-remax-turbo-render/tests/preprocess.test.ts create mode 100644 packages/babel-plugin-remax-turbo-render/tests/render.test.ts create mode 100644 packages/babel-plugin-remax-turbo-render/tsconfig.json create mode 100644 packages/babel-plugin-remax-turbo-render/typings/index.d.ts create mode 100644 packages/remax-ali/src/__tests__/components/Camera.test.tsx create mode 100644 packages/remax-ali/src/__tests__/components/Lottie.test.tsx create mode 100644 packages/remax-ali/src/__tests__/components/__snapshots__/Camera.test.tsx.snap create mode 100644 packages/remax-ali/src/__tests__/components/__snapshots__/Lottie.test.tsx.snap rename packages/remax-ali/src/{api/index.ts => api.ts} (99%) create mode 100644 packages/remax-ali/src/hostComponents/Camera/index.ts create mode 100644 packages/remax-ali/src/hostComponents/Camera/node.ts create mode 100644 packages/remax-ali/src/hostComponents/Lottie/index.ts create mode 100644 packages/remax-ali/src/hostComponents/Lottie/node.ts create mode 100644 packages/remax-ali/templates/static/host-components/camera.ejs create mode 100644 packages/remax-ali/templates/static/host-components/lottie.ejs create mode 100644 packages/remax-ali/templates/static/isolated-templates.ejs create mode 100644 packages/remax-build-store/CHANGELOG.md create mode 100644 packages/remax-build-store/README.md create mode 100644 packages/remax-build-store/package.json create mode 100644 packages/remax-build-store/src/index.ts create mode 100644 packages/remax-build-store/tsconfig.json rename packages/remax-cli/{src => }/OptionsSchema.json (65%) create mode 100644 packages/remax-cli/src/SourceCache.ts delete mode 100644 packages/remax-cli/src/__tests__/UNSAFE_wechatTemplateDepth.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/__snapshots__/config.test.ts.snap delete mode 100644 packages/remax-cli/src/__tests__/integration/cli.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/createHostComponent/toutiao.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/createHostComponent/wechat.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/customHtmlTemplate.test.ts rename packages/remax-cli/src/__tests__/integration/fixtures/{createHostComponent/expected/ali/pages => babelrc/expected/components/a}/index.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/babelrc/expected/{remaxVendors => }/components/a/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/babelrc/expected/components/a/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{universe/expected/toutiao/pages => babelrc/expected/components/a}/index.json (54%) delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/babelrc/src/index.d.ts rename packages/remax-cli/src/__tests__/integration/fixtures/{customCwdBabel/source/src/pages/index.tsx => babelrc/src/pages/index.js} (57%) rename packages/remax-cli/src/__tests__/integration/fixtures/config-add-css-rule/src/pages/{index.acss => index.scss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/{ali => }/__remax_runtime_options__.js (91%) delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/alipay/index-chunk.js rename packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/{ali => }/app.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig => createHostComponent}/expected/app.js (76%) rename packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/{ali => }/app.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onAppConfig => createHostComponent}/expected/pages/index.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/{ali => }/pages/index.axml (92%) rename packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/{ali => }/pages/index.js (69%) rename packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/{ali => }/pages/index.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/{ali => }/runtime.js (100%) delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/toutiao/__remax_runtime_options__.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/toutiao/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/toutiao/app.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/toutiao/base.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/toutiao/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/toutiao/pages/index.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/wechat/__remax_runtime_options__.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/wechat/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/wechat/app.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/wechat/base.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/wechat/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/createHostComponent/expected/wechat/pages/index.wxml rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig/expected/pages => customCwdBabel/expected/components/a}/index.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/customCwdBabel/expected/{remaxVendors => }/components/a/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/customCwdBabel/expected/components/a/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{wechat/expected/packageA/pages => customCwdBabel/expected/components/a}/index.json (54%) delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/customCwdBabel/source/src/index.d.ts rename packages/remax-cli/src/__tests__/integration/fixtures/{babelrc/src/pages/index.tsx => customCwdBabel/source/src/pages/index.js} (57%) delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/customHtmlTemplate/expected/index.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/customHtmlTemplate/expected/index.html delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/customHtmlTemplate/expected/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/customHtmlTemplate/expected/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/customHtmlTemplate/expected/runtime.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/customHtmlTemplate/public/index.html delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/customHtmlTemplate/remax.config.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/customHtmlTemplate/src/app.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/customHtmlTemplate/src/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/disablePxToRpx/expected/index-chunk.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/exception/remax.config/remax.config.js rename packages/remax-cli/src/__tests__/integration/fixtures/{renamePage => hook-on-app-config}/expected/__remax_runtime_options__.js (91%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onAppConfig => hook-on-app-config}/expected/app.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{renamePage => hook-on-app-config}/expected/app.js (76%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onAppConfig => hook-on-app-config}/expected/app.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid/expected/pages/native => hook-on-app-config/expected/pages}/index.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid/expected/packageA => hook-on-app-config/expected}/pages/index.axml (91%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-on-app-config/expected/pages/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{createHostComponent/expected/toutiao => hook-on-app-config/expected}/pages/index.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onAppConfig => hook-on-app-config}/expected/runtime.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onAppConfig => hook-on-app-config}/remax.config.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onAppConfig => hook-on-app-config}/src/app.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onAppConfig => hook-on-app-config}/src/pages/index.js (72%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig => hook-on-page-config}/expected/__remax_runtime_options__.js (91%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig => hook-on-page-config}/expected/app.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onAppConfig => hook-on-page-config}/expected/app.js (76%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig => hook-on-page-config}/expected/app.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig => hook-on-page-config}/expected/pages/about.acss (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-on-page-config/expected/pages/about.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-on-page-config/expected/pages/about.js rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig => hook-on-page-config}/expected/pages/about.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid/src/native/pages/native => hook-on-page-config/expected/pages}/index.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid => hook-on-page-config}/expected/pages/index.axml (91%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-on-page-config/expected/pages/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig => hook-on-page-config}/expected/pages/index.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig => hook-on-page-config}/expected/runtime.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig => hook-on-page-config}/remax.config.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig => hook-on-page-config}/src/app.config.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig => hook-on-page-config}/src/app.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig => hook-on-page-config}/src/pages/about.js (72%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onPageConfig => hook-on-page-config}/src/pages/index.js (72%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid => hook-on-page-template}/expected/__remax_runtime_options__.js (90%) rename packages/remax-cli/src/__tests__/integration/fixtures/{renamePage => hook-on-page-template}/expected/app.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{createHostComponent/expected/ali => hook-on-page-template/expected}/app.js (76%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-on-page-template/expected/app.json rename packages/remax-cli/src/__tests__/integration/fixtures/{createHostComponent/expected/toutiao/app.ttss => hook-on-page-template/expected/pages/about.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-on-page-template/expected/pages/about.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-on-page-template/expected/pages/about.js rename packages/remax-cli/src/__tests__/integration/fixtures/{createHostComponent/expected/wechat/pages/index.json => hook-on-page-template/expected/pages/about.json} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{renamePage => hook-on-page-template}/expected/pages/index.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/ali/packageA => hook-on-page-template/expected}/pages/index.axml (91%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-on-page-template/expected/pages/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onAppConfig => hook-on-page-template}/expected/pages/index.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid => hook-on-page-template}/expected/runtime.js (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-on-page-template/remax.config.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-on-page-template/src/app.config.js rename packages/remax-cli/src/__tests__/integration/fixtures/{renamePage => hook-on-page-template}/src/app.js (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-on-page-template/src/pages/about.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-on-page-template/src/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-onAppConfig/expected/pages/index.axml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-onAppConfig/expected/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-onPageConfig/expected/pages/about.axml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-onPageConfig/expected/pages/about.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-onPageConfig/expected/pages/index.axml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hook-onPageConfig/expected/pages/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/__remax_runtime_options__.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/app.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/app.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/app.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/assets/bg.png create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/assets/logo.png create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/components/bar/index.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/components/bar/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/components/bar/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{universe/expected/wechat/pages => hybrid-app/expected/components/bar}/index.json (54%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/components/foo/index.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/components/foo/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/components/foo/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{wechat/expected/packageA/pages/index2.json => hybrid-app/expected/components/foo/index.json} (54%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/components/zxc/index.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/components/zxc/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/components/zxc/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/components/zxc/index.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/npm/abc/index.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/npm/abc/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/npm/abc/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/npm/abc/index.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/pages/mini/_footer.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/pages/mini/_msg.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/pages/mini/index.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/pages/mini/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/pages/mini/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/pages/mini/index.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/pages/mini/index.sjs rename packages/remax-cli/src/__tests__/integration/fixtures/{typescript/expected/ali/pages => hybrid-app/expected/pages/react}/index.acss (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/pages/react/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/pages/react/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/expected/pages/react/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/ali => hybrid-app/expected}/runtime.js (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/node_modules/abc/index.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/node_modules/abc/index.axml rename packages/remax-cli/src/__tests__/integration/fixtures/{customCwdBabel/expected/remaxVendors/components/a => hybrid-app/node_modules/abc}/index.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{namespaceAttribute/expected/remaxVendors/components/native-component => hybrid-app/node_modules/abc}/index.json (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/app.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/app.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/app.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/assets/bg.png create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/assets/logo.png create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/components/bar/index.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/components/bar/index.axml rename packages/remax-cli/src/__tests__/integration/fixtures/{nativeComponent/expected/ali/remaxVendors/components/_foo/a => hybrid-app/src/components/bar}/index.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{nativeComponent/expected/ali/remaxVendors/components/_foo/a => hybrid-app/src/components/bar}/index.json (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/components/foo/index.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/components/foo/index.axml rename packages/remax-cli/src/__tests__/integration/fixtures/{nativeComponent/expected/ali/remaxVendors/components/b => hybrid-app/src/components/foo}/index.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{nativeComponent/expected/ali/remaxVendors/components/a => hybrid-app/src/components/foo}/index.json (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/components/zxc/index.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/components/zxc/index.axml rename packages/remax-cli/src/__tests__/integration/fixtures/{nativeComponent/expected/ali/remaxVendors/components/c => hybrid-app/src/components/zxc}/index.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{nativeComponent/expected/ali/remaxVendors/components/b => hybrid-app/src/components/zxc}/index.json (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/pages/mini/_footer.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/pages/mini/_msg.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/pages/mini/index.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/pages/mini/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/pages/mini/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/pages/mini/index.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/pages/mini/index.sjs create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-app/src/pages/react/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/__remax_runtime_options__.js rename packages/remax-cli/src/__tests__/integration/fixtures/{typescript/expected/ali/pages/page2 => hybrid-mini-plugin/expected/components/mini-greet}/index.acss (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/components/mini-greet/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/components/mini-greet/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/components/mini-greet/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/{typescript/expected/ali/pages/page3 => hybrid-mini-plugin/expected/components/react-greet}/index.acss (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/components/react-greet/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/components/react-greet/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid/expected/packageA/pages => hybrid-mini-plugin/expected/components/react-greet}/index.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{createHostComponent/expected/toutiao/pages/index.ttss => hybrid-mini-plugin/expected/main.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/main.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/pages/mini/index.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/pages/mini/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/pages/mini/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/pages/mini/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/{universe/expected/ali/pages => hybrid-mini-plugin/expected/pages/react}/index.acss (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/pages/react/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/pages/react/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/pages/react/index.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/plugin.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/expected/remax-vendors.js rename packages/remax-cli/src/__tests__/integration/fixtures/{renamePage => hybrid-mini-plugin}/expected/runtime.js (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/src/components/mini-greet/index.axml rename packages/remax-cli/src/__tests__/integration/fixtures/{nativeComponent/expected/ali/remaxVendors/components/complex => hybrid-mini-plugin/src/components/mini-greet}/index.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{nativeComponent/expected/ali/remaxVendors/components/c => hybrid-mini-plugin/src/components/mini-greet}/index.json (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/src/components/react-greet/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/src/main.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/src/pages/mini/index.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/src/pages/mini/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/src/pages/mini/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/src/pages/mini/index.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/src/pages/react/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid-mini-plugin/src/plugin.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/app.acss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/app.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/packageA/pages/index.acss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/packageA/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/pages/index.acss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/pages/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/pages/native/index.axml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/pages/native/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/remax-styles.acss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/remax-styles.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/remax-vendors.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/remax.config.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/app.config.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/components/C/index.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/components/C/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/native/pages/native/index.axml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/native/pages/native/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/packageA/pages/index.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/packageA/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/pages/data.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/pages/index.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/pages/index.module.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/lerna/packages/app1/expected/index-chunk.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/expected/6e6a60f044924f71fec456293be371f9.jpg create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/expected/7285019d500b66029accbcfd7275e33a.jpg create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/expected/__remax_runtime_options__.js rename packages/remax-cli/src/__tests__/integration/fixtures/{createHostComponent/expected/wechat/app.wxss => mini-plugin-basic/expected/api/data.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/expected/api/data.js rename packages/remax-cli/src/__tests__/integration/fixtures/{createHostComponent/expected/wechat/pages/index.wxss => mini-plugin-basic/expected/components/greet/index.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/expected/components/greet/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/expected/components/greet/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/expected/components/greet/index.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/expected/pages/index/index.acss create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/expected/pages/index/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/expected/pages/index/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/ali/packageA/pages => mini-plugin-basic/expected/pages/index}/index.json (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/expected/plugin.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/expected/remax-vendors.js rename packages/remax-cli/src/__tests__/integration/fixtures/{typescript/expected/ali => mini-plugin-basic/expected}/runtime.js (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/src/api/data.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/src/assets/images/cat.jpg create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/src/assets/images/dog.jpg create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/src/components/greet/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/src/components/greet2/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{exception/manifest.js/app.config.js => mini-plugin-basic/src/components/list/list.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/src/components/list/list.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/src/components/list/list.js rename packages/remax-cli/src/__tests__/integration/fixtures/{nativeComponent/expected/ali/remaxVendors/components/d/index.json => mini-plugin-basic/src/components/list/list.json} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/src/pages/index/index.css rename {e2e/mini => packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic}/src/pages/index/index.js (90%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/src/pages/insert-before/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/mini-plugin-basic/src/plugin.config.js rename packages/remax-cli/src/__tests__/integration/fixtures/{exception/manifest.ts/app.config.ts => namespaceAttribute/expected/components/native-component/index.acss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/namespaceAttribute/expected/{remaxVendors => }/components/native-component/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/namespaceAttribute/expected/components/native-component/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/namespaceAttribute/expected/components/native-component/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/namespaceAttribute/expected/remaxVendors/components/native-component/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/__remax_runtime_options__.js rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid/expected/31d6cfe0d16ae931b73c59d7e0c089c0.png => nativeComponent/expected/ali/components/_foo/a/index.acss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/_foo/a/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/_foo/a/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/_foo/a/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid/expected/assets/images/cat.png => nativeComponent/expected/ali/components/a/index.acss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/a/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/a/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/a/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid/expected/assets/images/dog.png => nativeComponent/expected/ali/components/b/index.acss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/b/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/b/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/b/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid/src/assets/images/cat.png => nativeComponent/expected/ali/components/c/index.acss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/c/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/c/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/c/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/complex/button.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/complex/import1.axml (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/complex/import2.axml (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/complex/include.axml (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/complex/index.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/complex/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/complex/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/complex/index.json (60%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/complex/index.sjs (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/complex/msg.sjs (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid/src/assets/images/dog.png => nativeComponent/expected/ali/components/d/index.acss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/d/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/d/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/d/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/ali/31d6cfe0d16ae931b73c59d7e0c089c0.png => nativeComponent/expected/ali/components/e/index.acss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/e/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/e/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/e/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/ali/assets/images/cat.png => nativeComponent/expected/ali/components/f/index.acss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/f/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/f/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/f/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/ali/assets/images/dog.png => nativeComponent/expected/ali/components/notInJSX/index.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/notInJSX/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/notInJSX/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/notInJSX/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/toutiao/31d6cfe0d16ae931b73c59d7e0c089c0.png => nativeComponent/expected/ali/components/slot/index.acss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/slot/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/slot/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/slot/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/toutiao/assets/images/cat.png => nativeComponent/expected/ali/components/src/index.acss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors => }/components/src/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/src/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/components/src/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors/npm/cjs => npm/commonjs}/index.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/{remaxVendors/npm/cjs => npm/commonjs}/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/npm/commonjs/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/npm/commonjs/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remax-vendors.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/components/a/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/components/e/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/components/f/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/components/f/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/components/slot/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/components/slot/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/components/src/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/components/src/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/npm/_module/a/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/npm/cjs/esmodule/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/npm/moduleB/index.axml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/npm/moduleB/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/npm/moduleB/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/npm/moduleC/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/expected/ali/remaxVendors/npm/moduleC/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/node_modules/cjs/esmodule/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/node_modules/cjs/fmtEvent.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/node_modules/cjs/index.js delete mode 100755 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/node_modules/cjs/index.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/node_modules/commonjs/esmodule/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/{expected/ali/remaxVendors/npm/cjs => node_modules/commonjs}/fmtEvent.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/node_modules/{cjs => commonjs}/index.acss (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/node_modules/{cjs => commonjs}/index.axml (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/{expected/ali/remaxVendors/npm/cjs => node_modules/commonjs}/index.js (97%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/{expected/ali/remaxVendors/npm/cjs => node_modules/commonjs}/index.json (100%) mode change 100644 => 100755 rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/node_modules/{cjs => commonjs}/package.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/src/components/g/{index.tsx => index.js} (84%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/src/components/h/{Hello.tsx => Hello.js} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/src/components/h/{index.tsx => index.js} (100%) delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/src/index.d.ts rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/src/pages/{index3.tsx => index3.js} (82%) rename packages/remax-cli/src/__tests__/integration/fixtures/nativeComponent/src/pages/{index4.tsx => index4.js} (82%) delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/__remax_runtime_options__.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/app.acss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/app.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/cat.jpg delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/packageA/pages/index.acss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/packageA/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/pages/index.acss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/pages/index.axml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/pages/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/remax-styles.acss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/remax-styles.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/remax-vendors.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/__remax_runtime_options__.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/app.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/app.ttss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/base.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/cat.jpg delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/packageA/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/packageA/pages/index.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/packageA/pages/index.ttss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/pages/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/pages/index.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/pages/index.ttss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/remax-styles.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/remax-styles.ttss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/remax-vendors.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/web/cat.jpg delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/web/index.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/web/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/web/packageA/pages/index.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/web/packageA/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/web/pages/index.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/web/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/__remax_runtime_options__.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/app.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/app.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/base.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/cat.jpg delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/packageA/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/packageA/pages/index.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/packageA/pages/index.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/pages/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/pages/index.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/pages/index.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/remax-styles.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/remax-styles.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/remax-vendors.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/remax.config.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/api/chooseImage/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/api/chooseImage/index.wechat.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/api/chooseImageAli/index.ali.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/api/chooseImageAli/index.mini.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/api/chooseImageAli/index.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/api/chooseImageAli/index.wechat.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/api/chooseImageMini/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/api/chooseImageMini/index.mini.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/api/chooseImageMini/index.wechat.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/app.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/components/C/index.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/components/C/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/packageA/pages/index.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/packageA/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/pages/index.config.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/pages/index.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/src/pages/index.module.css rename packages/remax-cli/src/__tests__/integration/fixtures/{hook-onAppConfig => regenerator-pkg}/expected/__remax_runtime_options__.js (91%) rename packages/remax-cli/src/__tests__/integration/fixtures/{universe/expected/ali => regenerator-pkg/expected}/app.acss (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/regenerator-pkg/expected/app.js rename packages/remax-cli/src/__tests__/integration/fixtures/{renamePage => regenerator-pkg}/expected/app.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/toutiao/assets/images/dog.png => regenerator-pkg/expected/pages/index.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/regenerator-pkg/expected/pages/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/regenerator-pkg/expected/pages/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/toutiao/packageA => regenerator-pkg/expected}/pages/index.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{universe/expected/ali => regenerator-pkg/expected}/runtime.js (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/regenerator-pkg/node_modules/foo/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/regenerator-pkg/node_modules/foo/index2.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/regenerator-pkg/node_modules/foo/package.json rename packages/remax-cli/src/__tests__/integration/fixtures/{renamePage => regenerator-pkg}/src/app.config.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{universe => regenerator-pkg}/src/app.js (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/regenerator-pkg/src/pages/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{toutiao => remaxPlugins}/babel.config.js (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/remaxPlugins/remax.config.js rename packages/remax-cli/src/__tests__/integration/fixtures/{one => remaxPlugins}/src/app.config.js (66%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid => remaxPlugins}/src/app.css (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{customHtmlTemplate => remaxPlugins}/src/app.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/web => remaxPlugins/src}/assets/images/cat.png (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/web => remaxPlugins/src}/assets/images/dog.png (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{toutiao => remaxPlugins}/src/packageA/pages/index.js (89%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid => remaxPlugins}/src/pages/index.config.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{universe => remaxPlugins}/src/pages/index.js (71%) delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/renamePage/expected/pages/index.axml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/renamePage/expected/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/renamePage/src/pages/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{universe/expected/ali => runtime-plugin-with-jsx/expected}/__remax_runtime_options__.js (91%) rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/web/31d6cfe0d16ae931b73c59d7e0c089c0.png => runtime-plugin-with-jsx/expected/app.acss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{hybrid => runtime-plugin-with-jsx}/expected/app.js (57%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/runtime-plugin-with-jsx/expected/app.json rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/wechat/31d6cfe0d16ae931b73c59d7e0c089c0.png => runtime-plugin-with-jsx/expected/pages/index.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/runtime-plugin-with-jsx/expected/pages/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/runtime-plugin-with-jsx/expected/pages/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/wechat/packageA => runtime-plugin-with-jsx/expected}/pages/index.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{createHostComponent/expected/wechat => runtime-plugin-with-jsx/expected}/runtime.js (98%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/runtime-plugin-with-jsx/remax.config.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/runtime-plugin-with-jsx/runtime.js rename packages/remax-cli/src/__tests__/integration/fixtures/{customHtmlTemplate => runtime-plugin-with-jsx}/src/app.config.js (70%) rename packages/remax-cli/src/__tests__/integration/fixtures/{toutiao => runtime-plugin-with-jsx}/src/app.js (87%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/runtime-plugin-with-jsx/src/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/expected/__remax_runtime_options__.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/expected/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/expected/app.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/expected/app.ttss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/expected/base.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/expected/packageA/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/expected/packageA/pages/index.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/expected/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/expected/pages/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/expected/pages/index.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/expected/runtime.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/remax.config.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/src/app.config.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/src/app.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/src/pages/index.config.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/toutiao/src/pages/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/wechat/assets/images/cat.png => turbo-pages-basic/expected/components/nativeComponent/index.acss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-basic/expected/{remaxVendors => }/components/nativeComponent/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-basic/expected/components/nativeComponent/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-basic/expected/components/nativeComponent/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-basic/expected/remaxVendors/components/nativeComponent/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-basic/expected/remaxVendors/components/nativeComponent/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-basic/remax.config.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-fragment-root/expected/isolated.axml rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/wechat/assets/images/dog.png => turbo-pages-picker-view-as-root/expected/app.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view-as-root/expected/app.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view-as-root/expected/app.json rename packages/remax-cli/src/__tests__/integration/fixtures/{one/src/assets/images/cat.png => turbo-pages-picker-view-as-root/expected/pages/index.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view-as-root/expected/pages/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view-as-root/expected/pages/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{renamePage => turbo-pages-picker-view-as-root}/expected/pages/index.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/wechat => turbo-pages-picker-view-as-root/expected}/runtime.js (98%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view-as-root/remax.config.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view-as-root/src/app.config.js rename packages/remax-cli/src/__tests__/integration/fixtures/{wechat => turbo-pages-picker-view-as-root}/src/app.js (87%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view-as-root/src/pages/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view/expected/__remax_runtime_options__.js rename packages/remax-cli/src/__tests__/integration/fixtures/{one/src/assets/images/dog.png => turbo-pages-picker-view/expected/app.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view/expected/app.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view/expected/app.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view/expected/isolated.axml rename packages/remax-cli/src/__tests__/integration/fixtures/{toutiao/expected/assets/images/cat.png => turbo-pages-picker-view/expected/pages/index.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view/expected/pages/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view/expected/pages/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{toutiao/expected/packageA => turbo-pages-picker-view/expected}/pages/index.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/toutiao => turbo-pages-picker-view/expected}/runtime.js (98%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view/remax.config.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view/src/app.config.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view/src/app.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-picker-view/src/pages/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-swiper/expected/__remax_runtime_options__.js rename packages/remax-cli/src/__tests__/integration/fixtures/{toutiao/expected/assets/images/dog.png => turbo-pages-swiper/expected/app.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-swiper/expected/app.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-swiper/expected/app.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-swiper/expected/isolated.axml rename packages/remax-cli/src/__tests__/integration/fixtures/{toutiao/expected/packageA/pages/index.ttss => turbo-pages-swiper/expected/pages/index.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-swiper/expected/pages/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-swiper/expected/pages/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{universe/expected/ali => turbo-pages-swiper/expected}/pages/index.json (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{createHostComponent/expected/toutiao => turbo-pages-swiper/expected}/runtime.js (98%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-swiper/remax.config.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-swiper/src/app.config.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-swiper/src/app.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/turbo-pages-swiper/src/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/ali/app.acss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/ali/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/ali/app.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/ali/pages/index.axml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/ali/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/ali/pages/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/ali/pages/page2/index.axml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/ali/pages/page2/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/ali/pages/page2/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/ali/pages/page3/index.axml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/ali/pages/page3/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/ali/pages/page3/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/ali/remax-vendors.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/alipay/index-chunk.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/__remax_runtime_options__.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/app.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/app.ttss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/base.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/pages/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/pages/index.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/pages/page2/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/pages/page2/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/pages/page2/index.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/pages/page2/index.ttss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/pages/page3/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/pages/page3/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/pages/page3/index.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/pages/page3/index.ttss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/remax-vendors.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/toutiao/runtime.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/__remax_runtime_options__.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/app.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/app.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/base.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/pages/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/pages/index.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/pages/index.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/pages/page2/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/pages/page2/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/pages/page2/index.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/pages/page2/index.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/pages/page3/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/pages/page3/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/pages/page3/index.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/pages/page3/index.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/remax-vendors.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/expected/wechat/runtime.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/src/app.config.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/src/app.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/src/app.tsx delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/src/components/Text.tsx delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/src/components/View.tsx delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/src/pages/importApp.tsx delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/src/pages/index.config.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/src/pages/index.tsx delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/src/pages/page2/index.config.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/src/pages/page2/index.tsx delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/src/pages/page3/index.config.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/typescript/src/pages/page3/index.tsx delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/ali/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/ali/pages/index.axml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/ali/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/alipay/index-chunk.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/alipay/pages/index.axml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/toutiao/__remax_runtime_options__.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/toutiao/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/toutiao/app.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/toutiao/app.ttss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/toutiao/base.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/toutiao/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/toutiao/pages/index.ttml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/toutiao/pages/index.ttss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/toutiao/runtime.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/wechat/__remax_runtime_options__.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/wechat/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/wechat/app.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/wechat/app.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/wechat/base.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/wechat/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/wechat/pages/index.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/wechat/pages/index.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/expected/wechat/runtime.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/src/app.config.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/src/components/Text.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/universe/src/components/View.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/expected-multi/pages/index/index.css create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/expected-multi/pages/index/index.html create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/expected-multi/pages/index/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/expected-multi/pages/index/index2.css create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/expected-multi/pages/index/index2.html create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/expected-multi/pages/index/index2.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/expected-multi/runtime.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/expected/index.css rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/web => web/expected}/index.html (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/expected/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/expected/pages/index/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/expected/pages/index/index2.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/expected/remax-styles.css create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/expected/remax-styles.js rename packages/remax-cli/src/__tests__/integration/fixtures/{one/expected/web => web/expected}/runtime.js (97%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/src/app.config.js rename packages/remax-cli/src/__tests__/integration/fixtures/{toutiao/expected/pages/index.ttss => web/src/app.css} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/src/app.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/src/pages/index/index.css create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/src/pages/index/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/web/src/pages/index/index2.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/babel.config.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/__remax_runtime_options__.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/app.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/app.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/app.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/assets/images/cat.png delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/assets/images/dog.png delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/base.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/packageA/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/packageA/pages/index.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/packageA/pages/index.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/packageA/pages/index2.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/packageA/pages/index2.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/packageA/pages/index2.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/pages/index.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/pages/index.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/pages/index.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/pages/index2.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/pages/index2.json delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/pages/index2.wxml delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/pages/index2.wxss delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/expected/runtime.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/remax.config.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/src/app.config.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/src/app.css delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/src/assets/images/cat.png delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/src/assets/images/dog.png delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/src/packageA/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/src/packageA/pages/index2.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/src/pages/index.config.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/src/pages/index.js delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/wechat/src/pages/index2.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/expected/__remax_runtime_options__.js rename packages/remax-cli/src/__tests__/integration/fixtures/{toutiao/src/assets/images/cat.png => with-dsl-component/expected/app.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/expected/app.js rename packages/remax-cli/src/__tests__/integration/fixtures/{universe/expected/ali => with-dsl-component/expected}/app.json (72%) rename packages/remax-cli/src/__tests__/integration/fixtures/{toutiao/src/assets/images/dog.png => with-dsl-component/expected/npm/dsl-module/index.acss} (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{nativeComponent/expected/ali/remaxVendors/npm/moduleC => with-dsl-component/expected/npm/dsl-module}/index.axml (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/expected/npm/dsl-module/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/expected/npm/dsl-module/index.json rename packages/remax-cli/src/__tests__/integration/fixtures/{typescript/expected/toutiao/pages/index.ttss => with-dsl-component/expected/pages/index.acss} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/expected/pages/index.axml create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/expected/pages/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/expected/pages/index.json create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/expected/runtime.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/node_modules/dsl-module/index.axml rename packages/remax-cli/src/__tests__/integration/fixtures/{nativeComponent/expected/ali/remaxVendors/components/d => with-dsl-component/node_modules/dsl-module}/index.js (100%) rename packages/remax-cli/src/__tests__/integration/fixtures/{nativeComponent/expected/ali/remaxVendors/components/e => with-dsl-component/node_modules/dsl-module}/index.json (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/node_modules/empty/index.js rename packages/remax-cli/src/__tests__/integration/fixtures/{exception/src/app.config.js => with-dsl-component/remax.config.js} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/src/app.config.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/src/app.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/src/pages/empty.js create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/with-dsl-component/src/pages/index.js create mode 100644 packages/remax-cli/src/__tests__/integration/miniPlugin.test.ts create mode 100644 packages/remax-cli/src/__tests__/integration/nativeComponent/with-dsl-component.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/one/ali.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/one/toutiao.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/one/web.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/one/wechat.test.ts create mode 100644 packages/remax-cli/src/__tests__/integration/regenerator-pkg.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/renamePage.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/toutiao.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/typescript/toutiao.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/typescript/wechat.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/universe/ali.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/universe/toutiao.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/universe/wechat.test.ts create mode 100644 packages/remax-cli/src/__tests__/integration/web.test.ts delete mode 100644 packages/remax-cli/src/__tests__/integration/wechat.test.ts create mode 100644 packages/remax-cli/src/build/Builder.ts create mode 100644 packages/remax-cli/src/build/EntryCollection.ts create mode 100644 packages/remax-cli/src/build/MiniBuilder.ts create mode 100644 packages/remax-cli/src/build/MiniPluginBuilder.ts create mode 100644 packages/remax-cli/src/build/NativeAssets.ts create mode 100644 packages/remax-cli/src/build/ProjectPath.ts rename packages/remax-cli/src/build/{web.ts => WebBuilder.ts} (64%) delete mode 100644 packages/remax-cli/src/build/babel/app.ts delete mode 100644 packages/remax-cli/src/build/babel/compiler/static/index.ts delete mode 100644 packages/remax-cli/src/build/babel/compiler/static/postProcess.ts delete mode 100644 packages/remax-cli/src/build/babel/compiler/static/preprocess/JSXElement.ts delete mode 100644 packages/remax-cli/src/build/babel/compiler/static/preprocess/JSXExpressionContainer.ts delete mode 100644 packages/remax-cli/src/build/babel/compiler/static/preprocess/index.ts delete mode 100644 packages/remax-cli/src/build/babel/compiler/static/render/index.ts delete mode 100644 packages/remax-cli/src/build/babel/compiler/static/render/templates/TemplateInfoMap.ts delete mode 100644 packages/remax-cli/src/build/babel/componentManifest.ts delete mode 100644 packages/remax-cli/src/build/babel/fixRegeneratorRuntime.ts delete mode 100644 packages/remax-cli/src/build/babel/page.ts delete mode 100644 packages/remax-cli/src/build/babel/pageEvent.ts create mode 100644 packages/remax-cli/src/build/entries/AppEntry.ts create mode 100644 packages/remax-cli/src/build/entries/ComponentEntry.ts create mode 100644 packages/remax-cli/src/build/entries/FallbackEntry.ts create mode 100644 packages/remax-cli/src/build/entries/MpaEntry.ts create mode 100644 packages/remax-cli/src/build/entries/NativeEntry.ts create mode 100644 packages/remax-cli/src/build/entries/NormalEntry.ts create mode 100644 packages/remax-cli/src/build/entries/PageEntry.ts create mode 100644 packages/remax-cli/src/build/entries/SpaEntry.ts create mode 100644 packages/remax-cli/src/build/entries/VirtualEntry.ts delete mode 100644 packages/remax-cli/src/build/mini.ts delete mode 100644 packages/remax-cli/src/build/utils/getAppConfig.ts delete mode 100644 packages/remax-cli/src/build/utils/turboPages.ts delete mode 100644 packages/remax-cli/src/build/utils/web.ts create mode 100644 packages/remax-cli/src/build/webpack/config.miniPlugin.ts create mode 100644 packages/remax-cli/src/build/webpack/config.web.mpa.ts create mode 100644 packages/remax-cli/src/build/webpack/loaders/nativeComponent.ts delete mode 100644 packages/remax-cli/src/build/webpack/loaders/nativeComponent/getAssets.ts delete mode 100644 packages/remax-cli/src/build/webpack/loaders/nativeComponent/index.ts delete mode 100644 packages/remax-cli/src/build/webpack/loaders/nativeComponent/template.ts delete mode 100644 packages/remax-cli/src/build/webpack/loaders/stub.ts create mode 100644 packages/remax-cli/src/build/webpack/plugins/AppAsset.ts create mode 100644 packages/remax-cli/src/build/webpack/plugins/ComponentAsset/createManifest.ts create mode 100644 packages/remax-cli/src/build/webpack/plugins/ComponentAsset/createTemplate.ts create mode 100644 packages/remax-cli/src/build/webpack/plugins/ComponentAsset/index.ts create mode 100644 packages/remax-cli/src/build/webpack/plugins/NativeAsset.ts delete mode 100644 packages/remax-cli/src/build/webpack/plugins/NativeFiles/cacheable.ts delete mode 100644 packages/remax-cli/src/build/webpack/plugins/NativeFiles/createAppManifest.ts delete mode 100644 packages/remax-cli/src/build/webpack/plugins/NativeFiles/createPageManifest.ts delete mode 100644 packages/remax-cli/src/build/webpack/plugins/NativeFiles/createPageTemplate.ts delete mode 100644 packages/remax-cli/src/build/webpack/plugins/NativeFiles/createTurboPageTemplate.ts delete mode 100644 packages/remax-cli/src/build/webpack/plugins/NativeFiles/getUsingComponents.ts delete mode 100644 packages/remax-cli/src/build/webpack/plugins/NativeFiles/index.ts create mode 100644 packages/remax-cli/src/build/webpack/plugins/PageAsset/createIsolatedTemplate.ts create mode 100644 packages/remax-cli/src/build/webpack/plugins/PageAsset/createManifest.ts create mode 100644 packages/remax-cli/src/build/webpack/plugins/PageAsset/createTemplate.ts create mode 100644 packages/remax-cli/src/build/webpack/plugins/PageAsset/createTurboTemplate.ts create mode 100644 packages/remax-cli/src/build/webpack/plugins/PageAsset/index.ts create mode 100644 packages/remax-cli/src/build/webpack/plugins/PluginAsset.ts delete mode 100644 packages/remax-cli/src/build/webpack/plugins/WebEntryWatcher.ts create mode 100644 packages/remax-cli/src/build/webpack/plugins/getUsingComponents.ts create mode 100644 packages/remax-cli/src/build/webpack/webBaseConfig.ts create mode 100644 packages/remax-cli/src/builtinPlugins.ts delete mode 100644 packages/remax-cli/src/getEntries.ts create mode 100644 packages/remax-cli/src/legacyExport.ts delete mode 100644 packages/remax-cli/src/remaxVersion.ts rename packages/remax-cli/template/{apply-runtime-options.js.ejs => app-runtime-options.js.ejs} (80%) delete mode 100644 packages/remax-cli/template/entry.js.ejs create mode 100644 packages/remax-framework-shared/.npmignore create mode 100644 packages/remax-framework-shared/CHANGELOG.md create mode 100644 packages/remax-framework-shared/README.md create mode 100644 packages/remax-framework-shared/jest.config.js create mode 100644 packages/remax-framework-shared/package.json rename packages/{remax-runtime => remax-framework-shared}/src/AppInstanceContext.ts (86%) create mode 100644 packages/remax-framework-shared/src/ComponentInstanceContext.ts create mode 100644 packages/remax-framework-shared/src/PageInstanceContext.ts rename packages/{remax-runtime => remax-framework-shared}/src/PluginDriver.ts (51%) rename packages/{remax-runtime => remax-framework-shared}/src/RuntimeOptions.ts (78%) rename packages/{remax-runtime => remax-framework-shared}/src/__tests__/AppInstanceContext.test.ts (100%) rename packages/{remax-runtime => remax-framework-shared}/src/__tests__/PluginDriver.test.ts (78%) rename packages/{remax-runtime => remax-framework-shared}/src/__tests__/createPageWrapper.test.tsx (79%) rename packages/{remax-shared => remax-framework-shared}/src/__tests__/promisify.test.ts (100%) rename packages/{remax-runtime => remax-framework-shared}/src/createPageWrapper.ts (82%) rename packages/{remax-shared => remax-framework-shared}/src/formatDisplayName.ts (100%) create mode 100644 packages/remax-framework-shared/src/hooks.ts create mode 100644 packages/remax-framework-shared/src/index.ts rename packages/{remax-runtime/src/lifecycle/index.ts => remax-framework-shared/src/lifecycle.ts} (92%) rename packages/{remax-shared => remax-framework-shared}/src/promisify.ts (100%) create mode 100644 packages/remax-framework-shared/src/utils/capitalize.ts create mode 100644 packages/remax-framework-shared/src/utils/isClassComponent.ts create mode 100644 packages/remax-framework-shared/src/utils/lowercase.ts create mode 100644 packages/remax-framework-shared/tsconfig.json delete mode 100644 packages/remax-one/src/api/types.ts create mode 100644 packages/remax-plugin-error-screen/CHANGELOG.md create mode 100644 packages/remax-plugin-error-screen/README.md create mode 100644 packages/remax-plugin-error-screen/package.json create mode 100644 packages/remax-plugin-error-screen/src/ErrorBoundary.tsx create mode 100644 packages/remax-plugin-error-screen/src/ErrorScreen.development.tsx create mode 100644 packages/remax-plugin-error-screen/src/ErrorScreen.tsx create mode 100644 packages/remax-plugin-error-screen/src/index.ts create mode 100644 packages/remax-plugin-error-screen/tsconfig.json create mode 100644 packages/remax-plugin-error-screen/typings/index.d.ts delete mode 100644 packages/remax-router/CHANGELOG.md delete mode 100644 packages/remax-router/package.json delete mode 100644 packages/remax-router/web.d.ts delete mode 100644 packages/remax-router/web.js delete mode 100644 packages/remax-runtime/src/PageContext.ts delete mode 100644 packages/remax-runtime/src/ReactIs.ts delete mode 100644 packages/remax-runtime/src/__tests__/RuntimeOptions.test.ts create mode 100644 packages/remax-runtime/src/createComponentConfig.ts create mode 100644 packages/remax-runtime/src/createHostComponent.ts delete mode 100644 packages/remax-runtime/src/hooks/usePageContext.ts delete mode 100644 packages/remax-runtime/src/hooks/useQuery.web.ts delete mode 100644 packages/remax-runtime/src/lifecycle/events.ts delete mode 100644 packages/remax-runtime/src/lifecycle/events.web.ts delete mode 100644 packages/remax-shared/src/__tests__/__snapshots__/createHostComponent.test.tsx.snap delete mode 100644 packages/remax-shared/src/__tests__/createHostComponent.test.tsx delete mode 100644 packages/remax-shared/src/createHostComponent.ts create mode 100644 packages/remax-shared/src/nativeComponent/getAssets.ts rename packages/{remax-cli/src/build/utils/nativeComponent.ts => remax-shared/src/nativeComponent/helpers.ts} (51%) rename packages/{remax-cli/src/build/webpack/loaders => remax-shared/src}/nativeComponent/jsHelper.ts (82%) rename packages/{remax-cli/src/build/webpack/loaders => remax-shared/src}/nativeComponent/json.ts (75%) rename packages/{remax-cli/src/build/webpack/loaders => remax-shared/src}/nativeComponent/modules.ts (96%) rename packages/{remax-cli/src/build/webpack/loaders => remax-shared/src}/nativeComponent/style.ts (70%) create mode 100644 packages/remax-shared/src/nativeComponent/template.ts rename packages/{remax-cli/src/build/webpack/loaders => remax-shared/src}/nativeComponent/usingComponents.ts (84%) create mode 100644 packages/remax-shared/src/unique.ts rename packages/{remax/web => remax-web/assets}/app.css (85%) rename packages/{remax/web => remax-web/assets}/normalize.css (100%) create mode 100644 packages/remax-web/src/TabBar.tsx create mode 100644 packages/remax-web/src/__tests__/__snapshots__/createApp.test.tsx.snap create mode 100644 packages/remax-web/src/__tests__/createApp.test.tsx rename packages/{remax-one/src/api/index.web.ts => remax-web/src/api.ts} (68%) create mode 100644 packages/remax-web/src/bootstrap.tsx create mode 100644 packages/remax-web/src/bootstrapMpa.tsx create mode 100644 packages/remax-web/src/createApp.tsx rename packages/{remax-runtime/src/createAppConfig.web.tsx => remax-web/src/createAppConfig.tsx} (90%) rename packages/{remax-runtime/src/createPageConfig.web.tsx => remax-web/src/createPageConfig.tsx} (86%) rename packages/{remax-runtime/src/hooks/useNativeEffect.web.ts => remax-web/src/hooks/useNativeEffect.ts} (100%) create mode 100644 packages/remax-web/src/hooks/useQuery.ts delete mode 100644 packages/remax-web/src/node/index.ts delete mode 100644 packages/remax-web/src/types/config.ts create mode 100644 packages/remax/internal.js create mode 100644 packages/remax/internal.mini.js create mode 100644 packages/remax/modules/index.ts create mode 100644 packages/remax/modules/main.mini.ts rename packages/remax/{web/index.d.ts => modules/main.ts} (100%) create mode 100644 packages/remax/tsconfig.json delete mode 100644 packages/remax/web/index.js diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json index 37ec7fe1f..82416798b 100644 --- a/.codesandbox/ci.json +++ b/.codesandbox/ci.json @@ -1,19 +1,27 @@ { "installCommand": "install:codesandbox", "packages": [ - "packages/remax-types", - "packages/remax-macro", - "packages/remax-ali", - "packages/remax-wechat", - "packages/remax-toutiao", - "packages/remax-router", - "packages/remax-web", - "packages/remax-one", + "packages/babel-plugin-remax-host-component", + "packages/babel-plugin-remax-lifecycle", + "packages/babel-plugin-remax-regenerator-runtime", + "packages/babel-plugin-remax-turbo-render", "packages/babel-preset-remax", + "packages/postcss-remax-tag", "packages/remax", + "packages/remax-ali", + "packages/remax-build-store", + "packages/remax-cli", + "packages/remax-framework-shared", + "packages/remax-macro", + "packages/remax-one", + "packages/remax-plugin-devtools", + "packages/remax-plugin-error-screen", "packages/remax-runtime", - "packages/postcss-remax-tag", - "packages/remax-cli" + "packages/remax-shared", + "packages/remax-toutiao", + "packages/remax-types", + "packages/remax-web", + "packages/remax-wechat" ], "sandboxes": ["github/remaxjs/examples/tree/master/one"] } diff --git a/.github/workflows/e2e-web-mpa.yml b/.github/workflows/e2e-web-mpa.yml new file mode 100644 index 000000000..4c2d5a219 --- /dev/null +++ b/.github/workflows/e2e-web-mpa.yml @@ -0,0 +1,32 @@ +name: E2E web mpa + +on: + push: + branches: [master] + pull_request: + types: [opened, synchronize] + +jobs: + test: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + node-version: [14.x] + os: [ubuntu-latest] + + steps: + - uses: actions/checkout@v1 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: install + run: yarn install --frozen-lockfile + - name: build + run: yarn build + - name: e2e + run: yarn test:e2e-web + env: + CI: true + MPA: true diff --git a/.github/workflows/e2e-web-spa.yml b/.github/workflows/e2e-web-spa.yml new file mode 100644 index 000000000..7c71c5dd2 --- /dev/null +++ b/.github/workflows/e2e-web-spa.yml @@ -0,0 +1,31 @@ +name: E2E web spa + +on: + push: + branches: [master] + pull_request: + types: [opened, synchronize] + +jobs: + test: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + node-version: [14.x] + os: [ubuntu-latest] + + steps: + - uses: actions/checkout@v1 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: install + run: yarn install --frozen-lockfile + - name: build + run: yarn build + - name: e2e + run: yarn test:e2e-web + env: + CI: true diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 99b86527a..7aeaa5fea 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,10 +30,6 @@ jobs: run: yarn test:cov env: CI: true - - name: e2e - run: yarn test:e2e - env: - CI: true - name: Upload coverage to Codecov if: success() && runner.os == 'Linux' run: curl -s https://codecov.io/bash | bash -s -- -t $CODECOV_TOKEN diff --git a/e2e/mini/.gitignore b/e2e/app/.gitignore similarity index 100% rename from e2e/mini/.gitignore rename to e2e/app/.gitignore index e04fe428a..6c2f04227 100644 --- a/e2e/mini/.gitignore +++ b/e2e/app/.gitignore @@ -1,9 +1,9 @@ dist/ -build/ yarn-error.log yarn.lock .tea .vscode .DS_Store !src/node_modules +build/ miniapptools_dist/ diff --git a/e2e/app/CHANGELOG.md b/e2e/app/CHANGELOG.md new file mode 100644 index 000000000..e4d87c4d4 --- /dev/null +++ b/e2e/app/CHANGELOG.md @@ -0,0 +1,4 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. diff --git a/e2e/app/README.md b/e2e/app/README.md new file mode 100644 index 000000000..e46ad14b5 --- /dev/null +++ b/e2e/app/README.md @@ -0,0 +1 @@ +# Remax E2E test diff --git a/e2e/mini/jest-puppeteer.config.js b/e2e/app/jest-puppeteer.config.js similarity index 69% rename from e2e/mini/jest-puppeteer.config.js rename to e2e/app/jest-puppeteer.config.js index 59fb8a7aa..bba442d34 100644 --- a/e2e/mini/jest-puppeteer.config.js +++ b/e2e/app/jest-puppeteer.config.js @@ -4,8 +4,8 @@ module.exports = { }, server: { debug: true, - command: 'http-server --cors --port=8888 -s', - port: 8888, + command: 'npm run serve', + port: 5678, launchTimeout: 60000, }, }; diff --git a/e2e/app/jest.config.js b/e2e/app/jest.config.js new file mode 100644 index 000000000..4d674d72a --- /dev/null +++ b/e2e/app/jest.config.js @@ -0,0 +1,3 @@ +module.exports = { + preset: './tests/preset.js', +}; diff --git a/e2e/mini/mini.project.json b/e2e/app/mini.project.json similarity index 56% rename from e2e/mini/mini.project.json rename to e2e/app/mini.project.json index 6883188a4..6745e7028 100644 --- a/e2e/mini/mini.project.json +++ b/e2e/app/mini.project.json @@ -1,6 +1,7 @@ { - "miniprogramRoot": "dist", + "miniprogramRoot": "build/src", "scripts": { + "watch": "npm run watch:mini", "beforePreview": "npm run build", "beforeUpload": "npm run build" }, @@ -12,15 +13,7 @@ "package-lock.json", "package.json", "remax.config.js", - "app.json" - ], - "precompileWatch": { - "selfWatch": true, - "restart": true, - "exclude": [ - "dist/**", - "*.md" - ], - "ignoreBuiltInExts": false - } + "app.json", + "miniapptools_dist/**/*" + ] } diff --git a/e2e/app/package.json b/e2e/app/package.json new file mode 100644 index 000000000..8043b0d46 --- /dev/null +++ b/e2e/app/package.json @@ -0,0 +1,50 @@ +{ + "name": "e2e-app", + "private": true, + "version": "1.1.0", + "description": "intergration tests for Remax", + "main": "index.js", + "keywords": [], + "author": "Wei Zhu ", + "license": "MIT", + "scripts": { + "watch:mini": "remax build -w", + "dev:mini": " mini build -w ./", + "dev:web": "remax build -w -t web", + "dev:web:mpa": "MPA=1 remax build -w -t web", + "clean": "rimraf dist", + "build": "./scripts/build.sh", + "serve": "http-server ./dist/webng --cors --port=5678 -s", + "pretest": "npm run build", + "test": "jest", + "test:mini": "TEST_TARGET=mini npm run test", + "test:web": "TEST_TARGET=web npm run test" + }, + "dependencies": { + "remax": "^2.8.8", + "@remax/plugin-less": "^1.0.0", + "clsx": "^1.0.4", + "mini-antui": "^0.4.34", + "react": "^16.8.6" + }, + "devDependencies": { + "@types/expect-puppeteer": "^4.4.0", + "@types/jest": "^25.2.3", + "@types/puppeteer": "^2.0.0", + "@types/react": "^16.9.1", + "cross-env": "^6.0.3", + "http-server": "^0.12.3", + "jest": "^24.9.0", + "jest-puppeteer": "^4.4.0", + "merge": "^1.2.1", + "rimraf": "^2.6.3", + "ts-jest": "^24.1.0", + "typescript": "^3.7.2" + }, + "workspaces": { + "nohoist": [ + "mini-antui", + "react" + ] + } +} diff --git a/e2e/app/remax.config.js b/e2e/app/remax.config.js new file mode 100644 index 000000000..2f31f1be2 --- /dev/null +++ b/e2e/app/remax.config.js @@ -0,0 +1,16 @@ +const path = require('path'); +const less = require('@remax/plugin-less'); + +module.exports = { + output: process.env.REMAX_PLATFORM === 'web' ? 'dist/webng' : 'build/src', + plugins: [less()], + configWebpack({ config }) { + if (process.env.REMAX_PLATFORM === 'web') { + config.output.publicPath('/'); + } + }, + turboRenders: !!process.env.TURBO_RENDERS, + web: { + mpa: !!process.env.MPA, + }, +}; diff --git a/e2e/app/scripts/build.sh b/e2e/app/scripts/build.sh new file mode 100755 index 000000000..2f32ca222 --- /dev/null +++ b/e2e/app/scripts/build.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -x + +if [ -z "$SKIP_BUILD" ]; then + npm run clean + + if [ "$TEST_TARGET" = "web" ]; then + npx remax build -t web + else + npx remax build && cd build && cube build --webng=appxng --native=false --appxcompatible && mv dist .. + fi +fi diff --git a/e2e/app/src/GlobalContext.js b/e2e/app/src/GlobalContext.js new file mode 100644 index 000000000..914c125ff --- /dev/null +++ b/e2e/app/src/GlobalContext.js @@ -0,0 +1,5 @@ +import * as React from 'react'; + +export const GlobalContext = React.createContext({ + name: '', +}); diff --git a/e2e/dummy/src/pages/two/index.js b/e2e/app/src/_error.js similarity index 53% rename from e2e/dummy/src/pages/two/index.js rename to e2e/app/src/_error.js index e86f083d6..af0dd0892 100644 --- a/e2e/dummy/src/pages/two/index.js +++ b/e2e/app/src/_error.js @@ -1,6 +1,4 @@ import * as React from 'react'; import { View } from 'remax/one'; -export default () => { - return page two; -}; +export default () => custom error; diff --git a/e2e/app/src/app.config.js b/e2e/app/src/app.config.js new file mode 100644 index 000000000..299f5334e --- /dev/null +++ b/e2e/app/src/app.config.js @@ -0,0 +1,80 @@ +const pages = [ + 'pages/index/index', + 'pages/error/index', + 'pages/lifecycle/index', + 'pages/image/index', + 'pages/query/index', + 'pages/navigate/one/index', + 'pages/navigate/two/index', +]; + +if (process.env.REMAX_PLATFORM === 'ali') { + pages.push( + ...[ + 'pages/native-component/index', + 'pages/native-component/module', + 'pages/native-component/commonChunk1', + 'pages/native-component/commonChunk2', + 'pages/turbo-page/index', + 'pages/insert-before/index', + 'pages/hybrid/index', + ] + ); +} + +module.exports.ali = { + pages, + window: { + defaultTitle: 'Test App', + titleBarColor: '#323239', + }, + subPackages: [ + { + root: 'packageA', + pages: ['pages/index'], + }, + ], + tabBar: { + textColor: '#ffffff', + selectedColor: '#000000', + backgroundColor: '#212121', + items: [ + { + pagePath: 'pages/index/index', + name: '首页', + icon: './assets/images/cat.jpg', + activeIcon: './assets/images/dog.jpg', + }, + { + pagePath: 'packageA/pages/index', + name: '其他', + icon: './assets/images/cat.jpg', + activeIcon: './assets/images/dog.jpg', + }, + ], + }, +}; + +module.exports.web = { + pages, + title: 'Remax Web Template', + tabBar: { + backgroundColor: '#fff', + activeTitleColor: 'red', + titleColor: 'blue', + items: [ + { + url: 'pages/index/index', + title: '首页', + image: './assets/images/cat.jpg', + activeImage: './assets/images/dog.jpg', + }, + { + url: 'packageA/pages/index', + title: '其他', + image: './assets/images/cat.jpg', + activeImage: './assets/images/dog.jpg', + }, + ], + }, +}; diff --git a/e2e/app/src/app.js b/e2e/app/src/app.js new file mode 100644 index 000000000..be3f07686 --- /dev/null +++ b/e2e/app/src/app.js @@ -0,0 +1,16 @@ +import * as React from 'react'; +import { useAppEvent } from 'remax/macro'; +import { GlobalContext } from './GlobalContext'; + +const App = props => { + const [name, setName] = React.useState(''); + + useAppEvent('onLaunch', () => { + console.log('launch'); + setName('launch'); + }); + + return {props.children}; +}; + +export default App; diff --git a/e2e/mini/src/assets/images/cat.jpg b/e2e/app/src/assets/images/cat.jpg similarity index 100% rename from e2e/mini/src/assets/images/cat.jpg rename to e2e/app/src/assets/images/cat.jpg diff --git a/e2e/mini/src/assets/images/dog.jpg b/e2e/app/src/assets/images/dog.jpg similarity index 100% rename from e2e/mini/src/assets/images/dog.jpg rename to e2e/app/src/assets/images/dog.jpg diff --git a/e2e/mini/src/components/@foo/a/index.axml b/e2e/app/src/components/@foo/a/index.axml similarity index 100% rename from e2e/mini/src/components/@foo/a/index.axml rename to e2e/app/src/components/@foo/a/index.axml diff --git a/e2e/mini/src/components/@foo/a/index.js b/e2e/app/src/components/@foo/a/index.js similarity index 100% rename from e2e/mini/src/components/@foo/a/index.js rename to e2e/app/src/components/@foo/a/index.js diff --git a/e2e/mini/src/components/@foo/a/index.json b/e2e/app/src/components/@foo/a/index.json similarity index 100% rename from e2e/mini/src/components/@foo/a/index.json rename to e2e/app/src/components/@foo/a/index.json diff --git a/e2e/mini/src/components/Card/index.tsx b/e2e/app/src/components/Card/index.tsx similarity index 100% rename from e2e/mini/src/components/Card/index.tsx rename to e2e/app/src/components/Card/index.tsx diff --git a/e2e/app/src/components/a/index.axml b/e2e/app/src/components/a/index.axml new file mode 100644 index 000000000..cb8d09a88 --- /dev/null +++ b/e2e/app/src/components/a/index.axml @@ -0,0 +1 @@ +a diff --git a/e2e/mini/src/components/a/index.js b/e2e/app/src/components/a/index.js similarity index 100% rename from e2e/mini/src/components/a/index.js rename to e2e/app/src/components/a/index.js diff --git a/e2e/mini/src/components/a/index.json b/e2e/app/src/components/a/index.json similarity index 100% rename from e2e/mini/src/components/a/index.json rename to e2e/app/src/components/a/index.json diff --git a/e2e/mini/src/components/b/index.axml b/e2e/app/src/components/b/index.axml similarity index 100% rename from e2e/mini/src/components/b/index.axml rename to e2e/app/src/components/b/index.axml diff --git a/e2e/mini/src/components/b/index.js b/e2e/app/src/components/b/index.js similarity index 100% rename from e2e/mini/src/components/b/index.js rename to e2e/app/src/components/b/index.js diff --git a/e2e/mini/src/components/b/index.json b/e2e/app/src/components/b/index.json similarity index 100% rename from e2e/mini/src/components/b/index.json rename to e2e/app/src/components/b/index.json diff --git a/e2e/mini/src/components/c/index.axml b/e2e/app/src/components/c/index.axml similarity index 100% rename from e2e/mini/src/components/c/index.axml rename to e2e/app/src/components/c/index.axml diff --git a/e2e/mini/src/components/c/index.js b/e2e/app/src/components/c/index.js similarity index 100% rename from e2e/mini/src/components/c/index.js rename to e2e/app/src/components/c/index.js diff --git a/e2e/mini/src/components/c/index.json b/e2e/app/src/components/c/index.json similarity index 100% rename from e2e/mini/src/components/c/index.json rename to e2e/app/src/components/c/index.json diff --git a/e2e/mini/src/components/complex/button.acss b/e2e/app/src/components/complex/button.acss similarity index 100% rename from e2e/mini/src/components/complex/button.acss rename to e2e/app/src/components/complex/button.acss diff --git a/e2e/mini/src/components/complex/include.axml b/e2e/app/src/components/complex/include.axml similarity index 100% rename from e2e/mini/src/components/complex/include.axml rename to e2e/app/src/components/complex/include.axml diff --git a/e2e/mini/src/components/complex/index.acss b/e2e/app/src/components/complex/index.acss similarity index 100% rename from e2e/mini/src/components/complex/index.acss rename to e2e/app/src/components/complex/index.acss diff --git a/e2e/mini/src/components/complex/index.axml b/e2e/app/src/components/complex/index.axml similarity index 100% rename from e2e/mini/src/components/complex/index.axml rename to e2e/app/src/components/complex/index.axml diff --git a/e2e/mini/src/components/complex/index.js b/e2e/app/src/components/complex/index.js similarity index 100% rename from e2e/mini/src/components/complex/index.js rename to e2e/app/src/components/complex/index.js diff --git a/e2e/mini/src/components/complex/index.json b/e2e/app/src/components/complex/index.json similarity index 100% rename from e2e/mini/src/components/complex/index.json rename to e2e/app/src/components/complex/index.json diff --git a/e2e/mini/src/components/complex/index.sjs b/e2e/app/src/components/complex/index.sjs similarity index 100% rename from e2e/mini/src/components/complex/index.sjs rename to e2e/app/src/components/complex/index.sjs diff --git a/e2e/mini/src/components/complex/msg.sjs b/e2e/app/src/components/complex/msg.sjs similarity index 100% rename from e2e/mini/src/components/complex/msg.sjs rename to e2e/app/src/components/complex/msg.sjs diff --git a/e2e/mini/src/components/d/index.axml b/e2e/app/src/components/d/index.axml similarity index 100% rename from e2e/mini/src/components/d/index.axml rename to e2e/app/src/components/d/index.axml diff --git a/e2e/mini/src/components/d/index.js b/e2e/app/src/components/d/index.js similarity index 100% rename from e2e/mini/src/components/d/index.js rename to e2e/app/src/components/d/index.js diff --git a/e2e/mini/src/components/d/index.json b/e2e/app/src/components/d/index.json similarity index 100% rename from e2e/mini/src/components/d/index.json rename to e2e/app/src/components/d/index.json diff --git a/e2e/mini/src/components/e/index.axml b/e2e/app/src/components/e/index.axml similarity index 100% rename from e2e/mini/src/components/e/index.axml rename to e2e/app/src/components/e/index.axml diff --git a/e2e/mini/src/components/e/index.js b/e2e/app/src/components/e/index.js similarity index 100% rename from e2e/mini/src/components/e/index.js rename to e2e/app/src/components/e/index.js diff --git a/e2e/mini/src/components/e/index.json b/e2e/app/src/components/e/index.json similarity index 100% rename from e2e/mini/src/components/e/index.json rename to e2e/app/src/components/e/index.json diff --git a/e2e/mini/src/components/f/index.axml b/e2e/app/src/components/f/index.axml similarity index 100% rename from e2e/mini/src/components/f/index.axml rename to e2e/app/src/components/f/index.axml diff --git a/e2e/mini/src/components/f/index.js b/e2e/app/src/components/f/index.js similarity index 100% rename from e2e/mini/src/components/f/index.js rename to e2e/app/src/components/f/index.js diff --git a/e2e/mini/src/components/f/index.json b/e2e/app/src/components/f/index.json similarity index 100% rename from e2e/mini/src/components/f/index.json rename to e2e/app/src/components/f/index.json diff --git a/e2e/mini/src/components/g/index.tsx b/e2e/app/src/components/g/index.tsx similarity index 100% rename from e2e/mini/src/components/g/index.tsx rename to e2e/app/src/components/g/index.tsx diff --git a/e2e/mini/src/components/h/Hello.tsx b/e2e/app/src/components/h/Hello.tsx similarity index 100% rename from e2e/mini/src/components/h/Hello.tsx rename to e2e/app/src/components/h/Hello.tsx diff --git a/e2e/mini/src/components/h/index.tsx b/e2e/app/src/components/h/index.tsx similarity index 100% rename from e2e/mini/src/components/h/index.tsx rename to e2e/app/src/components/h/index.tsx diff --git a/e2e/mini/src/components/notInJSX/index.axml b/e2e/app/src/components/notInJSX/index.axml similarity index 100% rename from e2e/mini/src/components/notInJSX/index.axml rename to e2e/app/src/components/notInJSX/index.axml diff --git a/e2e/mini/src/components/notInJSX/index.js b/e2e/app/src/components/notInJSX/index.js similarity index 100% rename from e2e/mini/src/components/notInJSX/index.js rename to e2e/app/src/components/notInJSX/index.js diff --git a/e2e/mini/src/components/notInJSX/index.json b/e2e/app/src/components/notInJSX/index.json similarity index 100% rename from e2e/mini/src/components/notInJSX/index.json rename to e2e/app/src/components/notInJSX/index.json diff --git a/e2e/mini/src/components/slot/index.axml b/e2e/app/src/components/slot/index.axml similarity index 100% rename from e2e/mini/src/components/slot/index.axml rename to e2e/app/src/components/slot/index.axml diff --git a/e2e/mini/src/components/slot/index.js b/e2e/app/src/components/slot/index.js similarity index 100% rename from e2e/mini/src/components/slot/index.js rename to e2e/app/src/components/slot/index.js diff --git a/e2e/mini/src/components/slot/index.json b/e2e/app/src/components/slot/index.json similarity index 100% rename from e2e/mini/src/components/slot/index.json rename to e2e/app/src/components/slot/index.json diff --git a/e2e/mini/src/components/src/index.axml b/e2e/app/src/components/src/index.axml similarity index 100% rename from e2e/mini/src/components/src/index.axml rename to e2e/app/src/components/src/index.axml diff --git a/e2e/mini/src/components/src/index.js b/e2e/app/src/components/src/index.js similarity index 100% rename from e2e/mini/src/components/src/index.js rename to e2e/app/src/components/src/index.js diff --git a/e2e/mini/src/components/src/index.json b/e2e/app/src/components/src/index.json similarity index 100% rename from e2e/mini/src/components/src/index.json rename to e2e/app/src/components/src/index.json diff --git a/e2e/app/src/node_modules/empty/index.js b/e2e/app/src/node_modules/empty/index.js new file mode 100644 index 000000000..f11a4c9bd --- /dev/null +++ b/e2e/app/src/node_modules/empty/index.js @@ -0,0 +1,8 @@ +import React from 'react'; +import PageResult from 'mini-antui/es/page-result/index'; +export default function Empty() { + return /*#__PURE__*/React.createElement(PageResult, { + type: "logoff", + title: '失败啦' + }); +} diff --git a/e2e/mini/src/node_modules/rax-view/fmtEvent.js b/e2e/app/src/node_modules/rax-view/fmtEvent.js similarity index 100% rename from e2e/mini/src/node_modules/rax-view/fmtEvent.js rename to e2e/app/src/node_modules/rax-view/fmtEvent.js diff --git a/e2e/mini/src/node_modules/rax-view/index.acss b/e2e/app/src/node_modules/rax-view/index.acss similarity index 100% rename from e2e/mini/src/node_modules/rax-view/index.acss rename to e2e/app/src/node_modules/rax-view/index.acss diff --git a/e2e/mini/src/node_modules/rax-view/index.axml b/e2e/app/src/node_modules/rax-view/index.axml similarity index 100% rename from e2e/mini/src/node_modules/rax-view/index.axml rename to e2e/app/src/node_modules/rax-view/index.axml diff --git a/e2e/mini/src/node_modules/rax-view/index.js b/e2e/app/src/node_modules/rax-view/index.js similarity index 100% rename from e2e/mini/src/node_modules/rax-view/index.js rename to e2e/app/src/node_modules/rax-view/index.js diff --git a/e2e/mini/src/node_modules/rax-view/index.json b/e2e/app/src/node_modules/rax-view/index.json similarity index 100% rename from e2e/mini/src/node_modules/rax-view/index.json rename to e2e/app/src/node_modules/rax-view/index.json diff --git a/e2e/mini/src/node_modules/rax-view/package.json b/e2e/app/src/node_modules/rax-view/package.json similarity index 100% rename from e2e/mini/src/node_modules/rax-view/package.json rename to e2e/app/src/node_modules/rax-view/package.json diff --git a/e2e/app/src/node_modules/regenerator-pkg/a.js b/e2e/app/src/node_modules/regenerator-pkg/a.js new file mode 100644 index 000000000..525e8a24e --- /dev/null +++ b/e2e/app/src/node_modules/regenerator-pkg/a.js @@ -0,0 +1,64 @@ + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + + if (info.done) { + resolve(value); + } else { + Promise.resolve(value).then(_next, _throw); + } +} + +function _asyncToGenerator(fn) { + return function () { + var self = this, + args = arguments; + return new Promise(function (resolve, reject) { + var gen = fn.apply(self, args); + + function _next(value) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); + } + + function _throw(err) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); + } + + _next(undefined); + }); + }; +} + + + +function test() { + return _test.apply(this, arguments); +} + +function _test() { + _test = _asyncToGenerator( regeneratorRuntime.mark(function _callee2() { + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return Promise.resolve('111'); + + case 2: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + return _test.apply(this, arguments); +} + +export const a = test; +export const b = 2; diff --git a/e2e/app/src/node_modules/regenerator-pkg/b.js b/e2e/app/src/node_modules/regenerator-pkg/b.js new file mode 100644 index 000000000..a77ac0151 --- /dev/null +++ b/e2e/app/src/node_modules/regenerator-pkg/b.js @@ -0,0 +1,67 @@ +Object.defineProperty(exports, "__esModule", { value: true }); + +exports.c = void 0; + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + + if (info.done) { + resolve(value); + } else { + Promise.resolve(value).then(_next, _throw); + } +} + +function _asyncToGenerator(fn) { + return function () { + var self = this, + args = arguments; + return new Promise(function (resolve, reject) { + var gen = fn.apply(self, args); + + function _next(value) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); + } + + function _throw(err) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); + } + + _next(undefined); + }); + }; +} + + + +function test() { + return _test.apply(this, arguments); +} + +function _test() { + _test = _asyncToGenerator( regeneratorRuntime.mark(function _callee2() { + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return Promise.resolve('111'); + + case 2: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + return _test.apply(this, arguments); +} + +exports.c = test; +exports.d = 2; diff --git a/e2e/app/src/node_modules/regenerator-pkg/c.js b/e2e/app/src/node_modules/regenerator-pkg/c.js new file mode 100644 index 000000000..8a0acf0ce --- /dev/null +++ b/e2e/app/src/node_modules/regenerator-pkg/c.js @@ -0,0 +1,6 @@ +async function e() { + await Promise.resolve('111'); + return 111; +} + +exports.e = e; diff --git a/e2e/mini/src/packageA/pages/index.js b/e2e/app/src/packageA/pages/index.js similarity index 78% rename from e2e/mini/src/packageA/pages/index.js rename to e2e/app/src/packageA/pages/index.js index 12dbc48b7..ddf7e22c7 100644 --- a/e2e/mini/src/packageA/pages/index.js +++ b/e2e/app/src/packageA/pages/index.js @@ -1,5 +1,5 @@ import * as React from 'react'; -import { View, Text } from 'remax/ali'; +import { View, Text } from 'remax/one'; export default () => { return ( diff --git a/e2e/app/src/pages/error/index.js b/e2e/app/src/pages/error/index.js new file mode 100644 index 000000000..f0f388554 --- /dev/null +++ b/e2e/app/src/pages/error/index.js @@ -0,0 +1,6 @@ +import * as React from 'react'; +import { View } from 'remax/one'; + +const user = {}; + +export default () => {user.pet.name()}; diff --git a/e2e/app/src/pages/hybrid/index.axml b/e2e/app/src/pages/hybrid/index.axml new file mode 100644 index 000000000..9dbb4ea16 --- /dev/null +++ b/e2e/app/src/pages/hybrid/index.axml @@ -0,0 +1 @@ +mini page diff --git a/packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/pages/native/index.js b/e2e/app/src/pages/hybrid/index.js similarity index 100% rename from packages/remax-cli/src/__tests__/integration/fixtures/hybrid/expected/pages/native/index.js rename to e2e/app/src/pages/hybrid/index.js diff --git a/e2e/mini/src/pages/index/index.css b/e2e/app/src/pages/image/index.css similarity index 100% rename from e2e/mini/src/pages/index/index.css rename to e2e/app/src/pages/image/index.css diff --git a/e2e/app/src/pages/image/index.js b/e2e/app/src/pages/image/index.js new file mode 100644 index 000000000..31b75d413 --- /dev/null +++ b/e2e/app/src/pages/image/index.js @@ -0,0 +1,15 @@ +import * as React from 'react'; +import { View, Image } from 'remax/one'; +import catImage from '@/assets/images/cat.jpg'; +import './index.css'; + +export default () => { + return ( + + {/* CASE: 静态资源引入 */} + + {/* CASE: css 中引用静态资源 */} + + + ); +}; diff --git a/e2e/app/src/pages/index/index.js b/e2e/app/src/pages/index/index.js new file mode 100644 index 000000000..f5a034bf9 --- /dev/null +++ b/e2e/app/src/pages/index/index.js @@ -0,0 +1,8 @@ +import * as React from 'react'; +import { View } from 'remax/one'; + +export default class Page extends React.Component { + render() { + return hello; + } +} diff --git a/e2e/mini/src/pages/insert-before/index.js b/e2e/app/src/pages/insert-before/index.js similarity index 94% rename from e2e/mini/src/pages/insert-before/index.js rename to e2e/app/src/pages/insert-before/index.js index e0f307651..5be494415 100644 --- a/e2e/mini/src/pages/insert-before/index.js +++ b/e2e/app/src/pages/insert-before/index.js @@ -1,5 +1,5 @@ import * as React from 'react'; -import { View, Text } from 'remax/ali'; +import { View, Text } from 'remax/one'; export default () => { const [showB, setB] = React.useState(false); diff --git a/e2e/app/src/pages/lifecycle/index.js b/e2e/app/src/pages/lifecycle/index.js new file mode 100644 index 000000000..81a09c869 --- /dev/null +++ b/e2e/app/src/pages/lifecycle/index.js @@ -0,0 +1,20 @@ +import * as React from 'react'; +import { View } from 'remax/one'; +import { usePageEvent } from 'remax/macro'; +import { GlobalContext } from '../../GlobalContext'; + +export default () => { + const [value, setValue] = React.useState(''); + const { name } = React.useContext(GlobalContext); + + usePageEvent('onShow', () => { + setValue('show'); + }); + + return ( + + {name} + {value} + + ); +}; diff --git a/e2e/mini/src/pages/native-component/ModuleA.js b/e2e/app/src/pages/native-component/ModuleA.js similarity index 78% rename from e2e/mini/src/pages/native-component/ModuleA.js rename to e2e/app/src/pages/native-component/ModuleA.js index 42de0dc59..613e98388 100644 --- a/e2e/mini/src/pages/native-component/ModuleA.js +++ b/e2e/app/src/pages/native-component/ModuleA.js @@ -1,5 +1,5 @@ import * as React from 'react'; -import { View } from 'remax/ali'; +import { View } from 'remax/one'; import ModuleB from './ModuleB'; export default () => ( diff --git a/e2e/mini/src/pages/native-component/ModuleB.js b/e2e/app/src/pages/native-component/ModuleB.js similarity index 84% rename from e2e/mini/src/pages/native-component/ModuleB.js rename to e2e/app/src/pages/native-component/ModuleB.js index 99d8cb5a0..93269b3a8 100644 --- a/e2e/mini/src/pages/native-component/ModuleB.js +++ b/e2e/app/src/pages/native-component/ModuleB.js @@ -1,5 +1,5 @@ import * as React from 'react'; -import { View } from 'remax/ali'; +import { View } from 'remax/one'; import F from '@/components/f/index.js'; import D from '@/components/d/index.js'; diff --git a/e2e/mini/src/pages/native-component/commonChunk1.tsx b/e2e/app/src/pages/native-component/commonChunk1.tsx similarity index 85% rename from e2e/mini/src/pages/native-component/commonChunk1.tsx rename to e2e/app/src/pages/native-component/commonChunk1.tsx index f34547610..380a6b553 100644 --- a/e2e/mini/src/pages/native-component/commonChunk1.tsx +++ b/e2e/app/src/pages/native-component/commonChunk1.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { View } from 'remax/ali'; +import { View } from 'remax/one'; import G from '@/components/g'; import B from '@/components/b'; diff --git a/e2e/mini/src/pages/native-component/commonChunk2.tsx b/e2e/app/src/pages/native-component/commonChunk2.tsx similarity index 85% rename from e2e/mini/src/pages/native-component/commonChunk2.tsx rename to e2e/app/src/pages/native-component/commonChunk2.tsx index f34547610..380a6b553 100644 --- a/e2e/mini/src/pages/native-component/commonChunk2.tsx +++ b/e2e/app/src/pages/native-component/commonChunk2.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { View } from 'remax/ali'; +import { View } from 'remax/one'; import G from '@/components/g'; import B from '@/components/b'; diff --git a/e2e/mini/src/pages/native-component/index.js b/e2e/app/src/pages/native-component/index.js similarity index 93% rename from e2e/mini/src/pages/native-component/index.js rename to e2e/app/src/pages/native-component/index.js index 1815cfba1..6c7886c1d 100644 --- a/e2e/mini/src/pages/native-component/index.js +++ b/e2e/app/src/pages/native-component/index.js @@ -1,5 +1,5 @@ import * as React from 'react'; -import { View } from 'remax/ali'; +import { View } from 'remax/one'; import A from '../../components/a'; import B from '@/components/b'; import C from '../../components/c/index'; @@ -18,7 +18,7 @@ export default () => { const text = 'not in jsx' + NotInJSXComponent; return ( - + diff --git a/e2e/mini/src/pages/native-component/module.js b/e2e/app/src/pages/native-component/module.js similarity index 84% rename from e2e/mini/src/pages/native-component/module.js rename to e2e/app/src/pages/native-component/module.js index b8f9f91b7..6d362d919 100644 --- a/e2e/mini/src/pages/native-component/module.js +++ b/e2e/app/src/pages/native-component/module.js @@ -1,5 +1,5 @@ import * as React from 'react'; -import { View } from 'remax/ali'; +import { View } from 'remax/one'; import ModuleA from './ModuleA'; // 测试引入的其他模块中使用原生组件的情形 diff --git a/e2e/app/src/pages/navigate/one/index.js b/e2e/app/src/pages/navigate/one/index.js new file mode 100644 index 000000000..e3b6ba191 --- /dev/null +++ b/e2e/app/src/pages/navigate/one/index.js @@ -0,0 +1,10 @@ +import * as React from 'react'; +import { View, Text, navigateTo } from 'remax/one'; + +export default () => { + return ( + navigateTo({ url: '/pages/navigate/two/index' })}> + page one + + ); +}; diff --git a/e2e/dummy/src/pages/one/index.js b/e2e/app/src/pages/navigate/two/index.js similarity index 75% rename from e2e/dummy/src/pages/one/index.js rename to e2e/app/src/pages/navigate/two/index.js index b6ad7ce22..395391a21 100644 --- a/e2e/dummy/src/pages/one/index.js +++ b/e2e/app/src/pages/navigate/two/index.js @@ -2,5 +2,5 @@ import * as React from 'react'; import { View, Text } from 'remax/one'; export default () => { - return page one; + return page two; }; diff --git a/e2e/dummy/src/pages/query/index.js b/e2e/app/src/pages/query/index.js similarity index 100% rename from e2e/dummy/src/pages/query/index.js rename to e2e/app/src/pages/query/index.js diff --git a/e2e/mini/src/pages/turbo-page/index.js b/e2e/app/src/pages/turbo-page/index.js similarity index 91% rename from e2e/mini/src/pages/turbo-page/index.js rename to e2e/app/src/pages/turbo-page/index.js index c951e7bd6..088627475 100644 --- a/e2e/mini/src/pages/turbo-page/index.js +++ b/e2e/app/src/pages/turbo-page/index.js @@ -1,8 +1,8 @@ import * as React from 'react'; import { Fragment } from 'react'; -import { View, View as CustomView, Text, Button } from 'remax/ali'; +import { View, View as CustomView, Text, Button, Picker } from 'remax/ali'; import { createHostComponent } from 'remax/macro'; -import * as Remax from 'remax/ali'; +import * as Remax from 'remax/one'; import Badge from 'mini-antui/es/badge/index'; import Card from '@/components/Card'; import A from './module'; @@ -27,7 +27,7 @@ function ReactComp({ children }) { {View inside Expression} {React.Children.map(children, (child, index) => { - if (index === 1) { + if (index === 2) { return child; } return React.cloneElement(child, { id: 'reactComp' + index }); @@ -66,7 +66,7 @@ export default function Index() { React Component First Child - {'React Component Second Child'} + React Component Second Child React Component Third Child Count: {count} @@ -96,6 +96,10 @@ export default function Index() { + + + picker + diff --git a/e2e/mini/src/pages/turbo-page/module.js b/e2e/app/src/pages/turbo-page/module.js similarity index 100% rename from e2e/mini/src/pages/turbo-page/module.js rename to e2e/app/src/pages/turbo-page/module.js diff --git a/e2e/mini/src/pages/turbo-page/moduleB.js b/e2e/app/src/pages/turbo-page/moduleB.js similarity index 100% rename from e2e/mini/src/pages/turbo-page/moduleB.js rename to e2e/app/src/pages/turbo-page/moduleB.js diff --git a/e2e/app/tests/error-screen.test.ts b/e2e/app/tests/error-screen.test.ts new file mode 100644 index 000000000..473eddfb8 --- /dev/null +++ b/e2e/app/tests/error-screen.test.ts @@ -0,0 +1,20 @@ +import { goTo } from './helpers'; +import { FrameBase } from 'puppeteer'; + +describe('错误处理', () => { + let app: FrameBase; + + beforeAll(async () => { + app = await goTo('/pages/error/index'); + }); + + if (process.env.NODE_ENV === 'production') { + it('显示自定义错误页', async () => { + await expect(app).toMatch('custom error'); + }); + } else { + it('显示错误页', async () => { + await expect(app).toMatch("TypeError: Cannot read property 'name' of undefined"); + }); + } +}); diff --git a/e2e/app/tests/helpers.ts b/e2e/app/tests/helpers.ts new file mode 100644 index 000000000..ea2cb3df1 --- /dev/null +++ b/e2e/app/tests/helpers.ts @@ -0,0 +1,40 @@ +import { FrameBase } from 'puppeteer'; + +export const isMini = process.env.TEST_TARGET === 'mini'; +export const isWeb = process.env.TEST_TARGET === 'web'; +export const isMpa = process.env.MPA; + +export const describeWithMini = isMini ? describe : describe.skip; +export const describeWithWeb = isWeb ? describe : describe.skip; +export const itWithMini = isMini ? it : it.skip; +export const itWithWeb = isWeb ? it : it.skip; +export const itWithWebMpb = isWeb && isMpa ? it : it.skip; +export const itWithWebSpa = isWeb && !isMpa ? it : it.skip; + +function appendHTML(path: string) { + const [page, query] = path.split('?'); + return [page, '.html', '?', query].join(''); +} + +export async function goTo(path: string): Promise { + const server = 'http://localhost:5678'; + if (isMini) { + const pageQuery = encodeURIComponent(path.replace(/^\//, '')); + await page.goto( + `https://appx.dev/appx.html?page=${pageQuery}&url=${server}/&launchParams=%7B"appxRouteFramework"%3A"YES"%2C"appxRouteBizPrefix"%3A""%2C"enableTabBar"%3A"YES"%7D` + ); + await page.waitForFunction('window.frames.length === 2'); + const app = await page.frames()[1]; + return app; + } + + let url; + if (process.env.MPA) { + url = server + appendHTML(path); + } else { + url = `${server}#${path}`; + } + await page.goto(url); + + return page; +} diff --git a/e2e/app/tests/hybrid.test.ts b/e2e/app/tests/hybrid.test.ts new file mode 100644 index 000000000..fa57d0a4f --- /dev/null +++ b/e2e/app/tests/hybrid.test.ts @@ -0,0 +1,14 @@ +import { describeWithMini, goTo } from './helpers'; +import { FrameBase } from 'puppeteer'; + +describeWithMini('原生页面', () => { + let app: FrameBase; + + beforeAll(async () => { + app = await goTo('/pages/hybrid/index'); + }); + + it('显示正确', async () => { + await expect(app).toMatch('mini page'); + }); +}); diff --git a/e2e/app/tests/image.test.ts b/e2e/app/tests/image.test.ts new file mode 100644 index 000000000..22b74258a --- /dev/null +++ b/e2e/app/tests/image.test.ts @@ -0,0 +1,39 @@ +import { FrameBase } from 'puppeteer'; +import { goTo } from './helpers'; + +describe('image', () => { + let app: FrameBase; + + beforeAll(async () => { + app = await goTo('/pages/image/index'); + }); + + it('renders image correctly', async () => { + await app.waitForSelector('.cat-image'); + await app.waitForSelector('.dog-image'); + + const images = await app.evaluate(async () => { + const catImage = document.querySelector('.cat-image') as Element; + const dogImage = document.querySelector('.dog-image') as Element; + + const extractImageUrl = (element: Element) => + (window.getComputedStyle(element).getPropertyValue('background-image') as any) + .match(/\((.*?)\)/)[1] + .replace(/('|")/g, ''); + + const waitForImage = (src: string) => + new Promise(resolve => { + const img = new Image(); + img.src = src; + img.onload = () => resolve(src); + }); + + return [await waitForImage(extractImageUrl(catImage)), await waitForImage(extractImageUrl(dogImage))]; + }); + + expect(images).toEqual([ + 'http://localhost:5678/7285019d500b66029accbcfd7275e33a.jpg', + 'http://localhost:5678/6e6a60f044924f71fec456293be371f9.jpg', + ]); + }); +}); diff --git a/e2e/app/tests/index.test.ts b/e2e/app/tests/index.test.ts new file mode 100644 index 000000000..21b9b138d --- /dev/null +++ b/e2e/app/tests/index.test.ts @@ -0,0 +1,48 @@ +import { FrameBase } from 'puppeteer'; +import { goTo, itWithMini, itWithWebSpa } from './helpers'; + +describe('index', () => { + let app: FrameBase; + + beforeAll(async () => { + app = await goTo('/pages/index/index'); + }); + + it('renders view correctly', async () => { + await expect(app).toMatch('hello'); + }); + + itWithMini('renders tabbar correctly', async () => { + await page.waitFor('.tr-tabbar-title'); + const titles = await page.evaluate(() => { + const elements = document.querySelectorAll('.tr-tabbar-title'); + const titles = []; + + for (const element of elements) { + titles.push(element.innerHTML); + } + + return titles; + }); + await expect(titles[0]).toMatch('首页'); + await expect(titles[1]).toMatch('其他'); + + const images = await page.evaluate(() => { + const elements = document.querySelectorAll('.tr-tabbar-image'); + const images = []; + + for (const element of elements) { + images.push(window.getComputedStyle(element).getPropertyValue('background-image') as any); + } + + return images; + }); + await expect(images[0]).toMatch('dog.jpg'); + await expect(images[1]).toMatch('cat.jpg'); + }); + + itWithWebSpa('renders tabbar correctly', async () => { + await expect(app).toMatch('首页'); + await expect(app).toMatch('其他'); + }); +}); diff --git a/e2e/mini/test/insert-before.test.ts b/e2e/app/tests/insert-before.test.ts similarity index 93% rename from e2e/mini/test/insert-before.test.ts rename to e2e/app/tests/insert-before.test.ts index 8031dbfea..182369740 100644 --- a/e2e/mini/test/insert-before.test.ts +++ b/e2e/app/tests/insert-before.test.ts @@ -1,4 +1,4 @@ -import { launchApp } from './helpers'; +import { describeWithMini, goTo } from './helpers'; const checkInitialState = () => { const a = document.getElementById('a')!; @@ -29,9 +29,9 @@ const checkInitialState = () => { return 0; }; -describe('insert before', () => { +describeWithMini('insert before', () => { it('正常 insert before 和删除', async () => { - const app = await launchApp('/pages/insert-before/index'); + const app = await goTo('/pages/insert-before/index'); await app.waitFor('.page'); let expected = await app.evaluate(checkInitialState); diff --git a/e2e/app/tests/lifecycle.test.ts b/e2e/app/tests/lifecycle.test.ts new file mode 100644 index 000000000..ce95be88c --- /dev/null +++ b/e2e/app/tests/lifecycle.test.ts @@ -0,0 +1,15 @@ +import { FrameBase } from 'puppeteer'; +import { goTo } from './helpers'; + +describe('生命周期', () => { + let app: FrameBase; + + beforeAll(async () => { + app = await goTo('/pages/lifecycle/index'); + }); + + it('注册生命周期', async () => { + await expect(app).toMatch('launch'); + await expect(app).toMatch('show'); + }); +}); diff --git a/e2e/mini/test/native-component.test.ts b/e2e/app/tests/native-component.test.ts similarity index 79% rename from e2e/mini/test/native-component.test.ts rename to e2e/app/tests/native-component.test.ts index c2e3a6912..c961a9357 100644 --- a/e2e/mini/test/native-component.test.ts +++ b/e2e/app/tests/native-component.test.ts @@ -1,11 +1,12 @@ -import { launchApp } from './helpers'; +import { describeWithMini, goTo } from './helpers'; -describe('小程序自定义组件', () => { +describeWithMini('小程序自定义组件', () => { it('正常渲染', async () => { - const app = await launchApp('/pages/native-component/index'); + const app = await goTo('/pages/native-component/index'); await expect(app).toMatchElement('.am-badge'); await expect(app).toMatchElement('#a', { text: 'a' }); + await expect(app).toMatchElement('.a-class', { text: 'a' }); await expect(app).toMatchElement('#b', { text: 'b' }); await expect(app).toMatchElement('#c', { text: 'c' }); await expect(app).toMatchElement('#d', { text: 'd' }); @@ -20,14 +21,14 @@ describe('小程序自定义组件', () => { }); it('引入包含自定义组件的模块', async () => { - const app = await launchApp('/pages/native-component/module'); + const app = await goTo('/pages/native-component/module'); await expect(app).toMatchElement('#f', { text: 'f' }); await expect(app).toMatchElement('#d', { text: 'd' }); }); it('自定义组件在 common chunk 中, chunk1', async () => { - const app = await launchApp('/pages/native-component/commonChunk1'); + const app = await goTo('/pages/native-component/commonChunk1'); await expect(app).toMatchElement('#a', { text: 'a' }); await expect(app).toMatchElement('#b', { text: 'b' }); @@ -36,7 +37,7 @@ describe('小程序自定义组件', () => { }); it('自定义组件在 common chunk 中, chunk2', async () => { - const app = await launchApp('/pages/native-component/commonChunk2'); + const app = await goTo('/pages/native-component/commonChunk2'); await expect(app).toMatchElement('#a', { text: 'a' }); await expect(app).toMatchElement('#b', { text: 'b' }); diff --git a/e2e/app/tests/navitate.test.ts b/e2e/app/tests/navitate.test.ts new file mode 100644 index 000000000..3f12b41df --- /dev/null +++ b/e2e/app/tests/navitate.test.ts @@ -0,0 +1,11 @@ +import { goTo, itWithWebSpa } from './helpers'; + +describe('navigate', () => { + itWithWebSpa('navigates page', async () => { + const app = await goTo('/pages/navigate/one/index'); + await app.waitForSelector('#btn'); + const button = await app.$('#btn'); + await button!.click(); + await expect(app).toMatch('page two'); + }); +}); diff --git a/e2e/app/tests/preset.js b/e2e/app/tests/preset.js new file mode 100644 index 000000000..1bbc238c9 --- /dev/null +++ b/e2e/app/tests/preset.js @@ -0,0 +1,7 @@ +const merge = require('merge'); +const ts_preset = require('ts-jest/jest-preset'); +const puppeteer_preset = require('jest-puppeteer/jest-preset'); + +module.exports = merge.recursive(ts_preset, puppeteer_preset, { + setupFilesAfterEnv: ['./tests/setup.js'], +}); diff --git a/e2e/app/tests/query.test.ts b/e2e/app/tests/query.test.ts new file mode 100644 index 000000000..3c4b52955 --- /dev/null +++ b/e2e/app/tests/query.test.ts @@ -0,0 +1,9 @@ +import { goTo } from './helpers'; + +describe('页面参数', () => { + it('passes query to page', async () => { + const app = await goTo('/pages/query/index?name=foo'); + await expect(app).toMatch('query from props: foo'); + await expect(app).toMatch('query from hook: foo'); + }); +}); diff --git a/e2e/app/tests/setup.js b/e2e/app/tests/setup.js new file mode 100644 index 000000000..81a088c13 --- /dev/null +++ b/e2e/app/tests/setup.js @@ -0,0 +1,4 @@ +const e = require('expect-puppeteer'); + +jest.setTimeout(5 * 1000); +e.setDefaultOptions({ timeout: 1000 }); diff --git a/e2e/mini/test/turbo-page.test.ts b/e2e/app/tests/turbo-page.test.ts similarity index 85% rename from e2e/mini/test/turbo-page.test.ts rename to e2e/app/tests/turbo-page.test.ts index 25ff5bb39..ac0b10cc3 100644 --- a/e2e/mini/test/turbo-page.test.ts +++ b/e2e/app/tests/turbo-page.test.ts @@ -1,8 +1,8 @@ -import { launchApp } from './helpers'; +import { describeWithMini, goTo } from './helpers'; -describe('静态化页面', () => { +describeWithMini('静态化页面', () => { it('正常渲染', async () => { - const app = await launchApp('/pages/turbo-page/index'); + const app = await goTo('/pages/turbo-page/index'); // first view const view = await app.waitForSelector('.a-view'); @@ -52,15 +52,12 @@ describe('静态化页面', () => { await expect(app).toMatchElement('div', { text: 'Deep Object View' }); await expect(app).toMatchElement('div', { text: 'Conditional View' }); await expect(app).toMatchElement('div', { text: 'plain-text-leaf' }); - }); - it('在根节点使用 Fragment', async () => { - const app = await launchApp('/pages/turbo-page/fragmentRoot'); + const picker = await app.waitForSelector('#picker'); + await expect(picker).toMatch('picker'); + await picker.click(); - await expect(app).toMatch('0'); - await expect(app).toMatch('1'); - await expect(app).toMatch('2'); - await expect(app).toMatch('3'); - await expect(app).toMatch('view'); + const col = await page.waitFor('.am-picker-col-item-selected'); + await expect(col).toMatch('1'); }); }); diff --git a/e2e/mini/tsconfig.json b/e2e/app/tsconfig.json similarity index 83% rename from e2e/mini/tsconfig.json rename to e2e/app/tsconfig.json index b311959ad..9136755f3 100644 --- a/e2e/mini/tsconfig.json +++ b/e2e/app/tsconfig.json @@ -1,12 +1,12 @@ { "compilerOptions": { - "target": "ES2019", + "target": "ESNext", "module": "ESNext", "moduleResolution": "node", "strict": true, "esModuleInterop": true, "jsx": "preserve", - "rootDir": "src", + "rootDir": ".", "baseUrl": "./", "paths": { "@/*": ["./src/*"] diff --git a/e2e/mini/typings/index.d.ts b/e2e/app/typings/index.d.ts similarity index 61% rename from e2e/mini/typings/index.d.ts rename to e2e/app/typings/index.d.ts index 93ff1c880..146502971 100644 --- a/e2e/mini/typings/index.d.ts +++ b/e2e/app/typings/index.d.ts @@ -1,3 +1,4 @@ declare module 'expect-puppeteer/lib'; declare const jestPuppeteer: any; +declare const page: import('puppeteer').Page; diff --git a/e2e/dummy/CHANGELOG.md b/e2e/dummy/CHANGELOG.md deleted file mode 100644 index e1fc08f5f..000000000 --- a/e2e/dummy/CHANGELOG.md +++ /dev/null @@ -1,149 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -## [2.8.10](https://github.com/remaxjs/remax/compare/v2.8.9...v2.8.10) (2020-11-20) - -**Note:** Version bump only for package e2e-dummy - -## [2.8.9](https://github.com/remaxjs/remax/compare/v2.8.8...v2.8.9) (2020-11-19) - -**Note:** Version bump only for package e2e-dummy - -## [2.8.8](https://github.com/remaxjs/remax/compare/v2.8.7...v2.8.8) (2020-11-13) - -**Note:** Version bump only for package e2e-dummy - -## [2.8.7](https://github.com/remaxjs/remax/compare/v2.8.6...v2.8.7) (2020-11-12) - -**Note:** Version bump only for package e2e-dummy - -## [2.8.6](https://github.com/remaxjs/remax/compare/v2.8.5...v2.8.6) (2020-11-04) - -**Note:** Version bump only for package e2e-dummy - -## [2.8.5](https://github.com/remaxjs/remax/compare/v2.8.4...v2.8.5) (2020-10-23) - -**Note:** Version bump only for package e2e-dummy - -## [2.8.4](https://github.com/remaxjs/remax/compare/v2.8.3...v2.8.4) (2020-10-14) - -**Note:** Version bump only for package e2e-dummy - -## [2.8.3](https://github.com/remaxjs/remax/compare/v2.8.2...v2.8.3) (2020-09-28) - -**Note:** Version bump only for package e2e-dummy - -## [2.8.2](https://github.com/remaxjs/remax/compare/v2.8.1...v2.8.2) (2020-09-18) - -**Note:** Version bump only for package e2e-dummy - -## [2.8.1](https://github.com/remaxjs/remax/compare/v2.8.0...v2.8.1) (2020-09-16) - -**Note:** Version bump only for package e2e-dummy - -# [2.8.0](https://github.com/remaxjs/remax/compare/v2.7.10...v2.8.0) (2020-09-15) - -**Note:** Version bump only for package e2e-dummy - -## [2.7.10](https://github.com/remaxjs/remax/compare/v2.7.9...v2.7.10) (2020-09-11) - -**Note:** Version bump only for package e2e-dummy - -## [2.7.9](https://github.com/remaxjs/remax/compare/v2.7.8...v2.7.9) (2020-09-10) - -**Note:** Version bump only for package e2e-dummy - -## [2.7.8](https://github.com/remaxjs/remax/compare/v2.7.7...v2.7.8) (2020-08-11) - -**Note:** Version bump only for package e2e-dummy - -## [2.7.7](https://github.com/remaxjs/remax/compare/v2.7.6...v2.7.7) (2020-07-29) - -**Note:** Version bump only for package e2e-dummy - -## [2.7.6](https://github.com/remaxjs/remax/compare/v2.7.5...v2.7.6) (2020-07-28) - -**Note:** Version bump only for package e2e-dummy - -## [2.7.5](https://github.com/remaxjs/remax/compare/v2.7.4...v2.7.5) (2020-07-28) - -**Note:** Version bump only for package e2e-dummy - -## [2.7.4](https://github.com/remaxjs/remax/compare/v2.7.3...v2.7.4) (2020-07-25) - -**Note:** Version bump only for package e2e-dummy - -## [2.7.3](https://github.com/remaxjs/remax/compare/v2.7.2...v2.7.3) (2020-07-17) - -**Note:** Version bump only for package e2e-dummy - -## [2.7.2](https://github.com/remaxjs/remax/compare/v2.7.1...v2.7.2) (2020-07-16) - -**Note:** Version bump only for package e2e-dummy - -## [2.7.1](https://github.com/remaxjs/remax/compare/v2.7.0...v2.7.1) (2020-07-14) - -**Note:** Version bump only for package e2e-dummy - -# [2.7.0](https://github.com/remaxjs/remax/compare/v2.6.0...v2.7.0) (2020-07-09) - -### Features - -- 新增 Modal 组件 ([#1133](https://github.com/remaxjs/remax/issues/1133)) ([4c801d4](https://github.com/remaxjs/remax/commit/4c801d4ad239c1eee8c7b073cf506c44cb3e0bb5)) - -# [2.6.0](https://github.com/remaxjs/remax/compare/v2.5.5...v2.6.0) (2020-07-03) - -### Bug Fixes - -- **web:** 修复 web 下 useQuery 无法获取到参数的问题 ([c6e6b75](https://github.com/remaxjs/remax/commit/c6e6b7516a14c88ddc326f167a932befd18c720e)), closes [#1112](https://github.com/remaxjs/remax/issues/1112) -- **web:** 修复页面组件无法获取 props.location.query 的问题 ([#1132](https://github.com/remaxjs/remax/issues/1132)) ([7422aff](https://github.com/remaxjs/remax/commit/7422affac4e3b5f334c768e29645ba25efd008e7)) - -## [2.5.5](https://github.com/remaxjs/remax/compare/v2.5.4...v2.5.5) (2020-06-18) - -**Note:** Version bump only for package e2e-dummy - -## [2.5.4](https://github.com/remaxjs/remax/compare/v2.5.3...v2.5.4) (2020-06-18) - -**Note:** Version bump only for package e2e-dummy - -## [2.5.3](https://github.com/remaxjs/remax/compare/v2.5.2...v2.5.3) (2020-06-17) - -**Note:** Version bump only for package e2e-dummy - -## [2.5.2](https://github.com/remaxjs/remax/compare/v2.5.1...v2.5.2) (2020-06-16) - -**Note:** Version bump only for package e2e-dummy - -## [2.5.1](https://github.com/remaxjs/remax/compare/v2.5.0...v2.5.1) (2020-06-16) - -**Note:** Version bump only for package e2e-dummy - -# [2.5.0](https://github.com/remaxjs/remax/compare/v2.4.1...v2.5.0) (2020-06-15) - -**Note:** Version bump only for package e2e-dummy - -## [2.4.1](https://github.com/remaxjs/remax/compare/v2.4.0...v2.4.1) (2020-06-10) - -**Note:** Version bump only for package e2e-dummy - -# [2.4.0](https://github.com/remaxjs/remax/compare/v2.3.0...v2.4.0) (2020-06-05) - -**Note:** Version bump only for package e2e-dummy - -# [2.3.0](https://github.com/remaxjs/remax/compare/v2.2.0...v2.3.0) (2020-06-04) - -**Note:** Version bump only for package e2e-dummy - -# [2.2.0](https://github.com/remaxjs/remax/compare/v2.1.1...v2.2.0) (2020-05-29) - -**Note:** Version bump only for package e2e-dummy - -## [2.1.1](https://github.com/remaxjs/remax/compare/v2.1.0...v2.1.1) (2020-05-21) - -**Note:** Version bump only for package e2e-dummy - -# [2.1.0](https://github.com/remaxjs/remax/compare/v2.0.7...v2.1.0) (2020-05-21) - -**Note:** Version bump only for package e2e-dummy diff --git a/e2e/dummy/README.md b/e2e/dummy/README.md deleted file mode 100644 index 901fc152a..000000000 --- a/e2e/dummy/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# Remax One - -使用 Remax 开发跨平台小程序。 - -## Getting Start - -安装依赖 - -```bash -npm install -``` - -调试项目 - -```bash -# 选定要进行开发的平台,如 wechat,并调试 -$ npm run dev wechat -or -yarn dev wechat -``` - -使用小程序开发者工具打开项目下的 `dist/[target]` 目录。 - -## 构建 - -```bash -# 选定要构建的平台,如 wechat,并执行构建 -$ npm run build wechat -or -$ yarn build wechat -``` - -使用小程序开发者工具打开项目下的 `dist/[target]` 目录,上传代码即可。 diff --git a/e2e/dummy/app.json b/e2e/dummy/app.json deleted file mode 100644 index 0967ef424..000000000 --- a/e2e/dummy/app.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/e2e/dummy/babel.config.js b/e2e/dummy/babel.config.js deleted file mode 100644 index f037a1a2a..000000000 --- a/e2e/dummy/babel.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - presets: [ - [ - '@babel/preset-env', - { - targets: { - node: 'current', - }, - }, - ], - ], -}; diff --git a/e2e/dummy/jest.config.js b/e2e/dummy/jest.config.js deleted file mode 100644 index 2762fa4ef..000000000 --- a/e2e/dummy/jest.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - preset: 'jest-puppeteer', -}; diff --git a/e2e/dummy/mini.project.json b/e2e/dummy/mini.project.json deleted file mode 100644 index 5c282ad20..000000000 --- a/e2e/dummy/mini.project.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "miniprogramRoot": "dist/ali", - "scripts": { - "beforeCompile": "npm run dev -- ali", - "beforePreview": "npm run build -- ali", - "beforeUpload": "npm run build -- ali" - }, - "exclude": [ - "src/**", - "node_modules", - "node_modules/**", - "babel.config.js", - "package-lock.json", - "project.config.json", - "package.json", - "remax.config.js", - "app.json" - ], - "precompileWatch": { - "selfWatch": true, - "restart": true, - "exclude": ["dist/**", "*.md"], - "ignoreBuiltInExts": false - } -} diff --git a/e2e/dummy/package.json b/e2e/dummy/package.json deleted file mode 100644 index 34e844d46..000000000 --- a/e2e/dummy/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "e2e-dummy", - "private": true, - "version": "2.8.10", - "description": "Remax Project", - "main": "index.js", - "keywords": [], - "author": "Meck Zhu ", - "license": "MIT", - "scripts": { - "dev": "remax build -w -t", - "build": "cross-env NODE_ENV=production remax build -t", - "test": "jest" - }, - "dependencies": { - "react": "^16.12.0", - "react-dom": "^16.12.0", - "remax": "2.8.10" - }, - "devDependencies": { - "@babel/core": "^7.9.6", - "@babel/preset-env": "^7.9.6", - "babel-jest": "^26.0.1", - "cross-env": "^7.0.2", - "jest": "^26.0.1", - "jest-puppeteer": "^4.4.0" - }, - "workspaces": { - "nohoist": [ - "react" - ] - } -} diff --git a/e2e/dummy/project.config.json b/e2e/dummy/project.config.json deleted file mode 100644 index a0bd26b24..000000000 --- a/e2e/dummy/project.config.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "miniprogramRoot": "dist/wechat", - "setting": { - "urlCheck": false, - "es6": false, - "postcss": true, - "minified": true, - "newFeature": true, - "coverView": true, - "autoAudits": false, - "uglifyFileName": false, - "checkInvalidKey": true, - "checkSiteMap": true, - "uploadWithSourceMap": true, - "babelSetting": { - "ignore": [], - "disablePlugins": [], - "outputPath": "" - }, - "bundle": false - }, - "compileType": "miniprogram", - "simulatorType": "wechat", - "simulatorPluginLibVersion": {}, - "condition": {} -} diff --git a/e2e/dummy/remax.config.js b/e2e/dummy/remax.config.js deleted file mode 100644 index a1543fe7f..000000000 --- a/e2e/dummy/remax.config.js +++ /dev/null @@ -1,11 +0,0 @@ -const path = require('path'); - -console.log(path.resolve(__dirname, '../../node_modules')); - -module.exports = { - one: true, - output: 'dist/' + process.env.REMAX_PLATFORM, - configWebpack({ config }) { - config.resolve.modules.prepend(path.resolve(__dirname, '../../node_modules')); - }, -}; diff --git a/e2e/dummy/src/app.config.js b/e2e/dummy/src/app.config.js deleted file mode 100644 index d5e8f787b..000000000 --- a/e2e/dummy/src/app.config.js +++ /dev/null @@ -1,51 +0,0 @@ -const pages = ['pages/one/index', 'pages/two/index', 'pages/query/index', 'pages/modal/index']; - -module.exports.ali = { - pages, - window: { - defaultTitle: 'Remax Ali Template', - titleBarColor: '#282c34', - }, -}; - -module.exports.wechat = { - pages, - window: { - navigationBarTitleText: 'Remax Wechat Template', - navigationBarBackgroundColor: '#282c34', - }, -}; - -module.exports.toutiao = { - pages, - window: { - navigationBarTitleText: 'Remax Toutiao Template', - navigationBarBackgroundColor: '#282c34', - }, -}; - -module.exports.web = { - pages, - title: 'Remax Web Template', - tabBar: { - // 背景色 - backgroundColor: '#fff', - // 选中状态的 tab 标题颜色 - activeTitleColor: 'red', - // tab 标题颜色 - titleColor: 'blue', - // tab 对象列表 - items: [ - { - // tab 标题 - title: '标题', - // tab 对应页面路由 - url: 'pages/one/index', - // tab 显示的图片地址 - image: '图片地址', - // tab 选中后的显示的图片地址 - activeImage: '选中图片地址', - }, - ], - }, -}; diff --git a/e2e/dummy/src/app.js b/e2e/dummy/src/app.js deleted file mode 100644 index 7e78bf08a..000000000 --- a/e2e/dummy/src/app.js +++ /dev/null @@ -1,3 +0,0 @@ -const App = props => props.children; - -export default App; diff --git a/e2e/dummy/src/pages/modal/index.js b/e2e/dummy/src/pages/modal/index.js deleted file mode 100644 index b0df7ec9d..000000000 --- a/e2e/dummy/src/pages/modal/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import * as React from 'react'; -import { View, Modal } from 'remax/one'; - -export default () => { - return ( - - - modal component - - page modal - - ); -}; diff --git a/e2e/dummy/tests/index.test.js b/e2e/dummy/tests/index.test.js deleted file mode 100644 index b97285c75..000000000 --- a/e2e/dummy/tests/index.test.js +++ /dev/null @@ -1,49 +0,0 @@ -import 'expect-puppeteer'; - -function goTo(path) { - return page.goto('http://localhost:5678#' + path); -} - -describe('works', () => { - beforeAll(async () => { - await goTo('/'); - }); - - it('renders page one', async () => { - await expect(page).toMatch('page one'); - }); - - it('active first tab', async () => { - const tabImage = await page.evaluate(() => { - const tab = document.querySelector('.remax-tab-item-image'); - - const extractImageUrl = element => - window - .getComputedStyle(element) - .getPropertyValue('background-image') - .match(/\((.*?)\)/)[1] - .replace(/('|")/g, ''); - - return extractImageUrl(tab); - }); - - expect(decodeURIComponent(tabImage)).toBe('http://localhost:5678/选中图片地址'); - }); - - it('renders page two', async () => { - await goTo('/pages/two/index'); - await expect(page).toMatch('page two'); - }); - - it('passes query to page', async () => { - await goTo('/pages/query/index?name=foo'); - await expect(page).toMatch('query from props: foo'); - await expect(page).toMatch('query from hook: foo'); - }); - - it('renders modal component', async () => { - await goTo('/pages/modal/index'); - - await expect(page).toMatch('modal component'); - }); -}); diff --git a/e2e/dummy/yarn.lock b/e2e/dummy/yarn.lock deleted file mode 100644 index aed567a0e..000000000 --- a/e2e/dummy/yarn.lock +++ /dev/null @@ -1,9682 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" - integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== - dependencies: - "@babel/highlight" "^7.8.3" - -"@babel/compat-data@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.6.tgz#3f604c40e420131affe6f2c8052e9a275ae2049b" - integrity sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g== - dependencies: - browserslist "^4.11.1" - invariant "^2.2.4" - semver "^5.5.0" - -"@babel/core@^7.1.0", "@babel/core@^7.2.2", "@babel/core@^7.7.4", "@babel/core@^7.7.5", "@babel/core@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376" - integrity sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.9.6" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helpers" "^7.9.6" - "@babel/parser" "^7.9.6" - "@babel/template" "^7.8.6" - "@babel/traverse" "^7.9.6" - "@babel/types" "^7.9.6" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.9.5", "@babel/generator@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43" - integrity sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ== - dependencies: - "@babel/types" "^7.9.6" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" - integrity sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503" - integrity sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-builder-react-jsx-experimental@^7.9.0": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.5.tgz#0b4b3e04e6123f03b404ca4dfd6528fe6bb92fe3" - integrity sha512-HAagjAC93tk748jcXpZ7oYRZH485RCq/+yEv9SIWezHRPv9moZArTnkUNciUNzvwHUABmiWKlcxJvMcu59UwTg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-module-imports" "^7.8.3" - "@babel/types" "^7.9.5" - -"@babel/helper-builder-react-jsx@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz#16bf391990b57732700a3278d4d9a81231ea8d32" - integrity sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/types" "^7.9.0" - -"@babel/helper-compilation-targets@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz#1e05b7ccc9d38d2f8b40b458b380a04dcfadd38a" - integrity sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw== - dependencies: - "@babel/compat-data" "^7.9.6" - browserslist "^4.11.1" - invariant "^2.2.4" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/helper-create-class-features-plugin@^7.8.3", "@babel/helper-create-class-features-plugin@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.9.6.tgz#965c8b0a9f051801fd9d3b372ca0ccf200a90897" - integrity sha512-6N9IeuyHvMBRyjNYOMJHrhwtu4WJMrYf8hVbEHD3pbbbmNOk1kmXSQs7bA4dYDUaIx4ZEzdnvo6NwC3WHd/Qow== - dependencies: - "@babel/helper-function-name" "^7.9.5" - "@babel/helper-member-expression-to-functions" "^7.8.3" - "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.9.6" - "@babel/helper-split-export-declaration" "^7.8.3" - -"@babel/helper-create-regexp-features-plugin@^7.8.3", "@babel/helper-create-regexp-features-plugin@^7.8.8": - version "7.8.8" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087" - integrity sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-regex" "^7.8.3" - regexpu-core "^4.7.0" - -"@babel/helper-define-map@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" - integrity sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g== - dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/types" "^7.8.3" - lodash "^4.17.13" - -"@babel/helper-explode-assignable-expression@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982" - integrity sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw== - dependencies: - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-function-name@^7.8.3", "@babel/helper-function-name@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c" - integrity sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw== - dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/types" "^7.9.5" - -"@babel/helper-get-function-arity@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" - integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-hoist-variables@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134" - integrity sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-member-expression-to-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" - integrity sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-module-imports@^7.7.4", "@babel/helper-module-imports@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" - integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-module-transforms@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" - integrity sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA== - dependencies: - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.6" - "@babel/helper-simple-access" "^7.8.3" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/template" "^7.8.6" - "@babel/types" "^7.9.0" - lodash "^4.17.13" - -"@babel/helper-optimise-call-expression@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" - integrity sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" - integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== - -"@babel/helper-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965" - integrity sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ== - dependencies: - lodash "^4.17.13" - -"@babel/helper-remap-async-to-generator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86" - integrity sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-wrap-function" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6", "@babel/helper-replace-supers@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444" - integrity sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.8.3" - "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/traverse" "^7.9.6" - "@babel/types" "^7.9.6" - -"@babel/helper-simple-access@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" - integrity sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw== - dependencies: - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-split-export-declaration@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" - integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" - integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== - -"@babel/helper-wrap-function@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" - integrity sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ== - dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helpers@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580" - integrity sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw== - dependencies: - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.9.6" - "@babel/types" "^7.9.6" - -"@babel/highlight@^7.8.3": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" - integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== - dependencies: - "@babel/helper-validator-identifier" "^7.9.0" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@7.9.4": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" - integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== - -"@babel/parser@^7.1.0", "@babel/parser@^7.8.6", "@babel/parser@^7.9.0", "@babel/parser@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7" - integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q== - -"@babel/plugin-proposal-async-generator-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" - integrity sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-remap-async-to-generator" "^7.8.3" - "@babel/plugin-syntax-async-generators" "^7.8.0" - -"@babel/plugin-proposal-class-properties@^7.7.4": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" - integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-proposal-decorators@^7.7.4": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e" - integrity sha512-e3RvdvS4qPJVTe288DlXjwKflpfy1hr0j5dz5WpIYYeP7vQZg2WfAEIp8k5/Lwis/m5REXEteIz6rrcDtXXG7w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-decorators" "^7.8.3" - -"@babel/plugin-proposal-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054" - integrity sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - -"@babel/plugin-proposal-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" - integrity sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.0" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.7.4", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" - integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - -"@babel/plugin-proposal-numeric-separator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" - integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - -"@babel/plugin-proposal-object-rest-spread@^7.7.4", "@babel/plugin-proposal-object-rest-spread@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz#7a093586fcb18b08266eb1a7177da671ac575b63" - integrity sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.9.5" - -"@babel/plugin-proposal-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" - integrity sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@^7.7.4", "@babel/plugin-proposal-optional-chaining@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" - integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": - version "7.8.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d" - integrity sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.8" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz#6cb933a8872c8d359bfde69bbeaae5162fd1e8f7" - integrity sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-decorators@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.8.3.tgz#8d2c15a9f1af624b0025f961682a9d53d3001bda" - integrity sha512-8Hg4dNNT9/LcA1zQlfwuKR8BUc/if7Q7NkTam9sGTcJphLwpf2g4S42uhspQrIrR+dpzE0dtTqBVFoHl8GtnnQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-dynamic-import@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.7.4", "@babel/plugin-syntax-jsx@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94" - integrity sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz#3995d7d7ffff432f6ddc742b47e730c054599897" - integrity sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f" - integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391" - integrity sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-typescript@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.8.3.tgz#c1f659dda97711a569cef75275f7e15dcaa6cabc" - integrity sha512-GO1MQ/SGGGoiEXY0e0bSpHimJvxqB7lktLLIq2pv8xG7WZ8IMEle74jIe1FhprHBWjwjZtXHkycDLZXIWM5Wfg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-arrow-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" - integrity sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-async-to-generator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" - integrity sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ== - dependencies: - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-remap-async-to-generator" "^7.8.3" - -"@babel/plugin-transform-block-scoped-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" - integrity sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-block-scoping@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" - integrity sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - lodash "^4.17.13" - -"@babel/plugin-transform-classes@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz#800597ddb8aefc2c293ed27459c1fcc935a26c2c" - integrity sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-define-map" "^7.8.3" - "@babel/helper-function-name" "^7.9.5" - "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.6" - "@babel/helper-split-export-declaration" "^7.8.3" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" - integrity sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-destructuring@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz#72c97cf5f38604aea3abf3b935b0e17b1db76a50" - integrity sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" - integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-duplicate-keys@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" - integrity sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-exponentiation-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" - integrity sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-for-of@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e" - integrity sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-function-name@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" - integrity sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ== - dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" - integrity sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-member-expression-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" - integrity sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-modules-amd@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz#8539ec42c153d12ea3836e0e3ac30d5aae7b258e" - integrity sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw== - dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz#64b7474a4279ee588cacd1906695ca721687c277" - integrity sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ== - dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-simple-access" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz#207f1461c78a231d5337a92140e52422510d81a4" - integrity sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg== - dependencies: - "@babel/helper-hoist-variables" "^7.8.3" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697" - integrity sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ== - dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" - integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" - -"@babel/plugin-transform-new-target@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" - integrity sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-object-super@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" - integrity sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.3" - -"@babel/plugin-transform-parameters@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz#173b265746f5e15b2afe527eeda65b73623a0795" - integrity sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA== - dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-property-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" - integrity sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-react-display-name@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" - integrity sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-react-jsx-development@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz#3c2a130727caf00c2a293f0aed24520825dbf754" - integrity sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw== - dependencies: - "@babel/helper-builder-react-jsx-experimental" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.8.3" - -"@babel/plugin-transform-react-jsx-self@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz#f4f26a325820205239bb915bad8e06fcadabb49b" - integrity sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.8.3" - -"@babel/plugin-transform-react-jsx-source@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz#89ef93025240dd5d17d3122294a093e5e0183de0" - integrity sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.8.3" - -"@babel/plugin-transform-react-jsx@^7.9.4": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz#86f576c8540bd06d0e95e0b61ea76d55f6cbd03f" - integrity sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw== - dependencies: - "@babel/helper-builder-react-jsx" "^7.9.0" - "@babel/helper-builder-react-jsx-experimental" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.8.3" - -"@babel/plugin-transform-regenerator@^7.8.7": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8" - integrity sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" - integrity sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-shorthand-properties@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" - integrity sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" - integrity sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-sticky-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" - integrity sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-regex" "^7.8.3" - -"@babel/plugin-transform-template-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" - integrity sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-typeof-symbol@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412" - integrity sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-typescript@^7.9.0": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.9.6.tgz#2248971416a506fc78278fc0c0ea3179224af1e9" - integrity sha512-8OvsRdvpt3Iesf2qsAn+YdlwAJD7zJ+vhFZmDCa4b8dTp7MmHtKk5FF2mCsGxjZwuwsy/yIIay/nLmxST1ctVQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.9.6" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-typescript" "^7.8.3" - -"@babel/plugin-transform-unicode-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" - integrity sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/preset-env@^7.7.4", "@babel/preset-env@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.6.tgz#df063b276c6455ec6fcfc6e53aacc38da9b0aea6" - integrity sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ== - dependencies: - "@babel/compat-data" "^7.9.6" - "@babel/helper-compilation-targets" "^7.9.6" - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-proposal-async-generator-functions" "^7.8.3" - "@babel/plugin-proposal-dynamic-import" "^7.8.3" - "@babel/plugin-proposal-json-strings" "^7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-proposal-numeric-separator" "^7.8.3" - "@babel/plugin-proposal-object-rest-spread" "^7.9.6" - "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" - "@babel/plugin-proposal-optional-chaining" "^7.9.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.8.0" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - "@babel/plugin-transform-arrow-functions" "^7.8.3" - "@babel/plugin-transform-async-to-generator" "^7.8.3" - "@babel/plugin-transform-block-scoped-functions" "^7.8.3" - "@babel/plugin-transform-block-scoping" "^7.8.3" - "@babel/plugin-transform-classes" "^7.9.5" - "@babel/plugin-transform-computed-properties" "^7.8.3" - "@babel/plugin-transform-destructuring" "^7.9.5" - "@babel/plugin-transform-dotall-regex" "^7.8.3" - "@babel/plugin-transform-duplicate-keys" "^7.8.3" - "@babel/plugin-transform-exponentiation-operator" "^7.8.3" - "@babel/plugin-transform-for-of" "^7.9.0" - "@babel/plugin-transform-function-name" "^7.8.3" - "@babel/plugin-transform-literals" "^7.8.3" - "@babel/plugin-transform-member-expression-literals" "^7.8.3" - "@babel/plugin-transform-modules-amd" "^7.9.6" - "@babel/plugin-transform-modules-commonjs" "^7.9.6" - "@babel/plugin-transform-modules-systemjs" "^7.9.6" - "@babel/plugin-transform-modules-umd" "^7.9.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" - "@babel/plugin-transform-new-target" "^7.8.3" - "@babel/plugin-transform-object-super" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.9.5" - "@babel/plugin-transform-property-literals" "^7.8.3" - "@babel/plugin-transform-regenerator" "^7.8.7" - "@babel/plugin-transform-reserved-words" "^7.8.3" - "@babel/plugin-transform-shorthand-properties" "^7.8.3" - "@babel/plugin-transform-spread" "^7.8.3" - "@babel/plugin-transform-sticky-regex" "^7.8.3" - "@babel/plugin-transform-template-literals" "^7.8.3" - "@babel/plugin-transform-typeof-symbol" "^7.8.4" - "@babel/plugin-transform-unicode-regex" "^7.8.3" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.9.6" - browserslist "^4.11.1" - core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/preset-modules@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" - integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-react@^7.7.4": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.4.tgz#c6c97693ac65b6b9c0b4f25b948a8f665463014d" - integrity sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-react-display-name" "^7.8.3" - "@babel/plugin-transform-react-jsx" "^7.9.4" - "@babel/plugin-transform-react-jsx-development" "^7.9.0" - "@babel/plugin-transform-react-jsx-self" "^7.9.0" - "@babel/plugin-transform-react-jsx-source" "^7.9.0" - -"@babel/preset-typescript@^7.7.4": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" - integrity sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-typescript" "^7.9.0" - -"@babel/register@7.9.0", "@babel/register@^7.7.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.9.0.tgz#02464ede57548bddbb5e9f705d263b7c3f43d48b" - integrity sha512-Tv8Zyi2J2VRR8g7pC5gTeIN8Ihultbmk0ocyNz8H2nEZbmhp1N6q0A1UGsQbDvGP/sNinQKUHf3SqXwqjtFv4Q== - dependencies: - find-cache-dir "^2.0.0" - lodash "^4.17.13" - make-dir "^2.1.0" - pirates "^4.0.0" - source-map-support "^0.5.16" - -"@babel/runtime@^7.1.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.7", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.6.tgz#a9102eb5cadedf3f31d08a9ecf294af7827ea29f" - integrity sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.3.3", "@babel/template@^7.8.3", "@babel/template@^7.8.6": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" - integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/parser" "^7.8.6" - "@babel/types" "^7.8.6" - -"@babel/traverse@7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.5.tgz#6e7c56b44e2ac7011a948c21e283ddd9d9db97a2" - integrity sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.9.5" - "@babel/helper-function-name" "^7.9.5" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/parser" "^7.9.0" - "@babel/types" "^7.9.5" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.8.3", "@babel/traverse@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz#5540d7577697bf619cc57b92aa0f1c231a94f442" - integrity sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.9.6" - "@babel/helper-function-name" "^7.9.5" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/parser" "^7.9.6" - "@babel/types" "^7.9.6" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/types@7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.5.tgz#89231f82915a8a566a703b3b20133f73da6b9444" - integrity sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg== - dependencies: - "@babel/helper-validator-identifier" "^7.9.5" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.4", "@babel/types@^7.8.0", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7" - integrity sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA== - dependencies: - "@babel/helper-validator-identifier" "^7.9.5" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@csstools/convert-colors@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" - integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== - -"@hapi/address@2.x.x": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" - integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== - -"@hapi/bourne@1.x.x": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" - integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== - -"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": - version "8.5.1" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" - integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== - -"@hapi/joi@^15.0.3": - version "15.1.1" - resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" - integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== - dependencies: - "@hapi/address" "2.x.x" - "@hapi/bourne" "1.x.x" - "@hapi/hoek" "8.x.x" - "@hapi/topo" "3.x.x" - -"@hapi/topo@3.x.x": - version "3.1.6" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" - integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== - dependencies: - "@hapi/hoek" "^8.3.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz#10602de5570baea82f8afbfa2630b24e7a8cfe5b" - integrity sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== - -"@jest/console@^26.0.1": - version "26.0.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.0.1.tgz#62b3b2fa8990f3cbffbef695c42ae9ddbc8f4b39" - integrity sha512-9t1KUe/93coV1rBSxMmBAOIK3/HVpwxArCA1CxskKyRiv6o8J70V8C/V3OJminVCTa2M0hQI9AWRd5wxu2dAHw== - dependencies: - "@jest/types" "^26.0.1" - chalk "^4.0.0" - jest-message-util "^26.0.1" - jest-util "^26.0.1" - slash "^3.0.0" - -"@jest/core@^26.0.1": - version "26.0.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.0.1.tgz#aa538d52497dfab56735efb00e506be83d841fae" - integrity sha512-Xq3eqYnxsG9SjDC+WLeIgf7/8KU6rddBxH+SCt18gEpOhAGYC/Mq+YbtlNcIdwjnnT+wDseXSbU0e5X84Y4jTQ== - dependencies: - "@jest/console" "^26.0.1" - "@jest/reporters" "^26.0.1" - "@jest/test-result" "^26.0.1" - "@jest/transform" "^26.0.1" - "@jest/types" "^26.0.1" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.0.1" - jest-config "^26.0.1" - jest-haste-map "^26.0.1" - jest-message-util "^26.0.1" - jest-regex-util "^26.0.0" - jest-resolve "^26.0.1" - jest-resolve-dependencies "^26.0.1" - jest-runner "^26.0.1" - jest-runtime "^26.0.1" - jest-snapshot "^26.0.1" - jest-util "^26.0.1" - jest-validate "^26.0.1" - jest-watcher "^26.0.1" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.0.1": - version "26.0.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.0.1.tgz#82f519bba71959be9b483675ee89de8c8f72a5c8" - integrity sha512-xBDxPe8/nx251u0VJ2dFAFz2H23Y98qdIaNwnMK6dFQr05jc+Ne/2np73lOAx+5mSBO/yuQldRrQOf6hP1h92g== - dependencies: - "@jest/fake-timers" "^26.0.1" - "@jest/types" "^26.0.1" - jest-mock "^26.0.1" - -"@jest/fake-timers@^26.0.1": - version "26.0.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.0.1.tgz#f7aeff13b9f387e9d0cac9a8de3bba538d19d796" - integrity sha512-Oj/kCBnTKhm7CR+OJSjZty6N1bRDr9pgiYQr4wY221azLz5PHi08x/U+9+QpceAYOWheauLP8MhtSVFrqXQfhg== - dependencies: - "@jest/types" "^26.0.1" - "@sinonjs/fake-timers" "^6.0.1" - jest-message-util "^26.0.1" - jest-mock "^26.0.1" - jest-util "^26.0.1" - -"@jest/globals@^26.0.1": - version "26.0.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.0.1.tgz#3f67b508a7ce62b6e6efc536f3d18ec9deb19a9c" - integrity sha512-iuucxOYB7BRCvT+TYBzUqUNuxFX1hqaR6G6IcGgEqkJ5x4htNKo1r7jk1ji9Zj8ZMiMw0oB5NaA7k5Tx6MVssA== - dependencies: - "@jest/environment" "^26.0.1" - "@jest/types" "^26.0.1" - expect "^26.0.1" - -"@jest/reporters@^26.0.1": - version "26.0.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.0.1.tgz#14ae00e7a93e498cec35b0c00ab21c375d9b078f" - integrity sha512-NWWy9KwRtE1iyG/m7huiFVF9YsYv/e+mbflKRV84WDoJfBqUrNRyDbL/vFxQcYLl8IRqI4P3MgPn386x76Gf2g== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.0.1" - "@jest/test-result" "^26.0.1" - "@jest/transform" "^26.0.1" - "@jest/types" "^26.0.1" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.0.1" - jest-resolve "^26.0.1" - jest-util "^26.0.1" - jest-worker "^26.0.0" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^4.1.3" - optionalDependencies: - node-notifier "^7.0.0" - -"@jest/source-map@^26.0.0": - version "26.0.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.0.0.tgz#fd7706484a7d3faf7792ae29783933bbf48a4749" - integrity sha512-S2Z+Aj/7KOSU2TfW0dyzBze7xr95bkm5YXNUqqCek+HE0VbNNSNzrRwfIi5lf7wvzDTSS0/ib8XQ1krFNyYgbQ== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.0.1": - version "26.0.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.0.1.tgz#1ffdc1ba4bc289919e54b9414b74c9c2f7b2b718" - integrity sha512-oKwHvOI73ICSYRPe8WwyYPTtiuOAkLSbY8/MfWF3qDEd/sa8EDyZzin3BaXTqufir/O/Gzea4E8Zl14XU4Mlyg== - dependencies: - "@jest/console" "^26.0.1" - "@jest/types" "^26.0.1" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.0.1": - version "26.0.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.0.1.tgz#b0563424728f3fe9e75d1442b9ae4c11da73f090" - integrity sha512-ssga8XlwfP8YjbDcmVhwNlrmblddMfgUeAkWIXts1V22equp2GMIHxm7cyeD5Q/B0ZgKPK/tngt45sH99yLLGg== - dependencies: - "@jest/test-result" "^26.0.1" - graceful-fs "^4.2.4" - jest-haste-map "^26.0.1" - jest-runner "^26.0.1" - jest-runtime "^26.0.1" - -"@jest/transform@^26.0.1": - version "26.0.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.0.1.tgz#0e3ecbb34a11cd4b2080ed0a9c4856cf0ceb0639" - integrity sha512-pPRkVkAQ91drKGbzCfDOoHN838+FSbYaEAvBXvKuWeeRRUD8FjwXkqfUNUZL6Ke48aA/1cqq/Ni7kVMCoqagWA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.0.1" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.0.1" - jest-regex-util "^26.0.0" - jest-util "^26.0.1" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^26.0.1": - version "26.0.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.0.1.tgz#b78333fbd113fa7aec8d39de24f88de8686dac67" - integrity sha512-IbtjvqI9+eS1qFnOIEL7ggWmT+iK/U+Vde9cGWtYb/b6XgKb3X44ZAe/z9YZzoAAZ/E92m0DqrilF934IGNnQA== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@loadable/component@^5.12.0": - version "5.12.0" - resolved "https://registry.yarnpkg.com/@loadable/component/-/component-5.12.0.tgz#34d056d15f53dc08d04e9203cad6867cf4f7306c" - integrity sha512-eDG7FPZ8tCFA/mqu2IrYV6eS+UxGBo21PwtEV9QpkpYrx25xKRXzJUm36yfQPK3o7jXu43xpPkwiU4mLWcjJlw== - dependencies: - "@babel/runtime" "^7.7.7" - hoist-non-react-statics "^3.3.1" - -"@remax/ali@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@remax/ali/-/ali-2.7.8.tgz#72ade01a3668c484f68d59f9fa55b067951ff217" - integrity sha512-O28izoG0zdvE7JR81mhyVxwMaNTy7Pn4TzDDtOefwgBVIdB95MRje4LSlqnGnp0VaJYrJyEw2tJctR0pu4bg3A== - dependencies: - "@remax/shared" "2.7.8" - mini-types "^0.1.1" - -"@remax/cli@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@remax/cli/-/cli-2.7.8.tgz#6986e62756af8ef27de72065646fc9adf901f7c9" - integrity sha512-q3MFuEUUbUcD4/jyTq+IvqNIYfvUbjARFoWD7SZQpaOR9BZBTJrijUsnOZbmqpqXF542sfH9Tz8c/87MZRk80Q== - dependencies: - "@babel/core" "^7.7.4" - "@babel/helper-module-imports" "^7.7.4" - "@babel/preset-env" "^7.7.4" - "@babel/preset-typescript" "^7.7.4" - "@babel/register" "^7.7.0" - "@babel/types" "^7.7.4" - "@remax/macro" "2.7.8" - "@remax/plugin-devtools" "2.7.8" - "@remax/postcss-px2units" "^0.2.0" - "@remax/postcss-tag" "2.7.8" - "@remax/shared" "2.7.8" - "@remax/types" "2.7.8" - "@types/webpackbar" "^4.0.0" - address "^1.1.2" - babel-loader "^8.1.0" - babel-preset-remax "2.7.8" - chokidar "^3.4.0" - clean-webpack-plugin "^3.0.0" - copy-webpack-plugin "^5.1.1" - css-loader "^3.4.2" - detect-port "^1.3.0" - dotenv "^8.2.0" - dotenv-expand "^5.1.0" - ejs "^3.0.1" - enhanced-resolve "^4.1.1" - express "^4.17.1" - file-loader "^6.0.0" - html-webpack-plugin "^4.0.4" - htmlparser2 "^4.0.0" - loader-utils "^2.0.0" - lodash "^4.17.11" - magic-string "^0.25.7" - micromatch "^4.0.2" - mini-css-extract-plugin "^0.9.0" - node-notifier "^7.0.0" - postcss-loader "^3.0.0" - postcss-preset-env "^6.7.0" - regenerator-runtime "^0.13.3" - remax-stats "^0.1.1" - resolve "^1.12.0" - schema-utils "^2.6.1" - style-loader "^1.1.3" - webpack "^4.42.1" - webpack-bundle-analyzer "^3.8.0" - webpack-chain "^6.4.0" - webpack-dev-server "^3.10.3" - webpack-sources "^1.4.3" - webpack-virtual-modules "^0.2.1" - webpackbar "^4.0.0" - yargs "^15.1.0" - -"@remax/macro@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@remax/macro/-/macro-2.7.8.tgz#236433b0ca7004c9b77c534fdaa54557d394e64f" - integrity sha512-2OQwBTqRvq93i3ZRZ0q+wNJeYqug5UvjsR2ODYCqWMrHTQlSGQPD5VQkv5nm9Fg7RT2ek07qceRLtMSLscQ1ag== - dependencies: - "@remax/shared" "2.7.8" - "@remax/types" "2.7.8" - "@types/babel__traverse" "^7.0.8" - -"@remax/one@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@remax/one/-/one-2.7.8.tgz#f2a6368455f7b35284d1bf9ebb216340bb52643a" - integrity sha512-/60nutOL23wuLY1ed3/2pcA+5acNyyuenAFRWPzLYzsYFQSQtMpteBoUB+GlR0NSjlRTAaKLqSGn3+EhMzInHQ== - dependencies: - "@remax/ali" "2.7.8" - "@remax/router" "2.7.8" - "@remax/runtime" "2.7.8" - "@remax/toutiao" "2.7.8" - "@remax/wechat" "2.7.8" - clsx "^1.1.0" - react-autosize-textarea "^7.0.0" - rmc-feedback "^2.0.0" - -"@remax/plugin-devtools@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@remax/plugin-devtools/-/plugin-devtools-2.7.8.tgz#b1d7ba2fd55ced3b6a93cf39576428081f2ee58b" - integrity sha512-9JFWlmbeYPfCD0q2u/N10c8628xA76+Wl8/aL01HSy+Bc/KPKo5MfCrZrMpenUqw1Q2GLoX3n5lHT0T8lZPprA== - dependencies: - "@remax/react-devtools-core" "^4.7.1" - "@remax/shared" "2.7.8" - webpack-inject-plugin "^1.5.4" - -"@remax/postcss-px2units@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@remax/postcss-px2units/-/postcss-px2units-0.2.0.tgz#b1fc4bbebca0b3682813e76d1dfcb619f91b548b" - integrity sha512-XxuJcPgnAOyzvbDz5lbIYq4yKk66w40WxnOTj13J3NEwBwG4wNh3ZKS376K4jV1iRrCC1v7Q5A45x5HnP+oF7w== - dependencies: - object-assign "^4.1.1" - postcss "^6.0.19" - -"@remax/postcss-tag@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@remax/postcss-tag/-/postcss-tag-2.7.8.tgz#efa3579be69042684d468269475fe932c0488510" - integrity sha512-jQoQK42jNualoEFYkv0O3wPMZpqsBEB7seWi8UHFhDfBjr18FS3Hm3Ib8ru0hbEcWpJUPwK1De+KPFneNTqnjA== - -"@remax/react-devtools-core@^4.7.1": - version "4.7.1" - resolved "https://registry.yarnpkg.com/@remax/react-devtools-core/-/react-devtools-core-4.7.1.tgz#e1caacf8b83733db65111b4c6800b7c6f67a85d4" - integrity sha512-9kS22dkKvgOmOjVwfkOeLJWxr9XwY2HTbhErdfHPQDnCtHN9RUoloeGfWoXo11tKs/EzpH6GProbM9uVBCzqLQ== - dependencies: - shell-quote "^1.6.1" - ws "^7" - -"@remax/react-router-cache-route@^1.8.4": - version "1.8.4" - resolved "https://registry.yarnpkg.com/@remax/react-router-cache-route/-/react-router-cache-route-1.8.4.tgz#cf9ddad48b9ee5ef8439c705f2c865bd2c673543" - integrity sha512-W17U/5/y6ZjMdfVw400AY3hrBJCr6UC+f/6VUANU0O41pH68eGY0gwxRlR3aa6eQfT6ztMSfvLLPjzBAOjhoKg== - -"@remax/router@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@remax/router/-/router-2.7.8.tgz#0f441143eb8eccfd88e3310bb3437196f8dbcbb2" - integrity sha512-DCUsGCqF9myR/zkST5tgrd3Mv7uTpyn+PxU2PxRyaZ1rujw355qmHVSlN3/7RuMWmXSrlsuMXfW2fJnDa9fDiQ== - dependencies: - "@remax/react-router-cache-route" "^1.8.4" - history "^4.10.1" - react-router-dom "^5.1.2" - -"@remax/runtime@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@remax/runtime/-/runtime-2.7.8.tgz#73cb69fe3495dedc9e6cf0909b665dc19a1d0177" - integrity sha512-XI7BRvNEGOaURzrRXJsYD4V6UBgMShVZRjXPKYl6rtGm6VxMIFYE7zsnCw1JHUqHZCxMzoEbQYKcz8xEe6ayYw== - dependencies: - "@remax/shared" "2.7.8" - "@remax/types" "2.7.8" - "@remax/web" "2.7.8" - qs "^6.9.3" - react-reconciler "0.25.1" - scheduler "0.19.1" - -"@remax/shared@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@remax/shared/-/shared-2.7.8.tgz#b0b1ae5e5ca9cde23efbe3859021e289b5b2c41d" - integrity sha512-eNgSkr4ZUVH2zF8edwJXIosF5YHVZPdPnFfjgvBFKn/lwk2p5ng+QV9956xoyKx2/X7M5Ta6Jmi/YmRQq9dqkg== - -"@remax/toutiao@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@remax/toutiao/-/toutiao-2.7.8.tgz#0aae7f920fb7adabdd1857311af9606aaa0d1b23" - integrity sha512-PDZAVSeAgrNQ8RzMHGKiH/XHnC69s2Bt2n0JLvb5yAbNPYiLUv7khmnBHw9XygUgoLAWjrD9T5OUQ0u9n9iw2g== - dependencies: - "@remax/shared" "2.7.8" - -"@remax/types@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@remax/types/-/types-2.7.8.tgz#2d8173405bc7c0465e8af272abd112914578383f" - integrity sha512-NfNcGabmCROO630D9zkCRmY58zGmAvwvt7maFxQPkjnoW7NNjXY/hrXJmnVtuizCnn2xqAG9BfNS6s19u3jlLg== - dependencies: - "@babel/types" "^7.8.0" - "@types/webpack" "^4.41.10" - "@types/yargs" "^15.0.0" - webpack-chain "^6.4.0" - -"@remax/web@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@remax/web/-/web-2.7.8.tgz#7f96ddcc7d67855b5183f909e18eb0f113d178a1" - integrity sha512-9teJvWmldhohPCTCnIts9uhJFG0uKfjvFq56u41UqS+Y2NqlPxFbC/Cx5o2JR3ttYnqyq2dHXOz1t5ukTOurNQ== - dependencies: - "@loadable/component" "^5.12.0" - "@remax/router" "2.7.8" - rmc-pull-to-refresh "^1.0.12" - umi-hd "^5.0.1" - -"@remax/wechat@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@remax/wechat/-/wechat-2.7.8.tgz#74ed8d7af16c80b69796b509ff9a88bf24655275" - integrity sha512-AK8J+E10XEBvlupsVrvvFr8NDUaSweV8Xt+Kyud97oJ3hVhcP5mvGBbTRA/n/Wou5fpnwBm71DyytokcdRfblQ== - dependencies: - "@remax/shared" "2.7.8" - miniprogram-api-typings "^2.10.4" - -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== - -"@sinonjs/commons@^1.7.0": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.2.tgz#505f55c74e0272b43f6c52d81946bed7058fc0e2" - integrity sha512-+DUO6pnp3udV/v2VfUWgaY5BIE1IfT7lLfeDzPVeMT1XKkaAp9LgSI9x5RtrFQoZ9Oi0PgXQQHPaoKu7dCjVxw== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== - dependencies: - defer-to-connect "^1.0.1" - -"@types/anymatch@*": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" - integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== - -"@types/babel__core@^7.1.7": - version "7.1.7" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.7.tgz#1dacad8840364a57c98d0dd4855c6dd3752c6b89" - integrity sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.1" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" - integrity sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6", "@types/babel__traverse@^7.0.8": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.11.tgz#1ae3010e8bf8851d324878b42acec71986486d18" - integrity sha512-ddHK5icION5U6q11+tV2f9Mo6CZVuT8GJKld2q9LqHSZbvLbH34Kcu2yFGckZut453+eQU6btIA3RihmnRgI+Q== - dependencies: - "@babel/types" "^7.3.0" - -"@types/cheerio@0.22.17": - version "0.22.17" - resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.17.tgz#e54f71c3135f71ebc16c8dc62edad533872c9e72" - integrity sha512-izlm+hbqWN9csuB9GSMfCnAyd3/57XZi3rfz1B0C4QBGVMp+9xQ7+9KYnep+ySfUrCWql4lGzkLf0XmprXcz9g== - dependencies: - "@types/node" "*" - -"@types/color-convert@*": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@types/color-convert/-/color-convert-1.9.0.tgz#bfa8203e41e7c65471e9841d7e306a7cd8b5172d" - integrity sha512-OKGEfULrvSL2VRbkl/gnjjgbbF7ycIlpSsX7Nkab4MOWi5XxmgBYvuiQ7lcCFY5cPDz7MUNaKgxte2VRmtr4Fg== - dependencies: - "@types/color-name" "*" - -"@types/color-name@*", "@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - -"@types/color@3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/color/-/color-3.0.1.tgz#2900490ed04da8116c5058cd5dba3572d5a25071" - integrity sha512-oeUWVaAwI+xINDUx+3F2vJkl/vVB03VChFF/Gl3iQCdbcakjuoJyMOba+3BXRtnBhxZ7uBYqQBi9EpLnvSoztA== - dependencies: - "@types/color-convert" "*" - -"@types/cross-spawn@6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@types/cross-spawn/-/cross-spawn-6.0.1.tgz#60fa0c87046347c17d9735e5289e72b804ca9b63" - integrity sha512-MtN1pDYdI6D6QFDzy39Q+6c9rl2o/xN7aWGe6oZuzqq5N6+YuwFsWiEAv3dNzvzN9YzU+itpN8lBzFpphQKLAw== - dependencies: - "@types/node" "*" - -"@types/debug@4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" - integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== - -"@types/events@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" - integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== - -"@types/glob@*", "@types/glob@7.1.1", "@types/glob@^7.1.1": - version "7.1.1" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" - integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== - dependencies: - "@types/events" "*" - "@types/minimatch" "*" - "@types/node" "*" - -"@types/got@9.6.10": - version "9.6.10" - resolved "https://registry.yarnpkg.com/@types/got/-/got-9.6.10.tgz#5f34e9f249a13e06cfe0015b08f55b4b114bb645" - integrity sha512-owBY1cgHUIXjObzY+vs+J9Cpw0czvfksJX+qEkgxRojFutFq7n1tKoj6Ekg57DhvXMk0vGQ7FbinvS9I/1wxcg== - dependencies: - "@types/node" "*" - "@types/tough-cookie" "*" - form-data "^2.5.0" - -"@types/graceful-fs@^4.1.2": - version "4.1.3" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz#039af35fe26bec35003e8d86d2ee9c586354348f" - integrity sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ== - dependencies: - "@types/node" "*" - -"@types/html-minifier-terser@^5.0.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz#551a4589b6ee2cc9c1dff08056128aec29b94880" - integrity sha512-iYCgjm1dGPRuo12+BStjd1HiVQqhlRhWDOQigNxn023HcjnhsiFz9pc6CzJj4HwDCSQca9bxTL4PxJDbkdm3PA== - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz#79d7a78bad4219f4c03d6557a1c72d9ca6ba62d5" - integrity sha512-rsZg7eL+Xcxsxk2XlBt9KcG8nOp9iYdKCOikY9x2RFJCyOdNj4MKPQty0e8oZr29vVAzKXr1BmR+kZauti3o1w== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^1.1.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" - integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - -"@types/loader-utils@^1.1.3": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@types/loader-utils/-/loader-utils-1.1.4.tgz#e8b44fda9e965e8c4eba864c7918e7f7528eaa25" - integrity sha512-puqX4dZW2ZRAz0orsBvQx6SmuE0pf/iGFqkA7rH0nC/lfCS6H1pdkLIagb/Ud8QMQMG0UlyOE3Hpb+SgQIpTmA== - dependencies: - "@types/node" "*" - "@types/webpack" "*" - -"@types/lodash@4.14.150": - version "4.14.150" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.150.tgz#649fe44684c3f1fcb6164d943c5a61977e8cf0bd" - integrity sha512-kMNLM5JBcasgYscD9x/Gvr6lTAv2NVgsKtet/hm93qMyf/D1pt+7jeEZklKJKxMVmXjxbRVQQGfqDSfipYCO6w== - -"@types/minimatch@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== - -"@types/mkdirp@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-1.0.0.tgz#16ce0eabe4a9a3afe64557ad0ee6886ec3d32927" - integrity sha512-ONFY9//bCEr3DWKON3iDv/Q8LXnhaYYaNDeFSN0AtO5o4sLf9F0pstJKKKjQhXE0kJEeHs8eR6SAsROhhc2Csw== - dependencies: - "@types/node" "*" - -"@types/mustache@4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/mustache/-/mustache-4.0.1.tgz#e4d421ed2d06d463b120621774185a5cd1b92d77" - integrity sha512-wH6Tu9mbiOt0n5EvdoWy0VGQaJMHfLIxY/6wS0xLC7CV1taM6gESEzcYy0ZlWvxxiiljYvfDIvz4hHbUUDRlhw== - -"@types/node@*": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.1.tgz#5d93e0a099cd0acd5ef3d5bde3c086e1f49ff68c" - integrity sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prettier@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.0.tgz#dc85454b953178cc6043df5208b9e949b54a3bc4" - integrity sha512-/rM+sWiuOZ5dvuVzV37sUuklsbg+JPOP8d+nNFlo2ZtfpzPiPvh1/gc8liWOLBqe+sR+ZM7guPaIcTt6UZTo7Q== - -"@types/resolve@1.14.0": - version "1.14.0" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.14.0.tgz#c95d696264f8e53e764a7c0b83e9317b458b76c3" - integrity sha512-bmjNBW6tok+67iOsASeYSJxSgY++BIR35nGyGLORTDirhra9reJ0shgGL3U7KPDUbOBCx8JrlCjd4d/y5uiMRQ== - dependencies: - "@types/node" "*" - -"@types/rimraf@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-3.0.0.tgz#b9d03f090ece263671898d57bb7bb007023ac19f" - integrity sha512-7WhJ0MdpFgYQPXlF4Dx+DhgvlPCfz/x5mHaeDQAKhcenvQP1KCpLQ18JklAqeGMYSAT2PxLpzd0g2/HE7fj7hQ== - dependencies: - "@types/glob" "*" - "@types/node" "*" - -"@types/semver@7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.1.0.tgz#c8c630d4c18cd326beff77404887596f96408408" - integrity sha512-pOKLaubrAEMUItGNpgwl0HMFPrSAFic8oSVIvfu1UwcgGNmNyK9gyhBHKmBnUTwwVvpZfkzUC0GaMgnL6P86uA== - dependencies: - "@types/node" "*" - -"@types/signale@1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@types/signale/-/signale-1.4.1.tgz#6137a6fd7960b48703dd2793c5b795480368b246" - integrity sha512-05d9fUDqRnt36rizLgo38SbPTrkMzdhXpvSHSAhxzokgIUPGNUoXHV0zYjPpTd4IryDADJ0mGHpfJ/Yhjyh9JQ== - dependencies: - "@types/node" "*" - -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== - -"@types/tapable@*", "@types/tapable@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.5.tgz#9adbc12950582aa65ead76bffdf39fe0c27a3c02" - integrity sha512-/gG2M/Imw7cQFp8PGvz/SwocNrmKFjFsm5Pb8HdbHkZ1K8pmuPzOX4VeVoiEecFCVf4CsN1r3/BRvx+6sNqwtQ== - -"@types/tough-cookie@*": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.0.tgz#fef1904e4668b6e5ecee60c52cc6a078ffa6697d" - integrity sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A== - -"@types/uglify-js@*": - version "3.9.1" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.9.1.tgz#0ad39d6a72979593f669acdfc7e980d590d3fb94" - integrity sha512-rdBIeMQyRBOXogop/EYBvSkYFn9D9yGxUa5hagBVG55KIdSUbp22EACJSHCs6kmmfunojAhf7zJH+Ds06/qLaQ== - dependencies: - source-map "^0.6.1" - -"@types/webpack-sources@*": - version "0.1.7" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.7.tgz#0a330a9456113410c74a5d64180af0cbca007141" - integrity sha512-XyaHrJILjK1VHVC4aVlKsdNN5KBTwufMb43cQs+flGxtPAf/1Qwl8+Q0tp5BwEGaI8D6XT1L+9bSWXckgkjTLw== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.6.1" - -"@types/webpack@*", "@types/webpack@^4.4.31", "@types/webpack@^4.41.10", "@types/webpack@^4.41.8": - version "4.41.13" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.13.tgz#988d114c8913d039b8a0e0502a7fe4f1f84f3d5e" - integrity sha512-RYmIHOWSxnTTa765N6jJBVE45pd2SYNblEYshVDduLw6RhocazNmRzE5/ytvBD8IkDMH6DI+bcrqxh8NILimBA== - dependencies: - "@types/anymatch" "*" - "@types/node" "*" - "@types/tapable" "*" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - source-map "^0.6.0" - -"@types/webpack@^4.4.17": - version "4.41.21" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.21.tgz#cc685b332c33f153bb2f5fc1fa3ac8adeb592dee" - integrity sha512-2j9WVnNrr/8PLAB5csW44xzQSJwS26aOnICsP3pSGCEdsu6KYtfQ6QJsVUKHWRnm1bL7HziJsfh5fHqth87yKA== - dependencies: - "@types/anymatch" "*" - "@types/node" "*" - "@types/tapable" "*" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - source-map "^0.6.0" - -"@types/webpackbar@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/webpackbar/-/webpackbar-4.0.0.tgz#6e18147d03c9d51e1bbfbfa2c36374e12c430f0d" - integrity sha512-EZ16TWfcaFjU1Y84r8d6dNdZmBymFVLHz7w2/6ppTX27bUEY+LpAkTojgP50YXPIsnKgun8wJ5YSnkzru6fbqw== - dependencies: - "@types/node" "*" - "@types/webpack" "*" - -"@types/yargs-parser@*", "@types/yargs-parser@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" - integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== - -"@types/yargs@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.4.tgz#7e5d0f8ca25e9d5849f2ea443cf7c402decd8299" - integrity sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^15.0.0": - version "15.0.5" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79" - integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w== - dependencies: - "@types/yargs-parser" "*" - -"@umijs/babel-plugin-auto-css-modules@^3.1.1": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@umijs/babel-plugin-auto-css-modules/-/babel-plugin-auto-css-modules-3.1.4.tgz#3b0709de38d12a47442ca66093ba7db49479169a" - integrity sha512-BnWqe+PMo91QdDFakdQ4Uva4yXY9gTOk6Jk5BhTtcMkfWBRyk1KnFfEH73M74u7zT3HVWGzjCF0blcJRWPQXww== - dependencies: - "@umijs/utils" "3.1.4" - -"@umijs/utils@3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@umijs/utils/-/utils-3.1.4.tgz#d7357ac043b175caa7f891108e77aa66c4db70bd" - integrity sha512-oKIrTJWOXejRJe1KtkOUdtnKsi24Z3HSq5hU6Lgc43td55nRQjWNMz/kmp2YPzcDG3et2vkU9qpvPZMIXOEAoQ== - dependencies: - "@babel/parser" "7.9.4" - "@babel/register" "7.9.0" - "@babel/traverse" "7.9.5" - "@babel/types" "7.9.5" - "@types/cheerio" "0.22.17" - "@types/color" "3.0.1" - "@types/cross-spawn" "6.0.1" - "@types/debug" "4.1.5" - "@types/glob" "7.1.1" - "@types/got" "9.6.10" - "@types/lodash" "4.14.150" - "@types/mkdirp" "1.0.0" - "@types/mustache" "4.0.1" - "@types/resolve" "1.14.0" - "@types/rimraf" "3.0.0" - "@types/semver" "7.1.0" - "@types/signale" "1.4.1" - "@types/yargs" "15.0.4" - "@types/yargs-parser" "15.0.0" - address "1.1.2" - chalk "4.0.0" - cheerio "1.0.0-rc.3" - chokidar "3.3.1" - clipboardy "2.3.0" - color "3.1.2" - crequire "1.8.1" - cross-spawn "7.0.2" - debug "4.1.1" - deepmerge "4.2.2" - execa "4.0.0" - glob "7.1.6" - got "9.6.0" - lodash "4.17.15" - mkdirp "1.0.4" - mustache "4.0.1" - pkg-up "3.1.0" - portfinder "1.0.25" - resolve "1.16.1" - rimraf "3.0.2" - semver "7.3.2" - signale "1.4.0" - yargs "15.3.1" - yargs-parser "18.1.3" - -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abab@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" - integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-walk@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" - integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== - -acorn@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== - -acorn@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe" - integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ== - -address@1.1.2, address@^1.0.1, address@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" - integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" - integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== - -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - -ansi-escapes@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== - dependencies: - "@types/color-name" "^1.1.1" - color-convert "^2.0.1" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3, anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -arch@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/arch/-/arch-2.1.2.tgz#0c52bbe7344bb4fa260c443d2cbad9c00ff2f0bf" - integrity sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async@0.9.x: - version "0.9.2" - resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" - integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= - -async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -autoprefixer@^9.6.1: - version "9.7.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.6.tgz#63ac5bbc0ce7934e6997207d5bb00d68fa8293a4" - integrity sha512-F7cYpbN7uVVhACZTeeIeealwdGM6wMtfWARVLTy5xmKtgVdBNJvbDRoCK3YO1orcs7gv/KwYlb3iXwu9Ug9BkQ== - dependencies: - browserslist "^4.11.1" - caniuse-lite "^1.0.30001039" - chalk "^2.4.2" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.27" - postcss-value-parser "^4.0.3" - -autosize@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/autosize/-/autosize-4.0.2.tgz#073cfd07c8bf45da4b9fd153437f5bafbba1e4c9" - integrity sha512-jnSyH2d+qdfPGpWlcuhGiHmqBJ6g3X+8T+iRwFrHPLVcdoGJE/x6Qicm6aDHfTsbgZKxyV8UU/YB2p4cjKDRRA== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" - integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== - -babel-jest@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.0.1.tgz#450139ce4b6c17174b136425bda91885c397bc46" - integrity sha512-Z4GGmSNQ8pX3WS1O+6v3fo41YItJJZsVxG5gIQ+HuB/iuAQBJxMTHTwz292vuYws1LnHfwSRgoqI+nxdy/pcvw== - dependencies: - "@jest/transform" "^26.0.1" - "@jest/types" "^26.0.1" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-loader@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" - integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== - dependencies: - find-cache-dir "^2.1.0" - loader-utils "^1.4.0" - mkdirp "^0.5.3" - pify "^4.0.1" - schema-utils "^2.6.5" - -babel-plugin-auto-import@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/babel-plugin-auto-import/-/babel-plugin-auto-import-1.0.5.tgz#350778fbbc2a341420b7059e8f543b9fb2636b60" - integrity sha512-U/TmCczhGEU9l65yKVdKMGP0bNlWUpulFaaRMcNaVwCRSgjfnASdwZUVrHdKbVW1EV02iR0JtO6J96aTHB9NXw== - dependencies: - "@babel/core" "^7.2.2" - logical-not "^1.0.0" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.0.0.tgz#fd1d35f95cf8849fc65cb01b5e58aedd710b34a8" - integrity sha512-+AuoehOrjt9irZL7DOt2+4ZaTM6dlu1s5TTS46JBa0/qem4dy7VNW3tMb96qeEqcIh20LD73TVNtmVEeymTG7w== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== - dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" - -babel-preset-current-node-syntax@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz#fb4a4c51fe38ca60fede1dc74ab35eb843cb41d6" - integrity sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -babel-preset-jest@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.0.0.tgz#1eac82f513ad36c4db2e9263d7c485c825b1faa6" - integrity sha512-9ce+DatAa31DpR4Uir8g4Ahxs5K4W4L8refzt+qHWQANb6LhGcAEfIFgLUwk67oya2cCUd6t4eUMtO/z64ocNw== - dependencies: - babel-plugin-jest-hoist "^26.0.0" - babel-preset-current-node-syntax "^0.1.2" - -babel-preset-remax@2.7.8: - version "2.7.8" - resolved "https://registry.yarnpkg.com/babel-preset-remax/-/babel-preset-remax-2.7.8.tgz#6b1c3ab10a56ed3af70d6b6c9f8ac6579357bf9e" - integrity sha512-OWfz4s09LKpMyzmgKkhBzwnC6GKqjD5jxYk4IrEnjk8WDk/M2YkJmOeHbRcQdQbAckzmZU9u/BdLg0ma1f9xcA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-class-properties" "^7.7.4" - "@babel/plugin-proposal-decorators" "^7.7.4" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.7.4" - "@babel/plugin-proposal-object-rest-spread" "^7.7.4" - "@babel/plugin-proposal-optional-chaining" "^7.7.4" - "@babel/plugin-syntax-jsx" "^7.7.4" - "@babel/preset-env" "^7.7.4" - "@babel/preset-react" "^7.7.4" - "@babel/preset-typescript" "^7.7.4" - "@umijs/babel-plugin-auto-css-modules" "^3.1.1" - babel-plugin-auto-import "^1.0.5" - babel-plugin-macros "^2.8.0" - lodash "^4.17.15" - -babel-runtime@6.x: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -bfj@^6.1.1: - version "6.1.2" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" - integrity sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw== - dependencies: - bluebird "^3.5.5" - check-types "^8.0.3" - hoopy "^0.1.4" - tryer "^1.0.1" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -binary-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" - integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: - version "4.11.9" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== - -bn.js@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.1.tgz#48efc4031a9c4041b9c99c6941d903463ab62eb5" - integrity sha512-IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA== - -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== - dependencies: - bytes "3.1.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.1.0.tgz#4fe971b379a5aeb4925e06779f9fa1f41d249d70" - integrity sha512-VYxo7cDCeYUoBZ0ZCy4UyEUCP3smyBd4DRQM5nrFS1jJjPJjX7rP3oLRpPoWfkhQfyJ0I9ZbHbKafrFD/SGlrg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.2" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.11.1, browserslist@^4.6.4, browserslist@^4.8.5: - version "4.12.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d" - integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg== - dependencies: - caniuse-lite "^1.0.30001043" - electron-to-chromium "^1.3.413" - node-releases "^1.1.53" - pkg-up "^2.0.0" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -cacache@^12.0.2, cacache@^12.0.3: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547" - integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q== - dependencies: - pascal-case "^3.1.1" - tslib "^1.10.0" - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" - integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== - -caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001039, caniuse-lite@^1.0.30001043: - version "1.0.30001059" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001059.tgz#7bff0613d94b6ea41cb5c864c966d340f8ae6d34" - integrity sha512-oOrc+jPJWooKIA0IrNZ5sYlsXc7NP7KLhNWrSGEJhnfSzDvDJ0zd3i6HXsslExY9bbu+x0FQ5C61LcqmPt7bOQ== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@4.0.0, chalk@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" - integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -check-types@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" - integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== - -cheerio@1.0.0-rc.3: - version "1.0.0-rc.3" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6" - integrity sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA== - dependencies: - css-select "~1.2.0" - dom-serializer "~0.1.1" - entities "~1.1.1" - htmlparser2 "^3.9.1" - lodash "^4.15.0" - parse5 "^3.0.1" - -chokidar@3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" - integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.3.0" - optionalDependencies: - fsevents "~2.1.2" - -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8" - integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.4.0" - optionalDependencies: - fsevents "~2.1.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" - -ci-info@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" - integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -classnames@^2.2.5: - version "2.2.6" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" - integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== - -clean-css@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== - dependencies: - source-map "~0.6.0" - -clean-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz#a99d8ec34c1c628a4541567aa7b457446460c62b" - integrity sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A== - dependencies: - "@types/webpack" "^4.4.31" - del "^4.1.1" - -clipboardy@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" - integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== - dependencies: - arch "^2.1.1" - execa "^1.0.0" - is-wsl "^2.1.1" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -clone-deep@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" - integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY= - dependencies: - for-own "^0.1.3" - is-plain-object "^2.0.1" - kind-of "^3.0.2" - lazy-cache "^1.0.3" - shallow-clone "^0.1.2" - -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - -clsx@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.0.tgz#62937c6adfea771247c34b54d320fb99624f5702" - integrity sha512-3avwM37fSK5oP6M5rQ9CNe99lwxhXDOeSWVPAOYF6OazUTgZCMb0yWlJpmdD74REy1gkEaFiub2ULv4fq9GUhA== - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0, color-convert@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" - integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.2" - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.11.0, commander@^2.18.0, commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" - integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== - -commander@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -computed-style@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/computed-style/-/computed-style-0.1.4.tgz#7f344fd8584b2e425bedca4a1afc0e300bb05d74" - integrity sha1-fzRP2FhLLkJb7cpKGvwOMAuwXXQ= - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== - -consola@^2.10.0: - version "2.12.1" - resolved "https://registry.yarnpkg.com/consola/-/consola-2.12.1.tgz#88e9311a02cb88a7f6f9488239dd30b6ba99cbb0" - integrity sha512-aEkkju9ZcEa9y2MhzNhfmTUws/CEZZ0LKu0FxftSU3HygPfVMMIMSYyYct+xBN6XNRhsaDZjw2HAv3m2ammXSA== - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -copy-webpack-plugin@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz#5481a03dea1123d88a988c6ff8b78247214f0b88" - integrity sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg== - dependencies: - cacache "^12.0.3" - find-cache-dir "^2.1.0" - glob-parent "^3.1.0" - globby "^7.1.1" - is-glob "^4.0.1" - loader-utils "^1.2.3" - minimatch "^3.0.4" - normalize-path "^3.0.0" - p-limit "^2.2.1" - schema-utils "^1.0.0" - serialize-javascript "^2.1.2" - webpack-log "^2.0.0" - -core-js-compat@^3.6.2: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" - integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== - dependencies: - browserslist "^4.8.5" - semver "7.0.0" - -core-js@^2.4.0, core-js@^2.6.5: - version "2.6.11" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" - integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -crequire@1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/crequire/-/crequire-1.8.1.tgz#ac81f204786b5f201194eb1698cf441b10a4b57d" - integrity sha1-rIHyBHhrXyARlOsWmM9EGxCktX0= - -cross-env@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.2.tgz#bd5ed31339a93a3418ac4f3ca9ca3403082ae5f9" - integrity sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw== - dependencies: - cross-spawn "^7.0.1" - -cross-spawn@7.0.2, cross-spawn@^7.0.0, cross-spawn@^7.0.1: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.2.tgz#d0d7dcfa74e89115c7619f4f721a94e1fdb716d6" - integrity sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -css-blank-pseudo@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" - integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== - dependencies: - postcss "^7.0.5" - -css-has-pseudo@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" - integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^5.0.0-rc.4" - -css-loader@^3.4.2: - version "3.5.3" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.5.3.tgz#95ac16468e1adcd95c844729e0bb167639eb0bcf" - integrity sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw== - dependencies: - camelcase "^5.3.1" - cssesc "^3.0.0" - icss-utils "^4.1.1" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.27" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" - postcss-modules-scope "^2.2.0" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.0.3" - schema-utils "^2.6.6" - semver "^6.3.0" - -css-prefers-color-scheme@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" - integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== - dependencies: - postcss "^7.0.5" - -css-select@^1.1.0, css-select@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - -css-what@2.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== - -cssdb@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" - integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== - -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -cwd@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/cwd/-/cwd-0.10.0.tgz#172400694057c22a13b0cf16162c7e4b7a7fe567" - integrity sha1-FyQAaUBXwioTsM8WFix+S3p/5Wc= - dependencies: - find-pkg "^0.1.2" - fs-exists-sync "^0.1.0" - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4.1.1, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -debug@^3.0.0, debug@^3.1.1, debug@^3.2.5: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" - integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@4.2.2, deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -deepmerge@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" - integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== - -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== - dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" - -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" - integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== - dependencies: - "@types/glob" "^7.1.1" - globby "^6.1.0" - is-path-cwd "^2.0.0" - is-path-in-cwd "^2.0.0" - p-map "^2.0.0" - pify "^4.0.1" - rimraf "^2.6.3" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== - -detect-port@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.3.0.tgz#d9c40e9accadd4df5cac6a782aefd014d573d1f1" - integrity sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ== - dependencies: - address "^1.0.1" - debug "^2.6.0" - -diff-sequences@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.0.0.tgz#0760059a5c287637b842bd7085311db7060e88a6" - integrity sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== - dependencies: - path-type "^3.0.0" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -dns-packet@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - -dom-converter@^0.2: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@0, dom-serializer@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -dom-serializer@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" - integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== - dependencies: - domelementtype "^1.3.0" - entities "^1.1.1" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" - integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== - dependencies: - domelementtype "1" - -domhandler@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.0.0.tgz#51cd13efca31da95bbb0c5bee3a48300e333b3e9" - integrity sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw== - dependencies: - domelementtype "^2.0.1" - -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^1.5.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.1.0.tgz#7ade3201af43703fde154952e3a868eb4b635f16" - integrity sha512-CD9M0Dm1iaHfQ1R/TI+z3/JWp/pgub0j4jIQKH89ARR4ATAV2nbaOQS5XxU9maJP5jHaPdDDQSEHuE2UmpUTKg== - dependencies: - dom-serializer "^0.2.1" - domelementtype "^2.0.1" - domhandler "^3.0.0" - -dot-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa" - integrity sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA== - dependencies: - no-case "^3.0.3" - tslib "^1.10.0" - -dotenv-expand@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - -dotenv@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" - integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -ejs@^2.6.1: - version "2.7.4" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" - integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== - -ejs@^3.0.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.2.tgz#a9986e6920a60f2a3229e87d4f0f3c073209874c" - integrity sha512-zFuywxrAWtX5Mk2KAuoJNkXXbfezpNA0v7i+YC971QORguPekpjpAgeOv99YWSdKXwj7JxI2QAWDeDkE8fWtXw== - dependencies: - jake "^10.6.1" - -electron-to-chromium@^1.3.413: - version "1.3.438" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.438.tgz#56051a9b148842fec813b113e8070ae892a85920" - integrity sha512-QKMcpfA/fCOnqFHsZvKr2haQQb3eXkDI17zT+4hHxJJThyN5nShcG6q1VR8vRiE/2GCJM+0p3PzinYknkdsBYg== - -elliptic@^6.0.0, elliptic@^6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.1.0, enhanced-resolve@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" - integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -entities@^1.1.1, entities@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - -entities@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.2.tgz#ac74db0bba8d33808bbf36809c3a5c3683531436" - integrity sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw== - -errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: - version "1.17.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" - integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.1.5" - is-regex "^1.0.5" - object-inspect "^1.7.0" - object-keys "^1.1.1" - object.assign "^4.1.0" - string.prototype.trimleft "^2.1.1" - string.prototype.trimright "^2.1.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escodegen@^1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" - integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== - dependencies: - estraverse "^4.1.0" - -estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" - integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== - -eventsource@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== - dependencies: - original "^1.0.0" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== - -execa@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.0.tgz#7f37d6ec17f09e6b8fc53288611695b6d12b9daf" - integrity sha512-JbDUxwV3BoT5ZVXQrSVbAiaXhXUkIwvbhPIwZ0N13kX+5yCzOhUNdocxB/UQRuYOHRYYwAxKYwJYc0T4D12pDA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.6.3.tgz#57b69a594f081759c69e5370f0d17b9cb11658fe" - integrity sha1-V7aaWU8IF1nGnlNw8NF7nLEWWP4= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.1.tgz#988488781f1f0238cd156f7aaede11c3e853b4c1" - integrity sha512-SCjM/zlBdOK8Q5TIjOn6iEHZaPHFsMoTxXQ2nvUvtPnuohz3H2dIozSg+etNR98dGoYUp2ENSKLL/XaMmbxVgw== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expand-tilde@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" - integrity sha1-C4HrqJflo9MdHD0QL48BRB5VlEk= - dependencies: - os-homedir "^1.0.1" - -expect-puppeteer@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/expect-puppeteer/-/expect-puppeteer-4.4.0.tgz#1c948af08acdd6c8cbdb7f90e617f44d86888886" - integrity sha512-6Ey4Xy2xvmuQu7z7YQtMsaMV0EHJRpVxIDOd5GRrm04/I3nkTKIutELfECsLp6le+b3SSa3cXhPiw6PgqzxYWA== - -expect@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.0.1.tgz#18697b9611a7e2725e20ba3ceadda49bc9865421" - integrity sha512-QcCy4nygHeqmbw564YxNbHTJlXh47dVID2BUP52cZFpLU9zHViMFK6h07cC1wf7GYCTIigTdAXhVua8Yl1FkKg== - dependencies: - "@jest/types" "^26.0.1" - ansi-styles "^4.0.0" - jest-get-type "^26.0.0" - jest-matcher-utils "^26.0.1" - jest-message-util "^26.0.1" - jest-regex-util "^26.0.0" - -express@^4.16.3, express@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" - content-type "~1.0.4" - cookie "0.4.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" - range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= - dependencies: - websocket-driver ">=0.5.1" - -faye-websocket@~0.11.1: - version "0.11.3" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" - integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-loader@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.0.0.tgz#97bbfaab7a2460c07bcbd72d3a6922407f67649f" - integrity sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ== - dependencies: - loader-utils "^2.0.0" - schema-utils "^2.6.5" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -filelist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.1.tgz#f10d1a3ae86c1694808e8f20906f43d4c9132dbb" - integrity sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ== - dependencies: - minimatch "^3.0.4" - -filesize@^3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-file-up@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/find-file-up/-/find-file-up-0.1.3.tgz#cf68091bcf9f300a40da411b37da5cce5a2fbea0" - integrity sha1-z2gJG8+fMApA2kEbN9pczlovvqA= - dependencies: - fs-exists-sync "^0.1.0" - resolve-dir "^0.1.0" - -find-pkg@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/find-pkg/-/find-pkg-0.1.2.tgz#1bdc22c06e36365532e2a248046854b9788da557" - integrity sha1-G9wiwG42NlUy4qJIBGhUuXiNpVc= - dependencies: - find-file-up "^0.1.2" - -find-process@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/find-process/-/find-process-1.4.3.tgz#25f9105dc32e42abad4636752c37c51cd57dce45" - integrity sha512-+IA+AUsQCf3uucawyTwMWcY+2M3FXq3BRvw3S+j5Jvydjk31f/+NPWpYZOJs+JUs2GvxH4Yfr6Wham0ZtRLlPA== - dependencies: - chalk "^2.0.1" - commander "^2.11.0" - debug "^2.6.8" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flatten@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" - integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -follow-redirects@^1.0.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db" - integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA== - -for-in@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" - integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -for-own@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= - dependencies: - for-in "^1.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@^2.5.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" - integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-exists-sync@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" - integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0= - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@^2.1.2, fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - -get-stream@^4.0.0, get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0, get-stream@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -git-up@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0" - integrity sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw== - dependencies: - is-ssh "^1.3.0" - parse-url "^5.0.0" - -git-url-parse@^11.1.2: - version "11.1.2" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.1.2.tgz#aff1a897c36cc93699270587bea3dbcbbb95de67" - integrity sha512-gZeLVGY8QVKMIkckncX+iCq2/L8PlwncvDFKiWkBn9EtCfYDbliRTTp6qzyQ1VMdITUfq7293zDzfpjdiGASSQ== - dependencies: - git-up "^4.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - dependencies: - is-glob "^4.0.1" - -glob@7.1.6, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-modules@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" - integrity sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0= - dependencies: - global-prefix "^0.1.4" - is-windows "^0.2.0" - -global-prefix@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" - integrity sha1-jTvGuNo8qBEqFg2NSW/wRiv+948= - dependencies: - homedir-polyfill "^1.0.0" - ini "^1.3.4" - is-windows "^0.2.0" - which "^1.2.12" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" - integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -got@9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -gzip-size@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== - dependencies: - duplexer "^0.1.1" - pify "^4.0.1" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.0, has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -history@^4.10.1, history@^4.9.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" - integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== - dependencies: - "@babel/runtime" "^7.1.2" - loose-envify "^1.2.0" - resolve-pathname "^3.0.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - value-equal "^1.0.1" - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -homedir-polyfill@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== - dependencies: - parse-passwd "^1.0.0" - -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-entities@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" - integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-minifier-terser@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" - integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== - dependencies: - camel-case "^4.1.1" - clean-css "^4.2.3" - commander "^4.1.1" - he "^1.2.0" - param-case "^3.0.3" - relateurl "^0.2.7" - terser "^4.6.3" - -html-webpack-plugin@^4.0.4: - version "4.3.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.3.0.tgz#53bf8f6d696c4637d5b656d3d9863d89ce8174fd" - integrity sha512-C0fzKN8yQoVLTelcJxZfJCE+aAvQiY2VUf3UuKrR4a9k5UMWYOtpDLsaXwATbcVCnI05hUS7L9ULQHWLZhyi3w== - dependencies: - "@types/html-minifier-terser" "^5.0.0" - "@types/tapable" "^1.0.5" - "@types/webpack" "^4.41.8" - html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" - lodash "^4.17.15" - pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" - -htmlparser2@^3.3.0, htmlparser2@^3.9.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== - dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" - -htmlparser2@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78" - integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q== - dependencies: - domelementtype "^2.0.1" - domhandler "^3.0.0" - domutils "^2.0.0" - entities "^2.0.0" - -http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= - -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -"http-parser-js@>=0.4.0 <0.4.11": - version "0.4.10" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" - integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= - -http-proxy-middleware@0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== - dependencies: - http-proxy "^1.17.0" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" - -http-proxy@^1.17.0: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - dependencies: - import-from "^2.1.0" - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - -import-fresh@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= - dependencies: - resolve-from "^3.0.0" - -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -infer-owner@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -internal-ip@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" - integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.9.1, ipaddr.js@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-buffer@^1.0.2, is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4, is-callable@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" - integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - -is-docker@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" - integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-git-repository@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-git-repository/-/is-git-repository-1.1.1.tgz#c68e4b7a806422349aaec488973a90558d7e9be0" - integrity sha1-xo5LeoBkIjSarsSIlzqQVY1+m+A= - dependencies: - execa "^0.6.1" - path-is-absolute "^1.0.1" - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-cwd@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-in-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" - integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== - dependencies: - is-path-inside "^2.1.0" - -is-path-inside@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" - integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== - dependencies: - path-is-inside "^1.0.2" - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - -is-regex@^1.0.4, is-regex@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" - integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== - dependencies: - has "^1.0.3" - -is-ssh@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3" - integrity sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg== - dependencies: - protocols "^1.1.0" - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== - dependencies: - has-symbols "^1.0.1" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-windows@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" - integrity sha1-3hqm1j6indJIc3tp8f+LgALSEIw= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -is-wsl@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jake@^10.6.1: - version "10.6.1" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.6.1.tgz#c9c476cfd6e726ef600ee9bb2b880d5425ff8c79" - integrity sha512-pHUK3+V0BjOb1XSi95rbBksrMdIqLVC9bJqDnshVyleYsET3H0XAq+3VB2E3notcYvv4wRdRHn13p7vobG+wfQ== - dependencies: - async "0.9.x" - chalk "^2.4.2" - filelist "^1.0.1" - minimatch "^3.0.4" - -javascript-stringify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.0.1.tgz#6ef358035310e35d667c675ed63d3eb7c1aa19e5" - integrity sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow== - -jest-changed-files@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.0.1.tgz#1334630c6a1ad75784120f39c3aa9278e59f349f" - integrity sha512-q8LP9Sint17HaE2LjxQXL+oYWW/WeeXMPE2+Op9X3mY8IEGFVc14xRxFjUuXUbcPAlDLhtWdIEt59GdQbn76Hw== - dependencies: - "@jest/types" "^26.0.1" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.0.1.tgz#3a42399a4cbc96a519b99ad069a117d955570cac" - integrity sha512-pFLfSOBcbG9iOZWaMK4Een+tTxi/Wcm34geqZEqrst9cZDkTQ1LZ2CnBrTlHWuYAiTMFr0EQeK52ScyFU8wK+w== - dependencies: - "@jest/core" "^26.0.1" - "@jest/test-result" "^26.0.1" - "@jest/types" "^26.0.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.0.1" - jest-util "^26.0.1" - jest-validate "^26.0.1" - prompts "^2.0.1" - yargs "^15.3.1" - -jest-config@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.0.1.tgz#096a3d4150afadf719d1fab00e9a6fb2d6d67507" - integrity sha512-9mWKx2L1LFgOXlDsC4YSeavnblN6A4CPfXFiobq+YYLaBMymA/SczN7xYTSmLaEYHZOcB98UdoN4m5uNt6tztg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.0.1" - "@jest/types" "^26.0.1" - babel-jest "^26.0.1" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.0.1" - jest-environment-node "^26.0.1" - jest-get-type "^26.0.0" - jest-jasmine2 "^26.0.1" - jest-regex-util "^26.0.0" - jest-resolve "^26.0.1" - jest-util "^26.0.1" - jest-validate "^26.0.1" - micromatch "^4.0.2" - pretty-format "^26.0.1" - -jest-dev-server@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/jest-dev-server/-/jest-dev-server-4.4.0.tgz#557113faae2877452162696aa94c1e44491ab011" - integrity sha512-STEHJ3iPSC8HbrQ3TME0ozGX2KT28lbT4XopPxUm2WimsX3fcB3YOptRh12YphQisMhfqNSNTZUmWyT3HEXS2A== - dependencies: - chalk "^3.0.0" - cwd "^0.10.0" - find-process "^1.4.3" - prompts "^2.3.0" - spawnd "^4.4.0" - tree-kill "^1.2.2" - wait-on "^3.3.0" - -jest-diff@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.0.1.tgz#c44ab3cdd5977d466de69c46929e0e57f89aa1de" - integrity sha512-odTcHyl5X+U+QsczJmOjWw5tPvww+y9Yim5xzqxVl/R1j4z71+fHW4g8qu1ugMmKdFdxw+AtQgs5mupPnzcIBQ== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.0.0" - jest-get-type "^26.0.0" - pretty-format "^26.0.1" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.0.1.tgz#633083061619302fc90dd8f58350f9d77d67be04" - integrity sha512-OTgJlwXCAR8NIWaXFL5DBbeS4QIYPuNASkzSwMCJO+ywo9BEa6TqkaSWsfR7VdbMLdgYJqSfQcIyjJCNwl5n4Q== - dependencies: - "@jest/types" "^26.0.1" - chalk "^4.0.0" - jest-get-type "^26.0.0" - jest-util "^26.0.1" - pretty-format "^26.0.1" - -jest-environment-jsdom@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.0.1.tgz#217690852e5bdd7c846a4e3b50c8ffd441dfd249" - integrity sha512-u88NJa3aptz2Xix2pFhihRBAatwZHWwSiRLBDBQE1cdJvDjPvv7ZGA0NQBxWwDDn7D0g1uHqxM8aGgfA9Bx49g== - dependencies: - "@jest/environment" "^26.0.1" - "@jest/fake-timers" "^26.0.1" - "@jest/types" "^26.0.1" - jest-mock "^26.0.1" - jest-util "^26.0.1" - jsdom "^16.2.2" - -jest-environment-node@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.0.1.tgz#584a9ff623124ff6eeb49e0131b5f7612b310b13" - integrity sha512-4FRBWcSn5yVo0KtNav7+5NH5Z/tEgDLp7VRQVS5tCouWORxj+nI+1tOLutM07Zb2Qi7ja+HEDoOUkjBSWZg/IQ== - dependencies: - "@jest/environment" "^26.0.1" - "@jest/fake-timers" "^26.0.1" - "@jest/types" "^26.0.1" - jest-mock "^26.0.1" - jest-util "^26.0.1" - -jest-environment-puppeteer@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-puppeteer/-/jest-environment-puppeteer-4.4.0.tgz#d82a37e0e0c51b63cc6b15dea101d53967508860" - integrity sha512-iV8S8+6qkdTM6OBR/M9gKywEk8GDSOe05hspCs5D8qKSwtmlUfdtHfB4cakdc68lC6YfK3AUsLirpfgodCHjzQ== - dependencies: - chalk "^3.0.0" - cwd "^0.10.0" - jest-dev-server "^4.4.0" - merge-deep "^3.0.2" - -jest-get-type@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.0.0.tgz#381e986a718998dbfafcd5ec05934be538db4039" - integrity sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg== - -jest-haste-map@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.0.1.tgz#40dcc03c43ac94d25b8618075804d09cd5d49de7" - integrity sha512-J9kBl/EdjmDsvyv7CiyKY5+DsTvVOScenprz/fGqfLg/pm1gdjbwwQ98nW0t+OIt+f+5nAVaElvn/6wP5KO7KA== - dependencies: - "@jest/types" "^26.0.1" - "@types/graceful-fs" "^4.1.2" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-serializer "^26.0.0" - jest-util "^26.0.1" - jest-worker "^26.0.0" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - which "^2.0.2" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.0.1.tgz#947c40ee816636ba23112af3206d6fa7b23c1c1c" - integrity sha512-ILaRyiWxiXOJ+RWTKupzQWwnPaeXPIoLS5uW41h18varJzd9/7I0QJGqg69fhTT1ev9JpSSo9QtalriUN0oqOg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.0.1" - "@jest/source-map" "^26.0.0" - "@jest/test-result" "^26.0.1" - "@jest/types" "^26.0.1" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.0.1" - is-generator-fn "^2.0.0" - jest-each "^26.0.1" - jest-matcher-utils "^26.0.1" - jest-message-util "^26.0.1" - jest-runtime "^26.0.1" - jest-snapshot "^26.0.1" - jest-util "^26.0.1" - pretty-format "^26.0.1" - throat "^5.0.0" - -jest-leak-detector@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.0.1.tgz#79b19ab3f41170e0a78eb8fa754a116d3447fb8c" - integrity sha512-93FR8tJhaYIWrWsbmVN1pQ9ZNlbgRpfvrnw5LmgLRX0ckOJ8ut/I35CL7awi2ecq6Ca4lL59bEK9hr7nqoHWPA== - dependencies: - jest-get-type "^26.0.0" - pretty-format "^26.0.1" - -jest-matcher-utils@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.0.1.tgz#12e1fc386fe4f14678f4cc8dbd5ba75a58092911" - integrity sha512-PUMlsLth0Azen8Q2WFTwnSkGh2JZ8FYuwijC8NR47vXKpsrKmA1wWvgcj1CquuVfcYiDEdj985u5Wmg7COEARw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.0.1" - jest-get-type "^26.0.0" - pretty-format "^26.0.1" - -jest-message-util@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.0.1.tgz#07af1b42fc450b4cc8e90e4c9cef11b33ce9b0ac" - integrity sha512-CbK8uQREZ8umUfo8+zgIfEt+W7HAHjQCoRaNs4WxKGhAYBGwEyvxuK81FXa7VeB9pwDEXeeKOB2qcsNVCAvB7Q== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.0.1" - "@types/stack-utils" "^1.0.1" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.0.1.tgz#7fd1517ed4955397cf1620a771dc2d61fad8fd40" - integrity sha512-MpYTBqycuPYSY6xKJognV7Ja46/TeRbAZept987Zp+tuJvMN0YBWyyhG9mXyYQaU3SBI0TUlSaO5L3p49agw7Q== - dependencies: - "@jest/types" "^26.0.1" - -jest-pnp-resolver@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" - integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== - -jest-puppeteer@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/jest-puppeteer/-/jest-puppeteer-4.4.0.tgz#4b906e638a5e3782ed865e7b673c82047b85952e" - integrity sha512-ZaiCTlPZ07B9HW0erAWNX6cyzBqbXMM7d2ugai4epBDKpKvRDpItlRQC6XjERoJELKZsPziFGS0OhhUvTvQAXA== - dependencies: - expect-puppeteer "^4.4.0" - jest-environment-puppeteer "^4.4.0" - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.0.1.tgz#607ba7ccc32151d185a477cff45bf33bce417f0b" - integrity sha512-9d5/RS/ft0vB/qy7jct/qAhzJsr6fRQJyGAFigK3XD4hf9kIbEH5gks4t4Z7kyMRhowU6HWm/o8ILqhaHdSqLw== - dependencies: - "@jest/types" "^26.0.1" - jest-regex-util "^26.0.0" - jest-snapshot "^26.0.1" - -jest-resolve@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.0.1.tgz#21d1ee06f9ea270a343a8893051aeed940cde736" - integrity sha512-6jWxk0IKZkPIVTvq6s72RH735P8f9eCJW3IM5CX/SJFeKq1p2cZx0U49wf/SdMlhaB/anann5J2nCJj6HrbezQ== - dependencies: - "@jest/types" "^26.0.1" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.1" - jest-util "^26.0.1" - read-pkg-up "^7.0.1" - resolve "^1.17.0" - slash "^3.0.0" - -jest-runner@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.0.1.tgz#ea03584b7ae4bacfb7e533d680a575a49ae35d50" - integrity sha512-CApm0g81b49Znm4cZekYQK67zY7kkB4umOlI2Dx5CwKAzdgw75EN+ozBHRvxBzwo1ZLYZ07TFxkaPm+1t4d8jA== - dependencies: - "@jest/console" "^26.0.1" - "@jest/environment" "^26.0.1" - "@jest/test-result" "^26.0.1" - "@jest/types" "^26.0.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.0.1" - jest-docblock "^26.0.0" - jest-haste-map "^26.0.1" - jest-jasmine2 "^26.0.1" - jest-leak-detector "^26.0.1" - jest-message-util "^26.0.1" - jest-resolve "^26.0.1" - jest-runtime "^26.0.1" - jest-util "^26.0.1" - jest-worker "^26.0.0" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.0.1.tgz#a121a6321235987d294168e282d52b364d7d3f89" - integrity sha512-Ci2QhYFmANg5qaXWf78T2Pfo6GtmIBn2rRaLnklRyEucmPccmCKvS9JPljcmtVamsdMmkyNkVFb9pBTD6si9Lw== - dependencies: - "@jest/console" "^26.0.1" - "@jest/environment" "^26.0.1" - "@jest/fake-timers" "^26.0.1" - "@jest/globals" "^26.0.1" - "@jest/source-map" "^26.0.0" - "@jest/test-result" "^26.0.1" - "@jest/transform" "^26.0.1" - "@jest/types" "^26.0.1" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.0.1" - jest-haste-map "^26.0.1" - jest-message-util "^26.0.1" - jest-mock "^26.0.1" - jest-regex-util "^26.0.0" - jest-resolve "^26.0.1" - jest-snapshot "^26.0.1" - jest-util "^26.0.1" - jest-validate "^26.0.1" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.3.1" - -jest-serializer@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.0.0.tgz#f6c521ddb976943b93e662c0d4d79245abec72a3" - integrity sha512-sQGXLdEGWFAE4wIJ2ZaIDb+ikETlUirEOBsLXdoBbeLhTHkZUJwgk3+M8eyFizhM6le43PDCCKPA1hzkSDo4cQ== - dependencies: - graceful-fs "^4.2.4" - -jest-snapshot@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.0.1.tgz#1baa942bd83d47b837a84af7fcf5fd4a236da399" - integrity sha512-jxd+cF7+LL+a80qh6TAnTLUZHyQoWwEHSUFJjkw35u3Gx+BZUNuXhYvDqHXr62UQPnWo2P6fvQlLjsU93UKyxA== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.0.1" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.0.1" - graceful-fs "^4.2.4" - jest-diff "^26.0.1" - jest-get-type "^26.0.0" - jest-matcher-utils "^26.0.1" - jest-message-util "^26.0.1" - jest-resolve "^26.0.1" - make-dir "^3.0.0" - natural-compare "^1.4.0" - pretty-format "^26.0.1" - semver "^7.3.2" - -jest-util@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.0.1.tgz#72c4c51177b695fdd795ca072a6f94e3d7cef00a" - integrity sha512-byQ3n7ad1BO/WyFkYvlWQHTsomB6GIewBh8tlGtusiylAlaxQ1UpS0XYH0ngOyhZuHVLN79Qvl6/pMiDMSSG1g== - dependencies: - "@jest/types" "^26.0.1" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - make-dir "^3.0.0" - -jest-validate@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.0.1.tgz#a62987e1da5b7f724130f904725e22f4e5b2e23c" - integrity sha512-u0xRc+rbmov/VqXnX3DlkxD74rHI/CfS5xaV2VpeaVySjbb1JioNVOyly5b56q2l9ZKe7bVG5qWmjfctkQb0bA== - dependencies: - "@jest/types" "^26.0.1" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.0.0" - leven "^3.1.0" - pretty-format "^26.0.1" - -jest-watcher@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.0.1.tgz#5b5e3ebbdf10c240e22a98af66d645631afda770" - integrity sha512-pdZPydsS8475f89kGswaNsN3rhP6lnC3/QDCppP7bg1L9JQz7oU9Mb/5xPETk1RHDCWeqmVC47M4K5RR7ejxFw== - dependencies: - "@jest/test-result" "^26.0.1" - "@jest/types" "^26.0.1" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.0.1" - string-length "^4.0.1" - -jest-worker@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.0.0.tgz#4920c7714f0a96c6412464718d0c58a3df3fb066" - integrity sha512-pPaYa2+JnwmiZjK9x7p9BoZht+47ecFCDFA/CJxspHzeDvQcfVBLWzCiWyo+EGrSiQMWZtCFo9iSvMZnAAo8vw== - dependencies: - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.0.1.tgz#5c51a2e58dff7525b65f169721767173bf832694" - integrity sha512-29Q54kn5Bm7ZGKIuH2JRmnKl85YRigp0o0asTc6Sb6l2ch1DCXIeZTLLFy9ultJvhkTqbswF5DEx4+RlkmCxWg== - dependencies: - "@jest/core" "^26.0.1" - import-local "^3.0.2" - jest-cli "^26.0.1" - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.2.2: - version "16.2.2" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.2.2.tgz#76f2f7541646beb46a938f5dc476b88705bedf2b" - integrity sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg== - dependencies: - abab "^2.0.3" - acorn "^7.1.1" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.2.0" - data-urls "^2.0.0" - decimal.js "^10.2.0" - domexception "^2.0.1" - escodegen "^1.14.1" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "5.1.1" - request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" - symbol-tree "^3.2.4" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.0.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.2.3" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json3@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" - integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - -killable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== - -kind-of@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" - integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU= - dependencies: - is-buffer "^1.0.2" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -lazy-cache@^0.2.3: - version "0.2.7" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" - integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levenary@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" - integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== - dependencies: - leven "^3.1.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -line-height@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/line-height/-/line-height-0.3.1.tgz#4b1205edde182872a5efa3c8f620b3187a9c54c9" - integrity sha1-SxIF7d4YKHKl76PI9iCzGHqcVMk= - dependencies: - computed-style "~0.1.3" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -loader-utils@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash.template@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" - -lodash@4.17.15, lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - -logical-not@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/logical-not/-/logical-not-1.0.0.tgz#3149848c0cce1fea1f76a0e45725c7bcdb33a627" - integrity sha512-l3X5Sf25wwZkprKfrfJ2YjCcxkNnitMvuqoVPAFNz1xpAMG7B4CkdELK19hafcR8K9fcUs0K0LkzZ62U+xdHpA== - -loglevel@^1.6.8: - version "1.6.8" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171" - integrity sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" - integrity sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ== - dependencies: - tslib "^1.10.0" - -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -magic-string@^0.25.7: - version "0.25.7" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" - integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== - dependencies: - sourcemap-codec "^1.4.4" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -merge-deep@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" - integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA== - dependencies: - arr-union "^3.1.0" - clone-deep "^0.2.4" - kind-of "^3.0.2" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.44.0, "mime-db@>= 1.43.0 < 2": - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== - -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== - dependencies: - mime-db "1.44.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^2.4.4: - version "2.4.5" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.5.tgz#d8de2ecb92982dedbb6541c9b6841d7f218ea009" - integrity sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mini-create-react-context@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.0.tgz#df60501c83151db69e28eac0ef08b4002efab040" - integrity sha512-b0TytUgFSbgFJGzJqXPKCFCBWigAjpjo+Fl7Vf7ZbKRDptszpppKxXH6DRXEABZ/gcEQczeb0iZ7JvL8e8jjCA== - dependencies: - "@babel/runtime" "^7.5.5" - tiny-warning "^1.0.3" - -mini-css-extract-plugin@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" - integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A== - dependencies: - loader-utils "^1.1.0" - normalize-url "1.9.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -mini-types@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/mini-types/-/mini-types-0.1.2.tgz#7b7d4e1dbfe01b0ce5c1b2097a5a53154c62db1b" - integrity sha512-VmL9E8U2JHZuUCRX/3RWzHdjeVXC1NTnMNsxzcg+VVrL5yC2LmtEpKuM+y7OveQH5RpxQT7o0z34uA+PEmtdGw== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -miniprogram-api-typings@^2.10.4: - version "2.10.4" - resolved "https://registry.yarnpkg.com/miniprogram-api-typings/-/miniprogram-api-typings-2.10.4.tgz#13165d1e77084c3ec79ec93d8c74974f77425eb0" - integrity sha512-IXWi6sJFd/EH1wNR8rtOx2+hJOwZk7jKFVIshQ0aAlRaKk0P4Jack4SItzUwNURgRykvrleGgErI/jH5hsiniw== - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mixin-object@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" - integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= - dependencies: - for-in "^0.1.3" - is-extendable "^0.1.1" - -mkdirp@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mkdirp@^0.5.1, mkdirp@^0.5.3: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - -mustache@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.0.1.tgz#d99beb031701ad433338e7ea65e0489416c854a2" - integrity sha512-yL5VE97+OXn4+Er3THSmTdCFCtx5hHWzrolvH+JObZnUYwuaG7XV+Ch4fR2cIrcYI0tFHxS7iyFYl14bW8y2sA== - -nan@^2.12.1: - version "2.14.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" - integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8" - integrity sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw== - dependencies: - lower-case "^2.0.1" - tslib "^1.10.0" - -node-forge@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" - integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-7.0.0.tgz#513bc42f2aa3a49fce1980a7ff375957c71f718a" - integrity sha512-y8ThJESxsHcak81PGpzWwQKxzk+5YtP3IxR8AYdpXQ1IB6FmcVzFdZXrkPin49F/DKUCfeeiziB8ptY9npzGuA== - dependencies: - growly "^1.3.0" - is-wsl "^2.1.1" - semver "^7.2.1" - shellwords "^0.1.1" - uuid "^7.0.3" - which "^2.0.2" - -node-releases@^1.1.53: - version "1.1.55" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.55.tgz#8af23b7c561d8e2e6e36a46637bab84633b07cee" - integrity sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w== - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -normalize-url@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -normalize-url@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - -normalize-url@^4.1.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" - integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nth-check@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" - integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== - -object-is@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" - integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.getownpropertydescriptors@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" - integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== - dependencies: - mimic-fn "^2.1.0" - -opener@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" - integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== - -opn@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== - dependencies: - is-wsl "^1.1.0" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -original@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== - dependencies: - url-parse "^1.4.3" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-homedir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - -p-each-series@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" - integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - -p-retry@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" - integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== - dependencies: - retry "^0.12.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238" - integrity sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA== - dependencies: - dot-case "^3.0.3" - tslib "^1.10.0" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.5" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" - integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - lines-and-columns "^1.1.6" - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= - -parse-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.1.tgz#0ec769704949778cb3b8eda5e994c32073a1adff" - integrity sha512-d7yhga0Oc+PwNXDvQ0Jv1BuWkLVPXcAoQ/WREgd6vNNoKYaW52KI+RdOFjI63wjkmps9yUE8VS4veP+AgpQ/hA== - dependencies: - is-ssh "^1.3.0" - protocols "^1.4.0" - -parse-url@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.1.tgz#99c4084fc11be14141efa41b3d117a96fcb9527f" - integrity sha512-flNUPP27r3vJpROi0/R3/2efgKkyXqnXwyP1KQ2U0SfFRgdizOdWfvrrvJg1LuOoxs7GQhmxJlq23IpQ/BkByg== - dependencies: - is-ssh "^1.3.0" - normalize-url "^3.3.0" - parse-path "^4.0.0" - protocols "^1.4.0" - -parse5@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -parse5@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" - integrity sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA== - dependencies: - "@types/node" "*" - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f" - integrity sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA== - dependencies: - no-case "^3.0.3" - tslib "^1.10.0" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pbkdf2@^3.0.3: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.0.7, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pirates@^4.0.0, pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-conf@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.1.0.tgz#2126514ca6f2abfebd168596df18ba57867f0058" - integrity sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg= - dependencies: - find-up "^2.0.0" - load-json-file "^4.0.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-up@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - -portfinder@1.0.25: - version "1.0.25" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.25.tgz#254fd337ffba869f4b9d37edc298059cb4d35eca" - integrity sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.1" - -portfinder@^1.0.26: - version "1.0.26" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.26.tgz#475658d56ca30bed72ac7f1378ed350bd1b64e70" - integrity sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.1" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-attribute-case-insensitive@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" - integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^6.0.2" - -postcss-color-functional-notation@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" - integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-gray@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" - integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-color-hex-alpha@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" - integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== - dependencies: - postcss "^7.0.14" - postcss-values-parser "^2.0.1" - -postcss-color-mod-function@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" - integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-rebeccapurple@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" - integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-custom-media@^7.0.8: - version "7.0.8" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" - integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== - dependencies: - postcss "^7.0.14" - -postcss-custom-properties@^8.0.11: - version "8.0.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" - integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== - dependencies: - postcss "^7.0.17" - postcss-values-parser "^2.0.1" - -postcss-custom-selectors@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" - integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-dir-pseudo-class@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" - integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-double-position-gradients@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" - integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== - dependencies: - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-env-function@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" - integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-focus-visible@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" - integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== - dependencies: - postcss "^7.0.2" - -postcss-focus-within@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" - integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== - dependencies: - postcss "^7.0.2" - -postcss-font-variant@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz#71dd3c6c10a0d846c5eda07803439617bbbabacc" - integrity sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg== - dependencies: - postcss "^7.0.2" - -postcss-gap-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" - integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== - dependencies: - postcss "^7.0.2" - -postcss-image-set-function@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" - integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-initial@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.2.tgz#f018563694b3c16ae8eaabe3c585ac6319637b2d" - integrity sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA== - dependencies: - lodash.template "^4.5.0" - postcss "^7.0.2" - -postcss-lab-function@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" - integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-load-config@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" - integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== - dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" - -postcss-loader@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" - integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== - dependencies: - loader-utils "^1.1.0" - postcss "^7.0.0" - postcss-load-config "^2.0.0" - schema-utils "^1.0.0" - -postcss-logical@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" - integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== - dependencies: - postcss "^7.0.2" - -postcss-media-minmax@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" - integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== - dependencies: - postcss "^7.0.2" - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" - -postcss-modules-local-by-default@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" - integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== - dependencies: - icss-utils "^4.1.1" - postcss "^7.0.16" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.0" - -postcss-modules-scope@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== - dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" - -postcss-nesting@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" - integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== - dependencies: - postcss "^7.0.2" - -postcss-overflow-shorthand@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" - integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== - dependencies: - postcss "^7.0.2" - -postcss-page-break@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" - integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== - dependencies: - postcss "^7.0.2" - -postcss-place@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" - integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-preset-env@^6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" - integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== - dependencies: - autoprefixer "^9.6.1" - browserslist "^4.6.4" - caniuse-lite "^1.0.30000981" - css-blank-pseudo "^0.1.4" - css-has-pseudo "^0.10.0" - css-prefers-color-scheme "^3.1.1" - cssdb "^4.4.0" - postcss "^7.0.17" - postcss-attribute-case-insensitive "^4.0.1" - postcss-color-functional-notation "^2.0.1" - postcss-color-gray "^5.0.0" - postcss-color-hex-alpha "^5.0.3" - postcss-color-mod-function "^3.0.3" - postcss-color-rebeccapurple "^4.0.1" - postcss-custom-media "^7.0.8" - postcss-custom-properties "^8.0.11" - postcss-custom-selectors "^5.1.2" - postcss-dir-pseudo-class "^5.0.0" - postcss-double-position-gradients "^1.0.0" - postcss-env-function "^2.0.2" - postcss-focus-visible "^4.0.0" - postcss-focus-within "^3.0.0" - postcss-font-variant "^4.0.0" - postcss-gap-properties "^2.0.0" - postcss-image-set-function "^3.0.1" - postcss-initial "^3.0.0" - postcss-lab-function "^2.0.1" - postcss-logical "^3.0.0" - postcss-media-minmax "^4.0.0" - postcss-nesting "^7.0.0" - postcss-overflow-shorthand "^2.0.0" - postcss-page-break "^2.0.0" - postcss-place "^4.0.1" - postcss-pseudo-class-any-link "^6.0.0" - postcss-replace-overflow-wrap "^3.0.0" - postcss-selector-matches "^4.0.0" - postcss-selector-not "^4.0.0" - -postcss-pseudo-class-any-link@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" - integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-replace-overflow-wrap@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" - integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== - dependencies: - postcss "^7.0.2" - -postcss-selector-matches@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" - integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-not@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0" - integrity sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== - dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" - integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== - dependencies: - cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - -postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" - integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss@^6.0.19: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - -postcss@^7.0.0, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.30" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.30.tgz#cc9378beffe46a02cbc4506a0477d05fcea9a8e2" - integrity sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prepend-http@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - -pretty-error@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= - dependencies: - renderkid "^2.0.1" - utila "~0.4" - -pretty-format@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.0.1.tgz#a4fe54fe428ad2fd3413ca6bbd1ec8c2e277e197" - integrity sha512-SWxz6MbupT3ZSlL0Po4WF/KujhQaVehijR2blyRDCzk9e45EaYMVhMBn49fnRuHxtkSpXTes1GxNpVmH86Bxfw== - dependencies: - "@jest/types" "^26.0.1" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - -pretty-time@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" - integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== - -private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -prompts@^2.0.1, prompts@^2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" - integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.4" - -prop-types@^15.5.6, prop-types@^15.6.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - -protocols@^1.1.0, protocols@^1.4.0: - version "1.4.7" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" - integrity sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg== - -proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.9.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - -qs@^6.9.3: - version "6.9.4" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687" - integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" - integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== - dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" - -react-autosize-textarea@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/react-autosize-textarea/-/react-autosize-textarea-7.0.0.tgz#4f633e4238de7ba73c1da8fdc307353c50f1c5ab" - integrity sha512-rGQLpGUaELvzy3NKzp0kkcppaUtZTptsyR0PGuLotaJDjwRbT0DpD000yCzETpXseJQ/eMsyVGDDHXjXP93u8w== - dependencies: - autosize "^4.0.2" - line-height "^0.3.1" - prop-types "^15.5.6" - -react-dom@^16.12.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f" - integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.19.1" - -react-is@^16.12.0, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-reconciler@0.25.1: - version "0.25.1" - resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.25.1.tgz#f9814d59d115e1210762287ce987801529363aaa" - integrity sha512-R5UwsIvRcSs3w8n9k3tBoTtUHdVhu9u84EG7E5M0Jk9F5i6DA1pQzPfUZd6opYWGy56MJOtV3VADzy6DRwYDjw== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.19.1" - -react-router-dom@^5.1.2: - version "5.2.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" - integrity sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA== - dependencies: - "@babel/runtime" "^7.1.2" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.2.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-router@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" - integrity sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw== - dependencies: - "@babel/runtime" "^7.1.2" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - mini-create-react-context "^0.4.0" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react@^16.12.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" - integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" - integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ== - dependencies: - picomatch "^2.0.7" - -readdirp@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" - integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== - dependencies: - picomatch "^2.2.1" - -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== - -regenerator-transform@^0.14.2: - version "0.14.4" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" - integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== - dependencies: - "@babel/runtime" "^7.8.4" - private "^0.1.8" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" - integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -regexpu-core@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" - integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - -regjsgen@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" - integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== - -regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== - dependencies: - jsesc "~0.5.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -remax-stats@^0.1.1: - version "0.1.8" - resolved "https://registry.yarnpkg.com/remax-stats/-/remax-stats-0.1.8.tgz#8cf1679080ab1a6d41f78e863cd69ecad8100c96" - integrity sha512-gfi1crjy4Y/XrdyDvRwft4zxIekUSgldpl5PiYtkrnNeDCZ9JGEEceptfIxzOK7YqQZLgW6NYcy5qSB9V5pW7Q== - dependencies: - debug "^4.1.1" - git-url-parse "^11.1.2" - is-git-repository "^1.1.1" - -remax@2.7.8: - version "2.7.8" - resolved "https://registry.yarnpkg.com/remax/-/remax-2.7.8.tgz#5ed791d190dd65e8f767122c3e08284bdf9687aa" - integrity sha512-W0wd9GTva9ri9b0NDCJjV6HmXh1PJdANDL7+wyT01eKco9oe1fB0OZ6X0HTXTARE+YAlmIxfLzXZM8EH65Mhaw== - dependencies: - "@remax/ali" "2.7.8" - "@remax/cli" "2.7.8" - "@remax/macro" "2.7.8" - "@remax/one" "2.7.8" - "@remax/runtime" "2.7.8" - "@remax/toutiao" "2.7.8" - "@remax/web" "2.7.8" - "@remax/wechat" "2.7.8" - mini-types "^0.1.1" - miniprogram-api-typings "^2.10.4" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" - integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== - dependencies: - css-select "^1.1.0" - dom-converter "^0.2" - htmlparser2 "^3.3.0" - strip-ansi "^3.0.0" - utila "^0.4.0" - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" - integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== - dependencies: - lodash "^4.17.15" - -request-promise-native@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" - integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== - dependencies: - request-promise-core "1.1.3" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.0, request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-dir@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" - integrity sha1-shklmlYC+sXFxJatiUpujMQwJh4= - dependencies: - expand-tilde "^1.2.2" - global-modules "^0.2.3" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-pathname@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" - integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@1.16.1: - version "1.16.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.16.1.tgz#49fac5d8bacf1fd53f200fa51247ae736175832c" - integrity sha512-rmAglCSqWWMrrBv/XM6sW0NuRFiKViw/W4d9EbC4pt+49H8JwHy+mcGmALTEg504AUDcLTvb1T2q3E9AnmY+ig== - dependencies: - path-parse "^1.0.6" - -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.17.0, resolve@^1.3.2: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= - dependencies: - lowercase-keys "^1.0.0" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= - -rimraf@3.0.2, rimraf@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rimraf@^2.5.4, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rmc-feedback@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/rmc-feedback/-/rmc-feedback-2.0.0.tgz#cbc6cb3ae63c7a635eef0e25e4fbaf5ac366eeaa" - integrity sha512-5PWOGOW7VXks/l3JzlOU9NIxRpuaSS8d9zA3UULUCuTKnpwBHNvv1jSJzxgbbCQeYzROWUpgKI4za3X4C/mKmQ== - dependencies: - babel-runtime "6.x" - classnames "^2.2.5" - -rmc-pull-to-refresh@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/rmc-pull-to-refresh/-/rmc-pull-to-refresh-1.0.12.tgz#607fd727a180b6f92c5e05a1ba192e0fe7c26421" - integrity sha512-OQPRY5RzhRNi0amyvwIrENqQHQRJh7bF8Hdcn/wqTSKsC5Cn1pGJ4bNG1+iL9w1N+PoKt+ESvL2ap8fVqwuH1w== - dependencies: - babel-runtime "6.x" - classnames "^2.2.5" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -rx@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" - integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I= - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -scheduler@0.19.1, scheduler@^0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" - integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.6.1, schema-utils@^2.6.5, schema-utils@^2.6.6: - version "2.6.6" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.6.tgz#299fe6bd4a3365dc23d99fd446caff8f1d6c330c" - integrity sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA== - dependencies: - ajv "^6.12.0" - ajv-keywords "^3.4.1" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= - -selfsigned@^1.10.7: - version "1.10.7" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" - integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== - dependencies: - node-forge "0.9.0" - -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@7.3.2, semver@^7.2.1, semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -serialize-javascript@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" - integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" - integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA= - dependencies: - is-extendable "^0.1.1" - kind-of "^2.0.1" - lazy-cache "^0.2.3" - mixin-object "^2.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.6.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -signale@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/signale/-/signale-1.4.0.tgz#c4be58302fb0262ac00fc3d886a7c113759042f1" - integrity sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w== - dependencies: - chalk "^2.3.2" - figures "^2.0.0" - pkg-conf "^2.1.0" - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -sisteransi@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sockjs-client@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" - integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== - dependencies: - debug "^3.2.5" - eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" - -sockjs@0.3.20: - version "0.3.20" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" - integrity sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA== - dependencies: - faye-websocket "^0.10.0" - uuid "^3.4.0" - websocket-driver "0.6.5" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.12: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -sourcemap-codec@^1.4.4: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -spawnd@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/spawnd/-/spawnd-4.4.0.tgz#bb52c5b34a22e3225ae1d3acb873b2cd58af0886" - integrity sha512-jLPOfB6QOEgMOQY15Z6+lwZEhH3F5ncXxIaZ7WHPIapwNNLyjrs61okj3VJ3K6tmP5TZ6cO0VAu9rEY4MD4YQg== - dependencies: - exit "^0.1.2" - signal-exit "^3.0.2" - tree-kill "^1.2.2" - wait-port "^0.2.7" - -spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== - dependencies: - figgy-pudding "^3.5.1" - -stack-utils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593" - integrity sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -std-env@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-2.2.1.tgz#2ffa0fdc9e2263e0004c1211966e960948a40f6b" - integrity sha512-IjYQUinA3lg5re/YMlwlfhqNRTzMZMqE+pezevdcTaHceqx8ngEi1alX9nNCk9Sc81fy1fLDeQoaCzeiW1yBOQ== - dependencies: - ci-info "^1.6.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -string-length@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" - integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.trimend@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trimleft@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" - integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimstart "^1.0.0" - -string.prototype.trimright@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" - integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimend "^1.0.0" - -string.prototype.trimstart@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -style-loader@^1.1.3: - version "1.2.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a" - integrity sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg== - dependencies: - loader-utils "^2.0.0" - schema-utils "^2.6.6" - -supports-color@^5.3.0, supports-color@^5.4.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -terser-webpack-plugin@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c" - integrity sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^2.1.2" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser@^4.1.2, terser@^4.6.3: - version "4.6.13" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.13.tgz#e879a7364a5e0db52ba4891ecde007422c56a916" - integrity sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== - dependencies: - setimmediate "^1.0.4" - -tiny-invariant@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" - integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== - -tiny-warning@^1.0.0, tiny-warning@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" - integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== - dependencies: - punycode "^2.1.1" - -tree-kill@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" - integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== - -tryer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - -tslib@^1.10.0, tslib@^1.9.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-is@~1.6.17, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -umi-hd@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/umi-hd/-/umi-hd-5.0.1.tgz#59061d3f4aad70491b7c853525aced91afbe1e21" - integrity sha512-NFTTzrJArwdqtwZRNo5rF7F+NR95unQUAMkHAgcOGuuaJBnUey5w7lgpDR6K7/mV1bDwY2O3CLXSyLR1wxZyCw== - -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= - dependencies: - prepend-http "^2.0.0" - -url-parse@^1.4.3: - version "1.4.7" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" - integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -utila@^0.4.0, utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@^3.3.2, uuid@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" - integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== - -v8-to-istanbul@^4.1.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" - integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -value-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" - integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -wait-on@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-3.3.0.tgz#9940981d047a72a9544a97b8b5fca45b2170a082" - integrity sha512-97dEuUapx4+Y12aknWZn7D25kkjMk16PbWoYzpSdA8bYpVfS6hpl2a2pOWZ3c+Tyt3/i4/pglyZctG3J4V1hWQ== - dependencies: - "@hapi/joi" "^15.0.3" - core-js "^2.6.5" - minimist "^1.2.0" - request "^2.88.0" - rx "^4.1.0" - -wait-port@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/wait-port/-/wait-port-0.2.7.tgz#cdb4b78e662328099b187c7bb75fe0aa9cb6eb6c" - integrity sha512-pJ6cSBIa0w1sDg4y/wXN4bmvhM9OneOvwdFHo647L2NShBi/oXG4lRaLic5cO1HaYGbUhEvratPfl/WMlIC+tg== - dependencies: - chalk "^2.4.2" - commander "^3.0.2" - debug "^4.1.1" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -watchpack@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.1.tgz#280da0a8718592174010c078c7585a74cd8cd0e2" - integrity sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA== - dependencies: - chokidar "^2.1.8" - graceful-fs "^4.1.2" - neo-async "^2.5.0" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -webpack-bundle-analyzer@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz#ce6b3f908daf069fd1f7266f692cbb3bded9ba16" - integrity sha512-PODQhAYVEourCcOuU+NiYI7WdR8QyELZGgPvB1y2tjbUpbmcQOt5Q7jEK+ttd5se0KSBKD9SXHCEozS++Wllmw== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - bfj "^6.1.1" - chalk "^2.4.1" - commander "^2.18.0" - ejs "^2.6.1" - express "^4.16.3" - filesize "^3.6.1" - gzip-size "^5.0.0" - lodash "^4.17.15" - mkdirp "^0.5.1" - opener "^1.5.1" - ws "^6.0.0" - -webpack-chain@^6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-6.4.0.tgz#22f0b27b6a9bc9ee3cba4f9e6513cf66394034e2" - integrity sha512-f97PYqxU+9/u0IUqp/ekAHRhBD1IQwhBv3wlJo2nvyELpr2vNnUqO3XQEk+qneg0uWGP54iciotszpjfnEExFA== - dependencies: - deepmerge "^1.5.2" - javascript-stringify "^2.0.1" - -webpack-dev-middleware@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" - integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== - dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" - range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-dev-server@^3.10.3: - version "3.11.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c" - integrity sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg== - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.1.8" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - debug "^4.1.1" - del "^4.1.1" - express "^4.17.1" - html-entities "^1.3.1" - http-proxy-middleware "0.19.1" - import-local "^2.0.0" - internal-ip "^4.3.0" - ip "^1.1.5" - is-absolute-url "^3.0.3" - killable "^1.0.1" - loglevel "^1.6.8" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.26" - schema-utils "^1.0.0" - selfsigned "^1.10.7" - semver "^6.3.0" - serve-index "^1.9.1" - sockjs "0.3.20" - sockjs-client "1.4.0" - spdy "^4.0.2" - strip-ansi "^3.0.1" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.7.2" - webpack-log "^2.0.0" - ws "^6.2.1" - yargs "^13.3.2" - -webpack-inject-plugin@^1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/webpack-inject-plugin/-/webpack-inject-plugin-1.5.4.tgz#7d953f45fb51bb4d208ea9b1e6a792a5a879e0af" - integrity sha512-oDb30CX3YbKqGNfREANs7VnrFRrND/4aicd4Hcl0ZEOz6AdlJGIHzdX2/u1rq7r+VyRRUS1QDaKUoqHbZvfs6w== - dependencies: - "@types/loader-utils" "^1.1.3" - "@types/webpack" "^4.4.17" - loader-utils "~1.2.3" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-virtual-modules@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.2.2.tgz#20863dc3cb6bb2104729fff951fbe14b18bd0299" - integrity sha512-kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA== - dependencies: - debug "^3.0.0" - -webpack@^4.42.1: - version "4.43.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6" - integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.6.1" - webpack-sources "^1.4.1" - -webpackbar@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-4.0.0.tgz#ee7a87f16077505b5720551af413c8ecd5b1f780" - integrity sha512-k1qRoSL/3BVuINzngj09nIwreD8wxV4grcuhHTD8VJgUbGcy8lQSPqv+bM00B7F+PffwIsQ8ISd4mIwRbr23eQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^2.4.2" - consola "^2.10.0" - figures "^3.0.0" - pretty-time "^1.1.0" - std-env "^2.2.1" - text-table "^0.2.0" - wrap-ansi "^6.0.0" - -websocket-driver@0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" - integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY= - dependencies: - websocket-extensions ">=0.1.1" - -websocket-driver@>=0.5.1: - version "0.7.3" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" - integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg== - dependencies: - http-parser-js ">=0.4.0 <0.4.11" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.1.0.tgz#c628acdcf45b82274ce7281ee31dd3c839791771" - integrity sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^5.0.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.12, which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrap-ansi@^6.0.0, wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^6.0.0, ws@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== - dependencies: - async-limiter "~1.0.0" - -ws@^7: - version "7.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" - integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== - -ws@^7.2.3: - version "7.3.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz#4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd" - integrity sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yaml@^1.7.2: - version "1.9.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.9.2.tgz#f0cfa865f003ab707663e4f04b3956957ea564ed" - integrity sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg== - dependencies: - "@babel/runtime" "^7.9.2" - -yargs-parser@18.1.3, yargs-parser@^18.1.1: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@15.3.1, yargs@^15.1.0, yargs@^15.3.1: - version "15.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" - integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.1" - -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" diff --git a/e2e/mini/CHANGELOG.md b/e2e/mini/CHANGELOG.md deleted file mode 100644 index 99b4df97e..000000000 --- a/e2e/mini/CHANGELOG.md +++ /dev/null @@ -1,148 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -## [2.8.10](https://github.com/remaxjs/remax/compare/v2.8.9...v2.8.10) (2020-11-20) - -**Note:** Version bump only for package e2e-mini - -## [2.8.9](https://github.com/remaxjs/remax/compare/v2.8.8...v2.8.9) (2020-11-19) - -**Note:** Version bump only for package e2e-mini - -## [2.8.8](https://github.com/remaxjs/remax/compare/v2.8.7...v2.8.8) (2020-11-13) - -**Note:** Version bump only for package e2e-mini - -## [2.8.7](https://github.com/remaxjs/remax/compare/v2.8.6...v2.8.7) (2020-11-12) - -**Note:** Version bump only for package e2e-mini - -## [2.8.6](https://github.com/remaxjs/remax/compare/v2.8.5...v2.8.6) (2020-11-04) - -**Note:** Version bump only for package e2e-mini - -## [2.8.5](https://github.com/remaxjs/remax/compare/v2.8.4...v2.8.5) (2020-10-23) - -**Note:** Version bump only for package e2e-mini - -## [2.8.4](https://github.com/remaxjs/remax/compare/v2.8.3...v2.8.4) (2020-10-14) - -### Bug Fixes - -- 修复 onUnload 事件不触发的问题 ([#1324](https://github.com/remaxjs/remax/issues/1324)) ([5c53ed8](https://github.com/remaxjs/remax/commit/5c53ed81455d7e2699e4b37409fad97e6f06aa2d)) - -## [2.8.3](https://github.com/remaxjs/remax/compare/v2.8.2...v2.8.3) (2020-09-28) - -**Note:** Version bump only for package e2e-mini - -## [2.8.2](https://github.com/remaxjs/remax/compare/v2.8.1...v2.8.2) (2020-09-18) - -**Note:** Version bump only for package e2e-mini - -## [2.8.1](https://github.com/remaxjs/remax/compare/v2.8.0...v2.8.1) (2020-09-16) - -**Note:** Version bump only for package e2e-mini - -# [2.8.0](https://github.com/remaxjs/remax/compare/v2.7.10...v2.8.0) (2020-09-15) - -**Note:** Version bump only for package e2e-mini - -## [2.7.10](https://github.com/remaxjs/remax/compare/v2.7.9...v2.7.10) (2020-09-11) - -**Note:** Version bump only for package e2e-mini - -## [2.7.9](https://github.com/remaxjs/remax/compare/v2.7.8...v2.7.9) (2020-09-10) - -**Note:** Version bump only for package e2e-mini - -## [2.7.8](https://github.com/remaxjs/remax/compare/v2.7.7...v2.7.8) (2020-08-11) - -**Note:** Version bump only for package e2e-mini - -## [2.7.7](https://github.com/remaxjs/remax/compare/v2.7.6...v2.7.7) (2020-07-29) - -**Note:** Version bump only for package e2e-mini - -## [2.7.6](https://github.com/remaxjs/remax/compare/v2.7.5...v2.7.6) (2020-07-28) - -**Note:** Version bump only for package e2e-mini - -## [2.7.5](https://github.com/remaxjs/remax/compare/v2.7.4...v2.7.5) (2020-07-28) - -**Note:** Version bump only for package e2e-mini - -## [2.7.4](https://github.com/remaxjs/remax/compare/v2.7.3...v2.7.4) (2020-07-25) - -**Note:** Version bump only for package e2e-mini - -## [2.7.3](https://github.com/remaxjs/remax/compare/v2.7.2...v2.7.3) (2020-07-17) - -**Note:** Version bump only for package e2e-mini - -## [2.7.2](https://github.com/remaxjs/remax/compare/v2.7.1...v2.7.2) (2020-07-16) - -**Note:** Version bump only for package e2e-mini - -## [2.7.1](https://github.com/remaxjs/remax/compare/v2.7.0...v2.7.1) (2020-07-14) - -**Note:** Version bump only for package e2e-mini - -# [2.7.0](https://github.com/remaxjs/remax/compare/v2.6.0...v2.7.0) (2020-07-09) - -### Features - -- 新增 Modal 组件 ([#1133](https://github.com/remaxjs/remax/issues/1133)) ([4c801d4](https://github.com/remaxjs/remax/commit/4c801d4ad239c1eee8c7b073cf506c44cb3e0bb5)) - -# [2.6.0](https://github.com/remaxjs/remax/compare/v2.5.5...v2.6.0) (2020-07-03) - -**Note:** Version bump only for package e2e-mini - -## [2.5.5](https://github.com/remaxjs/remax/compare/v2.5.4...v2.5.5) (2020-06-18) - -**Note:** Version bump only for package e2e-mini - -## [2.5.4](https://github.com/remaxjs/remax/compare/v2.5.3...v2.5.4) (2020-06-18) - -**Note:** Version bump only for package e2e-mini - -## [2.5.3](https://github.com/remaxjs/remax/compare/v2.5.2...v2.5.3) (2020-06-17) - -**Note:** Version bump only for package e2e-mini - -## [2.5.2](https://github.com/remaxjs/remax/compare/v2.5.1...v2.5.2) (2020-06-16) - -**Note:** Version bump only for package e2e-mini - -## [2.5.1](https://github.com/remaxjs/remax/compare/v2.5.0...v2.5.1) (2020-06-16) - -**Note:** Version bump only for package e2e-mini - -# [2.5.0](https://github.com/remaxjs/remax/compare/v2.4.1...v2.5.0) (2020-06-15) - -**Note:** Version bump only for package e2e-mini - -## [2.4.1](https://github.com/remaxjs/remax/compare/v2.4.0...v2.4.1) (2020-06-10) - -**Note:** Version bump only for package e2e-mini - -# [2.4.0](https://github.com/remaxjs/remax/compare/v2.3.0...v2.4.0) (2020-06-05) - -**Note:** Version bump only for package e2e-mini - -# [2.3.0](https://github.com/remaxjs/remax/compare/v2.2.0...v2.3.0) (2020-06-04) - -**Note:** Version bump only for package e2e-mini - -# [2.2.0](https://github.com/remaxjs/remax/compare/v2.1.1...v2.2.0) (2020-05-29) - -**Note:** Version bump only for package e2e-mini - -## [2.1.1](https://github.com/remaxjs/remax/compare/v2.1.0...v2.1.1) (2020-05-21) - -**Note:** Version bump only for package e2e-mini - -# [2.1.0](https://github.com/remaxjs/remax/compare/v2.0.7...v2.1.0) (2020-05-21) - -**Note:** Version bump only for package e2e-mini diff --git a/e2e/mini/README.md b/e2e/mini/README.md deleted file mode 100644 index 870fa82e2..000000000 --- a/e2e/mini/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# Remax Ali Template - -使用 Remax 开发阿里小程序的模板。 - -通过该模板创建一个新项目: - -```bash -$ npx degit remaxjs/template-ali my-app -$ cd my-app -``` - -## 开始开发 - -安装依赖 - -```bash -$ npm install -``` - -开始构建 - -```bash -$ npm run dev -``` - -使用支付宝小程序开发者工具打开项目下的 `dist` 目录。 - -## 发布 - -```bash -$ npm run build -``` - -使用支付宝小程序开发者工具上传版本。 diff --git a/e2e/mini/jest.config.js b/e2e/mini/jest.config.js deleted file mode 100644 index 80d1362ae..000000000 --- a/e2e/mini/jest.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - preset: './test/preset.js', -}; diff --git a/e2e/mini/remax.config.js b/e2e/mini/remax.config.js deleted file mode 100644 index 6c89523d7..000000000 --- a/e2e/mini/remax.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - output: 'build/src', -}; diff --git a/e2e/mini/src/app.config.js b/e2e/mini/src/app.config.js deleted file mode 100644 index d9ddc5856..000000000 --- a/e2e/mini/src/app.config.js +++ /dev/null @@ -1,42 +0,0 @@ -module.exports = { - pages: [ - 'pages/index/index', - 'pages/insert-before/index', - 'pages/native-component/index', - 'pages/native-component/module', - 'pages/native-component/commonChunk1', - 'pages/native-component/commonChunk2', - 'pages/turbo-page/index', - 'pages/turbo-page/fragmentRoot', - 'pages/modal/index', - ], - window: { - defaultTitle: 'Alipay App', - titleBarColor: '#323239', - }, - subPackages: [ - { - root: 'packageA', - pages: ['pages/index'], - }, - ], - tabBar: { - textColor: '#ffffff', - selectedColor: '#000000', - backgroundColor: '#212121', - items: [ - { - pagePath: 'pages/index/index', - name: '首页', - icon: './assets/images/cat.jpg', - activeIcon: './assets/images/dog.jpg', - }, - { - pagePath: 'packageA/pages/index', - name: '其他', - icon: './assets/images/cat.jpg', - activeIcon: './assets/images/dog.jpg', - }, - ], - }, -}; diff --git a/e2e/mini/src/app.js b/e2e/mini/src/app.js deleted file mode 100644 index 07a7c5716..000000000 --- a/e2e/mini/src/app.js +++ /dev/null @@ -1,5 +0,0 @@ -import './app.css'; - -const App = props => props.children; - -export default App; diff --git a/e2e/mini/src/components/a/index.axml b/e2e/mini/src/components/a/index.axml deleted file mode 100644 index 6017e072d..000000000 --- a/e2e/mini/src/components/a/index.axml +++ /dev/null @@ -1 +0,0 @@ -a diff --git a/e2e/mini/src/pages/modal/index.js b/e2e/mini/src/pages/modal/index.js deleted file mode 100644 index 1df70d0c2..000000000 --- a/e2e/mini/src/pages/modal/index.js +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import { View, Modal } from 'remax/one'; - -export default () => { - return ( - - - modal - - - ); -}; diff --git a/e2e/mini/src/pages/turbo-page/fragmentRoot.js b/e2e/mini/src/pages/turbo-page/fragmentRoot.js deleted file mode 100644 index 8afa2b730..000000000 --- a/e2e/mini/src/pages/turbo-page/fragmentRoot.js +++ /dev/null @@ -1,18 +0,0 @@ -import * as React from 'react'; -import { View } from 'remax/ali'; - -function ReactComp({ text }) { - return ReactComp{text}; -} - -export default function FragmentRoot() { - return ( - <> - view - - {[1, 2, 3].map(i => ( - - ))} - - ); -} diff --git a/e2e/mini/test/index.test.ts b/e2e/mini/test/index.test.ts deleted file mode 100644 index fa32e8240..000000000 --- a/e2e/mini/test/index.test.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { launchApp } from './helpers'; -import { Page, Frame } from 'puppeteer'; - -declare const page: Page; - -describe('首页', () => { - let app: Frame; - - beforeAll(async () => { - app = await launchApp('/pages/index/index'); - }); - - it('渲染组件', async () => { - const view = await app.waitForSelector('.class-view'); - await expect(view).toMatch('viewInnerText'); - }); - - it('渲染动态创建的组件', async () => { - const view = await app.waitForSelector('#text'); - await expect(view).toMatch('clonedElement'); - }); - - it('正确引入图片', async () => { - await app.waitForSelector('.cat-image'); - await app.waitForSelector('.dog-image'); - - const images = await app.evaluate(async () => { - const catImage = document.querySelector('.cat-image') as Element; - const dogImage = document.querySelector('.dog-image') as Element; - - const extractImageUrl = (element: Element) => - (window.getComputedStyle(element).getPropertyValue('background-image') as any) - .match(/\((.*?)\)/)[1] - .replace(/('|")/g, ''); - - const waitForImage = (src: string) => - new Promise(resolve => { - const img = new Image(); - img.src = src; - img.onload = () => resolve(src); - }); - - return [await waitForImage(extractImageUrl(catImage)), await waitForImage(extractImageUrl(dogImage))]; - }); - - expect(images).toMatchInlineSnapshot(` - Array [ - "http://127.0.0.1:8888/dist/webng/7285019d500b66029accbcfd7275e33a.jpg", - "http://127.0.0.1:8888/dist/webng/6e6a60f044924f71fec456293be371f9.jpg", - ] - `); - }); - - it('触发点击事件', async () => { - const view = await app.waitForSelector('#view'); - await expect(view).not.toMatch('valueIn:obj.a.b'); - await expect(view).not.toMatch('touchedTrigger'); - await view.click(); - await expect(view).toMatch('valueIn:obj.a.b'); - await expect(view).toMatch('touchedTrigger'); - }); - - it('正确渲染 tabbar', async () => { - await page.waitFor('.tr-tabbar-title'); - const titles = await page.evaluate(() => { - const elements = document.querySelectorAll('.tr-tabbar-title'); - const titles = []; - - for (const element of elements) { - titles.push(element.innerHTML); - } - - return titles; - }); - expect(titles[0]).toMatch('首页'); - expect(titles[1]).toMatch('其他'); - - const images = await page.evaluate(() => { - const elements = document.querySelectorAll('.tr-tabbar-image'); - const images = []; - - for (const element of elements) { - images.push(window.getComputedStyle(element).getPropertyValue('background-image') as any); - } - - return images; - }); - expect(images[0]).toMatch('dog.jpg'); - expect(images[1]).toMatch('cat.jpg'); - }); -}); diff --git a/e2e/mini/test/modal.test.ts b/e2e/mini/test/modal.test.ts deleted file mode 100644 index 7af30f7ca..000000000 --- a/e2e/mini/test/modal.test.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { launchApp } from './helpers'; - -describe('modal', () => { - it('正常渲染', async () => { - const app = await launchApp('/pages/modal/index'); - - await expect(app).toMatchElement('#modal', { text: 'modal' }); - }); -}); diff --git a/e2e/plugin/.gitignore b/e2e/plugin/.gitignore new file mode 100644 index 000000000..62fb15282 --- /dev/null +++ b/e2e/plugin/.gitignore @@ -0,0 +1,8 @@ +dist/ +yarn-error.log +yarn.lock +.tea +.vscode +.DS_Store +!src/node_modules +miniapptools_dist/ diff --git a/e2e/plugin/CHANGELOG.md b/e2e/plugin/CHANGELOG.md new file mode 100644 index 000000000..e4d87c4d4 --- /dev/null +++ b/e2e/plugin/CHANGELOG.md @@ -0,0 +1,4 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. diff --git a/e2e/dummy/jest-puppeteer.config.js b/e2e/plugin/jest-puppeteer.config.js similarity index 50% rename from e2e/dummy/jest-puppeteer.config.js rename to e2e/plugin/jest-puppeteer.config.js index f5add8203..b6da2dc19 100644 --- a/e2e/dummy/jest-puppeteer.config.js +++ b/e2e/plugin/jest-puppeteer.config.js @@ -4,9 +4,8 @@ module.exports = { }, server: { debug: true, - command: 'npm run dev web -- -p 5678', - protocol: 'http', - port: 5678, - launchTimeout: 30000, + command: 'cd miniapptools_dist/main && http-server --cors --port=8989 -s', + port: 8989, + launchTimeout: 60000, }, }; diff --git a/e2e/plugin/jest.config.js b/e2e/plugin/jest.config.js new file mode 100644 index 000000000..4d674d72a --- /dev/null +++ b/e2e/plugin/jest.config.js @@ -0,0 +1,3 @@ +module.exports = { + preset: './tests/preset.js', +}; diff --git a/e2e/plugin/mini.project.json b/e2e/plugin/mini.project.json new file mode 100644 index 000000000..bfd79a88a --- /dev/null +++ b/e2e/plugin/mini.project.json @@ -0,0 +1,9 @@ +{ + "miniprogramRoot": "miniprogram", + "pluginRoot": "dist", + "compileType": "plugin", + "component2": true, + "exclude": [ + "miniapptools_dist/**/*" + ] +} \ No newline at end of file diff --git a/e2e/plugin/miniprogram/app.acss b/e2e/plugin/miniprogram/app.acss new file mode 100644 index 000000000..49ffd7d0c --- /dev/null +++ b/e2e/plugin/miniprogram/app.acss @@ -0,0 +1,3 @@ +page { + background: #f7f7f7; +} diff --git a/e2e/plugin/miniprogram/app.js b/e2e/plugin/miniprogram/app.js new file mode 100644 index 000000000..a8bb15e54 --- /dev/null +++ b/e2e/plugin/miniprogram/app.js @@ -0,0 +1,11 @@ +App({ + onLaunch(options) { + // 第一次打开 + // options.query == {number:1} + console.info('App onLaunch'); + }, + onShow(options) { + // 从后台被 scheme 重新打开 + // options.query == {number:1} + }, +}); diff --git a/e2e/plugin/miniprogram/app.json b/e2e/plugin/miniprogram/app.json new file mode 100644 index 000000000..8a8802a8e --- /dev/null +++ b/e2e/plugin/miniprogram/app.json @@ -0,0 +1,14 @@ +{ + "pages": [ + "pages/index/index" + ], + "plugins": { + "myPlugin": { + "version": "dev", + "provider": "{{currentPluginId}}" + } + }, + "window": { + "defaultTitle": "My App" + } +} diff --git a/e2e/plugin/miniprogram/pages/index/index.acss b/e2e/plugin/miniprogram/pages/index/index.acss new file mode 100644 index 000000000..cd6c06ab8 --- /dev/null +++ b/e2e/plugin/miniprogram/pages/index/index.acss @@ -0,0 +1,19 @@ +.demo-page { + padding: 116rpx; +} + +.logo { + width: 194rpx; + height: 206rpx; +} + +.title { + margin: 40rpx 0; + font-size: 28rpx; + font-weight: bold; +} + +.nav { + margin-bottom: 10rpx; + color: #1890FF; +} diff --git a/e2e/plugin/miniprogram/pages/index/index.axml b/e2e/plugin/miniprogram/pages/index/index.axml new file mode 100644 index 000000000..9864b061b --- /dev/null +++ b/e2e/plugin/miniprogram/pages/index/index.axml @@ -0,0 +1,10 @@ + + + Plugin Component: + + Plugin Page: + To Plugin Page (using navigator) + To Plugin Page (using my.navigate) + Native Page: + To Native Page + diff --git a/e2e/plugin/miniprogram/pages/index/index.js b/e2e/plugin/miniprogram/pages/index/index.js new file mode 100644 index 000000000..116dae200 --- /dev/null +++ b/e2e/plugin/miniprogram/pages/index/index.js @@ -0,0 +1,44 @@ +var plugin = requirePlugin('myPlugin'); + +Page({ + onLoad(query) { + console.log(plugin); + plugin.getData(); + // 页面加载 + console.info(`Page onLoad with query: ${JSON.stringify(query)}`); + }, + onReady() { + // 页面加载完成 + }, + onShow() { + // 页面显示 + }, + onHide() { + // 页面隐藏 + }, + onUnload() { + // 页面被关闭 + }, + onTitleClick() { + // 标题被点击 + }, + onPullDownRefresh() { + // 页面被下拉 + }, + onReachBottom() { + // 页面被拉到底部 + }, + onShareAppMessage() { + // 返回自定义分享信息 + return { + title: 'My App', + desc: 'My App description', + path: 'pages/index/index', + }; + }, + navigateToPlugin() { + my.navigateTo({ + url: 'plugin://myPlugin/hello-page', + }); + }, +}); diff --git a/e2e/plugin/miniprogram/pages/index/index.json b/e2e/plugin/miniprogram/pages/index/index.json new file mode 100644 index 000000000..d6a57a4d0 --- /dev/null +++ b/e2e/plugin/miniprogram/pages/index/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": { + "greet": "plugin://myPlugin/greet" + } +} \ No newline at end of file diff --git a/e2e/plugin/miniprogram/plugin.png b/e2e/plugin/miniprogram/plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..e46d799cb4ad4a0af06c6e8d2c94b80ef8a83f34 GIT binary patch literal 10292 zcmV-4D9hK0P)PyH?ny*JRCodHoe7*3#hJio25`8<0}<3UMvY30lFJaUjpDIUq8oLUBp&E+1Qf3OcqbkK1O(-fYli)Q&)0A2_3P@h`n`Vh zs(-)tx{j~D`p&BAs_N>xx-4DOrcHa-O%G{X1n>caeIdTuW5>*m} zyd)piXL9XRk`XgO6svyK_ep#%`R-%eLFr4dPRLkkorOQ!)r2+uj+uO(Bcc%!L7>)FH|0KLq zK)FQOC7dL}=21AuiIc91%t=dncl@iQ(-*`vmJcG+$hxVouU|m(KP)M6Mdcx8-=YMM zNNh(GGkdq(AC_+`BL8bxk|9wOS3~MbF7(M>j+BH2$9D=9sL0}0<{(vZRWuxz5jWAs^=yhTH=%xUPgVOB z@XK=;z-^BoKYsk(ey}FN9eWb%`V#X@o@(20oAX$6;`Wp+Tz&1_{n=@$+FS zb6{whv~#)mNN&voQ(FeSEIX`o%IWToDftOUJ8Wej@>4+!k}v8i@Jgp?ebp;n((>bI z8AbgNbGu9jXCxgPZ1>~bNF@=G_?eZbIf>dM)=>`d(NYNl9`CNKgxI7SaBSFJks7Ct zP!E}E88z&#L+cZ6KoyBsI1cl=hgmQDlBTP})0}ij45kM@>PM+dtBEK`R9Ky~R2V0m zZ>^kY?7J~0qMBc9iaiQe%A7n%iJxSdh%Y;{C5to>#VO5_5e=Kr$$H3VoKm^Yu3Ct9 zh*s~kaPt}%jGd|`R$G`M(rJZZ2V;`8B=oE%CY)xyz=WH4m^u%p{@a~isW{K@m+}mM zg;)JrCcJ>X(lE!dFgu#xm%Q@*(y-@+{8}LHHa|Fa^iBQ*?fw&Biu$(ZVnaV3t%ucm3IEZLPE$u*kONY2E6Kpuw5h_iT8!* z(ICWTi3^BBa>6?hZG@3hlSxnVvy zuNIuT%a;KP50`>SpqCDTlMc+GgnKw~zdIT`+Am-7h7B9`aS)8;`!Wy)K^z#&?SUxe z{PqKC8PIJm3{i2(%yWn`I*?-}aQ@A`CFoj%)2h)+IsVG-&3j+holFj}l3^1-gB9A%O z3rDFXEm$mJPr=Q=Qr=i7x=I+JWq3#+D0Eg4WJV(;3}lo}Em6ax;h`_4Mr7wBLnp{Y~Ii_{ok3NleUkKc4``CT_|8xN2GF7iwONZGOzSy4Ht zL|7+dWxqC67mK4O;?fJS{4QAX?chBX{2NT+kAo-EBO(+q4q+{b! znET91D?sSTv=R{3Od%3w{7mkqE_%m(!8P;jv(GlU%`7%~nQe|3qe)Y7qQjYPSmESX z^F7O+P*8vf7^S>X&4Tu$J(EhH`S~DE^kzEGKj*`H%$YN%yB{;vnrEyzO5-_|ZDD87 zFFeO@Q5FS^fqa*a-E(tO6nc$#0+#D}=x-E4ykOY`bu&!<)hjOxX&A@PP0(S)6Wm_F zv3L7p#hz2HYzLYQ;gj6NV^#39<(CW_uVonNY5A?Kt)J$Q5;;;shOXV*IEb&J-lM7i zJ&!yiNgFn7kgenexk2~uFqC7GATJ<`iv%zDJ4EfKlz)wpjPGty1vVE1$Hm~d%AL;c z>P9vwZ*(g;5BGN0u3ZmhnE8&oT-tFrJxNDyiIl)Dy=}1URVvd-2@+fmlUUiUDCaqn za?^>#M`CsIE=)x)=#vxhMk+*XhHo#=R6z8>M16u=0W>9N>8pyAbAUjjfbVe2DL~>` zP=L^Zz(>hlxw_)bgOzxsU~DBY2Xm&oCff2F-Dz>+Fexts%6mtJ3k83=5Q!PUf{k_Z zG=+PqWMD8)sqrY`*h*mf_kYxiu+rGLR6I@?dR2<7 zx0$+v?`fLQjef9E^6=Q5UGNvW;-R9kI%bqmByfm{g(nP!w6*u)6}gv(!oUj*WmeHV zY$IU=FVo-`fg?BVfhY7t5i-oZQu5^j=4kRub`E@!>;I1|CIB(rfdbbX;QEXc4|9(! zJSvsB_pKb{RQe?)YZvWCD-I{Kk~`t<1`X(liBNEBouczJVgbrk%OlmPM~i$?*G_bNvr&Lk|fc9W)} zsi|qbNxXt<%$PBo!2LTFFN^Z0s&T(?XeEHO(1zv_e%}vq*76WiJBozhHEzSX4*qae4h#@(Q{%dDC?$aGWfg&(K%vHM_!9}>4G-gS zh31YC+DTz#6R3pw^XK;f*+2&wl{_(g`0%w(+}?{NfFg=Iehm2IVu;dM;1Jb4{3=C} zUW&<~Bz)Whr9;!BR*%{J8m1dE&=cGRY}~vAtP;%2G&07nQA?O?BHVSCv+1Ml_WTHw zo2EE%`0#ueS%<4;Jb?j4FP#u7ogUc}%1N+E&tQaCPSPXQl{HVeA`A#qzJgcMYoU{(ofN;f2KtAvn(N)yZ~Ax-Iq#I02VkNFKONW2gdj|KCQfE?q( z8vQ9ckfKGMnKNhZAs;E#0ZY0Zfx+&Ab$&3lo`>va#HxOgo zLl|=Xo?mx&o{f7;0D(&re;Ps${KQl!C3sg;SBG+rMKM$PeNG3{+0zmBbF}LhvHkwR zxV$D(LYPV!0uO=E@1Q8z{kBV(G8ut+9^u{x?eh@uqKwegdB~v8+dE6#Xy=ZyM5Jk2 zcy(&7X`D&$)ua*-*jJg~8J|ROCd+1833U8lH_0r5Z{)W?aMDLjBOL1e0h2U%;mWiU zcsppC7twLj7$CGF`1Slw&X;c>d>iR2I6Y>+I5^Q?l|X-Rz9Sf3V*jiYHgO*?V8FR1@R-7pStY0pGOnMl#*>CQ zO{^^`4wL0GsRV|Ohp9}`Bps#3J6kxDN;Rho4L;0n7ht<9`JhN;)CjCcZq`-y28@Id7V{1wx1tGZAKE zW25It6dY0r@_%_1V zXqw*7!&KsS7L`8cR1AH)IpMhXM57}JaJRoV#3e+^p^#}<_%Iy~I>CVzR)Cxs|G1kz zhN|1R)1t%^DS?WLnlnB+F(FFjUa%-4w-7IRC|T{ZUhsmiL>m1-(VI#PRTE9M$5sMO z(O|a#n5PdsbkAMJFV1M_EGHiindF2keTSB2l?IF@x4T+RixQ5l1S+24s^}3{Ja!aI zyGaUDN2`Mb5BZ}Lj&o;JqiyD*;$tLsW7IN!@UfKu(xS0Chjfqht0+ny&l%?mJW6Pc zQZ4}2>F@)<;$`EtXT~cT^V^#X7cMO73#9V=M;+qQQB;oE)8%Rcp7B#P9y7cXP3V}I zWlM_DB;__DI2k-d##VAHPvE`WA_5>}u|tfhJAz-K;L<+SDKOd~!q2_Vif2vL0!7TA zNpinz8T;_|SW1B23tcpiaK%kTb4`*U;=xY7*^uOtS>A{E8JlRtNJ<`%*cGyC93tZ? zp{Op#&i5B37>FSFxq=2}6HiCr0i!@APqy-vk$vTE;)1rqa9Z%W=h4E}QPQ>t6=akl zFP^K{W;J3ui~wT|O?mp>pQrCXLeKU>6GtWALo+I!{UUe}ZjTnw&=-S|F`R&K zic;V>B^){!*%Kh%Jv1#e8=-3r2`H8p)yok62{Ors0$!l}HvCQpNBxi?L*#>W^?WMq zFw)*a85al~o)LQrq`A3yWk^G>v-CtyX_DwWC7V`^TY){``h;BP_! zrwbmF3drO8vx~mmZgN+eZ#0q;(722;3K!GL=M^Fu4qz)Oq>TR=fQ7s8bo27-&OI_Vzj97pm1m9udYCI?$S_vSYt|IH!t(&n4I~8w=;mD(wD70XdMNiPkE3|Aw z1A?@#N)#(x@2T;uhq2b&^mtlyBA=qUBxY4F4_j9#CCD*6E`)Eo;x!*d$wiZzC?)iy zV<;uCd{^|8jO&f4d8r2o040QeehQ@o5T2ygX?m=!;;!=WjVk>NW{yzfx^O5ZsD<%@ z!WZ?_bQ`X#<4cTZt8&12Lk(2}mB3?p(Vj#QPf#ne;SLEX??~qok=4MCTzx1|2^1|_ zjiLjZtw(2bXepjhr68ZpRO4RZKqa8f?p_6Lnzsa4V`x%yc=JeB^?Wbi9$elZTfBI2 zs*5&0)ZL5MeZwa|QkFBF9jTBZVEFKrbD$>}qQj!`k$_c#k8sMBWtC7aN&D1emEa?s za%Dx`ZE-i9%<*Xu$0)3xXOglVqY%_tCgCyaAi#P;5@{PMYn5O~kV(+^DxqJ$e!k<| zBozmh<;k;G5KL#u_f8izEgpHnF(U7e~fWcjje^VBg_q6GHn43w=VTsP|q+4N`4}QqkFVsa0hWdrE-O(X9>gNA9zp5H>MY3GfY~+^96y9I;dR06gO9RBN=z zizI*odh!jTHc2czF-wGbqjPw*$i!DW1f9LSCGZ+XzqguIqy#5}2e`#NNDOe|_HIT3 zoT$9Jd_&ZY%~J^iGMiba_<>S|zAJGPQv+ z&QQ~A*k1zlvGTIZPzF95{2^U^LJ%+quI@&k@hcQ^U=VDL=0A_{Pebs3jlzE@Pw+x0 z^X8nFDxdR>{GkaieASqSz+r#OR7N^el6-A3wi4Vz;|t~6@qHONB43oUwL8Bv#1Z;C z2>rS~efrF7YHBieG^sHqcnO*2t1r!$^d;ZqcNh$$TAvpUanca>8p_?z@Am!o-+zI8 zk0%bEuw^PH6q>Ug@SFot(pMpNFba}0L_Zal@VIaYcms94!hI3Hr}#a&ofrqoh z8TZR_>3{IsRw^J}Zn=x_5zZDHdWR2*-_B07dCV{_B;M}8)zaN*A!>K5 zLLaYUw6q&|@Z6s9`8uzBo0eS(*mZ;my5U>{dEoSP0zpGwBRjCJiGb3AW<&zEM+m71 zrXzRa_56RT;Pe2GVf=@vX%ePa*n8~Qv9Gz)Z9KaYusuRZ-O$pPJRmbuGzMoV83wVw zPy!pW8Vgn-30Ox6A$a!b974-~iVBJY{Eag~7Li^uQ$*UaOjRDE!rO4RC6KA<)BMJ; zHxOB-hHOlicJolZA>LnB(xqcEHkvLcuO zI^JfzAb0cxFOzJfb<1sI2q>r08k%#96zw23d>09a5_=*pWaDtyAD6JES z^f;EL$y16U6LF#qfc`4~%ay`-yDV95*DS(**Hy z%YH0A1-;O64G*T1P1o&(52e(%w6q+N?>SB+uATLvSJ*GVjv%L6%drW3G8Xr40ui2xqKW`hQg;P!`yCd*`ydws6X#igrFpIK00H&@N**B$8w`(L45_Zp{X8Pkc(dVK+$P009M)@VLu8h=uJqFd3i4v*M| z*oZDat@N@w0^QzWFnWp~GfYc1`Q=wS5Betg(BPNnQ_Nh}=FOX@IoQ13p>Xmlc@NUD z*ofFlIcY4bBfwZo0CPX%w6$jfU@Dr;+JT(je5(f$ck@74bi|7XOsYv3kIZ1nOq}e7 zm4&|(c%VOA!dbfVI{sMzO+mI2P&`_8*&G3dj72e@(~*a9t>O1QU4E9*d-UjW4zw1X z3&eD3#d`x}OI!{f@au_9D$*j>OLL;vQxp;z-XppG!uL{d5DLo zqkQr+mnD0Z*kiODWpy7gV8HfiZ;<05xHsc}+0P_KFCX?Oxu9hkiFaW*BQdfA3CoL4 zgSdAs0sbW65pJ_9xxtS`G#O4Fsi9Ba0KA?_iix^>Q|YM>jrg9?J^@ZpM++9T>S&5z zV|e82E*Rc<{4Pq{34~}2VjJp`?ItBti=@59?^cZd3P5v1p+Co6}f_RFSa8#ls0jx_Xt5A4}+J{8%#-?(awlpzRiX459c?E-@Xoy zI6>ca>(*UN+IdbI2LES%veR`QL!%F!^eo)5ktxt2i>$gU^$|m=j)0=%9e~?)+@Y9v z=*BZQ*R7*B%jp<>Jws60*d{&3Xk;snush*bXlMpznRcO#q1@ZhyQ_{)dXAHrvAaW; zpENzyp%LAh@4^V(eN$2fZ23X!CWi6JsiH*8S$-gXbTRM=~ z>8UsZ4{EY2vx|-@82TQq*GIa1n;u^R$n|MT--3*1u!8$~d`#spDK;Utp{rSJN^DD) zpCsM5Bk+KH5Cos*L)0@c-0G8Wvl2=`jERM_vb^4!kkpdmdE3x#vk}`88!IW8FhRG_ z5*sZKHNJa9n7$hk8@VkQN&*;@EUZ=SB{t&sE_>d_zGRX?qdfxCcO&uGFZvL8EpKkU zBbyEK4*%jYKf=2UcplS1#yV9Wol0XVk=@ZI?lz` z#O8GQQPYh%0(;-DrgH64J@dq)Wm`g20xf)PNEVL?b-{V>Z7BvSrH>H*gu_ z>ssFZkXfR=G<1m#-lNG2m7K^C@-L_C=2O#NFp&D&MLzYXk_Auqf;e$2lm>Bp0{6Gz z9hwI2tm33s*i9OMB#l#NYdNy2D@#|#C14#P;|j9ml}7^B5y~THTT8|zkmwnKhsJuw z%UTwB+P`nxZMQu|3y{$aPFibNvt~`F+#TDyckezNJ)@nD%&1E0R;^mKz;AXkDcy-2 zf!PUpD@uDoc-!#d!`Es7GMWM1^-RfSl)7YOjTkXP&X4ldTe2F`Db2!Ks=E^G&?p_f zS*%qi0qY1=rZ7uxIuc0a2=a`O4q2JUI+)>8BH5+EVV!HyIt4^hp{Xipf9K3$qCYzgVgFYhGebKVhBx&V0^L{{zn*K=03;~ zlckz2mbvad3);xfsyv$oS`5?hY&Fgp8J2-3xW0fTK>C@+^N)LHVib{A9 zo=oEGOt=yaje-``s##D?O--wye+S0h*DwsapqhEX38wNw|Ap1eL)x?_a)h*r%L4wq z0Tql0r>KgVGCKr{W<7});lC%9ic-OHdMnBu#Ql}%D1d{NWeNmhb(NUh9zJfp@x-jS?`d5b%YLC*ia2i zz&b(=E8nu-Apz?M9kQ^Y8kT@{gc?@9WxYcJ))6{nVM8@60qY1gtbEIQhXkx6bjZSn zYFGl+5o%cZmh}z^Byxl$OO_ndfy#!g1S%(imtK15I9{5HZO@Tj%;B}ge}h$db@B7U zGWW`HZfmv@P$a-N{O*urIyqvej+dwYLe>v>yHLKr7V7eK1o;pMt^WC7nu5`Hk81c3 zv|T7FERdBzfCR*r!rC8j(oo--cZ&7Iuk7Bv`!!?6jM=2C#`FDK5DcMWIeoaVu3*@7 z@Yol}!wSp7c}l?40SegS3ckYmo$=$xKj^Ng$PqZb?Nqv$n*fSE)^b;1<5mJ0lt4R9 zF`S{(JcqWNBg~#Xd;4|k)-9q37~o{syOlrU1ybF)S`fqXpgHbik^ZHmKk zU5gUH30j##Z5G~())8jSnzhsV_3NJ`{Zq9l7|U~QNB{?Te87MKM-3Y`>|=-HB1do% z=ggVYef8?qv*{^LbJFbHN}$Rmuo(w9j~>ADyTP80pfb$!!|pi5On!E!sVW#7t_BHw zjPc8-y=0ru20wxW9YHPJ($dnKb%$o0;(UJn)I1xu63B=IWES+QNs}f$9)+Grj^IYj zGeyr08#auemAo++|u0K{7RC#5;=lb#j3?!Th+WhFYdC??*UN@oF z=XobUrsy9f{s-O-sOZPq9S*9(*bttqeh)-|gV-P?ZyycfC-+?(M(n+!64;1Qzl@$< z*Y9nDOzjyilo%n0W>UADQUnl1Ar8nAv-l#9e zA-}D8-s#P~7lx9%1Jj#dFXi5Yysp5=d*SlyB6mrXyOK_{ZZqkd", "license": "MIT", "scripts": { - "dev": "remax build -t ali -w", + "dev": "remax mini-plugin build -w", "prebuild": "rimraf dist", - "build": "remax build -t ali && cd build && cube build --no-prod --webng=appxng --native=false --appxcompatible && mv dist ..", + "build": "remax mini-plugin build && mini build --pluginId=2021001126652765 && mv miniapptools_dist/__plugins__ miniapptools_dist/main/", "pretest": "npm run build", "test": "jest", - "serve": "http-server --cors --port=8888 -s" + "mini": "mini build . --pluginId=2021001126652765 -w" }, "dependencies": { + "remax": "2.8.10", "clsx": "^1.0.4", "mini-antui": "^0.4.34", - "react": "^16.8.6", - "remax": "2.8.10" + "react": "^16.8.6" }, "devDependencies": { "@types/expect-puppeteer": "^4.4.0", - "@types/jest": "^26.0.0", - "@types/puppeteer": "^3.0.0", + "@types/jest": "^25.2.3", + "@types/puppeteer": "^2.0.0", "@types/react": "^16.9.1", "cross-env": "^6.0.3", "http-server": "^0.12.3", - "jest": "^26.2.2", + "jest": "^24.9.0", "jest-puppeteer": "^4.4.0", "merge": "^1.2.1", "rimraf": "^2.6.3", - "ts-jest": "^26.2.0", - "typescript": "^4.0.2" + "ts-jest": "^24.1.0", + "typescript": "^3.7.2" }, "workspaces": { "nohoist": [ diff --git a/e2e/plugin/snapshot.png b/e2e/plugin/snapshot.png new file mode 100644 index 0000000000000000000000000000000000000000..3a7843617c8adbafe7b8937a39f8bbb170564627 GIT binary patch literal 15927 zcmeHOeN>a@6;EQ+08_$;#tJ1-P+|ph-02D}ABhx(2utEeMT-zt=d!NV02UIE{fWl34}PoL_lpy6l!jmbnCBgm;7=Pa zzE|=vIrNqI!XDSKBBA4pi=W3E_$Ty7hM%^#zdkKLrp(sVL=FmKi#~HqeiiHJT3A?6 z#@W>jI$MAz(S#^828+X!19&+F1&clBWJ{Jd?R)mAsleW$A%^Sgh#{lo&<@G!DtI{! zA8lWpntEa3(xLFvVVjA`u=MIS^_T{wXnEe3?MuuOn9@|lHZp%x_g>EtS1`Wx+Tu5% zzFjLPx@ANkiP+HmH@@y0tX;)EK6(vIERI$NEalAsTse;JP~4(yyYBl{69#rx(7s zg4jXGT->yN2Q0cam>KN1rUMR-@6#eHQ6l)94dtQhN+xK6kd-7nwlt5Hn~10YE4u+G zyJ9`?W)YtOZtMvV5VHvE0D$tKH$Y<~p@7tbWKWQ1JtPE>3WNj#QUOQ>C%ap98RK`Jv!vb9zizB$t z%8oTq@rpJ!1px|JT<~yeUa4bOjf*AqnX=E zcm147UAgRIFPuJ|JBpeZ$Iz=NJd4-+tA-fj9s>WnU z(-4ufuwvtS>%Wj)!9{>Y{%?Im)Kcb4Y343F`1u&D_r|8?W(h~>C@P$P_0asXcbtu} zJE&*V)6>j|ibO;c5qY_>U^RUT?M< zT&-}_Y93n_&$XyF6N|rIUTh;yNIyFQ2lP;ct};t8v2khI3x7|hnly$%iyEl>W%Z5c zwrUoC!JwBLorWh6gY|oqh>os(CgUCt7_L_hv0Ue@V`b`00heX7VpsyJHO~f>EW1JH zJPa6Z=R-Sv(U`$)y!lsS7oh>hRJyJ~DzLezpLCACQG5}D74IWeRm#$j`$d1Qayd3z zw!ZtJgX#Q7p(6lA)1CCj=`&>8S>-5ESdNX8Iy-&~lf1;4i=OypTGE{i8kuVxoyQjJ z$#FRynS2&&aRS3NKArAweHKR3ec%S9J=2z5G+q5hE#$f^asG&yW5)^{uPryP`nWFK zpB}l!N%UB$LN!UGo5sqB#tFOaE@eA!u3tV_VC%g~X+Pw)5J^XjHt+o2aTAME)Tk_@ zuJcy2nsT#&0r6zM=0;YvN~6)3XXM66B7eR&&mdN^=bmmKi`q-m5n!aFn3qyukZw^` zQsXm2s9Fp48{1e{nVRLY^;g_7YCGgL&Xj^nuH0PHM4n})Lm#+;ySjILYDOn0204u5 zItiBUirm3bb{MH6Mfv&sai(CrVvar6X-^Fkh~3%wWZJj zv8CqRf{*qC3r->yenj8`8`TTX4JvSG%}Gb*}KbA-<^Ud@6Es*z#MM3 zTlbFaGK|4sh;lw55C~D7uXnqjDilJdpzwVuY%3A;p$;ZzQO?#I@+c>h;N>P`GT4D- zZwpFb_Z;z2n7V`1&4PsiAE+*dI}-t8^ovWBWzq_l(sjd2yH6Z|>0EY@h!Jmnp65Nm zvY8$xOCtybj`N3Y)MU2{@As*RE9Mn;nAx^yci`;sj^*3B+(6wCD_DMI6zKQep*oki z>KLQK&NVpQM`Qm^!1s*=+24etHRr78I9ck<&(CjtCg*Zwkc*YI#I5EmkGYQ)st(i0 zmG{mdKRWr9-z>W-;wE`EzgNSd;oj^_z3dD8Y2by z5%2@Rp8$UZ{CTxi0QeE8pFsTx>Ss?o4)7zuj{rXc{0Q(Pz>nNBeZUU^KLq^nf5{J3 z`>Kf71iw)ugIlbaGOHVa2i3$%YJ-=1uC+?uo}JPC^E-BBNG4Rocg!=?c@Aek^w;YD zkb5g~BV2eX=_aMRD7Iz7-NN{&2guL8W z^{VdQ*Yj_>s{2&e%v4YJ>A%Z=e*p-T6s1KJ_(jEp z|HlXt7B)5>E*^-003^&r$0Yp!Eq{9fgcwLRNH#zK9RP_C37HV-?;rpK03ag+{|D~> z6BJY+8UPs`3FDtungD=|1Vjd+{o4d0qamRHk&uA^6hb0eRH)<|It^3TU^FgR0Wr9~ z?^0@ZOVjL%Bm^D8?UvM_^_EB4+`X{>pAm8-z&{87+XXTZ1qpzP_D@Gg_|N@6`CkbB z0Rz$!K~es%eXhT&036`ISP~)=0>lAF1fzA6M77YVwElw{a(YX%uXR+EHtLQ<$sd#T zruamfa2B}gF{?zTP$@%oovV6(=F~E|^V-bKyhLr_aJLM946)B?o2lJpa*7CPZG-nN z1(cuT+~40|c|Vlk24-JO6?C_H;Sdu^FfO~7AbVj{FJD+wJS`2=IR(2~h6q>xikReU z%A+w))vl?PCL$TLjHfq9ift?SpeAZ-)hKLLi%|Tt8?i)4?_PAd@UpM*@o5AuS9{x8;7yXYHv> z=>)6@+7PH5-Gl2i@dgH!lz#?A06tXNG9hC~&&dqMD#a*YNANi-*QKB?F|&|7Y9nr| z9(iRL{PKr|`5mLkAEsQ8R5#!CcX4JzY!FKY>5yW!XAPLP$mj_#qy;XkqA3sl~T>%Ud64gS}x= z5!@#F9)oh+0>H_M9#lw6PYkG3*tNxM9u_FJTNY#{h2&tu9tz6B?lWZ!N0tqPB!HPi zl*u)!0PGo$az?hVdE*YaqV5T+3DIdEoEvn)B#GDBu&{t(plL*U>WAMprWvF8l#XEt z0gZYwGG415GxsOLmv%Mr^ntt_-E(Y6{ylW>vvfkr2U(tpq#ugJl{fEn=CCdBvAnH0 zO49uY90|D*$;P2M#(}nP;=)QKP)y@} zbt@RHIR=-Ymj}`cgU!Q!H`fEQ8TJPf_I9!Y*R z9OtLA4buv#3)qPy`&p-EC6B|)fN6yLwrIJ3bVjKq8IsqR|M2lruoNnHtfsPY4NM+i zf85a;>YRGMBZ}i0soV)5jMqM%dKOMY<{J?XeYvj;84p*NQ#53@LXchWvKS~wL^%4+ zNsMAIwY{&M^!aJi-Per)M(;1R1W%>7yfRYAv`_oAwA_%EM!3czb+fc8zTsA+R{Ayf zEp6azDIq%({Ya@+nZeChi~6vFz_7U(Iq1I#feNRxeN^D8Q-Gb})U5^hzQJwfJ5bxs zeX2wwH=?ZYht+=9a0IKPz;}twjfM>QD7;Fcfoc6pP0xV`C3tWccHx6gN{gVKjJB`LX82QgIcZC?szh*Ar+p#(?-K+D*k7U^{wZ zYufj#$oMWgUa!13{$F+d6BQV$9%lEY=jw~vfR`sub4JDtHM-3)<$NU|F8T#dmQgaS z!pdQCDT}jjY!V#MkDY*c9U&)HioiGuiLV^&a(Ih|+g^{(X*Kg$-(4+HRX0-O$TMo^ z5L$7~RqQ2ob9_9Fk^N-a+tv4prf4=h#Xx_Nm<1C@%~w*wv1lDEw7WK+9k2mX9{K)M z0q-8U&nnA~y12g`r)SYcgAsodKq^AQyz{ zYu{kIK*_Kev*!hCa$(9TN>j9Ql@ql2321=82V^fe$4RF?==$^q!AN0{8l3 ziOJi>{C@%J+w8WO_&6$9hXPCP@t^+!Cgy%SPuOBOsu%#VZo{g1N3_s<+eMx&>%S~H0TWwq}5 zeY0zW0a9;}FK}WE>(tdvo&(F3y%NP%`iy42y?CyaQ9kTONojFQ-d!aCnwMS7}SjQjYBR^fJvz%r|LOfGL!5pb+@ zw%l(CG)V-_*3gK(8?qrr>nq%m@IIOfLgijgR~#0tVv$90vS;#HUW9lMr<-;;eG<0j zso=P$^03gf|86gztD@ax5@yycscF^>3lsAA3mCGeUw|@L!n7#$&NQwJ7PgkS)>{|q zV`14J7`E4xE}}Pn%#EGJE0+V_ja)xd+o>ut;SQsNi;V)bOr0XN^OF;iVfB~d(BKWJ#{B(>sF49|}wCf6g0a>a0>4haB z)Mb*?#E{)GD=zIDflZXx#o`BzNg9&@a%ml0Cn?qH+M#$JR0zmz`ulwahd@~UdrTYy zOuCX?z;SQs$h1e>tE6o#&W=4ef5S`tf&Pesgu@v88Ze*XyGFmN=2Y zdTBJeC0(q^llhk}{jWTb@^l8WzP|u$&Fk;(>XJe#l^WfqS*wa^ybHcM$kp*%{UIV1 zs7G8$`A({$hgGltAv3eApbK1s1N;}iytd-oh712``}O2kbb8gPQ<&?_U0ntphlBnM>BN^bKu;)`=uxM7O>5wgl$g!GeiL)(!J>idrH2I z`5BGx&}H}{^TB{Mq>{_~`d@IcF18snTO4eA$;9$jD{%cz6EZP1)_X-Bc=x*ck~Cux zRL16cM_DS37U}g@Lvg$cjq6utwaB^JwB|;GId-WPT{L-2&t7q#X% zL3x#hTJzn%k0DKaN@oDXw~ot}rMNO}H=*agnEmHyjLx87vg=f|l{SMLnQS>p)b}p{ zI#(OX?))bwUw;NAQ`ReLe;Z1{c2XxXQ8Ox@unvURFV;v!9xO2^7 zy=9Vg$@Jo3l>-7}ERM1HqB4=n1)7={ z4};fWj&v66%5I_9XX<9w%*rZn+7vt1?25I7x+5e0oz}ibKYgC&@=OZWt#bG4TH|E& zR?4c>4-_}UttThyzTTtnd=>|}UvnOZxXOvRK>!8KFOtT}y;hP`C7#nV0#}IsYC|#J z=B?FTlf5WNyh7Vi+zWcbT-RSfxuKCWu^Pxek-k+J#|QuF)iTy%43xzB=~i%29j+6v zIMAGp5AvXN-%($`Y_{Sm$5D4CcMcyGZ+X!vaT>NEvTrfrcVI&Q&K<8K7_xc_bmr#V z=SdpOqyDeU{=G0%kw+bpC_@s$+1on}?oy^)>}8V)3wj48{g=G)+I0PbjcNa|hPZLj zupcet{gxN1nI5nR-qX_AX8Nsif_?U3#!ykejHic6FxRaqVDi+dA#p-a&d{i{7v z0hVrzArezZwz=td5ImC58M!CEI9@TmRN{*TCry(V0RP$Wu!qd;m~9B~k3|x#A(zbF zK_Nm=xPtg}6Ani_NdqwnmV%Rh@hDH%6Bm~%7Loi-jxtGqn?o{LFS?WUz+G($a_oTN zZYq(PL^4jf&d*P^Fa!VX=Y??|w4q%$p z5gIQ|%)64h!wpJ(ZN8d*(ZDF`oFf1T?_|6>%YQV0-@Coi>J*TkAGi%B^52WWqZMfk z4Z~S9XpAS0@m7T0sED;23pB^;4c(5$L5KF;R7>$^7*@^us&3kM`MGN2zz@*Y(kso? zH%>z4LtVO9<*U-1R=xXxHQ+C`L*|m|uU-{)Fz%r$js63G^*^kROBJw*u>q9R0Nd22 zSzWD6QrsUA@b6kvZT-Po4YPx}mjf%8<7{%#={EEF55hWBdzOmJDi{Ihm{mI8iCL*F zDS!BaGsqLZU;bff8PpqfEx(3uc&MMp<}QYq^XOEcVIt{S3ln((Yq0o4j(uotF-*q= zc${m3zJmBww-geyVcC4XI8Lq_uELGn91WGvBO`(f?h83jj$LZ~g|Eh5D0kCa8~`3OZ@f6t-fC*pB_eIyNv+)O1tXp8>=&b`AjdH*aTh+=KG0zs-* zA6edn{~&UnCVss2oi`wpXBIxN8+%I@aKc)>+piJ-&i&Z-05_wS%a^=%@UgeFSu+T* z*Y%cPll9yCci6t3NTG6r3lU3>Jga2x#>Ga3y69H{$X_Cy;M^s=JBlLl_URv2u{(;b z4LQ8XRr&V4#qCbARr%YtJ`jZcT$LLyz8kqCnfy$_(c(w}*T3Vc7p{cujq~!SQ!?o6 zh|L79)mS3gBvR6Vl9OC}xK9I^iC-Meg-o%jvXRH!)IOQEm5Jyy$#bT1-~~y&>XCO! zti3tW&gBK!t!EL23jjr?;{$Cur5V=a=VPnuFh<_vt7kWSGz@VES$h%Jy@%q#N(BT4hh1%6}9Vm z?8i&wLPGE?zI`S>FiQFn{!Qgnr|-Ol&2cGetH2tzs^7au02XEIh#O1Tg#0$aBns;XR_^p@Az9FnuU?N3d`@!W|)`COI!&;wWxye1^_l zxTT|L1=c&*(qv-r3R!P_(+w;Cg>wygwwSpRepAc4Zb8o7{e<#4wF*8V2~#m8u)y=3 zz8}Jh;T?^w88=*=L`ld294`o-0;m>|esQkzoB=#(w&ZgKodU1DNO=p`?cWCNOO5do ziLaL@IJjT)$b6{6h-xPBcEJFRuC*j^80R*9P4VMh_%UcG9r1o(mrnKC0l0(I#r+Xs zSz>rj*7C9GDC7^y8@UQ9<&o2;KvCqIUaClumk`!-()-|&$RCy{CWp(*qZYL9`($Lb$z;X^AH zw8nJB7F52qzJVk?NRNfGX~?iCf4w@Xvb>vDy9bo5OKzRK1Rw5Amn(0_WZoVhWOvxb zSOP?_ub{OIE`=uy;rFrBP1#K~v>9&Fb}o`AYyK*?zLpetU-tHA|HJj#y_OSCqMTSN zKEcBjxJ@2dK`?RASVQMA#g>J7X7ln#Vz zhISb)0Gh~e%wl_&qtsih1rcsC#`r@k6&Gd;%b6I1{Y^txM zg&q_?b7XuR*HZ;apemX$OC{*HrORUcped$WjrYsP0`2@Up}6JW>*Jb|=`BD*oj36- zJ3-_xz;DsSoeVZ!-7}xMT!%op75nr#r8v*Q-@X`|8=~Ydc0HybDAJbg`$ciHKQiiF zrkO?!0)TdVaQg>U%pViAJtCY2!Y#4`1j39 zI8k<7@eRQ=>J@hU>1WRJtxca+jUpxjt|%3M zZjbIS-vk2JF4Q|qEtbl(2yYZtDE#h3UcP)>UB)j`t|dqwoR7vx!D-d*zi8M=^G2jE z1vSS?=~G*ygy1cgc|A19qIf0h*DZN+bDL{WeG3xdveOqZ{Gj1A88(AR{gja_?exuO zKXcrG_*d;rB`5GLq)oh+NjYhD9D)1tCGR7P0`h$@|C|!6TXHW}{Q-q!MipK1mwoa| zoXrNsoJZ_mfG%P`K7L!WB&E^3K%@ehsG6^j*n((`G@NwWa7K;%R6wO|V0gk1dX}{> z4XL?qgWy-x7*HkxlK1`Qgh}bsWPKY(#5A_lEadgz`R?&WsVY0ll6wKE$j}Sj!(mbq zGC4u#BXlxeHr6fx;YS8z{X(!~WMa9Lc1-b^a-xUBf#ad#$kd|n0Wp0a*lsX(r)XZGj>0|-&?u9 zSfDTHXgrbcdrG1mnyr!cfD)Iwr#xbm=$o~2F1?h!qyC)ri0*icE46QLtY1A3=+o*t^kH#reb zz1S?V!;bP`BjaVtj@|~x`C-Iw-5Ug=Hz$QN?Q7QF0@|i)h@TJTaH$=TMd1ub7p^cx z8uIH95qMKKonP&54lb5;wtB!_DOTk3;$nSi+f}@y^d1F|Rded2z>>VVOS3^+cLaRK zVJ3Ly=;*clMz+F;!!QW8(_knKom9{b86(8k<9h0pEz`2a6kL~v!)0akA6>3Am^LzK z`MPhC!`wu!g{x;9!qF(Xp%NORCMCzkg|-8m-^R$V-A+<4+ItWE)!1n97Kq*Rr!`{7jW!J+sy4&JOIKDAfbSke9 zGfU^+yBrkQJ6YB~!BFaZB295!tJgl4!Q=npNHqLFHs#?zbHJZBWX zrLqS2mz(l;Rp>1W8%DCO!4W%pReFz%smh*+yeKOezai+B?#O zaA8w(p?}IRG)=F|1gAM-me;A|fWetls%q@zKGvF^LXBvMkKIoX%Q(K*LynK>3)NK> zU>Z~pa__xdY2atiAGqP9C@X2S#10DmU`~`rzbBs=)o9^{3yQ+T!CPmf7m^u5&u?PX|5Yq%yQqbT# zb?1G&rwb)l4Y&%HUYn*#=Eu%Y?h(Q9Ik>HH+~;`Gg3Z+Zsp2xXQL(I#z+<(nF&8%3 z^;^hb5v`-y)nwhEtQj3LAZNQRU}(nq{PBKcS}evPO(kzW_<2E!5j|I= z@+W;F*z-WbP|w_xnAj6@PQ-keXAa$hCf-;FxJuwvv85TreAGmg$WGu&+9YJm3~YRA z+}afhWN93BGCh?yYsK@l6BxbX^@<~D48oIVv*uNPOy5H6aZTF*2i@SjND{YK&)OTR zR9`F%cJ_DfEXDi_N#m^H$?GFid+i!OT_<8Fe|O8w0JW2BmqTAB!Nf$%YYkl#5~N2+ zF~b=h`zV*33<#4`px0tTnP?@lsV9+)1;AVhu1|u;e=MhpuQ7eJQ@N%@ znmVPlP0z*W`}Fzc7=y@{LC#IZ!8PN0a@;XOLVTkkq;6d9tGYgw9wI=bQfHdup2ESp z_rT4?RhDP7l380d%3cRgrO$dS_Z_Qm-LcRTugX? zCM~=_pjyS{>BTk7!P}!ugOj}HcD`^g_@Jal5;4{4l;{f0-c?7Jo2FCGApudW!D;_e z4TE+=FIdC9#^8;Y9fyKw<|f84HOC_v0>_(_moQE7Y%wfE)IKG#;(|u_rO1J*GeS=7 zrI6Kg4DkZNq@3cV{g(NEyB92o~j@ zCo$Z1`tB+cMvM2HQnAaox2MLa*TMA3u&c1Z+R|t_6*~CPmqyXfEon(Vluf&J zFZMYV9mqJSK8bJ789qyz0zuhK4`y`y^Z9lN!ru2)ql2?OwEBGr-;`R#o{A~#3np_A z999`l8{vky6&$_ky{{>*hZ=(w^h-^sXz4&fz992E>WyXrtQ$5iTghN>jtneU!ZG1f z#i3UQ@oa(+92_Od4UIyAtU&JQy$}PyX?R`y7&jQOo@l(4E+_e#?anw}3Y`o7;0a68 zCA?AZ2*Qt^@0pAF!9C11K+>;9RFTvltKK^)>J1E+!3Io{e18Ej zsO0?^R!ZujE!)A(uf;eXH*hz(g*V}6=wwS@`QJ6YI4Co#mnlM`q8%f8ee$k!^sJ#O zqpZ#Hauf-lu$nHX%`Jp2~b3=$;FHu)krrxvx-(G>U|6ibXVdL0x1RS9YO zccjly3`S~&+a7KUB@sDHb!ocibvmYhM5br7EOdJ-xcW0RQj7G_p)sG_gqIIgC{^*+ znQUpziw^A({w9qWk<~@mGOY9}5$@qVX z-b9kr&^I6z3C<4wREn$eJZ?wzzn&=x*}u~Eq9}55JCleDi_w@ARC8F7HCFSL(rI2{ zB8h2ufZL(R_b!UDo3$gN14)ccPNS5`ClNrjF8rqTQDLxmSNbV8$g9Mhx&{;ijz0&q^gH)9?##HeSPG_#PNv`lNM7)g=n5uocq zt~OQyp_khajc8BMTOl<%ykYP~g6mh28uxeBkHtyb=+4=@J7V1(v6RzbC4p+JdKQco zuw-Ho5fJbFG^i6_dK;Hnbsfj0#Ed`7)hgUW2+%I|rW$mPCV9CzPBr^!@N05S`j-E^z^v&*XmENP}BMuU~b$xQUg0*}okHik6EetRzFb|Gju@grB`{-jf3mTuI1JTIAcshh?YsUG#PhA9kBc;g)aGRr=$kI^I>(KQ zA0c%4ro%sInE8T@WZv5J&Iz8P`JQ^yeb43_e@i&nrnj(F4BS7j{PTNLDU#b+HlxA; zZ?zvaS3dQlZU5(wBMNJAkqOe{iKDm3J0WZ?;moV8a3E4i{p83Y9|A!(r2iWw#CUyS zWFmrTTLk_H$qhn1XaTP@Ti*}AoNLy64frd4?8xrsgpNSMdk;&=}K~^Yxa3Waq zue}%FXrM;mt@{E5Z^VRkFI~pRBVnn0xH%FbMI%1Ham-4#xJJ37Ow|j_@NPgLzee0< z3U?~f(gbHul=o0~Rso1|V(pH@uXx|*$Jx^3mH2PPG@V;h!7Fd&&p0hyR$aWNv~j4* zL0z`&$0OIMzD3r50asG(QM>#IK}2bwuhuy|d)MC9&qtq3bwai}G0b5)w+%|ytt~~K zhmOADFoH5ALbA)v0>t?5CIyuw3%6As(bq*xuTkvUO9d zs+VwR8>OJfv-axtsXwoiK^2+DqZ?c-@6s&OaW{z6F@|YuWQ9#Ff0^=X`j9y~nEugJ z!ipJ_O9m57N>O7gwA)VKSXn;Kaf9RMzLjB8H;@IBDue2-rjf=JQpY}S5iTd8{YUJZ zmL%beNZQT4j|X`~a@50Gv%=z08S(qqphRLrj{T<~mQo`3RSZlNPq-vwS)^EsNT<*- zrm$de5|8LSs~wAo1lT!1rzO~hgSwy=9AlqJ3PhlR{{rIue1CR2hr?r3-uB`=l)|Rg z`9^``X-uGIYN94n4>SF@tTwxHq)WZW!Z)PL)LIf(=!xmZa~Ki)X;uT~;|}|=tqpq7 zRz4V(LRxw$!8@ts64#^o42g*kM5G$2{*|z#$$h;b!2NxhWK>S5o}oNSxWB|-!1)O9 zWifY37AA-1RT-Xc{#a_Q8FtaV`v*`JiERmHsq7Y5`{OR1$}s^aPwRWuOEobY-E*|IV7ir^n-+`N?CYv}kaamDQ-E0)$NJS7D zb#L}CMq#s(G$r$HVOjrJBMJp_iQ=8goa62}tD#zF>?1eM{Cl5+gnVhy@^@VjVmBxZAz>udA0pt74m$1U9{cAd?NTz@V3?oR)M;*s@E7cEApP{ zA`uCWAJJK{EBNSMs=H*r%7WOyT{u+ag&vH9`c6jNFZUy_IEUSkQrAsIehIk*2wIa~ z!UK+fq7ye|@oIn?lRH&B&Jnng;%s>(bnjE-CDK7$%FK|o&m;BAOynsCd29{=oy_TY zSwm)oZE4(8$H^5aw_bXnnd zZ0}?kJM#I|GSJItL@VmQ7?99w=Ihsp<8tbgS;z~Zsv<7xFE2cQYiYl|EL9R__WFSG ztMVE^6=rd<&m?%Zqnt1>%mmH7G`)t!)^AdrjgOBtCvpwWaSJJ!p&Tz;IOesS$Sq?M zxhxmHo1tq@!$XSu_U|IQ9whYiXm4%NlI!;p1{Lzsgeamr_?fT$WRBMP&pff0v+Jx6 zPys=DxvUz--L`Xt=RP0fQ-FxvxO*bJ8A~@vd1BjbnnV|G-sKBO`DvVaT$=4GU;M`U+37B!6fvN6JO~rH=}y+4smoJ)xBZOf}-B&B6WOJ(xB3DB|{~sL0m)i&nkBon&2Jvvd$vhYTcllLlur!PZ9|U0QAG!4%vSTb=Z&r(S$J zFfXj$vL?iu!ZKdB%M%;eJ4r_IMK7uV?lwqxr*3acoN-6Gm>S6|@@H7cJiI{3k^9@# zvSVvN5~nT1OPs|H;Xi*zrFjwkIfO{>52cH`pZ)F3%FCp zk(tdmr1cN(hYsJ?xUCPL#tm&3fP{AxzZW;RPIxt2|1nv9V6k(B zg+HI!+Y)G#68i=DeUM@X7vJNt_fhD=0Zes;^+7}S@(lkavBz1yXYS)oX>Nw{37f}+ zZ*+N=Q&#rN_?&5QFL7&g{HE?wPAtS&`cT|ybu8exJW`C~K8F7~!5rK05H-!BHN;UE zfyp~cXGf9IxA=R%b5A(aAYox2q!uO3exBh7M!*vP0?ZRi9C5^>JJ0AA-Z=hOru!<9 z{rL`^;s^V``GD;2T=SIm=cv+VSW1Rt<8dj-!W#x3YV6~q-foO1U~VPU>eB~}B;f!I zi2jR))IMG3CjqT)6wB%0%d|PYfZMg*+g+BE%kQ@T;YaF6?eURI%!#c~Em-~q42*l| z7qM{P(8PK4RKP#qrUs@6eH45O=itcMNmi9$YL_ec*9#xX-$`e$5{PT}LJ8M1*F_bE zW+P2^)rk$7PknFx3&0PjnUK@kgR7#$5LEqz+u1A|7?!D9#*;sZh}!iN>PGK3>RTjP z1l?A#BVdcUvg!(mt_0DiS-x!D-@%iZNn~4J)yccn2ZpJ{ta(pc8@40ZH6<)pjFu~d z^Kh&YW3{d?qNZ>kDH)w_A0Oy}ij2b)k3QKmze}B~q>j3w?+Eb+t_%#cNwLb~Ad$Jd z1OW8S4EUXK$77bL6(nQLjyl5_#qeSmY12JV+^s0;@+2?PrwB5GHz#_N96^1IK0sYo zgT%W%oiH9wK{_H){F?F?5dEgJy61)ViejVXkBG_{n{8svXu3m?&`vJ&+39+#c%If4 ztDHQ-@PVTAFJM||_wB=t-lrjVM~?KkM%eQQxyHu`JX+*6R{La${|NWX0urFpXPUmG zYhLZFeZ1^qg8_DYNw$_|XLM;Mp-HiSnpq!;Ptf-wo~~CUHEa?Z95%V zBwLwyl#4=7^75&)DMLskh>lZd$5%2(h<^J%I7f`W(U)0MmLS!aYziP6B%Oa zz@%*8i&~R%!PsO`{i3NVGIdwYue20FugT?cbdrZV9U-S zY!@oG>=h#wdHx{Qq3au)ednx8H?IatEUmpx?G+Uf+q8@L8MMCkJ{s!O3gM>Cz{xXh z5nnh{yLudglFcU*$TUzkkpRc4H?aet{3IRkHCn?63=i2<|HyL+{$ZZRf7B#K>K_H0 z*pZ^vsfh{*QcxG5*L-{zUd>lH$N3Qzo?)@_!8Dsg@F`*L8(Rg7)K;WFc550Ue7U6F z=WL0#nC=)<=M5$mX&KTIXxbZ$e^jqNm65;!bU6PM6+>W&$F3t*moyP992>y}= zEvOdhN;qq86Z4Y+6=xN3#FnA$5ZtxJ&>C=aePF~+pY)3~pQYXZJHsIDFzxo|fwT89 zw>TxI8w99*x`GZCp%XJ8mp8!wwhmgCw*{7&#N=I=OS&oz9NOF$mqQeE5ewLG8K#kn|e5qow^+?Rd!FMR!^{kc1Ig+EL@AWnge(|)Fx>4cW&KgLW%e(IvR zP6MBEQ`49DKd`#fv|~iAHm!lssE^oxB20Bcj!-7L=6th})hg?z&{s=fhN=ly@6hUY zIz`aW+X3dD(iMSdyn$8eu4-Z59oEcvGBaa>$p8mbpvI%E51)ZUVI#zbz=FEiN=a~U zcIZWn-y|qzgh=BJ^QiH4gy1NcF>M(=cSGNTTP!FI;>x$>O;~?MBm?}@*^^290ZYFi zV>BljLZyF2Wj@wkMzBS&YmK?ujLZOhlj|TcDsUb=p1Wwgy(Y9e$C#r*T1QUIjSCi6 zdn7H&)qw{OfAtDe`&?r)TaI);Uo`+~{28Dj!l&??L>{y=zX%Ck)*ryZVmt9~t+UA`7ScPRsqC!Lrm=k&C+RINh)7X&SNa1%qu=4!NIh z2CMSKMv2}M(m{geU_Zl4yOg!DuB^1F)LqO?fS*REE*FQTh3u5ufS|}t-qw-C03l2& z$KdHsRD2RY|H2}COQP$Wy|8u1^!TgY&_K=7{rb0N2SGBNUR)#0sSPp4FaHR;mP`UH z`OU~_f>RqJ&G$u*=tO+!0zQl163-~8zlXEKQ}gF<$4g@0e76{4NY&(2;*LFl88L#o zzu{1}gdCqDI+(*}YZYu3H61l*R_F%HMC!a^$L zI{vd;{)RaZK=-ZsS~Xaly7;>;i&TGs9UV(Sz25%2-o4PHmdyOq>a1fal=nexmZXp; zoNMukd3#l~hl9TWPSut^(x%VnYBU%c-H5CX7v~7`=4MPz4s@CU(mS+_BD=&E76gF{ zb$Do-RS=tLL*F=&h@czdXO3}Ajcg}Y{Q(xh@ObUZx>jMaw9+nYVRyU5idJ#d;W68M zt|FF5rXeRQsFy<$nAuyCI^}gDy<0D&{om_ZoLPkNk@~*@wUB=0Yyz*_{8|j10iyA( z={sJiY4HPoo)Yr&Ifb%U+6NigzW{@yf@EIM@9imOVt(#ojX{e5G&8K0d}loK%u1Y7 zhQuALe{6e=5#P^uW{+j@WrW>{@(?(~$Z{-*$~?{P`}$dwN-HRy^KM0EN5W` zO>h2LM1QQR_F)$i$Ec9@8@w~MxJoi4-X%Awj+6s^EyGfHL&+$%`LA1k*CwDF8q@wH zx&XrO&gLfUgUSa1ibbz`>(MERD%pjP!K+mPazqA5wq&$6qk1v6yH-Fkz{Px#``R>r0`8p5}XV?Lkb=^T2V zr1}O$gK-2ysHJaOdgL#FpLfLh(f=}@&O${h|Ey9aukhlb>Y=xX&|s3RnS1P9Fp|-I zS41>Iw7Z(h9Jx!5h(p`0dO>?P_#}$~i?vfL0+;se3@pUi zz8h&A{JP%ud%I$j;4*VoA>4>&s%a@K$S>R6>6^3Bd!;eqv9_b~{erYb3sk-fWPag4 z6m6-_I&5>24lti(r77U2$ulwJrDr z0V1O}_jd)Rr$!Qv(Sjlk;yK*!9SULuR+9Ij*P}@BzsX12-;C`I-cteE4|S z5<1g^r2^r_G}m(?Rr4XmzV68mU!{YCD&N&$`zTn_*2zm@TO)`Kj?`6=cu+SA%OunX z5~sM&B@0o3Ugz^(j^!jLt^X&fDpu7WN}X~}0mqgpaE2M~wXtQFA2z)Wk1!4xeMJ%) z;?#_=nk;kxIQn2Wum{$JFqV~KUBmCUEvl#Se;5|F46)9!Fkk^YkbQKW>cw++2Vx{G zF^B;(7Gu21om)wT4a@QJEGd(7RMvGohJXJ+)Qu3z1?%Q-ST7dhO5KEPBKk@k!O zGOFjOsNXr#K@2&9FlhcA4`|)tlh6<`_oL|x?UqglY_XA;#GCa|``1I^D5|3f6K+@) zQs9chFbokVnvd*iyfOjZVs)w)>0*H=yYifV(Ss->cV@rT2=7eYxQx7KoV*^K+24|7zm4aB73 zSNJe1GO)suFh1GOn6AIaxLll89?Cm|4_zSVKhH|!9}sZaI6d(#a#~Q?B~*{SP?exM zXJ+_+iZ#`yrU;6-QJ|BP@4wcZvuXz$isJtO2mDVL36FM$su!!CwG@;&IBd>rB?KXeU@sTa(XfHa8L`M*DIcsZ-0_6WD-GcVc#5FJCH} z*6AUgE#5%#5t2HAl;24bkD1^fdkC&xvS0MAPYRpcV zU!KC=5G0P$C6QA?IRvtgE%W+SCy4N)CBr1G;0#&OSa(~vy+4+`m5R{E1Z9V)wd z2rNke0CVO|MUpNuv(Upd)f8LhG3v`5^SS4qXMcJ}I+95_C$D>#m0Gynw23n@8j6#) z`wwsDrB|;l*(GgVm|$^)KPd97hQgRE8dthT{LVRn`~sRZvf9}(TseFZ;&%T4C+kaK zDG@ImV*q!xZhc4irdKz5?G=b!ON}~^4YtRw-_CWiTLLUvva3m~4Gae``)95_>(evM zF(>9DI@s=g`P5Az8q;j^&TvNFHJ0+1l^N4pCfOtRAFXpnriXkYSz);XK+C>2Q=E8m zkx1MRI2+(BELuWtg?zAvZP2|osM#Px1b$* zmLr*~>=!FEDI|Fc_+m)L7i@Fo`tB$lhoObN*+3P6(l*U8M+~`BkVPTRwI>0Wz;!>` zh_$*F>>^^#-ofx5ew1l|;xw1!G@3}%%gBGY=an~+yN4bW0;mjE87G;=4n<+(bRy%8 z3^r1xg(UMDes8h<3g*{>ON)n*LZUl&0LL#;?X`72F~bGKZqg_*<8{(;^#^KBoHK`T zdkt3_7_cvvBP3(b_1ci3QYmv>PJcC(;b5z7%<6a0Hycw6ehn$%^UXVHF}9#U0CdPF z$8QdN=(%|9gHFaUsH74!oh0M`0B+vrJh!cHJ|VYQp;(wll-y*2%rI_P@a48f)PEd> z^Nk)i1lwCg5MTh?;GTPW;M1FbhGDqj?#v@#S5inbk>`?dYN>tkTpECjGKEl~Uko{J zM|W?o)K?7n;#g!{s~Eu=P_q&L0NT0XY}n>sg|mVDKRj0iY5_DUkdcjF&mFzCt8_Mx z7tBGxz^bnV_@>(X;!nfISR=*?i8eXwf#b3M)pyjTe0>cnIK8mvoA4CGsx@gjm^zSMguIZjDh2Td3lPAMRTZjj20eh5pv$-?f(G!)|YU+ za5R?fB(g`}02R-+!+%`(RvZ}2V`BR<<2lI$eYUD!#~fFO%V#7#lXk2$ml108!3K`w z9}z93qXfQ^8G_|m<0IP`KKQO*#kjri6S~!RHoZFsL>mu0ZhiAynZOgog4?uQl?NHp zMt^FPg^MzmM-Gx@427R-&AxmR$#Ir7P zNi6%;L9nKgbof$63PjUq!E!NINDfE}J?e?@m6}_~+NVLDKrkk{1+06G{?#63a~p~M zb{lRE)OjAM8o;eBJ{*}AT7CkHp&q`B`vV`eT9mf)p zF0?auexQGf&L_j|`y(Z#)M48PO8_-`Qk#p}E$32lV+WZT$N2T5 zRf%zl(Wlv0;we0G6FC_@M_OK}WcfipCak<+?d~D&M$wQtXEdV97-VA{*8u?Jy-hkU z(78sLrM=9S$Ut%oq-8)kqxqw_m7qw9>4AtR^WdY#~ro54~`^hvNf>;;B+JmlglSPPpPYhEaZu#lG%&k z~{qS#VWLD1;|9U zy|hn}B}1hTs^pKV)2PZRL^3RnKdWq?GmqF&_Gd=CS=v4oJdu*JDiWnYCpE}8-y6B( zF=}tijYa~ld&F}m>T9uGMkTkBHqUuVoO#y};_KH_@~-24@c#7T+lTPs z!;Hg>K(|Y{x053)j*L3zr|{Mb9B;^PSsUtb7=;IHfbLX{j@BBTnnDH2o%7E)ShfRkfJh}S%*IyavgJHgwp<(_R-f@WE z9w#5AVT}qpOvRLr`D1`bT=cJ1rD*aI70>&Q$LUFU{p^`c9&8fH3qgd-XK$DyT` zR#sN_$rZiKtWiRtnlSOI(>1F<<8B^wQk?(=ZhQeW8wuTH#fHucG zQr;)Ut+;$mCDgK^(nobhe7rO5`d63yP(uc!PtC!^ZgHp&^qxoS<)0pX@ejoxi;hcM zbOj6H;&ZM%fsC#|BW{~-(`?omq($*36OWACkHbqOsnD`xN$@|xNUj;|*gD9hfIWVm z6{Wj8VX^|`=SewV@k8C*cB~^Qft+u-9*6taC2Z#OWF+0+E65mvcf#hcR+edLWF8Lq zkuos51NNl<01t4mie~MCZJe;!`4LX;#6mqv7Dmn*H8|Cu5lG29bc%6f;~Qc=GD`r$ z1&%@U5OYcG%85TY3waTPPp6g%0gOi#yK)-I=j>=@vJ%LvE#z?~*inO@F_T9LQWrSe zH{p_9el<)}mGD#pBD${$?ONSTtCqmY&U0L~lG@66zYief))uN3M1?d;4l61S(+yco zj!Qx%*;8mW3}c-Eb!n&^fNI0|eL{ws(469|mqMtiT-XznwJm!xSd3N1dnUoa+LYYG zr#eM>`BgEo#+uPzHl!S8utBGlFlhVR)`fS+F-lBt$3TDu8Rhpi;bIi9`_!^Ww%btG zEbv4MYSejRnH6kX)`;zRapE(Wq3*~=aVN@Z9wG4k{j80sMG66&M)?EUrA{9uwU2Js zP1-i$Gn`NoHO#_yXe_MjE_9@s!tNPYfHx}rBo7g<5qu%B7xvj zHmwRbeDm@j-ihNpEp8)rjZtHdy`*#h0H1muNjeS2(OltNL9Cf)Mhhw2Dc>!=;CW?wGQn>nDKVE_ z2XU}F;Ca#52md+GAU`L^=<)6ebMShm{%pFw+Y7u#p{*XH4*2U3{S!(%vtT}&C>s<5y z01`MUxG~=Z$}D9ahczRSJ~_$yRrO^vm1JVc*KyrGetwk<#U_oSI$2ItvNAjm?M+P! zN6!tyu9|Tg1ZQqbs|W8|Pj1%bV|G_z)pr=H&&A&ZUO{-*JSBC&#GMM;r(ADTyPFHU zX-Zr`=_i8@bPZ5d_zZywD?(BRQR;@aClv$tiFNYx~-sOsuQFaY}c)Noo&b104k zF6X8>RilFZA0T6OdQ^y?1p&xmjGg^Iobi`Nq|2ZFAK5*p3pcVZWw_rU=WO!l{PxXV zRJN9NIFRzo9DhA3vv0(shBS@~LxKPSNy$E2U~)U>ewm|FipL$J-NZ46 z{{Y5!JZ5yYww8EoWjQgiT$~a&AZL7XIo_>Y9@Q^El{i$;N z3M<&oPSPw8`tyQF1DB5~ifiSIv{K4sPV%dP-%v6~xZiE|J_favn|l`s}b0D}Oag9XoH~#ezNM3mtA#wc#^7J*9&7?&B65WA2*hNH5(h_Ni-Wb90Pk9uQq4-W-W>Nx`E<~hm!-qkna zY^{QeTaL+g7$CRyrluvWkWXi5VizpVLl8A!<28NwMr(6usSL6>AL`rfovMMvFRo-< zJd!+l&O(8M=~mx^Ctk?z;kL-sXFUS{S8aEY%B1 zgIctmDk9mYeAm!P**3CGWkMTz%DWa%uEfo3^r!=2P{@RupUR_lz^`OLB$4EDq+CKQ zF+8`c3pgT^->5pX`l?2XbUgjr)zhLKRB z{b&oDdpk8EDfJV~2RO|>I58Mj@eYre<8XaBQd_tL1=zGRl6Gx4YU$mNk3w6WGAPoi zh8}wwM=qs1uKDX$JAjfFNZL5a8DiY&P0g}Jf@W7Id}g{1fts<03cP4mJePCS2FI}Q zt2MOgd2V|`5nFJIa6L)>e|oPC5x(vWfQ^?p&%Z%VkdZDO&?x{2l;=JJ#<8v0v10x= z!V%f!vQ~E0%x-#g_oPwkh5I{_Kn!;0gIyZJ1WQK*XoxAvJ2RfY&nl<C?H1+_UXOq{4(^ z6Ww08&gAnM@m^G(_Vb1^%_Z&PODQ-&y>K@41pTRB8{uf9OM*b zBn)riiWer!<>GPZG;wPvc;uHc+J=no4&af3LG{i*oSh$wB5Pe~WU*w1aD?erBT&bX zZC=^yima~3_Lq-lfzn-<03~)9Z2gMv#baZbKpNtbpkZ}6XB=gH%N^<1JVPW*ubdZXWbTPs0#2|%opH)Ex;G0Bkh zAdG!6<6Aw;N1UFv5y!aHUxk+584OO1g-JIcWMpsk9$wW^eNAwCLbze8NjiZZMDric zl@-<3;~%wU&~^j7ND2lpGxQm#qZ*e5vZEtzR5eFklQM>k=Q%;JW3d!G%&qbRu={va zy5&XFr(TiMsHym6g5F3G3oL_t?S>v%>*Zb7XH$AK;r7n&g99);@V|Pq+g+k)0o1y5 zl|VmHM2lE|>7pYi<|l#1J-5f{Lp(A{RNN>~M(wfB+NYD`$|AU}3}|r zgXl*pTNS;v@iEUdVSqo@0ne2ZV|!&0t=oV%3NS`GA5TgGdy^cblve*tfQLD4#&uYxUVf>>|0dY83@S;`Ptk$;- zvP-r%SrDJSJ~k!Q=*yP3b|MR@CIdTdw~-ZQ_&KFVbO3VB{xwpW&|MJ&AY7ak+nkIc#saR`^UqqVk%l3>d3e$Gw_zPsa;I;U z??)s8Wwu+j5HTd+5uEdH0Yt?emDddoCXpe|k&NlvYOOTW1!i^bryzWM>7AA>ApGN* zp9GWrB9=1jQGLM-U8K>52&VuZaufOr4(je%rwffDF^mI{ryJs}lDgj7$sBKjFf-TG z(v|pb;^IZNvxvEsHI`w?M>FU)_4llA+dGe>BSbO=CDW>ue~e(0QBl_rS%cELL6t;_oROc{9kp!acLq8n5L6LBa^W_ z&s+r^I_K7|_FPAU@%+CJyD>jhWybjB`co-AqTF6visLe-oG)Gch@b$wWcdnVX~9^K z>@=rRMi0`R&%-#3MVj3poRhw0Ds$oTnpJVZz9Qm^VxHn29|tE`4qb=-?te^HQA6_a zrS%YeP4N^_ESwL6>6PRKW|RPBSBf-{}}08G^O@i0b3z$ZA=Ir)D)DroJ6yDPhH8%qKAqmI{| znH|tid3p0AG`As&AXbnx@+Omy=_Ak2!mbt;Hde8TC)62$8u@R~o}T`cvw_*HvSCys z@@$^#k>k{4Z=V`_du=CX@Qs`d;ZJzy{{Xk^Nt~^Yf}{Z?mhxQ77ipJ6s2pIBdWzB7 z^afRrSqC{gpXbuI{1v>`x+G~kRNYBTFsQ_f2+Kt?vJLe#^RxA(n=*eGUy=y(tmH=S4c!AnQI5<5pcc3kv<~yL1s-ow++Z{Ro z0J~}pu$>|F*0Eb!naI@|j1qun*TfpF@fJ?Ou3?d#NW*kt>(GjOrg*f*(<4PF*$mp3 zpF_^8{CXK}<`9*tC$(L^*l zY3`)Ajphhr#>h`0=1$Z+{BBt7gg{&19o?5IqriCdqU5-e`q|<(uP7s7jU(&QmOYr0 zA+5n-$wLh*N@XkfEaEq?&nIgnpr~91Ve=m$&{BC6qH9Fbhmd26eQ+$|W@1Fo7~eau zpsM}N%=Zpm(@OLeh#3&RkTD<%4}~4Ve+nhSsO>sur=2Nm5=ySGK9xPMYZRgLf_!?> zwV`S3vB_@5yA{T^I+>3p^ZkWQ9iM3`+r(Mq1H8<0gX_|j$HX&s&gUupZ2Rq!?43;#BF~Nz+Aj$GR^hJwko9D zL9H!TB&AqMEjW8 zdunDRG*Uq{p#~14~2@zm{oDw?dT$A7z&l~P z#1B1y`qsj7Hc>!vagH&=nmMGoo3S`nMSVpZ7;KL~Fno`lF2DGfi-{$+ULi9_AuVp` zN|FaJFm@o1A4;{&!{Y!mV1`X3AL<#-KEV4`di#gk=0ww}6zXL?F}8e0a0W-0K2*h% zdoknIg*Hrl3cgu_DsQ*RZ}CyMn7EDfR59KPd{wH zY9~|R@7Dx*^6;d#aKU|a6!&|FIPn9WF-iM2emtXJ(kpnggdi0ro&FXOh`@uR4jA}p z2lY6iw`_`O3?isWBW^WDNUYG15IKsqLb}xF$eG z&bzvgI?^s4BpN5nF*^`QW9jEzXziZx$?fGu#mPc2G{~oKERLM~sO#%wnZQJ2r~%#F z9~^kn$Kmr>$X`!u5y8m>WP141I8C^Kr)V8C-h}p%U3R5al(^&=;Gaq+@=KW45-!=n9Pva;Xe=%ju8K0T?&&+@&Yc; z!^EQuDJ;A#pqwxwt}`HRRJ!Ugd4XEhi)dI=F>W~uU&N;TJ*140muwzKl{b`yQ@9&- zs{a5Vb&H2fF1b!d2Io)Gmisj`nO;xZaU#r4ty^T~tQ;X?xw`C@ISR%Bd>@?t!mBaG zB-c#++=JBYD&fOrk>SE2U9pJHGq+Ph%3?FP9jiM{asUgF0vwZ%9|{KM)^@ilx?zp> zAP#=!r?h0ZaoMh?W3mI+%+YYGPbRyFjEbb;-1kO0D)RTGG&M4@c#*~y(f}MU%wtoJ zspm^B;v!DXS4d&LH#Kd(XpHUH+5#0$2_GQw-(Y=d6WPZsEh0wP>gBZ)@6v|NqPk_y zQ6s{x#MBZ>%;24eOjOfiIdmv2Ji62*<$ybH%fgt1vRK@Mu-iR1CZ8fl94f~_!si*t zALf%ma};tZWhF-EJlp(HGG8pfDkcd#0pmjU66kNN$`&RGobSJ1=PI@Eo)7u&b1vgg zW;5~)fWY(vol)&)iX184Q;ccp{%YOBc&06s%*COGG6Z?ukMnB8gY0l;UK?uHkg-YQ zKa{`>$XN0tksd~ix#L`NOMM1QQP35Lu1;~wKg?2Y9P{xBTKa5u2<4G+u_KqZarCDv z63iiW)tq5+4(FbJ-+BpSQrW6hQ@G{4@<#JqN?fqXVtMo0gR@8N6Y$wrI!Pn0Dd!Z4 zxP|ewk8a2!9CGWQ*1h2NsFK}I21>+H4mn^PZT|ph`qoA?6Lw16Mpxnsx5gs+~)bstT zc$v%4-uHx=eh#y_hd2dwsPQ{~^cTXsGCBB}lni!y#xb1o1MWxOpL{WS7Z~85^phZ4 zlEg-*V!?L=dTmm0OIUsx;Kz&cRWYw>@o2_NHrQW$5lM5B-40%Be`dEIL|+r!TH0Bs z1h!nuZ=zXP0f0vON1proRes_kMApCpH4=xwY-k&stE=8Iad|J#E0-gpf_Zyltadih z-NGhPOp)PTdg(a;`(RP^wlAErZe5XZcvgERf<*z@a5Mg)xIb)DL>B7|1HIYK4%plt zL?1(%f*WRWI>mtNAln)4k&*N@HOno;COtij+Jm7}j5ag$AoB8{dtt7K-qB+(bYpJR z9{WagmQl8G%RLXh1I2i=T9p3)`4Eh&sKXEQw<;~TkN`Odb&M3wGI7ZN0Dnra-`qzf z(_8Dp9F;BoC!jy3)rlI~tpd-)-KJS%Vnbl(P6+YXZAYt51Y=yCqMr0b9gcCgl@A4h zETd4>kVZO>AFUtwDbQ)aQMlWY_UT;c#bGggK`0oyL%U!WI63go@7A?>plhjPQ7lY5 z$adf9>&l>R-WzA_)Ud_|aKI1kmovDKt8^*F5Gl?Akzc-Z&(A zRmX>L(fCG=;x+8#8qO$@Gvc)LQU{{X}aO22UOQZZHg`FkkEs;DcGjq_K3ikTHeor6i!pWdhqJZ*OvRL&0Se0->* z(7c*O)8R>Fhli+aY%qEWU%`rA&t_KGLdwe;j0n^c z-lxOfva*Hr5T}So6jA>G`!I?>rH4OZ`_)^BH20epDGHnbi;Bw1P|x6&B(kP= zL>z~ytgN9Jjcg;12*lE;StUB#Khh8Hl4)i1%WG(`Kyf7D#@l!TPu{Y!x1?bMz}AZ@ z>+YCP40vN7sjB_LX}xs80zh=<{{U&MtgL3FAMi#a_{)aI*adD*JGbv%P<=02aTF225k+VW*-3c-Q^JCtF_=fiXLHI;3*^|+*6hU!th!HTaykR(eJQ2K7!pDNLP1;> z&KP)k99C9R+)%|QL{`_rWY6NGSL8ulhWc{-D#60|OWnd8q+to)N(Nkd5w&Gy47Jcv zc3Nz>6{KY*uE{F4iHUiC6WbgJE_xm6h|Eztd-xBS|JGxzD(v#pw)icFx(X btfu(=6ZG^S1@5HDmini component diff --git a/packages/remax-cli/src/__tests__/integration/fixtures/babelrc/expected/remaxVendors/components/a/index.js b/e2e/plugin/src/components/bye/index.js similarity index 100% rename from packages/remax-cli/src/__tests__/integration/fixtures/babelrc/expected/remaxVendors/components/a/index.js rename to e2e/plugin/src/components/bye/index.js diff --git a/packages/remax-cli/src/__tests__/integration/fixtures/babelrc/expected/remaxVendors/components/a/index.json b/e2e/plugin/src/components/bye/index.json similarity index 100% rename from packages/remax-cli/src/__tests__/integration/fixtures/babelrc/expected/remaxVendors/components/a/index.json rename to e2e/plugin/src/components/bye/index.json diff --git a/e2e/plugin/src/components/greet/index.js b/e2e/plugin/src/components/greet/index.js new file mode 100644 index 000000000..712ca8287 --- /dev/null +++ b/e2e/plugin/src/components/greet/index.js @@ -0,0 +1,26 @@ +import * as React from 'react'; +import { useComponentInstance } from 'remax'; +import { View, Text } from 'remax/one'; +import Badge from 'mini-antui/es/badge'; + +export default ({ name }) => { + const [state, setState] = React.useState('aaa'); + const componentInstance = useComponentInstance(); + + return ( + { + setState('bbb'); + }} + > + Hello Greeting!!! {name} + componentInstance is {typeof componentInstance} + {state} + + + + + ); +}; diff --git a/e2e/plugin/src/components/greet2/index.js b/e2e/plugin/src/components/greet2/index.js new file mode 100644 index 000000000..3ba8c87c6 --- /dev/null +++ b/e2e/plugin/src/components/greet2/index.js @@ -0,0 +1,23 @@ +import * as React from 'react'; +import { View, Text } from 'remax/one'; +import Badge from 'mini-antui/es/badge'; + +export default ({ name }) => { + const [state, setState] = React.useState('aaa'); + + return ( + { + setState('bbb'); + }} + > + Hello Greeting!!! {name} + {state} + + + + + ); +}; diff --git a/e2e/mini/src/app.css b/e2e/plugin/src/components/list/list.acss similarity index 100% rename from e2e/mini/src/app.css rename to e2e/plugin/src/components/list/list.acss diff --git a/e2e/plugin/src/components/list/list.axml b/e2e/plugin/src/components/list/list.axml new file mode 100644 index 000000000..07c069137 --- /dev/null +++ b/e2e/plugin/src/components/list/list.axml @@ -0,0 +1,3 @@ + + {{item.name}}:{{item.price}} + diff --git a/e2e/plugin/src/components/list/list.js b/e2e/plugin/src/components/list/list.js new file mode 100644 index 000000000..6fa7b4d2e --- /dev/null +++ b/e2e/plugin/src/components/list/list.js @@ -0,0 +1,23 @@ +Component({ + data: { + list: [], + }, + onInit() { + this.setData({ + list: [ + { + name: '1', + price: 1, + }, + { + name: '2', + price: 2, + }, + { + name: '3', + price: 3, + }, + ], + }); + }, +}); diff --git a/packages/remax-cli/src/__tests__/integration/fixtures/customCwdBabel/expected/remaxVendors/components/a/index.json b/e2e/plugin/src/components/list/list.json similarity index 100% rename from packages/remax-cli/src/__tests__/integration/fixtures/customCwdBabel/expected/remaxVendors/components/a/index.json rename to e2e/plugin/src/components/list/list.json diff --git a/e2e/plugin/src/pages/hybrid/index.axml b/e2e/plugin/src/pages/hybrid/index.axml new file mode 100644 index 000000000..ae6d2fc3f --- /dev/null +++ b/e2e/plugin/src/pages/hybrid/index.axml @@ -0,0 +1,2 @@ +mini page + diff --git a/packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/native/pages/native/index.js b/e2e/plugin/src/pages/hybrid/index.js similarity index 100% rename from packages/remax-cli/src/__tests__/integration/fixtures/hybrid/src/native/pages/native/index.js rename to e2e/plugin/src/pages/hybrid/index.js diff --git a/e2e/plugin/src/pages/hybrid/index.json b/e2e/plugin/src/pages/hybrid/index.json new file mode 100644 index 000000000..929ef2d9f --- /dev/null +++ b/e2e/plugin/src/pages/hybrid/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": { + "bye": "/components/bye/index" + } +} diff --git a/e2e/mini/src/pages/modal/index.css b/e2e/plugin/src/pages/index/index.css similarity index 100% rename from e2e/mini/src/pages/modal/index.css rename to e2e/plugin/src/pages/index/index.css diff --git a/e2e/plugin/src/pages/index/index.js b/e2e/plugin/src/pages/index/index.js new file mode 100644 index 000000000..e11859e9f --- /dev/null +++ b/e2e/plugin/src/pages/index/index.js @@ -0,0 +1,49 @@ +import * as React from 'react'; +import { View, Text, Image } from 'remax/one'; +import catImage from '@/assets/images/cat.jpg'; +import Greet from '@/components/greet'; +import Badge from 'mini-antui/es/badge'; +import './index.css'; + +// CASE: cloneElement +const TextElement = React.cloneElement(clonedElement); + +export default () => { + const props = { className: 'class-view' }; + const [obj, setObj] = React.useState({}); + const [touched, setTouched] = React.useState(false); + + // CASE: regenerator runtime + async function handleClick() { + await Promise.resolve(1); + setObj({ a: { b: 'valueIn:obj.a.b' } }); + } + + function handleTouchStart() { + setTouched(true); + } + + // CASE: 新语法 + const didTouched = undefined ?? touched; + console.log(Greet); + return ( + + + viewInnerText + {/* CASE: 新语法 */} + {obj?.a?.b} + {didTouched ? 'touchedTrigger' : ''} + + {TextElement} + {/* CASE: 静态资源引入 */} + + {/* CASE: css 中引用静态资源 */} + + + + + Remax + + + ); +}; diff --git a/e2e/plugin/src/pages/insert-before/index.js b/e2e/plugin/src/pages/insert-before/index.js new file mode 100644 index 000000000..5be494415 --- /dev/null +++ b/e2e/plugin/src/pages/insert-before/index.js @@ -0,0 +1,32 @@ +import * as React from 'react'; +import { View, Text } from 'remax/one'; + +export default () => { + const [showB, setB] = React.useState(false); + const [showB2, setB2] = React.useState(false); + + const toggleB = () => setB(!showB); + const toggleB2 = () => setB2(!showB2); + + return ( + + + toggle b + + + toggle b2 + + insert before case 1 + + a + {showB && b} + c + + insert before case 2 + + {showB2 && b2} + c2 + + + ); +}; diff --git a/e2e/plugin/src/plugin.config.js b/e2e/plugin/src/plugin.config.js new file mode 100644 index 000000000..55f604d56 --- /dev/null +++ b/e2e/plugin/src/plugin.config.js @@ -0,0 +1,12 @@ +module.exports = { + publicComponents: { + greet: 'components/greet/index', + bye: 'components/bye/index', + }, + publicPages: { + 'hello-page': 'pages/index/index', + 'native-page': 'pages/hybrid/index', + }, + pages: ['pages/index/index', 'pages/hybrid/index'], + main: 'api/data', +}; diff --git a/e2e/plugin/tests/constants.js b/e2e/plugin/tests/constants.js new file mode 100644 index 000000000..a0478638c --- /dev/null +++ b/e2e/plugin/tests/constants.js @@ -0,0 +1 @@ +exports.pluginId = '2021001126652765'; diff --git a/e2e/mini/test/helpers.ts b/e2e/plugin/tests/helpers.ts similarity index 55% rename from e2e/mini/test/helpers.ts rename to e2e/plugin/tests/helpers.ts index 661df2315..86027d467 100644 --- a/e2e/mini/test/helpers.ts +++ b/e2e/plugin/tests/helpers.ts @@ -2,15 +2,13 @@ import { Page, Frame } from 'puppeteer'; import { setDefaultOptions } from 'expect-puppeteer/lib'; setDefaultOptions({ timeout: 1000 }); -jest.setTimeout(20 * 1000); +jest.setTimeout(60 * 1000); declare const page: Page; export const openPage = (url: string) => { const pageQuery = encodeURIComponent(url.replace(/^\//, '')); - return page.goto( - `https://appx.dev/appx.html?page=${pageQuery}&url=http://127.0.0.1:8888/dist/webng/&launchParams=%7B"appxRouteFramework"%3A"YES"%2C"appxRouteBizPrefix"%3A""%2C"enableTabBar"%3A"YES"%7D` - ); + return page.goto(`http://river.alipay.net/appx.html?page=${pageQuery}&url=http://localhost:8989/`); }; export const launchApp = async (url: string) => { @@ -19,10 +17,3 @@ export const launchApp = async (url: string) => { const app = await page.frames()[1]; return app; }; - -export const delay = (time = 100) => - new Promise(resolve => { - setTimeout(() => { - resolve(); - }, time); - }); diff --git a/e2e/plugin/tests/hybrid.test.ts b/e2e/plugin/tests/hybrid.test.ts new file mode 100644 index 000000000..de4f1a8a8 --- /dev/null +++ b/e2e/plugin/tests/hybrid.test.ts @@ -0,0 +1,20 @@ +import { Page } from 'puppeteer'; +import { launchApp } from './helpers'; +import { pluginId } from './constants.js'; + +declare const page: Page; + +describe('原生页面', () => { + it('渲染正确', async () => { + const app = await launchApp('/pages/index/index'); + const view = await app.waitForSelector('.native-nav'); + await view.click(); + await app.waitFor(1000); + const frames = page.frames(); + const pluginFrame = frames.find(f => { + return f.name().indexOf(`${pluginId}/pages/hybrid/index`) > -1; + }); + await expect(pluginFrame).toMatch('mini page'); + await expect(pluginFrame).toMatch('mini component'); + }); +}); diff --git a/e2e/plugin/tests/index.test.ts b/e2e/plugin/tests/index.test.ts new file mode 100644 index 000000000..0f0ff9bec --- /dev/null +++ b/e2e/plugin/tests/index.test.ts @@ -0,0 +1,60 @@ +import { launchApp } from './helpers'; +import { Page, Frame } from 'puppeteer'; +import { pluginId } from './constants.js'; + +declare const page: Page; + +const f = id => `p-${pluginId}-${id}`; +const cl = id => `.${f(id)}`; +const idf = id => `#${f(id)}`; + +describe('首页', () => { + let app: Frame; + + beforeAll(async () => { + app = await launchApp('/pages/index/index'); + }); + + it('渲染插件组件', async () => { + const greeting = await app.waitForSelector(cl('greeting')); + await expect(greeting).toMatch('Hello Greeting!!!'); + await expect(greeting).toMatch('componentInstance is object'); + await expect(greeting).toMatch('aaa'); + await greeting.click(); + await expect(greeting).toMatch('bbb'); + // 插件组件里面依赖的自定义组件 + const badge = await app.waitForSelector(cl('am-badge-text-inner')); + await expect(badge).toMatch('badgeText'); + }); + + describe('nav to page', () => { + let pluginIndexFrame = null; + + beforeAll(async () => { + const view = await app.waitForSelector('.nav'); + await view.click(); + await app.waitFor(1000); + + const frames = page.frames(); + pluginIndexFrame = frames.find(f => { + return f.name().indexOf(`${pluginId}/pages/index/index`) > -1; + }); + }); + + it('触发点击事件', async () => { + const view = await pluginIndexFrame.$(idf('view')); + await expect(view).not.toMatch('valueIn:obj.a.b'); + await expect(view).not.toMatch('touchedTrigger'); + await view.click(); + await expect(view).toMatch('valueIn:obj.a.b'); + await expect(view).toMatch('touchedTrigger'); + }); + + it('跳转插件页面', async () => { + const greeting = await pluginIndexFrame.$(cl('xbGreet')); + const badge = await pluginIndexFrame.$(cl('am-badge-text-inner')); + await expect(greeting).toMatch('Hello Greeting!!! xbGreet'); + await expect(badge).toMatch('badgeText'); + }); + }); +}); diff --git a/e2e/mini/test/preset.js b/e2e/plugin/tests/preset.js similarity index 100% rename from e2e/mini/test/preset.js rename to e2e/plugin/tests/preset.js diff --git a/package.json b/package.json index e18bef4f1..0b17dd9b7 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,11 @@ "watch": "concurrently \"lerna run build:cjs --parallel -- -w\" \"tsc -b -w\"", "prebuild": "npm run clean:packages", "build": "tsc -b && lerna run build:cjs", - "test": "lerna run --ignore babel-preset-remax --ignore website --ignore e2e-dummy --ignore e2e-mini --stream test", - "test:e2e": "lerna run --stream --scope e2e-dummy test", - "test:e2e-mini": "lerna run --stream --scope e2e-mini test", - "test:cov": "lerna run --ignore babel-preset-remax --ignore website --ignore e2e-dummy --ignore e2e-mini --stream test -- --collect-coverage", + "test": "lerna run --ignore babel-preset-remax --ignore website --ignore e2e-* --stream test", + "test:e2e-web": "lerna run --stream --scope e2e-app test:web", + "test:e2e-mini": "lerna run --stream --scope e2e-app test:mini", + "test:e2e-plugin": "lerna run --stream --scope e2e-plugin test", + "test:cov": "lerna run --ignore babel-preset-remax --ignore website --ignore e2e-* --stream test -- --collect-coverage", "clean": "lerna clean", "clean:packages": "lerna run clean", "readme:copy": "lerna exec 'cp ../../README.md' . --scope remax --scope @remax/cli", diff --git a/packages/babel-plugin-remax-host-component/CHANGELOG.md b/packages/babel-plugin-remax-host-component/CHANGELOG.md new file mode 100644 index 000000000..e4d87c4d4 --- /dev/null +++ b/packages/babel-plugin-remax-host-component/CHANGELOG.md @@ -0,0 +1,4 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. diff --git a/packages/babel-plugin-remax-host-component/README.md b/packages/babel-plugin-remax-host-component/README.md new file mode 100644 index 000000000..0f879c169 --- /dev/null +++ b/packages/babel-plugin-remax-host-component/README.md @@ -0,0 +1,3 @@ +# `babel-plugin-remax-component` + +收集项目中使用的基础组件和小程序自定义组件。 diff --git a/packages/babel-plugin-remax-host-component/jest.config.js b/packages/babel-plugin-remax-host-component/jest.config.js new file mode 100644 index 000000000..1812844e5 --- /dev/null +++ b/packages/babel-plugin-remax-host-component/jest.config.js @@ -0,0 +1,5 @@ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + collectCoverageFrom: ['src/**/*.ts'], +}; diff --git a/packages/babel-plugin-remax-host-component/package.json b/packages/babel-plugin-remax-host-component/package.json new file mode 100644 index 000000000..491f7a18e --- /dev/null +++ b/packages/babel-plugin-remax-host-component/package.json @@ -0,0 +1,44 @@ +{ + "name": "babel-plugin-remax-host-component", + "version": "0.0.1", + "description": "使用真正的 React 构建跨平台小程序", + "author": "Wei Zhu ", + "homepage": "https://remaxjs.org", + "license": "MIT", + "main": "lib/index.js", + "directories": { + "lib": "lib", + "test": "tests" + }, + "files": [ + "lib" + ], + "repository": { + "type": "git", + "url": "git@github.com:remaxjs/remax.git" + }, + "scripts": { + "clean": "rimraf lib tsconfig.tsbuildinfo", + "prebuild": "npm run clean", + "build": "tsc", + "test": "jest", + "test:debug": "npx --node-arg=--inspect-brk jest -i" + }, + "dependencies": { + "@remax/macro": "2.8.10", + "@remax/shared": "2.8.10", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/traverse": "^7.11.0", + "@babel/types": "^7.11.0" + }, + "devDependencies": { + "@remax/build-store": "0.0.1", + "@babel/core": "^7.11.0", + "@babel/plugin-syntax-jsx": "^7.10.4", + "@types/jest": "^26.0.8", + "jest": "^26.2.2", + "ts-jest": "^26.1.4", + "typescript": "^3.9.7" + }, + "gitHead": "df52bc6f39ef4b222b7da44c4e3c5744e4196a43" +} diff --git a/packages/babel-plugin-remax-host-component/src/index.ts b/packages/babel-plugin-remax-host-component/src/index.ts new file mode 100644 index 000000000..336885d31 --- /dev/null +++ b/packages/babel-plugin-remax-host-component/src/index.ts @@ -0,0 +1,376 @@ +import { declare } from '@babel/helper-plugin-utils'; +import { NodePath } from '@babel/traverse'; +import { ConfigAPI } from '@babel/core'; +import * as t from '@babel/types'; +import { kebabCase } from 'lodash'; +import { HostComponent, Platform } from '@remax/types'; +import Store from '@remax/build-store'; +import { slash } from '@remax/shared'; + +interface Options { + target: Platform; + hostComponents: Map; + skipHostComponents: string[]; + skipProps: string[]; + includeProps: string[]; +} + +export default function hostComponent(options: Options) { + return declare((api: ConfigAPI) => { + api.assertVersion(7); + + function shouldRegisterProp(propName: string, isNative: boolean, hostComponent?: HostComponent) { + // key 属性 + if (propName === 'key') { + return true; + } + + if (options.includeProps.includes(propName)) { + return true; + } + + // 原生组件的属性都要注册 + if (isNative) { + return true; + } + + // host component 上的标准属性 + if (hostComponent?.alias?.[propName]) { + return true; + } + + const prefix = `${options.target}-`; + + // 平台特定属性 + if (propName.startsWith(prefix)) { + return true; + } + + // data 属性 + if (propName.startsWith('data-')) { + return true; + } + + return false; + } + + function aliasProp(propName: string, hostComponent?: HostComponent) { + const prefix = `${options.target}-`; + + if (propName.startsWith(prefix)) { + return propName.replace(new RegExp(`^${prefix}`), ''); + } + + return hostComponent?.alias?.[propName] || propName; + } + + function registerSlotViewProps(node: t.JSXElement) { + let props: string[] = []; + node.openingElement.attributes.forEach(attr => { + if (t.isJSXSpreadAttribute(attr)) { + props = [...props, ...(options.hostComponents.get('view')?.props || [])]; + return; + } + + const prop = attr.name; + let propName = ''; + + if (t.isJSXIdentifier(prop)) { + propName = prop.name; + } + + if (t.isJSXNamespacedName(prop)) { + return; + } + + props.push(propName); + }); + + return ( + props + // 无需收集 slot 字段 + .filter(p => p !== 'slot') + .map(prop => aliasProp(prop, options.hostComponents.get('view'))) + .sort() + ); + } + + function isSlotView(componentName: string, node?: t.JSXElement) { + if (!node || componentName !== 'view') { + return false; + } + + if (node.openingElement.attributes.find(attr => t.isJSXAttribute(attr) && attr.name.name === 'slot')) { + return true; + } + + return false; + } + + function getProps(id: string, node?: t.JSXElement, isNative?: boolean) { + const hostComponent = options.hostComponents.get(id); + + if (!isNative && !hostComponent) { + return; + } + + const props: string[] = hostComponent ? hostComponent.props.slice() : []; + + if (node) { + node.openingElement.attributes.forEach(attr => { + if (t.isJSXSpreadAttribute(attr)) { + return; + } + + const prop = attr.name; + let propName = ''; + + if (t.isJSXIdentifier(prop)) { + propName = prop.name; + } + + if (t.isJSXNamespacedName(prop)) { + propName = prop.namespace.name + ':' + prop.name.name; + } + + /** + * React 运行时读不到 key + * 所以在这里如果发现组件上设置了 key + * 就再设置一个别名 __key + * 然后在模板里写死 key="{{item.props.__key}}" + */ + if (propName === 'key') { + node.openingElement.attributes.push(t.jsxAttribute(t.jsxIdentifier('__key'), attr.value)); + } + + if (!shouldRegisterProp(propName, !!isNative, hostComponent)) { + return; + } + + props.push(propName); + }); + } + + if (isNative) { + return Array.from( + new Set( + props + // 剔除 ref,在 axml 特殊处理 + .filter(p => p !== 'ref') + .filter(Boolean) + .map(prop => prop.replace('className', 'class')) + ) + ).sort(); + } + + return Array.from( + new Set( + props + // 静态编译辅助字段 + .filter(p => !options.skipProps.includes(p)) + .filter(Boolean) + .map(prop => aliasProp(prop, hostComponent)) + ) + ).sort(); + } + + function getHostComponentName(path: NodePath) { + const node = path.node; + const openingElement = node.openingElement; + + if (!t.isJSXIdentifier(openingElement.name)) { + return; + } + + const name = openingElement.name.name; + const binding = path.scope.getBinding(name); + + if (!binding) { + return; + } + + const bindingPath = binding.path; + + // binding + if (!bindingPath || !t.isImportSpecifier(bindingPath.node)) { + return; + } + + const importPath = bindingPath.parentPath; + + if (t.isImportDeclaration(importPath) && t.isIdentifier(bindingPath.node.imported)) { + return kebabCase(bindingPath.node.imported.name); + } + + return; + } + + function registerHostComponentManifest(id: string, node?: t.JSXElement) { + if (options.skipHostComponents.includes(id)) { + return; + } + + let props: string[] | undefined = []; + + if (isSlotView(id, node)) { + // isSlotView 确保了 node 一定存在 + props = registerSlotViewProps(node!); + + Store.slotView.props = Array.from(new Set([...Store.slotView.props, ...props])); + + return; + } else { + props = getProps(id, node); + } + + if (!props) { + return; + } + + const component = { + id, + props, + }; + + const registeredComponent = Store.collectedComponents.get(id); + + if (registeredComponent) { + component.props = Array.from(new Set([...props, ...registeredComponent.props])).sort(); + } + + Store.collectedComponents.set(id, component); + } + + function collectCompositionComponents(path: NodePath, importer: string) { + const node = path.node; + const openingElement = node.openingElement; + + if (!t.isJSXIdentifier(openingElement.name)) { + return false; + } + + const name = openingElement.name.name; + const binding = path.scope.getBinding(name); + + if (!binding) { + return false; + } + + const bindingPath = binding.path; + + // binding + if (!bindingPath) { + return false; + } + + const importPath = bindingPath.parentPath; + + if (t.isImportDeclaration(importPath)) { + const importNode = importPath.node as t.ImportDeclaration; + const source = importNode.source.value; + const props = getProps('', node, true) || []; + + const modules = Store.compositionComponents.get(importer) || new Map(); + const component: { import: string; props: Set } = modules.get(source) || { + import: source, + props: new Set(props), + }; + modules.set(source, { + import: source, + props: new Set([...component.props, ...props]), + }); + Store.compositionComponents.set(importer, modules); + } + + if ( + t.isVariableDeclarator(bindingPath.node) && + t.isCallExpression(bindingPath.node.init) && + t.isIdentifier(bindingPath.node.init.callee) && + (bindingPath.node.init.callee as any).name === 'createNativeComponent' + ) { + const arg0 = bindingPath.node.init.arguments[0]; + if (t.isStringLiteral(arg0)) { + const id = arg0.value; + // macro 先执行,肯定注册过了 + const component = Array.from(Store.pluginComponents.values()).find(c => c.id === id)!; + const props = getProps('', node, true) || []; + props.forEach(component.props.add, component.props); + } + } + } + + return { + visitor: { + JSXElement: (path: NodePath, state: any) => { + const hostComponentName = getHostComponentName(path); + + if (hostComponentName) { + registerHostComponentManifest(hostComponentName, path.node); + return; + } + + collectCompositionComponents(path, slash(state.file.opts.filename)); + }, + CallExpression: { + enter: (path: NodePath, state: any) => { + const importer = slash(state.file.opts.filename); + + if (!t.isMemberExpression(path?.node?.callee)) return; + const memberExpression: t.MemberExpression = path?.node?.callee; + if (!t.isIdentifier(memberExpression?.property)) return; + + const name = memberExpression?.property.name; + if (name !== 'createElement') return; + + const elementName = path.node.arguments[0]; + if (!t.isIdentifier(elementName)) return; + const binding = path.scope.getBinding(elementName.name); + + if (!binding) { + return false; + } + + const bindingPath = binding.path; + + // binding + if (!bindingPath) { + return false; + } + + const importPath = bindingPath.parentPath; + + if (t.isImportDeclaration(importPath)) { + const importNode = importPath.node as t.ImportDeclaration; + const source = importNode.source.value; + + if (source === 'remax') return; + + const propsObject = path.node.arguments[1]; + let props: any[] = []; + if (t.isObjectExpression(propsObject)) { + props = propsObject.properties + .map(it => { + if (!t.isObjectProperty(it)) return; + if (t.isIdentifier(it.key)) return it.key.name; + if (t.isStringLiteral(it.key)) return it.key.value; + }) + .filter(p => p !== 'ref') + .filter(Boolean); + } + const modules = Store.compositionComponents.get(importer) || new Map(); + const component: { import: string; props: Set } = modules.get(source) || { + import: source, + props: new Set(props), + }; + modules.set(source, { + import: source, + props: new Set([...component.props, ...props]), + }); + Store.compositionComponents.set(importer, modules); + } + }, + }, + }, + }; + }); +} diff --git a/packages/babel-plugin-remax-host-component/tests/index.test.ts b/packages/babel-plugin-remax-host-component/tests/index.test.ts new file mode 100644 index 000000000..fccfc1644 --- /dev/null +++ b/packages/babel-plugin-remax-host-component/tests/index.test.ts @@ -0,0 +1,350 @@ +import * as babel from '@babel/core'; +import hostComponents from '@remax/ali/cjs/hostComponents/node'; +import Store from '@remax/build-store'; +import { Platform } from '@remax/types'; +import { slash } from '@remax/shared'; +import component from '../src'; + +const currentFilename = slash(__filename); + +function transform(code: string, filename?: string) { + return new Promise((resolve, reject) => { + babel.transform( + code, + { + plugins: [ + '@babel/plugin-syntax-jsx', + component({ + target: Platform.ali, + hostComponents, + skipHostComponents: ['picker-view'], + skipProps: ['entry'], + includeProps: ['tid'], + }), + ], + filename: filename || currentFilename, + }, + function (err, result) { + if (result) { + return resolve(result.code); + } + reject(err); + } + ); + }); +} + +function unique(array: any[]) { + return Array.from(new Set(array)).sort(); +} + +describe('babel-plugin-remax-component', () => { + afterEach(() => { + Store.reset(); + }); + + describe('host components', () => { + it('collects host component', async () => { + await transform(` + import { View } from 'remax'; + + + `); + + expect(Store.collectedComponents.get('view')).toEqual({ + id: 'view', + props: unique(hostComponents.get('view').props), + }); + }); + + it('collects host component with esm', async () => { + await transform( + ` + import { View } from 'remax'; + import React from 'react'; + import ModalMini from 'mini-ali-ui/es/modal'; + import Foo from 'mini-ali-ui/es/foo'; + + React.createElement(ModalMini, { buttons: 1, onButtonClick: 2 }) + React.createElement(Foo) + React.createElement(View) + ` + ); + const modules = Store.compositionComponents.get(currentFilename); + expect(modules?.get('mini-ali-ui/es/modal')).toEqual({ + import: 'mini-ali-ui/es/modal', + props: new Set(['buttons', 'onButtonClick']), + }); + expect(modules?.get('mini-ali-ui/es/foo')).toEqual({ + import: 'mini-ali-ui/es/foo', + props: new Set([]), + }); + }); + + it('collects host component with esm - ref', async () => { + await transform( + ` + import { View } from 'remax'; + import React from '@alipay/react'; + import ModalMini from 'mini-ali-ui/es/modal'; + + React.createElement(ModalMini, { ref: 1 }) + ` + ); + const modules = Store.compositionComponents.get(currentFilename); + expect(modules?.get('mini-ali-ui/es/modal')).toEqual({ + import: 'mini-ali-ui/es/modal', + props: new Set([]), + }); + }); + + it('collects host component with esm - stringLiteral', async () => { + await transform( + ` + import React from 'react'; + import Bar from 'mini-ali-ui/es/bar'; + + React.createElement(Bar, { "ns:attr": 3 }) + ` + ); + const modules = Store.compositionComponents.get(currentFilename); + expect(modules?.get('mini-ali-ui/es/bar')).toEqual({ + import: 'mini-ali-ui/es/bar', + props: new Set(['ns:attr']), + }); + }); + + it('collects host component multiple times', async () => { + await transform(` + import { View } from 'remax'; + + <> + + + + `); + + expect(Store.collectedComponents.get('view')).toEqual({ + id: 'view', + props: unique(hostComponents.get('view').props.concat(['data-foo', 'data-bar'])), + }); + }); + + it('supports spread attributes', async () => { + await transform(` + import { View } from 'remax'; + + + `); + + expect(Store.collectedComponents.get('view')).toEqual({ + id: 'view', + props: unique(hostComponents.get('view').props), + }); + }); + + it('skips none-host component', async () => { + await transform(` + + `); + + expect(Store.collectedComponents.size).toBe(0); + }); + + it('skips composition component', async () => { + await transform(` + + `); + + expect(Store.collectedComponents.size).toBe(0); + expect(Store.compositionComponents.size).toBe(0); + }); + + it('skips same name composition component', async () => { + await transform(` + const View = () => {}; + + `); + + expect(Store.collectedComponents.size).toBe(0); + expect(Store.compositionComponents.size).toBe(0); + }); + + it('transform prop key', async () => { + const code = await transform(` + import { View } from 'remax'; + + + `); + + expect(code).toMatchInlineSnapshot(` + "import { View } from 'remax'; + ;" + `); + }); + + it('collects dataset props', async () => { + await transform(` + import { View } from 'remax'; + + + `); + + expect(Store.collectedComponents.get('view')).toEqual({ + id: 'view', + props: unique(hostComponents.get('view').props.concat('data-index')), + }); + }); + + it('collects platform specific props', async () => { + await transform(` + import { View } from 'remax'; + + + `); + + expect(Store.collectedComponents.get('view')).toEqual({ + id: 'view', + props: unique(hostComponents.get('view').props.concat('index')), + }); + }); + + it('skips specific component', async () => { + await transform(` + import { PickerView } from 'remax'; + + + `); + + expect(Store.collectedComponents.size).toBe(0); + }); + + it('skips specific props', async () => { + await transform(` + import { View } from 'remax'; + + + `); + + expect(Store.collectedComponents.get('view')).toEqual({ + id: 'view', + props: unique(hostComponents.get('view').props), + }); + }); + + it('includes specific props', async () => { + await transform(` + import { View } from 'remax'; + + + `); + + expect(Store.collectedComponents.get('view')).toEqual({ + id: 'view', + props: unique(hostComponents.get('view').props.concat('tid')), + }); + }); + }); + + describe('slot view', () => { + it('collects props on slot view', async () => { + await transform(` + import { View } from 'remax'; + + + foo + + `); + + expect(Store.slotView).toEqual({ + id: 'slot-view', + props: ['id'], + }); + }); + + it('supports spread attributes', async () => { + await transform(` + import { View } from 'remax'; + + + foo + + `); + + expect(Store.slotView).toEqual({ + id: 'slot-view', + props: unique(hostComponents.get('view').props.concat('id')), + }); + }); + + it('skips namespaced attributes', async () => { + await transform(` + import { View } from 'remax'; + + + foo + + `); + + expect(Store.slotView).toEqual({ + id: 'slot-view', + props: [], + }); + }); + }); + + describe('composition components', () => { + it('collects composition components', async () => { + await transform(` + import Badge from 'mini-ali-ui/es/badge/index'; + + + `); + + expect(Store.compositionComponents.size).toBe(1); + expect(Store.compositionComponents.get(currentFilename)?.get('mini-ali-ui/es/badge/index')).toEqual({ + import: 'mini-ali-ui/es/badge/index', + props: new Set(['dot']), + }); + }); + + it('skips non-default import', async () => { + await transform(` + import { Badge } from 'mini-ali-ui/es/badge/index'; + + + `); + + expect(Store.compositionComponents.size).toBe(0); + }); + + it('supports namespaced attrs', async () => { + await transform(` + import Badge from 'mini-ali-ui/es/badge/index'; + + + `); + + expect(Store.compositionComponents.size).toBe(1); + expect(Store.compositionComponents.get(currentFilename)?.get('mini-ali-ui/es/badge/index')).toEqual({ + import: 'mini-ali-ui/es/badge/index', + props: new Set(['dot', 'ns:id']), + }); + }); + + it('collects plugin component', async () => { + Store.registerPluginComponent('plugin://my/badge', ''); + await transform(` + const Badge = createNativeComponent('my-badge-837b7dd'); + + + `); + expect(Store.pluginComponents.get('plugin://my/badge')).toEqual({ + id: 'my-badge-837b7dd', + componentPath: 'plugin://my/badge', + importers: new Set(['']), + props: new Set(['dot']), + }); + }); + }); +}); diff --git a/packages/babel-plugin-remax-host-component/tsconfig.json b/packages/babel-plugin-remax-host-component/tsconfig.json new file mode 100644 index 000000000..766c08fe2 --- /dev/null +++ b/packages/babel-plugin-remax-host-component/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "CommonJS", + "target": "ES2017", + "declaration": true, + "rootDir": "src", + "outDir": "lib", + "types": ["@types/jest", "@types/node"], + "jsx": "preserve", + "skipLibCheck": true, + "resolveJsonModule": true + }, + "include": ["src", "typings"], + "exclude": ["tests", "lib"] +} diff --git a/packages/babel-plugin-remax-host-component/typings/index.d.ts b/packages/babel-plugin-remax-host-component/typings/index.d.ts new file mode 100644 index 000000000..74e856d57 --- /dev/null +++ b/packages/babel-plugin-remax-host-component/typings/index.d.ts @@ -0,0 +1 @@ +declare module '@babel/helper-plugin-utils'; diff --git a/packages/babel-plugin-remax-lifecycle/CHANGELOG.md b/packages/babel-plugin-remax-lifecycle/CHANGELOG.md new file mode 100644 index 000000000..e4d87c4d4 --- /dev/null +++ b/packages/babel-plugin-remax-lifecycle/CHANGELOG.md @@ -0,0 +1,4 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. diff --git a/packages/babel-plugin-remax-lifecycle/README.md b/packages/babel-plugin-remax-lifecycle/README.md new file mode 100644 index 000000000..9cfb0cc1b --- /dev/null +++ b/packages/babel-plugin-remax-lifecycle/README.md @@ -0,0 +1,11 @@ +# `babel-plugin-remax-lifecycle` + +> TODO: description + +## Usage + +``` +const babelPluginRemaxLifecycle = require('babel-plugin-remax-lifecycle'); + +// TODO: DEMONSTRATE API +``` diff --git a/packages/babel-plugin-remax-lifecycle/jest.config.js b/packages/babel-plugin-remax-lifecycle/jest.config.js new file mode 100644 index 000000000..1812844e5 --- /dev/null +++ b/packages/babel-plugin-remax-lifecycle/jest.config.js @@ -0,0 +1,5 @@ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + collectCoverageFrom: ['src/**/*.ts'], +}; diff --git a/packages/babel-plugin-remax-lifecycle/package.json b/packages/babel-plugin-remax-lifecycle/package.json new file mode 100644 index 000000000..961e4cc86 --- /dev/null +++ b/packages/babel-plugin-remax-lifecycle/package.json @@ -0,0 +1,41 @@ +{ + "name": "babel-plugin-remax-lifecycle", + "version": "0.0.1", + "description": "使用真正的 React 构建跨平台小程序", + "author": "Wei Zhu ", + "homepage": "https://remaxjs.org", + "license": "MIT", + "main": "lib/index.js", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib" + ], + "repository": { + "type": "git", + "url": "git@github.com:remaxjs/remax.git" + }, + "scripts": { + "clean": "rimraf lib tsconfig.tsbuildinfo", + "prebuild": "npm run clean", + "build": "tsc", + "test": "jest", + "test:debug": "npx --node-arg=--inspect-brk jest -i" + }, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/traverse": "^7.11.0", + "@babel/types": "^7.11.0" + }, + "devDependencies": { + "@remax/build-store": "0.0.1", + "@babel/core": "^7.11.0", + "@types/jest": "^26.0.8", + "jest": "^26.2.2", + "ts-jest": "^26.1.4", + "typescript": "^3.9.7" + }, + "gitHead": "df52bc6f39ef4b222b7da44c4e3c5744e4196a43" +} diff --git a/packages/babel-plugin-remax-lifecycle/src/app.ts b/packages/babel-plugin-remax-lifecycle/src/app.ts new file mode 100644 index 000000000..4e0063425 --- /dev/null +++ b/packages/babel-plugin-remax-lifecycle/src/app.ts @@ -0,0 +1,63 @@ +import { declare } from '@babel/helper-plugin-utils'; +import * as t from '@babel/types'; +import { NodePath } from '@babel/traverse'; +import Store from '@remax/build-store'; + +const lifecycleEvents = ['onShareAppMessage']; + +interface Options { + test: (file: string) => boolean; +} + +export default (options: Options) => { + let skip = false; + return declare(() => { + return { + pre(state: any) { + const importer = state.opts.filename; + + // TODO: app 的依赖也要收集 + skip = !options.test(importer); + + if (skip) { + return; + } + + Store.appEvents.delete(importer); + }, + visitor: { + // 解析 class properties 编译后的代码 + StringLiteral: (path: NodePath, state: any) => { + if (skip) { + return; + } + + const importer = state.file.opts.filename; + const { node } = path; + + // 只要生命周期 Literal 存在就标记为用到了生命周期 + if (!lifecycleEvents.includes(node.value)) { + return; + } + + Store.appEvents.set(importer, Store.appEvents.get(importer)?.add(node.value) ?? new Set([node.value])); + }, + Identifier: (path: NodePath, state: any) => { + if (skip) { + return; + } + + const importer = state.file.opts.filename; + const { node } = path; + + // 只要生命周期 Identifer 存在就标记为用到了生命周期 + if (!lifecycleEvents.includes(node.name)) { + return; + } + + Store.appEvents.set(importer, Store.appEvents.get(importer)?.add(node.name) ?? new Set([node.name])); + }, + }, + }; + }); +}; diff --git a/packages/babel-plugin-remax-lifecycle/src/index.ts b/packages/babel-plugin-remax-lifecycle/src/index.ts new file mode 100644 index 000000000..2ef5d9686 --- /dev/null +++ b/packages/babel-plugin-remax-lifecycle/src/index.ts @@ -0,0 +1,2 @@ +export { default as app } from './app'; +export { default as page } from './page'; diff --git a/packages/remax-cli/src/build/babel/appEvent.ts b/packages/babel-plugin-remax-lifecycle/src/page.ts similarity index 56% rename from packages/remax-cli/src/build/babel/appEvent.ts rename to packages/babel-plugin-remax-lifecycle/src/page.ts index f2a70ee07..a9ad3a99f 100644 --- a/packages/remax-cli/src/build/babel/appEvent.ts +++ b/packages/babel-plugin-remax-lifecycle/src/page.ts @@ -1,24 +1,23 @@ import * as t from '@babel/types'; import { NodePath } from '@babel/traverse'; -import { slash } from '@remax/shared'; -import { appClassEvents } from '../webpack/plugins/RuntimeOptions'; +import Store from '@remax/build-store'; -const lifecycleEvents = ['onShareAppMessage']; +const lifecycleEvents = ['onPageScroll', 'onShareAppMessage']; -export default (appFilename: string) => { +interface Options { + test: (file: string) => boolean; +} + +export default (options: Options) => { let skip = false; return { pre(state: any) { - const importer = slash(state.opts.filename); - - // TODO: app 的依赖也要收集 - skip = importer !== appFilename; - + const importer = state.opts.filename; + skip = !options.test(importer); if (skip) { return; } - - appClassEvents.delete(importer); + Store.pageEvents.delete(importer); }, visitor: { // 解析 class properties 编译后的代码 @@ -27,30 +26,30 @@ export default (appFilename: string) => { return; } - const importer = slash(state.file.opts.filename); const { node } = path; + const importer = state.file.opts.filename; // 只要生命周期 Literal 存在就标记为用到了生命周期 if (!lifecycleEvents.includes(node.value)) { return; } - appClassEvents.set(importer, appClassEvents.get(importer)?.add(node.value) ?? new Set([node.value])); + Store.pageEvents.set(importer, Store.pageEvents.get(importer)?.add(node.value) ?? new Set([node.value])); }, Identifier: (path: NodePath, state: any) => { if (skip) { return; } - const importer = slash(state.file.opts.filename); const { node } = path; + const importer = state.file.opts.filename; // 只要生命周期 Identifer 存在就标记为用到了生命周期 if (!lifecycleEvents.includes(node.name)) { return; } - appClassEvents.set(importer, appClassEvents.get(importer)?.add(node.name) ?? new Set([node.name])); + Store.pageEvents.set(importer, Store.pageEvents.get(importer)?.add(node.name) ?? new Set([node.name])); }, }, }; diff --git a/packages/babel-plugin-remax-lifecycle/tests/app.test.ts b/packages/babel-plugin-remax-lifecycle/tests/app.test.ts new file mode 100644 index 000000000..eb8b32512 --- /dev/null +++ b/packages/babel-plugin-remax-lifecycle/tests/app.test.ts @@ -0,0 +1,63 @@ +import * as babel from '@babel/core'; +import Store from '@remax/build-store'; +import app from '../src/app'; + +function transform(code: string) { + return new Promise((resolve, reject) => { + babel.transform( + code, + { + plugins: [ + '@babel/plugin-syntax-jsx', + app({ + test: () => true, + }), + ], + filename: __filename, + }, + function (err, result) { + if (result) { + return resolve(result.code); + } + reject(err); + } + ); + }); +} + +describe('app', () => { + beforeEach(() => { + Store.reset(); + }); + + it('collects lifecycle in class component', async () => { + await transform(` + import * as React from 'react'; + + export default class App extends React.Component { + onShareAppMessage() { + return {}; + } + + render() { + return this.props.children; + } + } + `); + + expect(Store.appEvents.get(__filename)).toEqual(new Set(['onShareAppMessage'])); + }); + + it('collects lifecycle in functional component', async () => { + await transform(` + export default () => { + useAppEvent('onShareAppMessage', () => { + return {}; + }); + return this.props.children; + } + `); + + expect(Store.appEvents.get(__filename)).toEqual(new Set(['onShareAppMessage'])); + }); +}); diff --git a/packages/babel-plugin-remax-lifecycle/tests/page.test.ts b/packages/babel-plugin-remax-lifecycle/tests/page.test.ts new file mode 100644 index 000000000..abb5a659b --- /dev/null +++ b/packages/babel-plugin-remax-lifecycle/tests/page.test.ts @@ -0,0 +1,71 @@ +import * as babel from '@babel/core'; +import Store from '@remax/build-store'; +import page from '../src/page'; + +function transform(code: string) { + return new Promise((resolve, reject) => { + babel.transform( + code, + { + plugins: [ + page({ + test: () => true, + }), + ], + filename: __filename, + }, + function (err, result) { + if (result) { + return resolve(result.code); + } + reject(err); + } + ); + }); +} + +describe('page', () => { + beforeEach(() => { + Store.reset(); + }); + + it('collects lifecycle in class component', async () => { + await transform(` + import * as React from 'react'; + + export default class Page extends React.Component { + onShareAppMessage() { + return {}; + } + + onPageScroll() { + + } + + render() { + return this.props.children; + } + } + `); + + expect(Store.pageEvents.get(__filename)).toEqual(new Set(['onPageScroll', 'onShareAppMessage'])); + }); + + it('collects lifecycle in functional component', async () => { + await transform(` + export default () => { + useAppEvent('onShareAppMessage', () => { + return {}; + }); + + useAppEvent('onPageScroll', () => { + return {}; + }); + + return this.props.children; + } + `); + + expect(Store.pageEvents.get(__filename)).toEqual(new Set(['onPageScroll', 'onShareAppMessage'])); + }); +}); diff --git a/packages/babel-plugin-remax-lifecycle/tsconfig.json b/packages/babel-plugin-remax-lifecycle/tsconfig.json new file mode 100644 index 000000000..d87c793f1 --- /dev/null +++ b/packages/babel-plugin-remax-lifecycle/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "CommonJS", + "target": "ES2017", + "declaration": true, + "rootDir": "src", + "outDir": "lib", + "types": ["@types/jest", "@types/node"], + "jsx": "preserve", + "skipLibCheck": true, + "resolveJsonModule": true + }, + "include": ["src", "typings"], + "exclude": ["tests", "lib"], +} diff --git a/packages/babel-plugin-remax-lifecycle/typings/index.d.ts b/packages/babel-plugin-remax-lifecycle/typings/index.d.ts new file mode 100644 index 000000000..74e856d57 --- /dev/null +++ b/packages/babel-plugin-remax-lifecycle/typings/index.d.ts @@ -0,0 +1 @@ +declare module '@babel/helper-plugin-utils'; diff --git a/packages/babel-plugin-remax-regenerator-runtime/CHANGELOG.md b/packages/babel-plugin-remax-regenerator-runtime/CHANGELOG.md new file mode 100644 index 000000000..e4d87c4d4 --- /dev/null +++ b/packages/babel-plugin-remax-regenerator-runtime/CHANGELOG.md @@ -0,0 +1,4 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. diff --git a/packages/babel-plugin-remax-regenerator-runtime/README.md b/packages/babel-plugin-remax-regenerator-runtime/README.md new file mode 100644 index 000000000..d9cdb52c7 --- /dev/null +++ b/packages/babel-plugin-remax-regenerator-runtime/README.md @@ -0,0 +1,11 @@ +# `babel-plugin-remax-regenerator-runtime` + +> TODO: description + +## Usage + +``` +const babelPluginRemaxRegeneratorRuntime = require('babel-plugin-remax-regenerator-runtime'); + +// TODO: DEMONSTRATE API +``` diff --git a/packages/babel-plugin-remax-regenerator-runtime/jest.config.js b/packages/babel-plugin-remax-regenerator-runtime/jest.config.js new file mode 100644 index 000000000..1812844e5 --- /dev/null +++ b/packages/babel-plugin-remax-regenerator-runtime/jest.config.js @@ -0,0 +1,5 @@ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + collectCoverageFrom: ['src/**/*.ts'], +}; diff --git a/packages/babel-plugin-remax-regenerator-runtime/package.json b/packages/babel-plugin-remax-regenerator-runtime/package.json new file mode 100644 index 000000000..07a5c27a6 --- /dev/null +++ b/packages/babel-plugin-remax-regenerator-runtime/package.json @@ -0,0 +1,41 @@ +{ + "name": "babel-plugin-remax-regenerator-runtime", + "version": "0.0.1", + "description": "使用真正的 React 构建跨平台小程序", + "author": "Wei Zhu ", + "homepage": "https://remaxjs.org", + "license": "MIT", + "main": "lib/index.js", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib" + ], + "repository": { + "type": "git", + "url": "git@github.com:remaxjs/remax.git" + }, + "scripts": { + "clean": "rimraf lib tsconfig.tsbuildinfo", + "prebuild": "npm run clean", + "build": "tsc", + "test": "jest", + "test:debug": "npx --node-arg=--inspect-brk jest -i" + }, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/traverse": "^7.11.0", + "@babel/types": "^7.11.0" + }, + "devDependencies": { + "@babel/core": "^7.11.0", + "@types/jest": "^26.0.8", + "babel-plugin-tester": "^9.2.0", + "jest": "^26.2.2", + "ts-jest": "^26.1.4", + "typescript": "^3.9.7" + }, + "gitHead": "df52bc6f39ef4b222b7da44c4e3c5744e4196a43" +} diff --git a/packages/babel-plugin-remax-regenerator-runtime/src/index.ts b/packages/babel-plugin-remax-regenerator-runtime/src/index.ts new file mode 100644 index 000000000..ac4b5edfb --- /dev/null +++ b/packages/babel-plugin-remax-regenerator-runtime/src/index.ts @@ -0,0 +1,30 @@ +import { declare } from '@babel/helper-plugin-utils'; +import * as t from '@babel/types'; +import { NodePath } from '@babel/traverse'; + +export default function fixRegeneratorRuntime() { + return declare(() => { + return { + visitor: { + CallExpression: (path: NodePath) => { + const node = path.node; + const arg0 = node.arguments[0]; + const arg1 = node.arguments[1]; + + if ( + t.isIdentifier(node.callee) && + node.callee.name === 'Function' && + node.arguments.length === 2 && + t.isStringLiteral(arg0) && + arg0.value === 'r' && + t.isStringLiteral(arg1) && + arg1.value === 'regeneratorRuntime = r' + ) { + path.parentPath.remove(); + path.stop(); + } + }, + }, + }; + }); +} diff --git a/packages/babel-plugin-remax-regenerator-runtime/tests/fixtures/fix/code.js b/packages/babel-plugin-remax-regenerator-runtime/tests/fixtures/fix/code.js new file mode 100644 index 000000000..ac51e29df --- /dev/null +++ b/packages/babel-plugin-remax-regenerator-runtime/tests/fixtures/fix/code.js @@ -0,0 +1,5 @@ +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + Function('r', 'regeneratorRuntime = r')(runtime); +} diff --git a/packages/babel-plugin-remax-regenerator-runtime/tests/fixtures/fix/output.js b/packages/babel-plugin-remax-regenerator-runtime/tests/fixtures/fix/output.js new file mode 100644 index 000000000..5a7e406c1 --- /dev/null +++ b/packages/babel-plugin-remax-regenerator-runtime/tests/fixtures/fix/output.js @@ -0,0 +1,3 @@ +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) {} diff --git a/packages/babel-plugin-remax-regenerator-runtime/tests/index.test.ts b/packages/babel-plugin-remax-regenerator-runtime/tests/index.test.ts new file mode 100644 index 000000000..c5f6bd2c0 --- /dev/null +++ b/packages/babel-plugin-remax-regenerator-runtime/tests/index.test.ts @@ -0,0 +1,10 @@ +import * as path from 'path'; +import pluginTester from 'babel-plugin-tester'; +import fixRegeneratorRuntime from '../src'; + +pluginTester({ + plugin: fixRegeneratorRuntime(), + pluginName: 'fix-regenerator-runtime', + snapshot: true, + fixtures: path.join(__dirname, 'fixtures'), +}); diff --git a/packages/babel-plugin-remax-regenerator-runtime/tsconfig.json b/packages/babel-plugin-remax-regenerator-runtime/tsconfig.json new file mode 100644 index 000000000..766c08fe2 --- /dev/null +++ b/packages/babel-plugin-remax-regenerator-runtime/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "CommonJS", + "target": "ES2017", + "declaration": true, + "rootDir": "src", + "outDir": "lib", + "types": ["@types/jest", "@types/node"], + "jsx": "preserve", + "skipLibCheck": true, + "resolveJsonModule": true + }, + "include": ["src", "typings"], + "exclude": ["tests", "lib"] +} diff --git a/packages/babel-plugin-remax-regenerator-runtime/typings/index.d.ts b/packages/babel-plugin-remax-regenerator-runtime/typings/index.d.ts new file mode 100644 index 000000000..74e856d57 --- /dev/null +++ b/packages/babel-plugin-remax-regenerator-runtime/typings/index.d.ts @@ -0,0 +1 @@ +declare module '@babel/helper-plugin-utils'; diff --git a/packages/babel-plugin-remax-turbo-render/CHANGELOG.md b/packages/babel-plugin-remax-turbo-render/CHANGELOG.md new file mode 100644 index 000000000..e4d87c4d4 --- /dev/null +++ b/packages/babel-plugin-remax-turbo-render/CHANGELOG.md @@ -0,0 +1,4 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. diff --git a/packages/babel-plugin-remax-turbo-render/README.md b/packages/babel-plugin-remax-turbo-render/README.md new file mode 100644 index 000000000..31d8876ea --- /dev/null +++ b/packages/babel-plugin-remax-turbo-render/README.md @@ -0,0 +1,3 @@ +# `babel-plugin-remax-turbo-page` + +静态分析 JSX,抽取可以被静态化成小程序模板的片段。 diff --git a/packages/babel-plugin-remax-turbo-render/jest.config.js b/packages/babel-plugin-remax-turbo-render/jest.config.js new file mode 100644 index 000000000..1812844e5 --- /dev/null +++ b/packages/babel-plugin-remax-turbo-render/jest.config.js @@ -0,0 +1,5 @@ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + collectCoverageFrom: ['src/**/*.ts'], +}; diff --git a/packages/babel-plugin-remax-turbo-render/package.json b/packages/babel-plugin-remax-turbo-render/package.json new file mode 100644 index 000000000..d5bb5542a --- /dev/null +++ b/packages/babel-plugin-remax-turbo-render/package.json @@ -0,0 +1,42 @@ +{ + "name": "babel-plugin-remax-turbo-render", + "version": "0.0.1", + "description": "使用真正的 React 构建跨平台小程序", + "author": "Wei Zhu ", + "homepage": "https://remaxjs.org", + "license": "MIT", + "main": "lib/index.js", + "directories": { + "lib": "lib", + "test": "tests" + }, + "files": [ + "lib" + ], + "repository": { + "type": "git", + "url": "git@github.com:remaxjs/remax.git" + }, + "scripts": { + "clean": "rimraf lib tsconfig.tsbuildinfo", + "prebuild": "npm run clean", + "build": "tsc", + "test": "jest", + "test:debug": "npx --node-arg=--inspect-brk jest -i" + }, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/traverse": "^7.11.0", + "@babel/types": "^7.11.0" + }, + "devDependencies": { + "@remax/build-store": "0.0.1", + "@babel/core": "^7.11.0", + "@types/jest": "^26.0.8", + "babel-plugin-tester": "^9.2.0", + "jest": "^26.2.2", + "ts-jest": "^26.1.4", + "typescript": "^3.9.7" + }, + "gitHead": "df52bc6f39ef4b222b7da44c4e3c5744e4196a43" +} diff --git a/packages/remax-cli/src/build/babel/compiler/static/constants.ts b/packages/babel-plugin-remax-turbo-render/src/constants.ts similarity index 78% rename from packages/remax-cli/src/build/babel/compiler/static/constants.ts rename to packages/babel-plugin-remax-turbo-render/src/constants.ts index f593d7dea..0ba53e0e5 100644 --- a/packages/remax-cli/src/build/babel/compiler/static/constants.ts +++ b/packages/babel-plugin-remax-turbo-render/src/constants.ts @@ -8,5 +8,5 @@ export const LEAF = 'leaf'; export const ENTRY = 'entry'; // 表达式逻辑标签,用 block 渲染,用于包裹 JSX 表达式,以及无法静态化的标签 export const EXPRESSION_BLOCK = 'block'; -// stub 元素标签,原生不存在,remax 用于简化虚拟 dom -export const STUB_BLOCK = 'stub-block'; + +export const SKIP_ELEMENTS = ['PickerView', 'PickerViewColumn', 'Swiper', 'SwiperItem']; diff --git a/packages/babel-plugin-remax-turbo-render/src/extractTemplate.ts b/packages/babel-plugin-remax-turbo-render/src/extractTemplate.ts new file mode 100644 index 000000000..c35aed453 --- /dev/null +++ b/packages/babel-plugin-remax-turbo-render/src/extractTemplate.ts @@ -0,0 +1,195 @@ +import { declare } from '@babel/helper-plugin-utils'; +import * as t from '@babel/types'; +import { NodePath } from '@babel/traverse'; +import Store from '@remax/build-store'; +import { TEMPLATE_ID, ENTRY, EXPRESSION_BLOCK, SKIP_ELEMENTS } from './constants'; +import { createTemplate } from './templates'; +import { JSXNode, RenderNode, Options } from './types'; +import * as helpers from './helpers'; + +function isSlotElement(node: t.Node) { + if ( + t.isJSXElement(node) && + node.openingElement.attributes.some((attr: any) => attr.name && attr.name.name === 'slot') + ) { + return true; + } + + return false; +} + +function canExtract(node: t.Node): node is t.JSXElement { + const a = + t.isJSXElement(node) && + !helpers.hasSpreadAttribute(node) && + !helpers.hasChildrenAttribute(node) && + !isSlotElement(node); + return a; +} + +/** + * 判断 JSX 元素是否处于一段 JSX 片段的顶部 + * 用于标记 template id + */ +function isRootPath(path: NodePath, options: Options) { + const { parent, parentPath, node } = path; + + // 元素自身是非 host component 或者是 block,不能识别为 Root + if ( + t.isJSXElement(node) && + ((node.openingElement.name as t.JSXIdentifier).name === 'block' || + !helpers.isHostComponentElement(node, path, options)) + ) { + return false; + } + + // case: + // 记录根节点 + // 父节点不为 JSXElement 或 JSXFragment,说明 path 为根节点 + if (!t.isJSXElement(parent) && !t.isJSXFragment(parent)) { + return true; + } + + // case: + // parent 本身是一个非 host 组件(React 组件, 原生组件或者无法识别的组件等) + if (!canExtract(parent) || !helpers.isHostComponentElement(parent, parentPath, options)) { + return true; + } + + return false; +} + +/** + * 判断是否是入口 JSX 元素 + * + * @param {t.JSXElement} node + * @returns + */ +function isEntry(node: t.JSXElement | t.JSXFragment) { + if (t.isJSXFragment(node)) { + return false; + } + + return !!node.openingElement.attributes.find(attr => t.isJSXAttribute(attr) && attr.name.name === ENTRY); +} + +/** + * 标记 template id + * 在 react 虚拟 dom 上记录 template id,就可以在渲染时找到虚拟节点对应的模板 + * + * @param {t.JSXOpeningElement} element + * @returns + */ +function markTemplateID(filename: string, element: t.JSXOpeningElement): string { + let templateID = helpers.getTemplateID(element); + + if (!templateID) { + templateID = Store.generateTemplateId(filename); + element.attributes.push(t.jsxAttribute(t.jsxIdentifier(TEMPLATE_ID), t.stringLiteral(templateID))); + } + + return templateID; +} + +/** + * 整理 JSXNodes,主要目的是消化 JSXFragment,得到正确的 Node 结构 + * + * @param {JSXNode} node + * @returns {RenderNode[]} + */ +function sortNodes(node: JSXNode): RenderNode[] { + if (t.isJSXFragment(node)) { + return node.children.reduce((prev, current) => prev.concat(sortNodes(current)), []); + } + + if (t.isJSXElement(node)) { + return [ + { + node, + children: node.children.reduce((prev, current) => prev.concat(sortNodes(current)), []), + }, + ]; + } + + // case JSXText + // case JSXExpressionContainer + // case JSXSpreadChild + + return [ + { + node, + children: [], + }, + ]; +} + +/** + * 将 JSX 片段保存起来,用于生成静态化的原生模板 + * + * @export + * @returns + */ +export default function extractTemplate(options: Options) { + return declare(() => { + /** + * 遍历 JSX 元素,生成所有模板 + * + * @param {(NodePath)} path + * @param {*} state + * @returns + */ + function renderTemplates(path: NodePath, state: any) { + if (!isRootPath(path, options)) { + return; + } + + const nodes = sortNodes(path.node).sort(); + + nodes.forEach(node => { + // case: JSXExpressionContainer 已经都被包裹在 block 里面,entry 中不会有 + // case: JSXFragment 已经被 sortNodes 方法处理掉了,不会出现 + // case: JSXText TODO: 由于 JSXText 无法记录 template id,这里先不处理 + // case: JSXSpreadChild 未知使用场景 + if (!canExtract(node.node)) { + return; + } + + // block 动态模板不应该生成 templateID + const name = (node.node.openingElement.name as any).name; + + if (name === EXPRESSION_BLOCK || SKIP_ELEMENTS.includes(name)) { + return; + } + + const module = state.filename; + const templateID = markTemplateID(module.replace(state.cwd, ''), node.node.openingElement); + + if (Store.extractedTemplates.has(templateID)) { + return; + } + + Store.extractedTemplates.set(templateID, { + id: templateID, + template: createTemplate(node, path, ['node'], options), + module, + isEntry: isEntry(path.node), + }); + }); + } + + return { + pre(state: any) { + for (const [globalId, template] of Store.extractedTemplates) { + if (template.module === state.opts.filename) { + Store.extractedTemplates.delete(globalId); + } + } + Store.resetTemplateId(); + }, + visitor: { + JSXElement: renderTemplates, + JSXFragment: renderTemplates, + }, + }; + }); +} diff --git a/packages/remax-cli/src/build/babel/compiler/static/helpers.ts b/packages/babel-plugin-remax-turbo-render/src/helpers.ts similarity index 81% rename from packages/remax-cli/src/build/babel/compiler/static/helpers.ts rename to packages/babel-plugin-remax-turbo-render/src/helpers.ts index 276e6216c..a2ec35e17 100644 --- a/packages/remax-cli/src/build/babel/compiler/static/helpers.ts +++ b/packages/babel-plugin-remax-turbo-render/src/helpers.ts @@ -1,7 +1,8 @@ import * as t from '@babel/types'; import { NodePath } from '@babel/traverse'; -import { JSXNode } from './types'; -import { EXPRESSION_BLOCK, LEAF, TEMPLATE_ID, STUB_BLOCK } from './constants'; +import { JSXNode, Options } from './types'; +import { EXPRESSION_BLOCK, LEAF, TEMPLATE_ID } from './constants'; +import cleanJSXElementLiteralChild from './helpers/cleanJSXElementLiteralChild'; /** * 从 JSXElement 中取出 Host Component 的名称 @@ -18,7 +19,7 @@ export function getHostComponentName(node: t.JSXElement, path: NodePath) { } const importPath = binding.path; - if (importPath && t.isImportSpecifier(importPath.node)) { + if (importPath && t.isImportSpecifier(importPath.node) && t.isIdentifier(importPath.node.imported)) { return importPath.node.imported.name; } @@ -35,14 +36,14 @@ export function getHostComponentName(node: t.JSXElement, path: NodePath) { /** * 判断 JSXElement 是否是 Host Component */ -export function isHostComponentElement(node: t.JSXElement | t.JSXFragment, path: NodePath) { +export function isHostComponentElement(node: t.JSXElement | t.JSXFragment, path: NodePath, options: Options) { if (t.isJSXFragment(node)) { return false; } /** * case: - * import { View, View as CustomView } from '@remax/ali'; + * import { View, View as CustomView } from 'components'; * * */ @@ -65,7 +66,7 @@ export function isHostComponentElement(node: t.JSXElement | t.JSXFragment, path: importPath && t.isImportSpecifier(importPath.node) && t.isImportDeclaration(importPath.parent) && - /^@?remax\//.test(importPath.parent.source.value) + options.isHostComponentPackage(importPath.parent.source.value) ) { return true; } @@ -75,8 +76,8 @@ export function isHostComponentElement(node: t.JSXElement | t.JSXFragment, path: /** * case: - * import * as Remax from '@remax/ali'; - * + * import * as Com from 'components'; + * */ if (t.isJSXMemberExpression(node.openingElement.name)) { const object = node.openingElement.name.object; @@ -96,7 +97,7 @@ export function isHostComponentElement(node: t.JSXElement | t.JSXFragment, path: importPath && t.isImportNamespaceSpecifier(importPath.node) && t.isImportDeclaration(importPath.parent) && - /^@?remax\//.test(importPath.parent.source.value) + options.isHostComponentPackage(importPath.parent.source.value) ) { return true; } @@ -141,6 +142,7 @@ export function isReactFragment(node: t.JSXElement | t.JSXFragment, path: NodePa importPath && t.isImportSpecifier(importPath.node) && t.isImportDeclaration(importPath.parent) && + t.isIdentifier(importPath.node.imported) && importPath.parent.source.value.startsWith('react') ) { return importPath.node.imported.name === 'Fragment'; @@ -211,12 +213,12 @@ export function getTemplateID(element: t.JSXOpeningElement) { * 组件标记了 leaf 属性时,说明其子节点是单节点 * 目前只有 plain text 文本情况 */ -export function isPlainTextLeaf(node: t.Node, path: NodePath) { +export function isPlainTextLeaf(node: t.Node, path: NodePath, options: Options) { if (!t.isJSXElement(node)) { return false; } - if (!isHostComponentElement(node, path)) { + if (!isHostComponentElement(node, path, options)) { return false; } @@ -233,7 +235,7 @@ export function wrappedByElement(name: string, node: JSXNode, path: NodePath) { * 将标签替换成 JSXFragment */ export function replacedWithJSXFragment(node: t.JSXElement, path: NodePath) { - path.replaceWith(t.jsxFragment(t.jsxOpeningFragment(), t.jsxClosingFragment(), node.children)); -} - -/** - * 将标签替换为 - */ -export function replacedWithStubBlock(path: NodePath) { - path.replaceWith( - t.jsxElement( - t.jsxOpeningElement(t.jsxIdentifier(STUB_BLOCK), []), - t.jsxClosingElement(t.jsxIdentifier(STUB_BLOCK)), - [], - true - ) - ); + path.replaceWith(t.jsxFragment(t.jsxOpeningFragment(), t.jsxClosingFragment(), node.children) as any); } /** @@ -291,7 +279,7 @@ export function isEmptyText(node: JSXNode) { } // 过滤掉空格,换行符后,是否还为空 - return !node.value.trim().replace(/\r?\n|\r/g, ''); + return !cleanJSXElementLiteralChild(node); } /** @@ -312,20 +300,37 @@ export function isEmptyText(node: JSXNode) { * @returns */ export function normalizeLiteral(literal: string) { + let value = literal.toString(); // case A - if (literal.startsWith('\n')) { - literal = literal.trimLeft(); + if (value.startsWith('\n')) { + value = value.trimLeft(); } // case B - if (literal.trim().indexOf('\n') !== -1) { - literal = literal.replace(/\n\s+/g, ' '); + if (value.trim().indexOf('\n') !== -1) { + value = value.replace(/\n\s+/g, ' '); } // case C - if (literal.indexOf('\n') !== -1) { - literal = literal.trimRight(); + if (value.indexOf('\n') !== -1) { + value = value.trimRight(); } - return literal; + return value; +} + +/** + * 判断一个元素上是否有 ...props + * + * @param node + */ +export function hasSpreadAttribute(node: t.JSXElement) { + return node.openingElement.attributes.some(attr => t.isJSXSpreadAttribute(attr)); +} + +/** + * 判断一个元素属性里是不是有 children + */ +export function hasChildrenAttribute(node: t.JSXElement) { + return node.openingElement.attributes.some(attr => t.isJSXAttribute(attr) && attr.name.name === 'children'); } diff --git a/packages/babel-plugin-remax-turbo-render/src/helpers/cleanJSXElementLiteralChild.ts b/packages/babel-plugin-remax-turbo-render/src/helpers/cleanJSXElementLiteralChild.ts new file mode 100644 index 000000000..b86285446 --- /dev/null +++ b/packages/babel-plugin-remax-turbo-render/src/helpers/cleanJSXElementLiteralChild.ts @@ -0,0 +1,45 @@ +// copy from https://github.com/babel/babel/blob/70cf2d704a712c42785750261bd9045d15819861/packages/babel-types/src/utils/react/cleanJSXElementLiteralChild.js +export default function cleanJSXElementLiteralChild(child: { value: string }) { + const lines = child.value.split(/\r\n|\n|\r/); + + let lastNonEmptyLine = 0; + + for (let i = 0; i < lines.length; i++) { + if (lines[i].match(/[^ \t]/)) { + lastNonEmptyLine = i; + } + } + + let str = ''; + + for (let i = 0; i < lines.length; i++) { + const line = lines[i]; + + const isFirstLine = i === 0; + const isLastLine = i === lines.length - 1; + const isLastNonEmptyLine = i === lastNonEmptyLine; + + // replace rendered whitespace tabs with spaces + let trimmedLine = line.replace(/\t/g, ' '); + + // trim whitespace touching a newline + if (!isFirstLine) { + trimmedLine = trimmedLine.replace(/^[ ]+/, ''); + } + + // trim whitespace touching an endline + if (!isLastLine) { + trimmedLine = trimmedLine.replace(/[ ]+$/, ''); + } + + if (trimmedLine) { + if (!isLastNonEmptyLine) { + trimmedLine += ' '; + } + + str += trimmedLine; + } + } + + return str; +} diff --git a/packages/babel-plugin-remax-turbo-render/src/index.ts b/packages/babel-plugin-remax-turbo-render/src/index.ts new file mode 100644 index 000000000..9a2a0a4fb --- /dev/null +++ b/packages/babel-plugin-remax-turbo-render/src/index.ts @@ -0,0 +1,3 @@ +export { default as preprocess } from './preprocess'; +export { default as extractTemplate } from './extractTemplate'; +export * from './constants'; diff --git a/packages/babel-plugin-remax-turbo-render/src/preprocess.ts b/packages/babel-plugin-remax-turbo-render/src/preprocess.ts new file mode 100644 index 000000000..aa7cf1b9d --- /dev/null +++ b/packages/babel-plugin-remax-turbo-render/src/preprocess.ts @@ -0,0 +1,136 @@ +import { declare } from '@babel/helper-plugin-utils'; +import * as t from '@babel/types'; +import { NodePath } from '@babel/traverse'; +import * as helpers from './helpers'; +import { SKIP_ELEMENTS } from './constants'; +import { Options } from './types'; + +const noop = t.jsxExpressionContainer(t.arrowFunctionExpression([], t.blockStatement([]), false)); + +const addAttribute = (node: t.JSXElement, name: string, value: t.JSXExpressionContainer) => { + node.openingElement.attributes.push(t.jsxAttribute(t.jsxIdentifier(name), value)); +}; + +const DEPRECATED_CATCH_ATTRS = [ + 'catchClick', + 'catchTap', + 'catchLongClick', + 'catchLongTap', + 'catchTouchMove', + 'catchTouchStart', + 'catchTouchEnd', +]; + +function throwOnDeprecatedCatchAttr(attrs: Array) { + attrs.forEach(attr => { + if (t.isJSXSpreadAttribute(attr)) { + return; + } + + if (!t.isJSXIdentifier(attr.name)) { + return; + } + + if (DEPRECATED_CATCH_ATTRS.includes(attr.name.name)) { + throw new Error( + `Remax 支持在 onClick/onTap 等支持冒泡的事件中使用 event.stopPropagation 阻止事件冒泡,请不要使用 ${attr.name.name}` + ); + } + }); +} + +/** + * 预处理 JSX 中的一些逻辑,方便后续收集静态模板和处理数据结构 + * + * @export + * @returns + */ +export default function preprocess(options: Options) { + return declare(() => { + return { + visitor: { + JSXExpressionContainer(path: NodePath) { + const node = path.node; + // 清除空表达式 + if (t.isJSXEmptyExpression(node.expression)) { + path.remove(); + return; + } + + // case plain text leaf + // 父节点被标记为单文本节点的表达式情况 + // 不对表达式做处理 + if (helpers.isPlainTextLeaf(path.parentPath.node, path.parentPath, options)) { + return; + } + + /** + * 父元素不是 host component 也不处理,因为父元素不能被静态化,子元素就没必要可遍历 + */ + if (t.isJSXElement(path.parent) && !helpers.isHostComponentElement(path.parent, path.parentPath, options)) { + return; + } + + if ( + t.isJSXElement(path.parent) && + SKIP_ELEMENTS.includes((path.parent.openingElement.name as t.JSXIdentifier).name) + ) { + return; + } + + // case block + // 默认都按照 block 处理,对表达式的节点做遍历渲染 + helpers.wrappedByExpressionBlock(node, path); + }, + JSXElement(path: NodePath) { + const node = path.node; + const attributes = node.openingElement.attributes; + + throwOnDeprecatedCatchAttr(attributes); + + /** + * 为 remax-plugin-spm 开的后门 + */ + if (attributes.some(attr => t.isJSXAttribute(attr) && attr.name.name === 'data-aspm-expo')) { + if (!attributes.some(attr => t.isJSXAttribute(attr) && attr.name.name === 'onAppear')) { + addAttribute(node, 'onAppear', noop); + } + if (!attributes.some(attr => t.isJSXAttribute(attr) && attr.name.name === 'onFirstAppear')) { + addAttribute(node, 'onFirstAppear', noop); + } + } + if (attributes.some(attr => t.isJSXAttribute(attr) && attr.name.name === 'data-aspm-click')) { + if ( + !attributes.some(attr => t.isJSXAttribute(attr) && attr.name.name === 'onTap') && + !attributes.some(attr => t.isJSXAttribute(attr) && attr.name.name === 'onClick') && + !attributes.some(attr => t.isJSXAttribute(attr) && attr.name.name === 'catchTap') + ) { + addAttribute(node, 'onTap', noop); + } + } + + // case: React.Fragment + // 将 React Fragment 转换成 JSXFragment,方便处理 + if (helpers.isReactFragment(node, path)) { + helpers.replacedWithJSXFragment(node, path); + return; + } + + // case: Host Component Tag + // Host Component 不处理 + if (helpers.isHostComponentElement(node, path, options)) { + return; + } + /** + * 父元素不是 host component 也不处理,因为父元素不能被静态化,子元素就没必要可遍历 + */ + if (t.isJSXElement(path.parent) && !helpers.isHostComponentElement(path.parent, path.parentPath, options)) { + return; + } + + helpers.wrappedByExpressionBlock(node, path); + }, + }, + }; + }); +} diff --git a/packages/remax-cli/src/build/babel/compiler/static/render/templates/JSXElement.ts b/packages/babel-plugin-remax-turbo-render/src/templates/JSXElement.ts similarity index 70% rename from packages/remax-cli/src/build/babel/compiler/static/render/templates/JSXElement.ts rename to packages/babel-plugin-remax-turbo-render/src/templates/JSXElement.ts index 11549cf61..90ae3956e 100644 --- a/packages/remax-cli/src/build/babel/compiler/static/render/templates/JSXElement.ts +++ b/packages/babel-plugin-remax-turbo-render/src/templates/JSXElement.ts @@ -1,12 +1,11 @@ import * as t from '@babel/types'; import { NodePath } from '@babel/traverse'; import { kebabCase } from 'lodash'; -import * as helpers from '../../helpers'; +import * as helpers from '../helpers'; import { createAttributesTemplate } from './attributes'; import stringPath from './stringPath'; -import { RenderNode } from '../../types'; -import { EXPRESSION_BLOCK } from '../../constants'; -import API from '../../../../../../API'; +import { RenderNode, Options } from '../types'; +import { EXPRESSION_BLOCK, SKIP_ELEMENTS } from '../constants'; /** * 创建 JSXElement 对应的模板 @@ -19,11 +18,11 @@ import API from '../../../../../../API'; * @returns */ export default function JSXElement( - api: API, node: RenderNode, path: NodePath, dataPath: Array, - createTemplate: (api: API, child: any, path: NodePath, dataPath: Array) => string + createTemplate: (...args: any[]) => void, + options: Options ) { const { node: element, children } = node; const attributes = element.openingElement.attributes; @@ -33,7 +32,12 @@ export default function JSXElement( // case: // 非 host 组件 // 生成为 TPL_DEFAULT 模板,以动态模板方式渲染 - if (!helpers.isHostComponentElement(element, path)) { + if ( + !helpers.isHostComponentElement(element, path, options) || + SKIP_ELEMENTS.includes(tag) || + helpers.hasSpreadAttribute(element) || + helpers.hasChildrenAttribute(element) + ) { return `