From 0c0abb14b015fa53a85ce6ddc51129a7879d510a Mon Sep 17 00:00:00 2001 From: houhaoyu Date: Tue, 21 Dec 2021 17:02:38 +0800 Subject: [PATCH 1/4] houhaoyu@huawei.com Signed-off-by: houhaoyu Change-Id: Ieee0687d7e08187d62d85b9824182d710c6c9384 --- .gitignore | 4 +- BUILD.gn | 28 +- LICENSE | 2 +- OAT.xml | 31 + build_ets_loader_library.py | 2 +- compiler/README.md | 2 +- compiler/build_parser.js | 2 +- compiler/components/ability_component.json | 4 + compiler/components/action_sheet.json | 4 + compiler/components/alphabet_indexer.json | 7 + compiler/components/animator.json | 9 + compiler/components/badge.json | 5 + compiler/components/blank.json | 6 + compiler/components/button.json | 4 + compiler/components/calendar.json | 8 + compiler/components/camera.json | 5 + compiler/components/canvas.json | 6 + compiler/components/circle.json | 4 + compiler/components/colorPicker.json | 4 + compiler/components/colorPickerDialog.json | 4 + compiler/components/column.json | 4 + compiler/components/column_split.json | 4 + compiler/components/common_attrs.json | 24 + compiler/components/counter.json | 7 + compiler/components/datapanel.json | 5 + compiler/components/datePicker.json | 4 + compiler/components/divider.json | 5 + compiler/components/ellipse.json | 4 + compiler/components/flex.json | 4 + compiler/components/form_component.json | 8 + compiler/components/friction_motion.json | 4 + compiler/components/gauge.json | 7 + compiler/components/geometryView.json | 4 + compiler/components/grid.json | 8 + compiler/components/gridItem.json | 6 + compiler/components/grid_container.json | 4 + compiler/components/hyperlink.json | 4 + compiler/components/image.json | 9 + compiler/components/image_animator.json | 8 + compiler/components/line.json | 7 + compiler/components/list.json | 9 + compiler/components/listItem.json | 6 + compiler/components/loadingProgress.json | 5 + compiler/components/marquee.json | 7 + compiler/components/menu.json | 5 + compiler/components/navigation.json | 5 + compiler/components/navigator.json | 5 + compiler/components/option.json | 5 + compiler/components/pageTransition_enter.json | 6 + compiler/components/pageTransition_exit.json | 6 + compiler/components/panel.json | 7 + compiler/components/path.json | 7 + compiler/components/piece.json | 5 + compiler/components/polygon.json | 5 + compiler/components/polyline.json | 5 + compiler/components/progress.json | 7 + compiler/components/qrcode.json | 4 + compiler/components/radio.json | 5 + compiler/components/rating.json | 4 + compiler/components/rect.json | 7 + compiler/components/refresh.json | 7 + compiler/components/row.json | 4 + compiler/components/row_split.json | 4 + compiler/components/scroll.json | 7 + compiler/components/scroll_bar.json | 6 + compiler/components/scroll_motion.json | 4 + compiler/components/search.json | 8 + compiler/components/section.json | 4 + compiler/components/shape.json | 13 + compiler/components/sideBar_container.json | 6 + compiler/components/slider.json | 8 + compiler/components/span.json | 8 + compiler/components/spring_motion.json | 4 + compiler/components/spring_prop.json | 4 + compiler/components/stack.json | 4 + compiler/components/stepper.json | 7 + compiler/components/stepperItem.json | 6 + compiler/components/swiper.json | 7 + compiler/components/tab_content.json | 5 + compiler/components/tabs.json | 8 + compiler/components/text.json | 9 + compiler/components/textPicker.json | 4 + compiler/components/textarea.json | 8 + compiler/components/textinput.json | 9 + compiler/components/toggle.json | 4 + compiler/components/video.json | 8 + compiler/components/web.json | 5 + compiler/components/xcomponent.json | 7 + compiler/main.js | 54 +- compiler/package-lock.json | 3334 ++++++++++++----- compiler/package.json | 12 +- compiler/sample/manifest.json | 2 +- compiler/sample/pages/home_preview.ets | 2 +- .../expected/component-01-expected.js | 2 +- .../pages/testcases/showcaseCovid19.ets | 1 - compiler/sample/pages/todo.ets | 2 +- compiler/server/build_pipe_server.js | 78 + compiler/src/compile_info.ts | 71 +- compiler/src/component_map.ts | 418 +-- compiler/src/create.ts | 2 +- compiler/src/pre_define.ts | 16 +- compiler/src/process_component_build.ts | 95 +- compiler/src/process_component_class.ts | 81 +- compiler/src/process_component_member.ts | 2 +- compiler/src/process_import.ts | 4 +- compiler/src/process_ui_syntax.ts | 30 +- compiler/src/utils.ts | 52 +- compiler/src/validate_ui_syntax.ts | 57 +- .../syntax_parser/build_declarations_file.js | 128 + compiler/syntax_parser/src/syntax_parser.peg | 19 +- compiler/test/test.js | 64 + compiler/test/ut/animation/animation.ts | 4 +- compiler/test/ut/build/build.ts | 4 +- compiler/test/ut/component/component.ts | 4 +- compiler/test/ut/component/customComponent.ts | 4 +- compiler/test/ut/constructor/id.ts | 4 +- compiler/test/ut/constructor/link.ts | 4 +- .../test/ut/constructor/observedObjectLink.ts | 4 +- compiler/test/ut/constructor/prop.ts | 4 +- .../test/ut/constructor/provideConsume.ts | 4 +- compiler/test/ut/constructor/state.ts | 4 +- compiler/test/ut/customDialog/customDialog.ts | 4 +- compiler/test/ut/decorator/builder.ts | 4 +- compiler/test/ut/decorator/extend.ts | 10 +- compiler/test/ut/decorator/watch.ts | 4 +- .../test/ut/decorator/watchWithAnimateTo.ts | 4 +- .../test/ut/geometryReader/geometryReader.ts | 4 +- compiler/test/ut/gesture/panGestrue.ts | 4 +- compiler/test/ut/gesture/pinchGesture.ts | 4 +- compiler/test/ut/gesture/rotationGesture.ts | 4 +- compiler/test/ut/gesture/tapGesture.ts | 4 +- compiler/test/ut/import/importEts.ts | 4 +- compiler/test/ut/import/importSystemApi.ts | 6 +- compiler/test/ut/import/importTs.ts | 4 +- compiler/test/ut/link/createLinkReference.ts | 4 +- compiler/test/ut/preview/previewDecorator.ts | 6 +- compiler/test/ut/render/forEach/forEach01.ts | 4 +- compiler/test/ut/render/forEach/forEach02.ts | 4 +- compiler/test/ut/render/forEach/forEach03.ts | 4 +- compiler/test/ut/render/forEach/forEach04.ts | 4 +- .../ut/render/forEach/forEachComplexModel.ts | 4 +- .../ut/render/forEach/forEachSimpleModel.ts | 4 +- compiler/test/ut/render/if/if.ts | 4 +- .../test/ut/render/if/ifIncludeForEach.ts | 4 +- compiler/test/ut/struct/struct_01.ts | 4 +- compiler/test/ut/struct/struct_02.ts | 4 +- compiler/test/ut/transition/transition.ts | 4 +- compiler/webpack.config.js | 58 +- ...07\345\257\274\350\247\204\350\214\203.md" | 82 + generateSysResource.py | 44 +- 150 files changed, 3907 insertions(+), 1521 deletions(-) create mode 100644 OAT.xml create mode 100644 compiler/components/ability_component.json create mode 100644 compiler/components/action_sheet.json create mode 100644 compiler/components/alphabet_indexer.json create mode 100644 compiler/components/animator.json create mode 100644 compiler/components/badge.json create mode 100644 compiler/components/blank.json create mode 100644 compiler/components/button.json create mode 100644 compiler/components/calendar.json create mode 100644 compiler/components/camera.json create mode 100644 compiler/components/canvas.json create mode 100644 compiler/components/circle.json create mode 100644 compiler/components/colorPicker.json create mode 100644 compiler/components/colorPickerDialog.json create mode 100644 compiler/components/column.json create mode 100644 compiler/components/column_split.json create mode 100644 compiler/components/common_attrs.json create mode 100644 compiler/components/counter.json create mode 100644 compiler/components/datapanel.json create mode 100644 compiler/components/datePicker.json create mode 100644 compiler/components/divider.json create mode 100644 compiler/components/ellipse.json create mode 100644 compiler/components/flex.json create mode 100644 compiler/components/form_component.json create mode 100644 compiler/components/friction_motion.json create mode 100644 compiler/components/gauge.json create mode 100644 compiler/components/geometryView.json create mode 100644 compiler/components/grid.json create mode 100644 compiler/components/gridItem.json create mode 100644 compiler/components/grid_container.json create mode 100644 compiler/components/hyperlink.json create mode 100644 compiler/components/image.json create mode 100644 compiler/components/image_animator.json create mode 100644 compiler/components/line.json create mode 100644 compiler/components/list.json create mode 100644 compiler/components/listItem.json create mode 100644 compiler/components/loadingProgress.json create mode 100644 compiler/components/marquee.json create mode 100644 compiler/components/menu.json create mode 100644 compiler/components/navigation.json create mode 100644 compiler/components/navigator.json create mode 100644 compiler/components/option.json create mode 100644 compiler/components/pageTransition_enter.json create mode 100644 compiler/components/pageTransition_exit.json create mode 100644 compiler/components/panel.json create mode 100644 compiler/components/path.json create mode 100644 compiler/components/piece.json create mode 100644 compiler/components/polygon.json create mode 100644 compiler/components/polyline.json create mode 100644 compiler/components/progress.json create mode 100644 compiler/components/qrcode.json create mode 100644 compiler/components/radio.json create mode 100644 compiler/components/rating.json create mode 100644 compiler/components/rect.json create mode 100644 compiler/components/refresh.json create mode 100644 compiler/components/row.json create mode 100644 compiler/components/row_split.json create mode 100644 compiler/components/scroll.json create mode 100644 compiler/components/scroll_bar.json create mode 100644 compiler/components/scroll_motion.json create mode 100644 compiler/components/search.json create mode 100644 compiler/components/section.json create mode 100644 compiler/components/shape.json create mode 100644 compiler/components/sideBar_container.json create mode 100644 compiler/components/slider.json create mode 100644 compiler/components/span.json create mode 100644 compiler/components/spring_motion.json create mode 100644 compiler/components/spring_prop.json create mode 100644 compiler/components/stack.json create mode 100644 compiler/components/stepper.json create mode 100644 compiler/components/stepperItem.json create mode 100644 compiler/components/swiper.json create mode 100644 compiler/components/tab_content.json create mode 100644 compiler/components/tabs.json create mode 100644 compiler/components/text.json create mode 100644 compiler/components/textPicker.json create mode 100644 compiler/components/textarea.json create mode 100644 compiler/components/textinput.json create mode 100644 compiler/components/toggle.json create mode 100644 compiler/components/video.json create mode 100644 compiler/components/web.json create mode 100644 compiler/components/xcomponent.json create mode 100644 compiler/server/build_pipe_server.js create mode 100644 compiler/syntax_parser/build_declarations_file.js create mode 100644 compiler/test/test.js create mode 100644 "compiler/\345\246\202\344\275\225\346\226\260\345\242\236\346\210\226\344\277\256\346\224\271\347\273\204\344\273\266\346\214\207\345\257\274\350\247\204\350\214\203.md" diff --git a/.gitignore b/.gitignore index be86ad3ae..91cc1be14 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ -./vscode +.vscode/ compiler/node_modules/ compiler/lib/ compiler/declarations/ compiler/sample/build/ compiler/component_config.json -compiler/syntax_parser/dist +compiler/syntax_parser/dist/ \ No newline at end of file diff --git a/BUILD.gn b/BUILD.gn index 0535ce60d..b8dc803fd 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -28,6 +28,7 @@ ets_sysResource = get_label_info(":build_ets_sysResource", "target_out_dir") + "/sysResource.js" action("build_ets_loader_library") { + deps = [ ":components", ":server" ] script = "build_ets_loader_library.py" depfile = "$target_gen_dir/$target_name.d" outputs = [ @@ -111,7 +112,11 @@ action("build_ets_loader_library") { } action("build_ets_sysResource") { - script = "//foundation/ace/huawei_proprietary/tools/ets-loader/generateSysResource.py" + if (is_standard_system) { + script = "//developtools/ace-ets2bundle/generateSysResource.py" + } else { + script = "//foundation/ace/huawei_proprietary/tools/ets-loader/generateSysResource.py" + } outputs = [ ets_sysResource ] _id_defined_json = @@ -137,10 +142,9 @@ ohos_copy("ets_loader") { "compiler/webpack.config.js", ets_loader_component_config_file, ] - if (!is_standard_system) { - deps += [ ":build_ets_sysResource" ] - sources += [ ets_sysResource ] - } + deps += [ ":build_ets_sysResource" ] + sources += [ ets_sysResource ] + outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ] module_source_dir = target_out_dir + "/$target_name" module_install_name = "" @@ -162,6 +166,20 @@ ohos_copy("ets_loader_syntax") { module_install_name = "" } +ohos_copy("components") { + sources = [ "compiler/components" ] + outputs = [ target_out_dir + "/$target_name" ] + module_source_dir = target_out_dir + "/$target_name" + module_install_name = "" +} + +ohos_copy("server") { + sources = [ "compiler/server" ] + outputs = [ target_out_dir + "/$target_name" ] + module_source_dir = target_out_dir + "/$target_name" + module_install_name = "" +} + ohos_copy("ets_loader_declaration") { deps = [ ":build_ets_loader_library" ] sources = [ ets_loader_declarations_dir ] diff --git a/LICENSE b/LICENSE index e6bb7bad3..f433b1a53 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ - + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ diff --git a/OAT.xml b/OAT.xml new file mode 100644 index 000000000..98c053c17 --- /dev/null +++ b/OAT.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + diff --git a/build_ets_loader_library.py b/build_ets_loader_library.py index 4511664c5..592f31552 100755 --- a/build_ets_loader_library.py +++ b/build_ets_loader_library.py @@ -83,7 +83,7 @@ def main(): depfile_deps.append(options.uglify_source_js) syntax_cmd = [options.node, options.build_parser_js, - options.output_syntax_dir] + options.output_syntax_dir, options.ets_loader_src_dir] depfile_deps.append(options.build_parser_js) build_declarations_file_cmd = [options.node, diff --git a/compiler/README.md b/compiler/README.md index ed7654a89..9031b6e43 100644 --- a/compiler/README.md +++ b/compiler/README.md @@ -21,7 +21,7 @@ First, check whether your node version is 12.x or later; Secondly, config npm proxy and run `npm install` again. ``` npm config set strict-ssl false -npm config set registry http://registry.npm.taobao.org +npm config set registry https://registry.npm.taobao.org ``` ### 2. Quick Start diff --git a/compiler/build_parser.js b/compiler/build_parser.js index 03f79ad7d..fd83200ec 100644 --- a/compiler/build_parser.js +++ b/compiler/build_parser.js @@ -25,7 +25,7 @@ function generateSyntaxParser(inputFile, nodePath) { const catalogPath = path.resolve(inputFile, '..'); const catalogSubFiles = fs.readdirSync(catalogPath) const parserPath = path.resolve(__dirname, './node_modules/pegjs/bin/pegjs'); - + if (catalogSubFiles.includes('dist')) { exec('rm -rf ' + catalogPath + '/dist/*.js'); } else { diff --git a/compiler/components/ability_component.json b/compiler/components/ability_component.json new file mode 100644 index 000000000..544e73796 --- /dev/null +++ b/compiler/components/ability_component.json @@ -0,0 +1,4 @@ +{ + "name": "AbilityComponent", + "attrs": ["onReady", "onDestroy", "onAbilityCreated", "onAbilityMoveToFront", "onAbilityWillRemove"] +} \ No newline at end of file diff --git a/compiler/components/action_sheet.json b/compiler/components/action_sheet.json new file mode 100644 index 000000000..f4152ea9e --- /dev/null +++ b/compiler/components/action_sheet.json @@ -0,0 +1,4 @@ +{ + "name": "ActionSheet", + "attrs": ["show"] +} \ No newline at end of file diff --git a/compiler/components/alphabet_indexer.json b/compiler/components/alphabet_indexer.json new file mode 100644 index 000000000..40be38802 --- /dev/null +++ b/compiler/components/alphabet_indexer.json @@ -0,0 +1,7 @@ +{ + "name": "AlphabetIndexer", + "attrs": [ + "onSelected", "selectedColor", "popupColor", "selectedBackgroundColor", "popupBackground", "usingPopup", + "selectedFont", "popupFont", "itemSize", "font", "color", "alignStyle" + ] +} \ No newline at end of file diff --git a/compiler/components/animator.json b/compiler/components/animator.json new file mode 100644 index 000000000..091ccb033 --- /dev/null +++ b/compiler/components/animator.json @@ -0,0 +1,9 @@ +{ + "name": "Animator", + "atomic": true, + "noDebugLine": true, + "attrs": [ + "state", "duration", "curve", "delay", "fillMode", "iterations", "playMode", "motion", + "onStart", "onPause", "onRepeat", "onCancel", "onFinish", "onFrame" + ] +} \ No newline at end of file diff --git a/compiler/components/badge.json b/compiler/components/badge.json new file mode 100644 index 000000000..b4b3bc6b2 --- /dev/null +++ b/compiler/components/badge.json @@ -0,0 +1,5 @@ +{ + "name": "Badge", + "atomics": true, + "attrs": [] +} \ No newline at end of file diff --git a/compiler/components/blank.json b/compiler/components/blank.json new file mode 100644 index 000000000..9fe088f44 --- /dev/null +++ b/compiler/components/blank.json @@ -0,0 +1,6 @@ +{ + "name": "Blank", + "parents": ["Row", "Column"], + "atomic": true, + "attrs": ["color"] +} \ No newline at end of file diff --git a/compiler/components/button.json b/compiler/components/button.json new file mode 100644 index 000000000..385a0d9f4 --- /dev/null +++ b/compiler/components/button.json @@ -0,0 +1,4 @@ +{ + "name": "Button", + "attrs": ["type", "stateEffect", "fontColor", "fontSize", "fontWeight", "fontStyle", "fontFamily"] +} \ No newline at end of file diff --git a/compiler/components/calendar.json b/compiler/components/calendar.json new file mode 100644 index 000000000..a24b65df3 --- /dev/null +++ b/compiler/components/calendar.json @@ -0,0 +1,8 @@ +{ + "name": "Calendar", + "attrs": [ + "date", "showLunar", "startOfWeek", "offDays", "onSelectChange", "onRequestData", + "currentData", "preData", "nextData", "needSlide", "showHoliday", "direction", + "currentDayStyle", "nonCurrentDayStyle", "todayStyle", "weekStyle", "workStateStyle" + ] +} \ No newline at end of file diff --git a/compiler/components/camera.json b/compiler/components/camera.json new file mode 100644 index 000000000..4e2068bd4 --- /dev/null +++ b/compiler/components/camera.json @@ -0,0 +1,5 @@ +{ + "name": "Camera", + "atomic": true, + "attrs": ["devicePosition"] +} \ No newline at end of file diff --git a/compiler/components/canvas.json b/compiler/components/canvas.json new file mode 100644 index 000000000..f0a8ba6e6 --- /dev/null +++ b/compiler/components/canvas.json @@ -0,0 +1,6 @@ +{ + "name": "Canvas", + "attrs": [ + "onReady" + ] +} diff --git a/compiler/components/circle.json b/compiler/components/circle.json new file mode 100644 index 000000000..85a8ffe81 --- /dev/null +++ b/compiler/components/circle.json @@ -0,0 +1,4 @@ +{ + "name": "Circle", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/colorPicker.json b/compiler/components/colorPicker.json new file mode 100644 index 000000000..1490cf3f5 --- /dev/null +++ b/compiler/components/colorPicker.json @@ -0,0 +1,4 @@ +{ + "name": "ColorPicker", + "attrs": ["colors", "onSelect", "setAlignment", "setColunms", "setRows"] +} diff --git a/compiler/components/colorPickerDialog.json b/compiler/components/colorPickerDialog.json new file mode 100644 index 000000000..fc76c9d8c --- /dev/null +++ b/compiler/components/colorPickerDialog.json @@ -0,0 +1,4 @@ +{ + "name": "ColorPickerDialog", + "attrs": ["show"] +} \ No newline at end of file diff --git a/compiler/components/column.json b/compiler/components/column.json new file mode 100644 index 000000000..6f6312a84 --- /dev/null +++ b/compiler/components/column.json @@ -0,0 +1,4 @@ +{ + "name": "Column", + "attrs": ["alignItems"] +} \ No newline at end of file diff --git a/compiler/components/column_split.json b/compiler/components/column_split.json new file mode 100644 index 000000000..cfa1e52bc --- /dev/null +++ b/compiler/components/column_split.json @@ -0,0 +1,4 @@ +{ + "name": "ColumnSplit", + "attrs": ["resizeable"] +} \ No newline at end of file diff --git a/compiler/components/common_attrs.json b/compiler/components/common_attrs.json new file mode 100644 index 000000000..c5970d43b --- /dev/null +++ b/compiler/components/common_attrs.json @@ -0,0 +1,24 @@ +{ + "attrs": [ + "width", "height", "size", "constraintSize", "layoutPriority", "layoutWeight", + "padding", "paddingLeft", "paddingRight", "paddingTop", "paddingBottom", + "margin", "marginLeft", "marginRight", "marginTop", "marginBottom", + "border", "borderStyle", "borderWidth", "borderColor", "borderRadius", + "backgroundColor", "backgroundImage", "backgroundImageSize", "backgroundImagePosition", + "opacity", "animation", "transition", "stateStyles", + "onClick", "onTouch", "touchable", "onKeyEvent", "onHover","onAreaChange", + "blur", "backdropBlur", "windowBlur", "translate", "rotate", "scale", "transform", + "onAppear", "onDisAppear", "visibility", "flexBasis", "flexShrink", "flexGrow", "alignSelf", + "useAlign", "zIndex", "sharedTransition", "direction", "align", "position", "markAnchor", + "offset", "enabled", "aspectRatio", "displayPriority", + "onDrag", "onDragEnter", "onDragMove", "onDragLeave", "onDrop", + "overlay", "linearGradient", "sweepGradient", "radialGradient", + "gridOffset", "gridSpan", "useSizeType", + "motionPath", "clip", "shadow", "mask", "key", + "accessibilityGroup", "accessibilityText", "accessibilityDescription", + "accessibilityImportance", "onAccessibility", "grayscale", "brightness", "contrast", + "saturate", "geometryTransition", + "bindPopup", "colorBlend", "invert", "sepia", "hueRotate", "bindMenu", "hoverEffect", + "onFocus", "onBlur", "onFocusMove", "focusable", "responseRegion" + ] +} diff --git a/compiler/components/counter.json b/compiler/components/counter.json new file mode 100644 index 000000000..34746f606 --- /dev/null +++ b/compiler/components/counter.json @@ -0,0 +1,7 @@ +{ + "name": "Counter", + "attrs": [ + "onStateChange", "onInc", + "onDec", "height", "width" + ] +} \ No newline at end of file diff --git a/compiler/components/datapanel.json b/compiler/components/datapanel.json new file mode 100644 index 000000000..3128924d6 --- /dev/null +++ b/compiler/components/datapanel.json @@ -0,0 +1,5 @@ +{ + "name": "DataPanel", + "atomic": false, + "attrs": ["closeEffect"] +} \ No newline at end of file diff --git a/compiler/components/datePicker.json b/compiler/components/datePicker.json new file mode 100644 index 000000000..e5a60b207 --- /dev/null +++ b/compiler/components/datePicker.json @@ -0,0 +1,4 @@ +{ + "name": "DatePicker", + "attrs": ["lunar", "onChange", "useMilitaryTime"] +} \ No newline at end of file diff --git a/compiler/components/divider.json b/compiler/components/divider.json new file mode 100644 index 000000000..75728fd5c --- /dev/null +++ b/compiler/components/divider.json @@ -0,0 +1,5 @@ +{ + "name": "Divider", + "atomic": true, + "attrs": ["color", "vertical", "strokeWidth", "lineCap"] +} \ No newline at end of file diff --git a/compiler/components/ellipse.json b/compiler/components/ellipse.json new file mode 100644 index 000000000..0f4a225bc --- /dev/null +++ b/compiler/components/ellipse.json @@ -0,0 +1,4 @@ +{ + "name": "Ellipse", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/flex.json b/compiler/components/flex.json new file mode 100644 index 000000000..32cee03f4 --- /dev/null +++ b/compiler/components/flex.json @@ -0,0 +1,4 @@ +{ + "name": "Flex", + "attrs": [] +} \ No newline at end of file diff --git a/compiler/components/form_component.json b/compiler/components/form_component.json new file mode 100644 index 000000000..5532c7f5a --- /dev/null +++ b/compiler/components/form_component.json @@ -0,0 +1,8 @@ +{ + "name": "FormComponent", + "atomic": true, + "attrs": [ + "size", "moduleName", "dimension", "allowUpdate", "visibility", + "onAcquired", "onError", "onRouter" + ] +} \ No newline at end of file diff --git a/compiler/components/friction_motion.json b/compiler/components/friction_motion.json new file mode 100644 index 000000000..d87b5bbbc --- /dev/null +++ b/compiler/components/friction_motion.json @@ -0,0 +1,4 @@ +{ + "name": "FrictionMotion", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/gauge.json b/compiler/components/gauge.json new file mode 100644 index 000000000..3e262ca49 --- /dev/null +++ b/compiler/components/gauge.json @@ -0,0 +1,7 @@ +{ + "name": "Gauge", + "atomic": true, + "attrs": [ + "value", "startAngle", "endAngle", "colors", "strokeWidth", "labelConfig" + ] +} \ No newline at end of file diff --git a/compiler/components/geometryView.json b/compiler/components/geometryView.json new file mode 100644 index 000000000..d9dfd5cef --- /dev/null +++ b/compiler/components/geometryView.json @@ -0,0 +1,4 @@ +{ + "name": "GeometryView", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/grid.json b/compiler/components/grid.json new file mode 100644 index 000000000..4d82c84dd --- /dev/null +++ b/compiler/components/grid.json @@ -0,0 +1,8 @@ +{ + "name": "Grid", + "children": ["GridItem"], + "attrs": [ + "columnsTemplate", "rowsTemplate", "columnsGap", "rowsGap", "scrollBar", "scrollBarWidth", + "scrollBarColor" + ] +} \ No newline at end of file diff --git a/compiler/components/gridItem.json b/compiler/components/gridItem.json new file mode 100644 index 000000000..be369c12d --- /dev/null +++ b/compiler/components/gridItem.json @@ -0,0 +1,6 @@ +{ + "name": "GridItem", + "parents": ["Grid"], + "single": true, + "attrs": ["rowStart", "rowEnd", "columnStart", "columnEnd", "forceRebuild"] +} \ No newline at end of file diff --git a/compiler/components/grid_container.json b/compiler/components/grid_container.json new file mode 100644 index 000000000..0d067c274 --- /dev/null +++ b/compiler/components/grid_container.json @@ -0,0 +1,4 @@ +{ + "name": "GridContainer", + "attrs": ["columns", "sizeType", "gutter", "margin"] +} \ No newline at end of file diff --git a/compiler/components/hyperlink.json b/compiler/components/hyperlink.json new file mode 100644 index 000000000..990662d80 --- /dev/null +++ b/compiler/components/hyperlink.json @@ -0,0 +1,4 @@ +{ + "name": "Hyperlink", + "attrs": ["color"] +} \ No newline at end of file diff --git a/compiler/components/image.json b/compiler/components/image.json new file mode 100644 index 000000000..d2a738158 --- /dev/null +++ b/compiler/components/image.json @@ -0,0 +1,9 @@ +{ + "name": "Image", + "atomic": true, + "attrs": [ + "alt", "objectFit", "matchTextDirection", "fitOriginalSize", "objectRepeat", "renderMode", + "interpolation", "onComplete", "onError", "onFinish", "sourceSize", "fillColor", "autoResize", + "syncLoad" + ] +} \ No newline at end of file diff --git a/compiler/components/image_animator.json b/compiler/components/image_animator.json new file mode 100644 index 000000000..73208d2cb --- /dev/null +++ b/compiler/components/image_animator.json @@ -0,0 +1,8 @@ +{ + "name": "ImageAnimator", + "atomic": true, + "attrs": [ + "images", "state", "duration", "reverse", "fixedSize", "preDecode", "fillMode", "iterations", + "onStart", "onPause", "onRepeat", "onCancel", "onFinish" + ] +} \ No newline at end of file diff --git a/compiler/components/line.json b/compiler/components/line.json new file mode 100644 index 000000000..bb5340aec --- /dev/null +++ b/compiler/components/line.json @@ -0,0 +1,7 @@ +{ + "name": "Line", + "atomic": true, + "attrs": [ + "startPoint","endPoint" + ] +} \ No newline at end of file diff --git a/compiler/components/list.json b/compiler/components/list.json new file mode 100644 index 000000000..acf726d39 --- /dev/null +++ b/compiler/components/list.json @@ -0,0 +1,9 @@ +{ + "name": "List", + "children": ["ListItem", "Section"], + "attrs": [ + "listDirection", "scrollBar", "edgeEffect", "divider", "editMode", "cachedCount", + "chainAnimation", "onScroll", "onReachStart", "onReachEnd", "onScrollStop", "onItemDelete", + "onItemMove", "onItemDragStart", "onItemDragEnter", "onItemDragMove", "onItemDragLeave", "onItemDrop" + ] +} \ No newline at end of file diff --git a/compiler/components/listItem.json b/compiler/components/listItem.json new file mode 100644 index 000000000..467c66e23 --- /dev/null +++ b/compiler/components/listItem.json @@ -0,0 +1,6 @@ +{ + "name": "ListItem", + "parents": ["List"], + "single": true, + "attrs": ["sticky", "editable"] +} \ No newline at end of file diff --git a/compiler/components/loadingProgress.json b/compiler/components/loadingProgress.json new file mode 100644 index 000000000..08d1a29aa --- /dev/null +++ b/compiler/components/loadingProgress.json @@ -0,0 +1,5 @@ +{ + "name": "LoadingProgress", + "atomic": true, + "attrs": ["color"] +} \ No newline at end of file diff --git a/compiler/components/marquee.json b/compiler/components/marquee.json new file mode 100644 index 000000000..b29b9651e --- /dev/null +++ b/compiler/components/marquee.json @@ -0,0 +1,7 @@ +{ + "name": "Marquee", + "attrs": [ + "fontColor", "fontSize", "allowScale", "fontWeight", "fontFamily", "onStart", + "onBounce", "onFinish" + ] +} \ No newline at end of file diff --git a/compiler/components/menu.json b/compiler/components/menu.json new file mode 100644 index 000000000..2db5287ec --- /dev/null +++ b/compiler/components/menu.json @@ -0,0 +1,5 @@ +{ + "name": "Menu", + "children": ["Option"], + "attrs": ["show", "showPosition", "fontColor", "fontSize", "fontWeight", "fontFamily"] +} \ No newline at end of file diff --git a/compiler/components/navigation.json b/compiler/components/navigation.json new file mode 100644 index 000000000..15e9b56a7 --- /dev/null +++ b/compiler/components/navigation.json @@ -0,0 +1,5 @@ +{ + "name": "Navigation", + "attrs": ["title", "subTitle", "hideTitleBar", "hideBackButton", "titleMode", "menus", + "toolBar", "hideToolBar", "onTitleModeChanged"] +} \ No newline at end of file diff --git a/compiler/components/navigator.json b/compiler/components/navigator.json new file mode 100644 index 000000000..8ca4c9404 --- /dev/null +++ b/compiler/components/navigator.json @@ -0,0 +1,5 @@ +{ + "name": "Navigator", + "single": true, + "attrs": ["target", "type", "params", "active"] +} \ No newline at end of file diff --git a/compiler/components/option.json b/compiler/components/option.json new file mode 100644 index 000000000..7cdad7d91 --- /dev/null +++ b/compiler/components/option.json @@ -0,0 +1,5 @@ +{ + "name": "Option", + "parents": ["Menu"], + "attrs": ["fontColor", "fontSize", "fontWeight", "fontFamily"] +} \ No newline at end of file diff --git a/compiler/components/pageTransition_enter.json b/compiler/components/pageTransition_enter.json new file mode 100644 index 000000000..d0d84825d --- /dev/null +++ b/compiler/components/pageTransition_enter.json @@ -0,0 +1,6 @@ +{ + "name": "PageTransitionEnter", + "atomic": true, + "noDebugLine": true, + "attrs": ["onEnter"] +} \ No newline at end of file diff --git a/compiler/components/pageTransition_exit.json b/compiler/components/pageTransition_exit.json new file mode 100644 index 000000000..24716df5a --- /dev/null +++ b/compiler/components/pageTransition_exit.json @@ -0,0 +1,6 @@ +{ + "name": "PageTransitionExit", + "atomic": true, + "noDebugLine": true, + "attrs": ["onExit"] +} \ No newline at end of file diff --git a/compiler/components/panel.json b/compiler/components/panel.json new file mode 100644 index 000000000..636ee17d4 --- /dev/null +++ b/compiler/components/panel.json @@ -0,0 +1,7 @@ +{ + "name": "Panel", + "attrs": [ + "type", "mode", "dragBar", "fullHeight", + "halfHeight", "miniHeight", "show", "onChange" + ] +} \ No newline at end of file diff --git a/compiler/components/path.json b/compiler/components/path.json new file mode 100644 index 000000000..7e3efd76b --- /dev/null +++ b/compiler/components/path.json @@ -0,0 +1,7 @@ +{ + "name": "Path", + "atomic": true, + "attrs": [ + "commands" + ] +} \ No newline at end of file diff --git a/compiler/components/piece.json b/compiler/components/piece.json new file mode 100644 index 000000000..ff54f790a --- /dev/null +++ b/compiler/components/piece.json @@ -0,0 +1,5 @@ +{ + "name": "Piece", + "attrs": ["iconPosition", "fontColor", "fontSize", "fontStyle", + "fontWeight","fontFamily", "showDelete", "onClose"] +} \ No newline at end of file diff --git a/compiler/components/polygon.json b/compiler/components/polygon.json new file mode 100644 index 000000000..bc0b1033b --- /dev/null +++ b/compiler/components/polygon.json @@ -0,0 +1,5 @@ +{ + "name": "Polygon", + "atomic": true, + "attrs": ["points"] +} \ No newline at end of file diff --git a/compiler/components/polyline.json b/compiler/components/polyline.json new file mode 100644 index 000000000..5f5862ba7 --- /dev/null +++ b/compiler/components/polyline.json @@ -0,0 +1,5 @@ +{ + "name": "Polyline", + "atomic": true, + "attrs": ["points"] +} \ No newline at end of file diff --git a/compiler/components/progress.json b/compiler/components/progress.json new file mode 100644 index 000000000..027e80dbd --- /dev/null +++ b/compiler/components/progress.json @@ -0,0 +1,7 @@ +{ + "name": "Progress", + "atomic": true, + "attrs": [ + "value", "color", "cricularStyle", "circularStyle" + ] +} \ No newline at end of file diff --git a/compiler/components/qrcode.json b/compiler/components/qrcode.json new file mode 100644 index 000000000..eda56a4b7 --- /dev/null +++ b/compiler/components/qrcode.json @@ -0,0 +1,4 @@ +{ + "name": "QRCode", + "attrs": ["color", "backgroundColor"] +} \ No newline at end of file diff --git a/compiler/components/radio.json b/compiler/components/radio.json new file mode 100644 index 000000000..ae90392d7 --- /dev/null +++ b/compiler/components/radio.json @@ -0,0 +1,5 @@ +{ + "name": "Radio", + "atomic": true, + "attrs": ["checked", "onChange"] +} \ No newline at end of file diff --git a/compiler/components/rating.json b/compiler/components/rating.json new file mode 100644 index 000000000..ec43a7a37 --- /dev/null +++ b/compiler/components/rating.json @@ -0,0 +1,4 @@ +{ + "name": "Rating", + "attrs": ["stars", "stepSize", "starStyle", "onChange"] +} \ No newline at end of file diff --git a/compiler/components/rect.json b/compiler/components/rect.json new file mode 100644 index 000000000..fce921d52 --- /dev/null +++ b/compiler/components/rect.json @@ -0,0 +1,7 @@ +{ + "name": "Rect", + "atomic": true, + "attrs": [ + "radiusWidth", "radiusHeight", "radius" + ] +} \ No newline at end of file diff --git a/compiler/components/refresh.json b/compiler/components/refresh.json new file mode 100644 index 000000000..6346ca41e --- /dev/null +++ b/compiler/components/refresh.json @@ -0,0 +1,7 @@ +{ + "name": "Refresh", + "single": true, + "attrs": [ + "refreshing", "offset", "friction", "onStateChange", "onRefreshing" + ] +} \ No newline at end of file diff --git a/compiler/components/row.json b/compiler/components/row.json new file mode 100644 index 000000000..556b560ae --- /dev/null +++ b/compiler/components/row.json @@ -0,0 +1,4 @@ +{ + "name": "Row", + "attrs": ["alignItems"] +} \ No newline at end of file diff --git a/compiler/components/row_split.json b/compiler/components/row_split.json new file mode 100644 index 000000000..da1c9182d --- /dev/null +++ b/compiler/components/row_split.json @@ -0,0 +1,4 @@ +{ + "name": "RowSplit", + "attrs": ["resizeable"] +} \ No newline at end of file diff --git a/compiler/components/scroll.json b/compiler/components/scroll.json new file mode 100644 index 000000000..8c9a9ece7 --- /dev/null +++ b/compiler/components/scroll.json @@ -0,0 +1,7 @@ +{ + "name": "Scroll", + "attrs": [ + "scrollable", "onScroll", "onScrollEdge", "onScrollEnd", "scrollBar", "scrollBarColor", + "scrollBarWidth", "edgeEffect" + ] +} \ No newline at end of file diff --git a/compiler/components/scroll_bar.json b/compiler/components/scroll_bar.json new file mode 100644 index 000000000..7ab2f67c3 --- /dev/null +++ b/compiler/components/scroll_bar.json @@ -0,0 +1,6 @@ +{ + "name": "ScrollBar", + "attrs": [], + "atomic": false, + "single": true +} \ No newline at end of file diff --git a/compiler/components/scroll_motion.json b/compiler/components/scroll_motion.json new file mode 100644 index 000000000..bd2b26a91 --- /dev/null +++ b/compiler/components/scroll_motion.json @@ -0,0 +1,4 @@ +{ + "name": "ScrollMotion", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/search.json b/compiler/components/search.json new file mode 100644 index 000000000..89d7fad27 --- /dev/null +++ b/compiler/components/search.json @@ -0,0 +1,8 @@ +{ + "name": "Search", + "atomic": true, + "attrs": [ + "searchButton", "placeholderColor", "placeholderFont", "textFont", "onSubmit", "onChange", + "onCopy", "OnCut", "OnPaste" + ] +} \ No newline at end of file diff --git a/compiler/components/section.json b/compiler/components/section.json new file mode 100644 index 000000000..97bc13f1d --- /dev/null +++ b/compiler/components/section.json @@ -0,0 +1,4 @@ +{ + "name": "Section", + "attrs": [] +} \ No newline at end of file diff --git a/compiler/components/shape.json b/compiler/components/shape.json new file mode 100644 index 000000000..51c1cfeb5 --- /dev/null +++ b/compiler/components/shape.json @@ -0,0 +1,13 @@ +{ + "name": "Shape", + "children": [ + "Rect", "Path", "Circle", "Ellipse", "Shape", "Polyline", "Polygon", "Image", "Text", "Column", + "Row" + ], + "attrs": [ + "stroke", "fill", "strokeDashOffset", "strokeLineCap", + "strokeLineJoin", "strokeMiterLimit", "strokeOpacity", + "fillOpacity", "strokeWidth", "antiAlias", "strokeDashArray", + "viewPort", "mesh" + ] +} diff --git a/compiler/components/sideBar_container.json b/compiler/components/sideBar_container.json new file mode 100644 index 000000000..ec9f98925 --- /dev/null +++ b/compiler/components/sideBar_container.json @@ -0,0 +1,6 @@ +{ + "name": "SideBarContainer", + "attrs": [ + "showControlButton", "onChange" + ] + } \ No newline at end of file diff --git a/compiler/components/slider.json b/compiler/components/slider.json new file mode 100644 index 000000000..61982642c --- /dev/null +++ b/compiler/components/slider.json @@ -0,0 +1,8 @@ +{ + "name": "Slider", + "atomic": true, + "attrs": [ + "blockColor", "trackColor", "selectedColor", "minLabel", "maxLabel", "showSteps", "showTips", + "onChange" + ] +} \ No newline at end of file diff --git a/compiler/components/span.json b/compiler/components/span.json new file mode 100644 index 000000000..d8467e61b --- /dev/null +++ b/compiler/components/span.json @@ -0,0 +1,8 @@ +{ + "name": "Span", + "atomic": true, + "attrs": [ + "fontColor", "fontSize", "fontStyle", "fontFamily", "fontWeight", "decoration", "letterSpacing", + "textCase" + ] +} \ No newline at end of file diff --git a/compiler/components/spring_motion.json b/compiler/components/spring_motion.json new file mode 100644 index 000000000..abb415f4c --- /dev/null +++ b/compiler/components/spring_motion.json @@ -0,0 +1,4 @@ +{ + "name": "SpringMotion", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/spring_prop.json b/compiler/components/spring_prop.json new file mode 100644 index 000000000..9c53c7bdd --- /dev/null +++ b/compiler/components/spring_prop.json @@ -0,0 +1,4 @@ +{ + "name": "SpringProp", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/stack.json b/compiler/components/stack.json new file mode 100644 index 000000000..7007a9f8c --- /dev/null +++ b/compiler/components/stack.json @@ -0,0 +1,4 @@ +{ + "name": "Stack", + "attrs": ["alignContent"] +} \ No newline at end of file diff --git a/compiler/components/stepper.json b/compiler/components/stepper.json new file mode 100644 index 000000000..50484fe4d --- /dev/null +++ b/compiler/components/stepper.json @@ -0,0 +1,7 @@ +{ + "name": "Stepper", + "children": ["StepperItem"], + "attrs": [ + "onFinish", "onSkip", "onChange", "onNext", "onPrevious" + ] +} \ No newline at end of file diff --git a/compiler/components/stepperItem.json b/compiler/components/stepperItem.json new file mode 100644 index 000000000..4a38a78a5 --- /dev/null +++ b/compiler/components/stepperItem.json @@ -0,0 +1,6 @@ +{ + "name": "StepperItem", + "parents": ["Stepper"], + "single": true, + "attrs": ["prevLabel", "nextLabel", "status"] +} \ No newline at end of file diff --git a/compiler/components/swiper.json b/compiler/components/swiper.json new file mode 100644 index 000000000..6164d4b43 --- /dev/null +++ b/compiler/components/swiper.json @@ -0,0 +1,7 @@ +{ + "name": "Swiper", + "attrs": [ + "index", "autoPlay", "interval", "indicator", "loop", "duration", "vertical", "itemSpace", + "cachedCount", "displayMode", "displayCount", "effectMode", "disableSwipe", "onChange" + ] +} \ No newline at end of file diff --git a/compiler/components/tab_content.json b/compiler/components/tab_content.json new file mode 100644 index 000000000..e0beff067 --- /dev/null +++ b/compiler/components/tab_content.json @@ -0,0 +1,5 @@ +{ + "name": "TabContent", + "parents": ["Tabs"], + "attrs": ["tabBar"] +} \ No newline at end of file diff --git a/compiler/components/tabs.json b/compiler/components/tabs.json new file mode 100644 index 000000000..68369496c --- /dev/null +++ b/compiler/components/tabs.json @@ -0,0 +1,8 @@ +{ + "name": "Tabs", + "children": ["TabContent"], + "attrs": [ + "vertical", "scrollable", "barMode", "barWidth", "barHeight", "animationDuration", + "onChange" + ] +} \ No newline at end of file diff --git a/compiler/components/text.json b/compiler/components/text.json new file mode 100644 index 000000000..9d8d8eff5 --- /dev/null +++ b/compiler/components/text.json @@ -0,0 +1,9 @@ +{ + "name": "Text", + "children": ["Span"], + "attrs": [ + "fontColor", "fontSize", "fontStyle", "fontWeight", "textAlign", "lineHeight", "textOverflow", + "maxLines", "decoration", "letterSpacing", "textCase", "baselineOffset", "minFontSize", + "maxFontSize" + ] +} \ No newline at end of file diff --git a/compiler/components/textPicker.json b/compiler/components/textPicker.json new file mode 100644 index 000000000..2e3cb114e --- /dev/null +++ b/compiler/components/textPicker.json @@ -0,0 +1,4 @@ +{ + "name": "TextPicker", + "attrs": ["defaultPickerItemHeight", "onAccept", "onCancel", "onChange"] +} \ No newline at end of file diff --git a/compiler/components/textarea.json b/compiler/components/textarea.json new file mode 100644 index 000000000..60f93d5eb --- /dev/null +++ b/compiler/components/textarea.json @@ -0,0 +1,8 @@ +{ + "name": "TextArea", + "atomic": true, + "attrs": [ + "placeholderColor", "placeholderFont", "textAlign", "caretColor", "onChange", + "onCopy", "OnCut", "OnPaste", "fontSize", "fontColor", "fontStyle", "fontWeight", "fontFamily" + ] +} \ No newline at end of file diff --git a/compiler/components/textinput.json b/compiler/components/textinput.json new file mode 100644 index 000000000..a876382bf --- /dev/null +++ b/compiler/components/textinput.json @@ -0,0 +1,9 @@ +{ + "name": "TextInput", + "atomic": true, + "attrs": [ + "type", "placeholderColor", "placeholderFont", "enterKeyType", "caretColor", "maxLength", + "onEditChanged", "onSubmit", "onChange", "onCopy", "OnCut", "OnPaste", "fontSize", + "fontColor", "fontStyle", "fontWeight", "fontFamily" + ] +} \ No newline at end of file diff --git a/compiler/components/toggle.json b/compiler/components/toggle.json new file mode 100644 index 000000000..fbee0bfff --- /dev/null +++ b/compiler/components/toggle.json @@ -0,0 +1,4 @@ +{ + "name": "Toggle", + "attrs": ["onChange", "selectedColor", "switchPointColor"] +} \ No newline at end of file diff --git a/compiler/components/video.json b/compiler/components/video.json new file mode 100644 index 000000000..3a9e18ca3 --- /dev/null +++ b/compiler/components/video.json @@ -0,0 +1,8 @@ +{ + "name": "Video", + "atomic": true, + "attrs": [ + "muted", "autoPlay", "controls", "loop", "objectFit", "onSeeking", "onFullscreenChange", + "onStart", "onPause", "onPrepared", "onFinish", "onSeeked", "onUpdate", "onError" + ] +} \ No newline at end of file diff --git a/compiler/components/web.json b/compiler/components/web.json new file mode 100644 index 000000000..80a3b7737 --- /dev/null +++ b/compiler/components/web.json @@ -0,0 +1,5 @@ +{ + "name": "Web", + "atomic": true, + "attrs": ["onPagestart", "onPagefinish", "onError","onMessage"] +} \ No newline at end of file diff --git a/compiler/components/xcomponent.json b/compiler/components/xcomponent.json new file mode 100644 index 000000000..43582fe31 --- /dev/null +++ b/compiler/components/xcomponent.json @@ -0,0 +1,7 @@ +{ + "name": "XComponent", + "atomic": true, + "attrs": [ + "id", "type", "libraryname", "source", "onLoad", "onDestroy" + ] +} \ No newline at end of file diff --git a/compiler/main.js b/compiler/main.js index b356e486b..de983dc75 100644 --- a/compiler/main.js +++ b/compiler/main.js @@ -49,6 +49,7 @@ function initProjectConfig(projectConfig) { path.resolve(projectConfig.projectPath, 'build'); projectConfig.manifestFilePath = projectConfig.manifestFilePath || process.env.aceManifestPath || path.join(projectConfig.projectPath, 'manifest.json'); + projectConfig.aceConfigPath = projectConfig.aceConfigPath || process.env.aceConfigPath; } function loadEntryObj(projectConfig) { @@ -60,11 +61,14 @@ function loadEntryObj(projectConfig) { staticPreviewPage + '.ets?entry'; } else if (abilityConfig.abilityType === 'page') { let manifest = {}; - try { + if (fs.existsSync(projectConfig.manifestFilePath)) { const jsonString = fs.readFileSync(projectConfig.manifestFilePath).toString(); manifest = JSON.parse(jsonString); - } catch (error) { - throw Error(`\u001b[31m ERROR: the manifest file '${projectConfig.manifestFilePath}' is lost or format is invalid. \u001b[39m`).message; + } else if (process.env.aceConfigPath && fs.existsSync( projectConfig.aceConfigPath)) { + buildManifest(manifest, projectConfig.aceConfigPath); + } else { + throw Error('\u001b[31m ERROR: the manifest file ' + projectConfig.manifestFilePath + + ' or config.json is lost or format is invalid. \u001b[39m').message; } if (manifest.pages) { const pages = manifest.pages; @@ -77,7 +81,49 @@ function loadEntryObj(projectConfig) { } }); } else { - throw Error(`\u001b[31m ERROR: missing pages attribute in '${projectConfig.manifestFilePath}'. \u001b[39m`).message; + throw Error('\u001b[31m ERROR: missing pages attribute in ' + projectConfig.manifestFilePath + + '. \u001b[39m').message; + } + } +} + +function buildManifest(manifest, aceConfigPath) { + try { + const configJson = JSON.parse(fs.readFileSync(aceConfigPath).toString()); + const srcPath = process.env.srcPath; + manifest.type = process.env.abilityType; + if (configJson.module && configJson.module.abilities) { + manifest.pages = getPages(configJson, srcPath); + } else { + throw Error('\u001b[31m'+ + 'EERROR: the config.json file miss keyword module || module[abilities].' + + '\u001b[39m').message; + } + manifest.minPlatformVersion = configJson.app.apiVersion.compatible; + } catch (e) { + throw Error("\x1B[31m" + 'ERROR: the config.json file is lost or format is invalid.' + + "\x1B[39m").message; + } +} + +function getPages(configJson, srcPath) { + const pages = [] + for (const ability of configJson.module.abilities){ + if (ability.srcPath === srcPath) { + readPages(ability, pages, configJson) + break; + } + } + return pages; +} + +function readPages(ability, pages, configJson) { + for (const js of configJson.module.js){ + if (ability.name === js.name) { + js.pages.forEach(page => { + pages.push(page) + }) + break; } } } diff --git a/compiler/package-lock.json b/compiler/package-lock.json index 8b3288c9d..f42b96581 100644 --- a/compiler/package-lock.json +++ b/compiler/package-lock.json @@ -5,12 +5,12 @@ "requires": true, "dependencies": { "@babel/cli": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/cli/download/@babel/cli-7.16.0.tgz", - "integrity": "sha1-pym3pI64C0n0ijOVKfxBKf17zvM=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/cli/download/@babel/cli-7.15.4.tgz", + "integrity": "sha1-AOIeGStzjex5AMi7NicON3IXwKQ=", "dev": true, "requires": { - "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.2", "chokidar": "^3.4.0", "commander": "^4.0.1", "convert-source-map": "^1.1.0", @@ -23,8 +23,8 @@ "dependencies": { "commander": { "version": "4.1.1", - "resolved": "https://registry.npmmirror.com/commander/download/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "resolved": "https://registry.nlark.com/commander/download/commander-4.1.1.tgz", + "integrity": "sha1-n9YCvZNilOnp70aj9NaWQESxgGg=", "dev": true }, "slash": { @@ -35,42 +35,42 @@ }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, "@babel/code-frame": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.16.0.tgz", - "integrity": "sha1-DfyAMJvuyEEeZecGRhxAiwu5tDE=", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz", + "integrity": "sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts=", "dev": true, "requires": { - "@babel/highlight": "^7.16.0" + "@babel/highlight": "^7.14.5" } }, "@babel/compat-data": { - "version": "7.16.4", - "resolved": "https://registry.npmmirror.com/@babel/compat-data/download/@babel/compat-data-7.16.4.tgz?cache=0&sync_timestamp=1637102873430&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.16.4.tgz", - "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "version": "7.15.0", + "resolved": "https://registry.nlark.com/@babel/compat-data/download/@babel/compat-data-7.15.0.tgz", + "integrity": "sha1-Lbr4uFM0eWyvuw9Xk6kKL8AQsXY=", "dev": true }, "@babel/core": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/core/download/@babel/core-7.16.5.tgz", - "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.5", - "@babel/helper-compilation-targets": "^7.16.3", - "@babel/helper-module-transforms": "^7.16.5", - "@babel/helpers": "^7.16.5", - "@babel/parser": "^7.16.5", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.5", - "@babel/types": "^7.16.0", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/core/download/@babel/core-7.15.4.tgz?cache=0&sync_timestamp=1630618926729&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.15.4.tgz", + "integrity": "sha1-pw0GxYrh/OOcI/jv15+dXriy85c=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -81,105 +81,104 @@ "dependencies": { "semver": { "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "dev": true }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, "@babel/generator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.16.5.tgz", - "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/generator/download/@babel/generator-7.15.4.tgz", + "integrity": "sha1-hayxWaJnymMk+Xk5hpke4gIqBbA=", "dev": true, "requires": { - "@babel/types": "^7.16.0", + "@babel/types": "^7.15.4", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, "dependencies": { "source-map": { "version": "0.5.7", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, "@babel/helper-annotate-as-pure": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz", - "integrity": "sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha1-PQ5DsAxeSf22xX5CFgGnpljV+DU=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz", - "integrity": "sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", + "integrity": "sha1-Ia2BX2CbhO4OMFhnbDPPbRZwUl8=", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.16.0", - "@babel/types": "^7.16.0" + "@babel/helper-explode-assignable-expression": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-compilation-targets": { - "version": "7.16.3", - "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.16.3.tgz", - "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha1-z22U8w++/BORI+J91rAvZa7tt7k=", "dev": true, "requires": { - "@babel/compat-data": "^7.16.0", + "@babel/compat-data": "^7.15.0", "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.17.5", + "browserslist": "^4.16.6", "semver": "^6.3.0" }, "dependencies": { "semver": { "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "dev": true } } }, "@babel/helper-create-class-features-plugin": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.16.5.tgz", - "integrity": "sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.15.4.tgz", + "integrity": "sha1-f5d8F70SpfujY8sZvqCQOUvzfS4=", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-environment-visitor": "^7.16.5", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-member-expression-to-functions": "^7.16.5", - "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/helper-replace-supers": "^7.16.5", - "@babel/helper-split-export-declaration": "^7.16.0" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.16.0.tgz?cache=0&sync_timestamp=1635567015952&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-create-regexp-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-regexp-features-plugin-7.16.0.tgz", - "integrity": "sha1-BrI0jON/zMT14Y3NjXUFPyp8RP8=", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha1-x9WsXpz2IcJgV3Ivt6ikxYiTWMQ=", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-annotate-as-pure": "^7.14.5", "regexpu-core": "^4.7.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.3.0.tgz?cache=0&sync_timestamp=1636799963185&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-define-polyfill-provider%2Fdownload%2F%40babel%2Fhelper-define-polyfill-provider-0.3.0.tgz", - "integrity": "sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==", + "version": "0.2.3", + "resolved": "https://registry.nlark.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha1-BSXt7FCUZTooJojTTYRuTHXpwLY=", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.13.0", @@ -194,201 +193,191 @@ "dependencies": { "semver": { "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "dev": true } } }, - "@babel/helper-environment-visitor": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/download/@babel/helper-environment-visitor-7.16.5.tgz", - "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==", - "dev": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, "@babel/helper-explode-assignable-expression": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.16.0.tgz", - "integrity": "sha1-dTAXM3oV9G+cCfZ0z/EM7pudd3g=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.15.4.tgz", + "integrity": "sha1-+a7J0hnycer5K59WFZjKayaCYAw=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-function-name": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/download/@babel/helper-function-name-7.16.0.tgz", - "integrity": "sha1-t90Hl9ALv+5PB+nE6lsOMMi7FIE=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-function-name/download/@babel/helper-function-name-7.15.4.tgz", + "integrity": "sha1-hFdE2vxDgaSl+2r6bD02+Yp4frw=", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/types": "^7.16.0" + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-get-function-arity": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.16.0.tgz", - "integrity": "sha1-AIjHSGspqctdlIsaHeRttm4InPo=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha1-CYgYk0oTf854tTaj4BWGS+Hih5s=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-hoist-variables": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.16.0.tgz", - "integrity": "sha1-TJAjwvHe9+KP9G/B2802o5vqqBo=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha1-CZk6MlnA6Rj5nRBCYd/fwDPxeN8=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.16.5.tgz", - "integrity": "sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha1-v9NNybupgkpGWLAxfsL9VxpR5u8=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-module-imports": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.16.0.tgz", - "integrity": "sha1-kFOOYLZy7PG0SPX09UM9N+eaPsM=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.15.4.tgz", + "integrity": "sha1-4YAH0jBjLeoZtHhTuYRHbntOED8=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-module-transforms": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.16.5.tgz", - "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.15.4.tgz", + "integrity": "sha1-lizGKaf3+aCC3WLQMH+nX+h4jXw=", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.5", - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-simple-access": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.5", - "@babel/types": "^7.16.0" + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.14.9", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-optimise-call-expression": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.16.0.tgz", - "integrity": "sha1-zs2xRdcMVAlrFWT46fEM19GTszg=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha1-8xClEho7nMUtmrGRIr1ymCLe4XE=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-plugin-utils": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.16.5.tgz", - "integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha1-WsgizpfuxGdBq3ClF5ceRDpwxak=", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.16.5.tgz", - "integrity": "sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.15.4.tgz", + "integrity": "sha1-JjfAcx5MkPv1isWLULK1oZL8lw8=", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-wrap-function": "^7.16.5", - "@babel/types": "^7.16.0" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-wrap-function": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-replace-supers": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.16.5.tgz", - "integrity": "sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.15.4.tgz", + "integrity": "sha1-UqirJrqRjH9t7ihiiwcHGse3NHo=", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.5", - "@babel/helper-member-expression-to-functions": "^7.16.5", - "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/traverse": "^7.16.5", - "@babel/types": "^7.16.0" + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-simple-access": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.16.0.tgz?cache=0&sync_timestamp=1635561435655&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.16.0.tgz", - "integrity": "sha1-IdaidiDjg+N1NM9sELugGab5BRc=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.15.4.tgz", + "integrity": "sha1-rDaJBavx3o6XgUNLY12PhnS8wTs=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.16.0.tgz?cache=0&sync_timestamp=1635567015488&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-skip-transparent-expression-wrappers%2Fdownload%2F%40babel%2Fhelper-skip-transparent-expression-wrappers-7.16.0.tgz", - "integrity": "sha1-DuM4gHAUfDrgUeSH7KPrsOLouwk=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.15.4.tgz", + "integrity": "sha1-cH29uh9K0Po0+RFPyBl67H1dous=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-split-export-declaration": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.16.0.tgz?cache=0&sync_timestamp=1635561440982&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.16.0.tgz", - "integrity": "sha1-KWcvQ2Y+k23zcKrrIr7ds7rsdDg=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha1-rsq5Lc2+9qEKo7YqsgSwhfd24lc=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.15.7.tgz?cache=0&sync_timestamp=1631920110587&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.15.7.tgz", - "integrity": "sha1-Ig35k7/pBKSmsCq08zhaXr9uI4k=", + "version": "7.14.9", + "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.9.tgz?cache=0&sync_timestamp=1627804408187&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.9.tgz", + "integrity": "sha1-ZlTRcbICT22O4VG/JQlpmRkTHUg=", "dev": true }, "@babel/helper-validator-option": { "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz?cache=0&sync_timestamp=1623281108450&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-option%2Fdownload%2F%40babel%2Fhelper-validator-option-7.14.5.tgz", + "resolved": "https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz", "integrity": "sha1-bnKh//GNXfy4eOHmLxoCHEty1aM=", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.16.5.tgz", - "integrity": "sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.15.4.tgz", + "integrity": "sha1-b3VLJEbPrz1hJSPmq415wnw6Pec=", "dev": true, "requires": { - "@babel/helper-function-name": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.5", - "@babel/types": "^7.16.0" + "@babel/helper-function-name": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helpers": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helpers/download/@babel/helpers-7.16.5.tgz", - "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helpers/download/@babel/helpers-7.15.4.tgz", + "integrity": "sha1-X0DwIFCjAnEho89I1JfAXFVer0M=", "dev": true, "requires": { - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.5", - "@babel/types": "^7.16.0" + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/highlight": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/highlight/download/@babel/highlight-7.16.0.tgz", - "integrity": "sha1-bOsysspLj182H7f9gh4/3fShclo=", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz", + "integrity": "sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk=", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -404,7 +393,7 @@ }, "chalk": { "version": "2.4.2", - "resolved": "https://registry.npmmirror.com/chalk/download/chalk-2.4.2.tgz", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1627646614989&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", "dev": true, "requires": { @@ -415,7 +404,7 @@ }, "color-convert": { "version": "1.9.3", - "resolved": "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz", + "resolved": "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz?cache=0&sync_timestamp=1624607968569&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcolor-convert%2Fdownload%2Fcolor-convert-1.9.3.tgz", "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", "dev": true, "requires": { @@ -430,13 +419,13 @@ }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz?cache=0&sync_timestamp=1626716578584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-5.5.0.tgz", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", "dev": true, "requires": { @@ -446,187 +435,178 @@ } }, "@babel/parser": { - "version": "7.16.6", - "resolved": "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.16.6.tgz", - "integrity": "sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.15.4.tgz", + "integrity": "sha1-AvKTG4IlEtOq0X1HWug9p0olWoQ=", "dev": true }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.2", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/download/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz", - "integrity": "sha1-KXf8qbIS2xU8GVZ05Xz6uAdzMYM=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz", - "integrity": "sha1-NYly6qsAb16wgmGDsMk8vK8T4eI=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", + "integrity": "sha1-296rsegPYi2fC1g++ymZYF4KVn4=", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0" + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.16.5.tgz", - "integrity": "sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.15.4.tgz", + "integrity": "sha1-+Cqr6WwTXSzqqRf+ufX8oxY1J34=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-remap-async-to-generator": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.15.4", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.16.5.tgz", - "integrity": "sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.14.5.tgz?cache=0&sync_timestamp=1624608012853&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha1-QNHuFAxbHjGjUPT17tlFCWVZtC4=", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.16.5.tgz", - "integrity": "sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.15.4.tgz", + "integrity": "sha1-PnymEoRTwInotHepn5cMY/wcuNc=", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.16.5.tgz", - "integrity": "sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha1-DGYX30YcDB+P/ztHzVl3I2AQHSw=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.16.5.tgz", - "integrity": "sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha1-260kQxDObM0IMHIWfYzqg6Uvr3Y=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.16.5.tgz", - "integrity": "sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha1-ON5g2zYug6PYyUSshY3fnwwiOes=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.16.5.tgz", - "integrity": "sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha1-bmIpwqmbAqspFfglceDMZGpAxzg=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz", - "integrity": "sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz?cache=0&sync_timestamp=1624607953699&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha1-7jhYnOAOLMWbKZ7D6kBvzToP2vY=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.16.5.tgz", - "integrity": "sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha1-g2Mb8z2aUd8YTCECoGmsDFjAXxg=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.16.5.tgz", - "integrity": "sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==", + "version": "7.14.7", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.14.7.tgz?cache=0&sync_timestamp=1624608013147&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.14.7.tgz", + "integrity": "sha1-WSCis99/eQHfAgWXTAZBsT/Z02M=", "dev": true, "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-compilation-targets": "^7.16.3", - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.5" + "@babel/plugin-transform-parameters": "^7.14.5" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.16.5.tgz", - "integrity": "sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha1-k53W7d7/Omf997PwRLU0cmJZjDw=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.16.5.tgz", - "integrity": "sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha1-+oNlHmCjYOPxN5fu8AuNUZaVtgM=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.16.5.tgz", - "integrity": "sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.14.5.tgz?cache=0&sync_timestamp=1624607954131&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-private-methods%2Fdownload%2F%40babel%2Fplugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha1-N0RklZlrKUXzD1vltg1eKqT1eS0=", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.16.5.tgz", - "integrity": "sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.15.4.tgz", + "integrity": "sha1-VcXjtNAmH9RP5jfj9iTPsPSE4+U=", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-create-class-features-plugin": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.16.5.tgz", - "integrity": "sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha1-D5XuDnV6XWR/N42qDsp+k/qou+g=", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-async-generators": { @@ -649,7 +629,7 @@ }, "@babel/plugin-syntax-class-static-block": { "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.14.5.tgz?cache=0&sync_timestamp=1623281106862&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-syntax-class-static-block%2Fdownload%2F%40babel%2Fplugin-syntax-class-static-block-7.14.5.tgz", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha1-GV34mxRrS3izv4l/16JXyEZZ1AY=", "dev": true, "requires": { @@ -658,7 +638,7 @@ }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz?cache=0&sync_timestamp=1624608013305&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-syntax-dynamic-import%2Fdownload%2F%40babel%2Fplugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", "dev": true, "requires": { @@ -703,7 +683,7 @@ }, "@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=", "dev": true, "requires": { @@ -748,7 +728,7 @@ }, "@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.14.5.tgz?cache=0&sync_timestamp=1623281110076&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-syntax-top-level-await%2Fdownload%2F%40babel%2Fplugin-syntax-top-level-await-7.14.5.tgz", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha1-wc/a3DWmRiQAAfBhOCR7dBw02Uw=", "dev": true, "requires": { @@ -756,365 +736,363 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/download/@babel/plugin-syntax-typescript-7.16.5.tgz", - "integrity": "sha512-/d4//lZ1Vqb4mZ5xTep3dDK888j7BGM/iKqBmndBaoYAFPlPKrGU608VVBz5JeyAb6YQDjRu1UKqj86UhwWVgw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-typescript/download/@babel/plugin-syntax-typescript-7.14.5.tgz", + "integrity": "sha1-uCxs5HGxZbXOQgz5KRTW+0YiVxY=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.16.5.tgz", - "integrity": "sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.14.5.tgz?cache=0&sync_timestamp=1624607954413&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-arrow-functions%2Fdownload%2F%40babel%2Fplugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha1-9xh9lYinaN0IC/TJ/+EX6mL3hio=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.16.5.tgz", - "integrity": "sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha1-cseJCE2PIJSsuUVjOUPvhEPTnmc=", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-remap-async-to-generator": "^7.16.5" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.16.5.tgz", - "integrity": "sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha1-5IZB2ZnUvBV6Z+8zautUvET9OtQ=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.16.5.tgz", - "integrity": "sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==", + "version": "7.15.3", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.15.3.tgz", + "integrity": "sha1-lMgabi/CMLzObvU3rJah5NKzr68=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-classes": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.16.5.tgz", - "integrity": "sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-environment-visitor": "^7.16.5", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-replace-supers": "^7.16.5", - "@babel/helper-split-export-declaration": "^7.16.0", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.15.4.tgz", + "integrity": "sha1-UK7heq9/MyrkTjvOTC4QU01dO/E=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.16.5.tgz", - "integrity": "sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha1-G514mHQg0RIj1BGVRhzEO5dLIE8=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-destructuring": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.16.5.tgz", - "integrity": "sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==", + "version": "7.14.7", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.14.7.tgz?cache=0&sync_timestamp=1624607954836&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-destructuring%2Fdownload%2F%40babel%2Fplugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha1-CtWO034j4iCE0QnxhSYINeVVdXY=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.16.5.tgz", - "integrity": "sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha1-L2v3bka9+AQ7Tn4WzyRTJim6DHo=", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.16.5.tgz", - "integrity": "sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha1-NlpIRIgb3xUB46nwJw5/D5EXeVQ=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.16.5.tgz", - "integrity": "sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha1-UVS43Wo9/m2Qkj1hckvT3uuQtJM=", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-for-of": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.16.5.tgz", - "integrity": "sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.15.4.tgz", + "integrity": "sha1-JcYszicYz7KXFfQW511SY/s2qMI=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-function-name": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.16.5.tgz", - "integrity": "sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha1-6Bxl7LkAdG1/MYAva+0fUtkV1vI=", "dev": true, "requires": { - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-literals": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.16.5.tgz", - "integrity": "sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha1-QdBsf/XU0J489Fh70+zzkwxzD3g=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.16.5.tgz", - "integrity": "sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha1-s5zVISor8jWmF9Mg7CtIvMCRuKc=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.16.5.tgz", - "integrity": "sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha1-T9nOfjQRy4uDhISAtwQdgwBIWPc=", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.16.5.tgz", - "integrity": "sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.15.4.tgz", + "integrity": "sha1-ggEQEkDqu1p2wI72GylU92e2tME=", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-simple-access": "^7.16.0", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.15.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.16.5.tgz", - "integrity": "sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.15.4.tgz", + "integrity": "sha1-tCiQxzSaeMgncZ8dLQzTjH0mgTI=", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-module-transforms": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.16.5.tgz", - "integrity": "sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha1-+2Yt/uaXzOJ0p82lJRkKeQlqpuA=", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.16.5.tgz", - "integrity": "sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==", + "version": "7.14.9", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.14.9.tgz?cache=0&sync_timestamp=1627804419952&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-named-capturing-groups-regex%2Fdownload%2F%40babel%2Fplugin-transform-named-capturing-groups-regex-7.14.9.tgz", + "integrity": "sha1-xo9cXRLS66ujdi5XwsT2NHpG57I=", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.0" + "@babel/helper-create-regexp-features-plugin": "^7.14.5" } }, "@babel/plugin-transform-new-target": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.16.5.tgz", - "integrity": "sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha1-Mb2ui5JdyEB26/zSqZQBQ67X2/g=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-object-super": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.16.5.tgz", - "integrity": "sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha1-0LX66snphZehYanPeMUn7ZNM3EU=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-replace-supers": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" } }, "@babel/plugin-transform-parameters": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.16.5.tgz", - "integrity": "sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.15.4.tgz", + "integrity": "sha1-XyKFzDFgv0jIUCQycWtIUE0p7WI=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-property-literals": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.16.5.tgz", - "integrity": "sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha1-DduqH4PbNgbxzfSEb6HftHNFizQ=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-regenerator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.16.5.tgz", - "integrity": "sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha1-lnb9VwftKPUicnxbPAqoVERAsE8=", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.16.5.tgz", - "integrity": "sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha1-xEWJtmHP2++NQwDcx0ad/6kvgwQ=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.16.5.tgz", - "integrity": "sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.14.5.tgz?cache=0&sync_timestamp=1624607955296&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-shorthand-properties%2Fdownload%2F%40babel%2Fplugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha1-l/E4VfFAkzjYyty6ymcK154JGlg=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-spread": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.16.5.tgz", - "integrity": "sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==", + "version": "7.14.6", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.14.6.tgz?cache=0&sync_timestamp=1624607955440&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-spread%2Fdownload%2F%40babel%2Fplugin-transform-spread-7.14.6.tgz", + "integrity": "sha1-a9QOV/596UqpBIUZY7VhZlL3MUQ=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.16.5.tgz", - "integrity": "sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha1-W2F1Qmdei3dhKUOB88KMYz9Arrk=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-template-literals": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.16.5.tgz", - "integrity": "sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.14.5.tgz?cache=0&sync_timestamp=1624607976904&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-template-literals%2Fdownload%2F%40babel%2Fplugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha1-pfK8Izk32EU4hdxza92Nn/q/PZM=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.16.5.tgz", - "integrity": "sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha1-Oa8nOemJor0pG/a1PxaYFCPUV9Q=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-typescript": { - "version": "7.16.1", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/download/@babel/plugin-transform-typescript-7.16.1.tgz?cache=0&sync_timestamp=1635663263183&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fplugin-transform-typescript%2Fdownload%2F%40babel%2Fplugin-transform-typescript-7.16.1.tgz", - "integrity": "sha1-zAZwsoIrAzg1W8Gz0iRqQrgWZAk=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-typescript/download/@babel/plugin-transform-typescript-7.15.4.tgz?cache=0&sync_timestamp=1630620772635&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-typescript%2Fdownload%2F%40babel%2Fplugin-transform-typescript-7.15.4.tgz", + "integrity": "sha1-23oGLc+L5fwJa8DutAoT+/ofolE=", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-create-class-features-plugin": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-typescript": "^7.16.0" + "@babel/plugin-syntax-typescript": "^7.14.5" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.16.5.tgz", - "integrity": "sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha1-nUvSpoHjxdes9PV/qeURddkdDGs=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.16.5.tgz", - "integrity": "sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha1-TNCbbIQl3YElXHzrP7GDbnQUOC4=", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/preset-env": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/preset-env/download/@babel/preset-env-7.16.5.tgz", - "integrity": "sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/preset-env/download/@babel/preset-env-7.15.4.tgz?cache=0&sync_timestamp=1630619344894&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.15.4.tgz", + "integrity": "sha1-GX5/madVxIjwr0Ea8XnL0Q3m6BU=", "dev": true, "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-compilation-targets": "^7.16.3", - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.2", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-async-generator-functions": "^7.16.5", - "@babel/plugin-proposal-class-properties": "^7.16.5", - "@babel/plugin-proposal-class-static-block": "^7.16.5", - "@babel/plugin-proposal-dynamic-import": "^7.16.5", - "@babel/plugin-proposal-export-namespace-from": "^7.16.5", - "@babel/plugin-proposal-json-strings": "^7.16.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.5", - "@babel/plugin-proposal-numeric-separator": "^7.16.5", - "@babel/plugin-proposal-object-rest-spread": "^7.16.5", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.5", - "@babel/plugin-proposal-optional-chaining": "^7.16.5", - "@babel/plugin-proposal-private-methods": "^7.16.5", - "@babel/plugin-proposal-private-property-in-object": "^7.16.5", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", + "@babel/plugin-proposal-async-generator-functions": "^7.15.4", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.15.4", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.15.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", @@ -1129,59 +1107,59 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.5", - "@babel/plugin-transform-async-to-generator": "^7.16.5", - "@babel/plugin-transform-block-scoped-functions": "^7.16.5", - "@babel/plugin-transform-block-scoping": "^7.16.5", - "@babel/plugin-transform-classes": "^7.16.5", - "@babel/plugin-transform-computed-properties": "^7.16.5", - "@babel/plugin-transform-destructuring": "^7.16.5", - "@babel/plugin-transform-dotall-regex": "^7.16.5", - "@babel/plugin-transform-duplicate-keys": "^7.16.5", - "@babel/plugin-transform-exponentiation-operator": "^7.16.5", - "@babel/plugin-transform-for-of": "^7.16.5", - "@babel/plugin-transform-function-name": "^7.16.5", - "@babel/plugin-transform-literals": "^7.16.5", - "@babel/plugin-transform-member-expression-literals": "^7.16.5", - "@babel/plugin-transform-modules-amd": "^7.16.5", - "@babel/plugin-transform-modules-commonjs": "^7.16.5", - "@babel/plugin-transform-modules-systemjs": "^7.16.5", - "@babel/plugin-transform-modules-umd": "^7.16.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.5", - "@babel/plugin-transform-new-target": "^7.16.5", - "@babel/plugin-transform-object-super": "^7.16.5", - "@babel/plugin-transform-parameters": "^7.16.5", - "@babel/plugin-transform-property-literals": "^7.16.5", - "@babel/plugin-transform-regenerator": "^7.16.5", - "@babel/plugin-transform-reserved-words": "^7.16.5", - "@babel/plugin-transform-shorthand-properties": "^7.16.5", - "@babel/plugin-transform-spread": "^7.16.5", - "@babel/plugin-transform-sticky-regex": "^7.16.5", - "@babel/plugin-transform-template-literals": "^7.16.5", - "@babel/plugin-transform-typeof-symbol": "^7.16.5", - "@babel/plugin-transform-unicode-escapes": "^7.16.5", - "@babel/plugin-transform-unicode-regex": "^7.16.5", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.0", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.4.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.19.1", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.15.3", + "@babel/plugin-transform-classes": "^7.15.4", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.15.4", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.4", + "@babel/plugin-transform-modules-systemjs": "^7.15.4", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.15.4", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.15.4", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.16.0", "semver": "^6.3.0" }, "dependencies": { "semver": { "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "dev": true } } }, "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmmirror.com/@babel/preset-modules/download/@babel/preset-modules-0.1.5.tgz", - "integrity": "sha1-75Odbn8miCfhhBY43G/5VRXhFdk=", + "version": "0.1.4", + "resolved": "https://registry.nlark.com/@babel/preset-modules/download/@babel/preset-modules-0.1.4.tgz", + "integrity": "sha1-Ni8raMZihClw/bXiVP/I/BwuQV4=", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -1192,72 +1170,71 @@ } }, "@babel/preset-typescript": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/preset-typescript/download/@babel/preset-typescript-7.16.5.tgz", - "integrity": "sha512-lmAWRoJ9iOSvs3DqOndQpj8XqXkzaiQs50VG/zESiI9D3eoZhGriU675xNCr0UwvsuXrhMAGvyk1w+EVWF3u8Q==", + "version": "7.15.0", + "resolved": "https://registry.nlark.com/@babel/preset-typescript/download/@babel/preset-typescript-7.15.0.tgz", + "integrity": "sha1-6PymOKGg9k8U4RGff+RQAneECUU=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-transform-typescript": "^7.16.1" + "@babel/plugin-transform-typescript": "^7.15.0" } }, "@babel/runtime": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/runtime/download/@babel/runtime-7.16.5.tgz", - "integrity": "sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.15.4.tgz", + "integrity": "sha1-/RfRa/34eObdAtGXU6OfqKjZyEo=", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.0.tgz", - "integrity": "sha1-0Wo16/TNdOICCDNW+rId2JNj3dY=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/template/download/@babel/template-7.15.4.tgz", + "integrity": "sha1-UYmNNdzz+qZwxO5q/P1RfuE58ZQ=", "dev": true, "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/traverse": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/traverse/download/@babel/traverse-7.16.5.tgz", - "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.5", - "@babel/helper-environment-visitor": "^7.16.5", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/parser": "^7.16.5", - "@babel/types": "^7.16.0", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/traverse/download/@babel/traverse-7.15.4.tgz", + "integrity": "sha1-/4UQNnoUS/v/VS2eGOKPPiiJwi0=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/types/download/@babel/types-7.16.0.tgz", - "integrity": "sha1-2zsxOAT5aq3Qt3bEgj4SetZyibo=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.15.4.tgz", + "integrity": "sha1-dO64bb1nSNJ0E5ZVe5hg5X/OCg0=", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" } }, "@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmmirror.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==" + "version": "0.5.3", + "resolved": "https://registry.nlark.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.3.tgz", + "integrity": "sha1-kEIPn5xtOYfxdqGafY52QnGi9V0=" }, "@eslint/eslintrc": { "version": "0.4.3", - "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/download/@eslint/eslintrc-0.4.3.tgz", + "resolved": "https://registry.nlark.com/@eslint/eslintrc/download/@eslint/eslintrc-0.4.3.tgz?cache=0&sync_timestamp=1628296902668&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40eslint%2Feslintrc%2Fdownload%2F%40eslint%2Feslintrc-0.4.3.tgz", "integrity": "sha1-nkKYHvA1vrPdSa3ResuW6P9vOUw=", "dev": true, "requires": { @@ -1273,9 +1250,9 @@ }, "dependencies": { "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmmirror.com/globals/download/globals-13.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-13.12.0.tgz", - "integrity": "sha1-TXM3YDBCMKAILtluIeXFZfiYCJ4=", + "version": "13.11.0", + "resolved": "https://registry.nlark.com/globals/download/globals-13.11.0.tgz", + "integrity": "sha1-QO9njaEX/nvS4o8fqySVG9AlW+c=", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -1283,7 +1260,7 @@ }, "ignore": { "version": "4.0.6", - "resolved": "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz", + "resolved": "https://registry.nlark.com/ignore/download/ignore-4.0.6.tgz", "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", "dev": true } @@ -1291,7 +1268,7 @@ }, "@humanwhocodes/config-array": { "version": "0.5.0", - "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.5.0.tgz", + "resolved": "https://registry.nlark.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.5.0.tgz?cache=0&sync_timestamp=1625263855104&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40humanwhocodes%2Fconfig-array%2Fdownload%2F%40humanwhocodes%2Fconfig-array-0.5.0.tgz", "integrity": "sha1-FAeWfUxu7Nc4j4Os8er00Mbljvk=", "dev": true, "requires": { @@ -1301,21 +1278,170 @@ } }, "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.1.tgz", - "integrity": "sha1-tSBSnsIdjllFoYUd/Rwy6U45/0U=", + "version": "1.2.0", + "resolved": "https://registry.nlark.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.0.tgz?cache=0&sync_timestamp=1625263889550&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40humanwhocodes%2Fobject-schema%2Fdownload%2F%40humanwhocodes%2Fobject-schema-1.2.0.tgz", + "integrity": "sha1-h956+cIxgm/daKxyWPd8Qp4OX88=", "dev": true }, "@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents.3", - "resolved": "https://registry.nlark.com/@nicolo-ribaudo/chokidar-2/download/@nicolo-ribaudo/chokidar-2-2.1.8-no-fsevents.3.tgz", - "integrity": "sha1-Mj1y3SUQPQxPvc6J2t9XSnh7H5s=", + "version": "2.1.8-no-fsevents.2", + "resolved": "https://registry.nlark.com/@nicolo-ribaudo/chokidar-2/download/@nicolo-ribaudo/chokidar-2-2.1.8-no-fsevents.2.tgz", + "integrity": "sha1-4yTAokelVnGS3XGAZHcJ1+L6+Us=", "dev": true, - "optional": true + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^5.1.2", + "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" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/anymatch/download/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.nlark.com/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "dev": true, + "optional": true, + "requires": { + "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" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/fill-range/download/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.nlark.com/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dev": true, + "optional": true, + "requires": { + "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" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } }, "@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz?cache=0&sync_timestamp=1622792718463&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.scandir%2Fdownload%2F%40nodelib%2Ffs.scandir-2.1.5.tgz", + "resolved": "https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz", "integrity": "sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=", "requires": { "@nodelib/fs.stat": "2.0.5", @@ -1324,12 +1450,12 @@ }, "@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz?cache=0&sync_timestamp=1622792655362&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-2.0.5.tgz", + "resolved": "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz", "integrity": "sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=" }, "@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz?cache=0&sync_timestamp=1625770050780&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.walk%2Fdownload%2F%40nodelib%2Ffs.walk-1.2.8.tgz", + "resolved": "https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz", "integrity": "sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po=", "requires": { "@nodelib/fs.scandir": "2.1.5", @@ -1337,18 +1463,18 @@ } }, "@types/eslint": { - "version": "8.2.1", - "resolved": "https://registry.npmmirror.com/@types/eslint/download/@types/eslint-8.2.1.tgz", - "integrity": "sha512-UP9rzNn/XyGwb5RQ2fok+DzcIRIYwc16qTXse5+Smsy8MOIccCChT15KAwnsgQx4PzJkaMq4myFyZ4CL5TjhIQ==", + "version": "7.28.0", + "resolved": "https://registry.nlark.com/@types/eslint/download/@types/eslint-7.28.0.tgz?cache=0&sync_timestamp=1629707594595&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Feslint%2Fdownload%2F%40types%2Feslint-7.28.0.tgz", + "integrity": "sha1-fkHySB0wHGjhT0g/4QsBd1POjVo=", "requires": { "@types/estree": "*", "@types/json-schema": "*" } }, "@types/eslint-scope": { - "version": "3.7.2", - "resolved": "https://registry.npmmirror.com/@types/eslint-scope/download/@types/eslint-scope-3.7.2.tgz", - "integrity": "sha512-TzgYCWoPiTeRg6RQYgtuW7iODtVoKu3RVL72k3WohqhjfaOLK5Mg2T4Tg1o2bSfu0vPkoI48wdQFv5b/Xe04wQ==", + "version": "3.7.1", + "resolved": "https://registry.nlark.com/@types/eslint-scope/download/@types/eslint-scope-3.7.1.tgz", + "integrity": "sha1-jcOQp7T53Z8ShGKe/OmC5BYSEW4=", "requires": { "@types/eslint": "*", "@types/estree": "*" @@ -1356,13 +1482,13 @@ }, "@types/estree": { "version": "0.0.50", - "resolved": "https://registry.npmmirror.com/@types/estree/download/@types/estree-0.0.50.tgz?cache=0&sync_timestamp=1637266061438&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Festree%2Fdownload%2F%40types%2Festree-0.0.50.tgz", + "resolved": "https://registry.nlark.com/@types/estree/download/@types/estree-0.0.50.tgz", "integrity": "sha1-Hgyqk2TT/M0pMcPtlv2+ql1MyoM=" }, "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/@types/glob/download/@types/glob-7.2.0.tgz?cache=0&sync_timestamp=1637265668380&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.2.0.tgz", - "integrity": "sha1-vBtb86qS8lvV3TnzXFc2G9zlsus=", + "version": "7.1.4", + "resolved": "https://registry.nlark.com/@types/glob/download/@types/glob-7.1.4.tgz", + "integrity": "sha1-6lniHS7lxReRTLS8jkFTuZ5WZnI=", "requires": { "@types/minimatch": "*", "@types/node": "*" @@ -1370,41 +1496,41 @@ }, "@types/json-schema": { "version": "7.0.9", - "resolved": "https://registry.npmmirror.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz?cache=0&sync_timestamp=1637265456183&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.9.tgz", + "resolved": "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz", "integrity": "sha1-l+3JA36gw4WFMgsolk3eOznkZg0=" }, "@types/minimatch": { "version": "3.0.5", - "resolved": "https://registry.npmmirror.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.5.tgz", + "resolved": "https://registry.nlark.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz?cache=0&sync_timestamp=1629708337307&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.5.tgz", "integrity": "sha1-EAHMXmo3BLg8I2An538vWOoBD0A=" }, "@types/node": { - "version": "17.0.1", - "resolved": "https://registry.npmmirror.com/@types/node/download/@types/node-17.0.1.tgz", - "integrity": "sha512-NXKvBVUzIbs6ylBwmOwHFkZS2EXCcjnqr8ZCRNaXBkHAf+3mn/rPcJxwrzuc6movh8fxQAsUUfYklJ/EG+hZqQ==" + "version": "16.7.10", + "resolved": "https://registry.nlark.com/@types/node/download/@types/node-16.7.10.tgz", + "integrity": "sha1-eqcyzEc0HBKha31WL1GcI4O21Pw=" }, "@types/source-list-map": { "version": "0.1.2", - "resolved": "https://registry.npmmirror.com/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz", + "resolved": "https://registry.nlark.com/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz", "integrity": "sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk=" }, "@types/tapable": { "version": "1.0.8", - "resolved": "https://registry.npmmirror.com/@types/tapable/download/@types/tapable-1.0.8.tgz", + "resolved": "https://registry.nlark.com/@types/tapable/download/@types/tapable-1.0.8.tgz?cache=0&sync_timestamp=1629709441343&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Ftapable%2Fdownload%2F%40types%2Ftapable-1.0.8.tgz", "integrity": "sha1-uUpDkchWZse3Mpn9OtedT6pDUxA=" }, "@types/uglify-js": { "version": "3.13.1", - "resolved": "https://registry.npmmirror.com/@types/uglify-js/download/@types/uglify-js-3.13.1.tgz?cache=0&sync_timestamp=1637270388794&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fuglify-js%2Fdownload%2F%40types%2Fuglify-js-3.13.1.tgz", + "resolved": "https://registry.nlark.com/@types/uglify-js/download/@types/uglify-js-3.13.1.tgz?cache=0&sync_timestamp=1629709602784&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fuglify-js%2Fdownload%2F%40types%2Fuglify-js-3.13.1.tgz", "integrity": "sha1-XoienoHpQkXHW2RQYA4cXqKHiuo=", "requires": { "source-map": "^0.6.1" } }, "@types/webpack": { - "version": "4.41.32", - "resolved": "https://registry.npmmirror.com/@types/webpack/download/@types/webpack-4.41.32.tgz", - "integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==", + "version": "4.41.30", + "resolved": "https://registry.nlark.com/@types/webpack/download/@types/webpack-4.41.30.tgz", + "integrity": "sha1-/T220NQeFFqO7q/NPEp8zekGjdw=", "requires": { "@types/node": "*", "@types/tapable": "^1", @@ -1416,7 +1542,7 @@ }, "@types/webpack-sources": { "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/@types/webpack-sources/download/@types/webpack-sources-3.2.0.tgz", + "resolved": "https://registry.nlark.com/@types/webpack-sources/download/@types/webpack-sources-3.2.0.tgz?cache=0&sync_timestamp=1629709756861&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fwebpack-sources%2Fdownload%2F%40types%2Fwebpack-sources-3.2.0.tgz", "integrity": "sha1-FtdZuglsKJA0smVT0t8b9FJI04s=", "requires": { "@types/node": "*", @@ -1426,47 +1552,47 @@ "dependencies": { "source-map": { "version": "0.7.3", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.7.3.tgz", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.7.3.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.7.3.tgz", "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=" } } }, "@typescript-eslint/parser": { - "version": "4.33.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.33.0.tgz", - "integrity": "sha1-3+eXVw2WlOVgUo0Y7srYbIx0SJk=", + "version": "4.30.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.30.0.tgz", + "integrity": "sha1-ar1yD2a9eQ8+DoDDvncYDI/LGS0=", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "debug": "^4.3.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.33.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.33.0.tgz", - "integrity": "sha1-045JKA2YPody4pEhz4xukiHygKM=", + "version": "4.30.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.30.0.tgz?cache=0&sync_timestamp=1630474454313&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fscope-manager%2Fdownload%2F%40typescript-eslint%2Fscope-manager-4.30.0.tgz", + "integrity": "sha1-Gj/7s4WxoGvoXNUWWiIyTwaahe4=", "dev": true, "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0" } }, "@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/download/@typescript-eslint/types-4.33.0.tgz", - "integrity": "sha1-oeWQNqO1OuhDDO6/KpGdx/mvbXI=", + "version": "4.30.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/types/download/@typescript-eslint/types-4.30.0.tgz?cache=0&sync_timestamp=1630474457027&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Ftypes%2Fdownload%2F%40typescript-eslint%2Ftypes-4.30.0.tgz", + "integrity": "sha1-+52bA1hCbxhof7qC6wsPhpeAIE8=", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.33.0.tgz", - "integrity": "sha1-DftRwpCPaMXAjYKu/q8WahfCRgk=", + "version": "4.30.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.30.0.tgz?cache=0&sync_timestamp=1630474515380&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-4.30.0.tgz", + "integrity": "sha1-rleDPacqdT9IRs0wU3WMdxZwwqw=", "dev": true, "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -1497,12 +1623,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.33.0.tgz", - "integrity": "sha1-KiL3ekFgQom3oYZYbp7EjKku8d0=", + "version": "4.30.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.30.0.tgz", + "integrity": "sha1-pHxicvxxsMYn0WkfaOrs9K1xRF4=", "dev": true, "requires": { - "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/types": "4.30.0", "eslint-visitor-keys": "^2.0.0" } }, @@ -1514,7 +1640,7 @@ }, "@webassemblyjs/ast": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.11.1.tgz?cache=0&sync_timestamp=1625473459015&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.11.1.tgz?cache=0&sync_timestamp=1625473420080&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.11.1.tgz", "integrity": "sha1-K/12fq4aaZb0Mv9+jX/HVnnAtqc=", "requires": { "@webassemblyjs/helper-numbers": "1.11.1", @@ -1533,12 +1659,12 @@ }, "@webassemblyjs/helper-buffer": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.11.1.tgz?cache=0&sync_timestamp=1625473344792&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-buffer%2Fdownload%2F%40webassemblyjs%2Fhelper-buffer-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.11.1.tgz", "integrity": "sha1-gyqQDrREiEzemnytRn+BUA9eWrU=" }, "@webassemblyjs/helper-numbers": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/helper-numbers/download/@webassemblyjs/helper-numbers-1.11.1.tgz?cache=0&sync_timestamp=1625473485159&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-numbers%2Fdownload%2F%40webassemblyjs%2Fhelper-numbers-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-numbers/download/@webassemblyjs/helper-numbers-1.11.1.tgz", "integrity": "sha1-ZNgdohn7u6HjvRv8dPboxOEKYq4=", "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.1", @@ -1572,7 +1698,7 @@ }, "@webassemblyjs/leb128": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.11.1.tgz?cache=0&sync_timestamp=1625473342433&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.11.1.tgz", "integrity": "sha1-zoFLRVdOk9drrh+yZEq5zdlSeqU=", "requires": { "@xtuc/long": "4.2.2" @@ -1585,7 +1711,7 @@ }, "@webassemblyjs/wasm-edit": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.11.1.tgz?cache=0&sync_timestamp=1625473463093&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.11.1.tgz?cache=0&sync_timestamp=1625473422937&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.11.1.tgz", "integrity": "sha1-rSBuv0v5WgWM6YgKjAksXeyBk9Y=", "requires": { "@webassemblyjs/ast": "1.11.1", @@ -1600,7 +1726,7 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.11.1.tgz?cache=0&sync_timestamp=1625473361759&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.11.1.tgz?cache=0&sync_timestamp=1625473464969&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.11.1.tgz", "integrity": "sha1-hsXqMEhJdZt9iMR6MvTwOa48j3Y=", "requires": { "@webassemblyjs/ast": "1.11.1", @@ -1623,7 +1749,7 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.11.1", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.11.1.tgz?cache=0&sync_timestamp=1625473417746&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.11.1.tgz", "integrity": "sha1-hspzRTT0F+m9PGfHocddi+QfsZk=", "requires": { "@webassemblyjs/ast": "1.11.1", @@ -1636,7 +1762,7 @@ }, "@webassemblyjs/wast-printer": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.11.1.tgz?cache=0&sync_timestamp=1625473465901&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwast-printer%2Fdownload%2F%40webassemblyjs%2Fwast-printer-1.11.1.tgz", "integrity": "sha1-0Mc77ajuxUJvEK6O9VzuXnCEwvA=", "requires": { "@webassemblyjs/ast": "1.11.1", @@ -1644,22 +1770,22 @@ } }, "@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/@webpack-cli/configtest/download/@webpack-cli/configtest-1.1.0.tgz?cache=0&sync_timestamp=1633553239176&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40webpack-cli%2Fconfigtest%2Fdownload%2F%40webpack-cli%2Fconfigtest-1.1.0.tgz", - "integrity": "sha1-g0K+8Lrft9/TtXbyV0q4DHJb4EM=" + "version": "1.0.4", + "resolved": "https://registry.nlark.com/@webpack-cli/configtest/download/@webpack-cli/configtest-1.0.4.tgz", + "integrity": "sha1-8DzmMRwIg6g9BFaeLAPGI4MW0qo=" }, "@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/@webpack-cli/info/download/@webpack-cli/info-1.4.0.tgz?cache=0&sync_timestamp=1633553269200&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40webpack-cli%2Finfo%2Fdownload%2F%40webpack-cli%2Finfo-1.4.0.tgz", - "integrity": "sha1-uRecMierCcu7FJqnM0dfz5lDAiM=", + "version": "1.3.0", + "resolved": "https://registry.nlark.com/@webpack-cli/info/download/@webpack-cli/info-1.3.0.tgz", + "integrity": "sha1-nXijEQGpYJl6Ss1B/9m5MAYn/is=", "requires": { "envinfo": "^7.7.3" } }, "@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmmirror.com/@webpack-cli/serve/download/@webpack-cli/serve-1.6.0.tgz?cache=0&sync_timestamp=1633553365700&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40webpack-cli%2Fserve%2Fdownload%2F%40webpack-cli%2Fserve-1.6.0.tgz", - "integrity": "sha1-LCdaoFyJXszrv8NM+yI8bovVkaI=" + "version": "1.5.2", + "resolved": "https://registry.nlark.com/@webpack-cli/serve/download/@webpack-cli/serve-1.5.2.tgz", + "integrity": "sha1-6lhLY3/2PFpHf28hYEtaIFtyyew=" }, "@xtuc/ieee754": { "version": "1.2.0", @@ -1672,24 +1798,24 @@ "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=" }, "acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmmirror.com/acorn/download/acorn-8.6.0.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==" + "version": "8.4.1", + "resolved": "https://registry.nlark.com/acorn/download/acorn-8.4.1.tgz", + "integrity": "sha1-VsNiUfx8q8cJatwY8Fr+gUMhoow=" }, "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmmirror.com/acorn-import-assertions/download/acorn-import-assertions-1.8.0.tgz?cache=0&sync_timestamp=1633349660084&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn-import-assertions%2Fdownload%2Facorn-import-assertions-1.8.0.tgz", - "integrity": "sha1-uitZOc5iwjjbbZPYHJsRGym4Vek=" + "version": "1.7.6", + "resolved": "https://registry.nlark.com/acorn-import-assertions/download/acorn-import-assertions-1.7.6.tgz", + "integrity": "sha1-WA4//K5ncO6+7HbDuXIyAenQH3g=" }, "acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz?cache=0&sync_timestamp=1625793240297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.2.tgz", + "resolved": "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz?cache=0&sync_timestamp=1625793705701&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.2.tgz", "integrity": "sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=", "dev": true }, "ajv": { "version": "6.12.6", - "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz", + "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz", "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", "requires": { "fast-deep-equal": "^3.1.1", @@ -1700,7 +1826,7 @@ }, "ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmmirror.com/ajv-keywords/download/ajv-keywords-3.5.2.tgz?cache=0&sync_timestamp=1637524372087&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv-keywords%2Fdownload%2Fajv-keywords-3.5.2.tgz", + "resolved": "https://registry.nlark.com/ajv-keywords/download/ajv-keywords-3.5.2.tgz", "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=" }, "ansi-colors": { @@ -1710,9 +1836,9 @@ "dev": true }, "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz", - "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "version": "5.0.0", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", "dev": true }, "ansi-styles": { @@ -1734,7 +1860,7 @@ }, "arg": { "version": "4.1.3", - "resolved": "https://registry.nlark.com/arg/download/arg-4.1.3.tgz?cache=0&sync_timestamp=1629166537485&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farg%2Fdownload%2Farg-4.1.3.tgz", + "resolved": "https://registry.nlark.com/arg/download/arg-4.1.3.tgz?cache=0&sync_timestamp=1629166495886&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farg%2Fdownload%2Farg-4.1.3.tgz", "integrity": "sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk=", "dev": true }, @@ -1747,6 +1873,27 @@ "sprintf-js": "~1.0.2" } }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/arr-diff/download/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "optional": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/arr-flatten/download/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "dev": true, + "optional": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/arr-union/download/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "optional": true + }, "array-union": { "version": "1.0.2", "resolved": "https://registry.nlark.com/array-union/download/array-union-1.0.2.tgz", @@ -1757,24 +1904,52 @@ }, "array-uniq": { "version": "1.0.3", - "resolved": "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz?cache=0&sync_timestamp=1622605321175&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farray-uniq%2Fdownload%2Farray-uniq-1.0.3.tgz", + "resolved": "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.nlark.com/array-unique/download/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "optional": true + }, "assertion-error": { "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/assertion-error/download/assertion-error-1.1.0.tgz", + "resolved": "https://registry.nlark.com/assertion-error/download/assertion-error-1.1.0.tgz", "integrity": "sha1-5gtrDo8wG9l+U3UhW9pAbIURjAs=", "dev": true }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/assign-symbols/download/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "optional": true + }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.nlark.com/astral-regex/download/astral-regex-2.0.0.tgz", "integrity": "sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=", "dev": true }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/async-each/download/async-each-1.0.3.tgz", + "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", + "dev": true, + "optional": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", + "dev": true, + "optional": true + }, "babel-plugin-dynamic-import-node": { "version": "2.3.3", - "resolved": "https://registry.nlark.com/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz", + "resolved": "https://registry.nlark.com/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz?cache=0&sync_timestamp=1624608029217&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.3.tgz", "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=", "dev": true, "requires": { @@ -1782,41 +1957,41 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.3.0.tgz?cache=0&sync_timestamp=1636800035591&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-corejs2%2Fdownload%2Fbabel-plugin-polyfill-corejs2-0.3.0.tgz", - "integrity": "sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==", + "version": "0.2.2", + "resolved": "https://registry.nlark.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha1-6RJHheb9lPlLYYp5VOVpMFO/Uyc=", "dev": true, "requires": { "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.0", + "@babel/helper-define-polyfill-provider": "^0.2.2", "semver": "^6.1.1" }, "dependencies": { "semver": { "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "dev": true } } }, "babel-plugin-polyfill-corejs3": { - "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.4.0.tgz?cache=0&sync_timestamp=1636800035753&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-corejs3%2Fdownload%2Fbabel-plugin-polyfill-corejs3-0.4.0.tgz", - "integrity": "sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==", + "version": "0.2.4", + "resolved": "https://registry.nlark.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.2.4.tgz", + "integrity": "sha1-aMuBMWsOjZ1yGpLgAJ7G7NTNLKk=", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.0", - "core-js-compat": "^3.18.0" + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.14.0" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.3.0.tgz?cache=0&sync_timestamp=1636800035395&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-regenerator%2Fdownload%2Fbabel-plugin-polyfill-regenerator-0.3.0.tgz", - "integrity": "sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==", + "version": "0.2.2", + "resolved": "https://registry.nlark.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha1-sxDI1kKsraNIwfo7Pmzg6FG+4Hc=", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.0" + "@babel/helper-define-polyfill-provider": "^0.2.2" } }, "balanced-match": { @@ -1824,16 +1999,77 @@ "resolved": "https://registry.nlark.com/balanced-match/download/balanced-match-1.0.2.tgz", "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.nlark.com/base/download/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "dev": true, + "optional": true, + "requires": { + "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" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "big.js": { "version": "5.2.2", - "resolved": "https://registry.npmmirror.com/big.js/download/big.js-5.2.2.tgz", + "resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz", "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=" }, "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz", - "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", - "dev": true + "version": "1.13.1", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", @@ -1859,25 +2095,43 @@ "dev": true }, "browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmmirror.com/browserslist/download/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", + "version": "4.16.8", + "resolved": "https://registry.nlark.com/browserslist/download/browserslist-4.16.8.tgz?cache=0&sync_timestamp=1629302575089&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.8.tgz", + "integrity": "sha1-y4aLC1VPE3um4z3g7P8u2kA8T7A=", "requires": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", + "caniuse-lite": "^1.0.30001251", + "colorette": "^1.3.0", + "electron-to-chromium": "^1.3.811", "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" + "node-releases": "^1.1.75" } }, "buffer-from": { "version": "1.1.2", - "resolved": "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.2.tgz", + "resolved": "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.2.tgz?cache=0&sync_timestamp=1627578361955&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbuffer-from%2Fdownload%2Fbuffer-from-1.1.2.tgz", "integrity": "sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U=" }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/cache-base/download/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "dev": true, + "optional": true, + "requires": { + "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" + } + }, "call-bind": { "version": "1.0.2", - "resolved": "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz?cache=0&sync_timestamp=1622604538146&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.2.tgz", + "resolved": "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz", "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", "dev": true, "requires": { @@ -1887,24 +2141,24 @@ }, "callsites": { "version": "3.1.0", - "resolved": "https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz", + "resolved": "https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz?cache=0&sync_timestamp=1628464907898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcallsites%2Fdownload%2Fcallsites-3.1.0.tgz", "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", "dev": true }, "camelcase": { - "version": "6.2.1", - "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-6.2.1.tgz?cache=0&sync_timestamp=1636945122112&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-6.2.1.tgz", - "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==", + "version": "6.2.0", + "resolved": "https://registry.nlark.com/camelcase/download/camelcase-6.2.0.tgz", + "integrity": "sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk=", "dev": true }, "caniuse-lite": { - "version": "1.0.30001291", - "resolved": "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001291.tgz", - "integrity": "sha512-roMV5V0HNGgJ88s42eE70sstqGW/gwFndosYrikHthw98N5tLnOTxFqMLQjZVRxTWFlJ4rn+MsgXrR7MDPY4jA==" + "version": "1.0.30001252", + "resolved": "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001252.tgz", + "integrity": "sha1-yxbk49r+lI/EqbszB66gVLkSAZo=" }, "chai": { "version": "4.3.4", - "resolved": "https://registry.nlark.com/chai/download/chai-4.3.4.tgz", + "resolved": "https://registry.nlark.com/chai/download/chai-4.3.4.tgz?cache=0&sync_timestamp=1624607982671&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchai%2Fdownload%2Fchai-4.3.4.tgz", "integrity": "sha1-tV5lWzHh6scJm+TAjCGWT84ubEk=", "dev": true, "requires": { @@ -1918,7 +2172,7 @@ }, "chalk": { "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/download/chalk-4.1.2.tgz", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646614989&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", "requires": { "ansi-styles": "^4.1.0", @@ -1933,7 +2187,7 @@ }, "chokidar": { "version": "3.5.2", - "resolved": "https://registry.npmmirror.com/chokidar/download/chokidar-3.5.2.tgz", + "resolved": "https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz", "integrity": "sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=", "dev": true, "optional": true, @@ -1946,6 +2200,35 @@ "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" + }, + "dependencies": { + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz", + "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", + "dev": true, + "optional": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.nlark.com/readdirp/download/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + } } }, "chrome-trace-event": { @@ -1953,9 +2236,34 @@ "resolved": "https://registry.nlark.com/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz", "integrity": "sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw=" }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.nlark.com/class-utils/download/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "dev": true, + "optional": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, "clean-webpack-plugin": { "version": "3.0.0", - "resolved": "https://registry.nlark.com/clean-webpack-plugin/download/clean-webpack-plugin-3.0.0.tgz", + "resolved": "https://registry.nlark.com/clean-webpack-plugin/download/clean-webpack-plugin-3.0.0.tgz?cache=0&sync_timestamp=1630504808165&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fclean-webpack-plugin%2Fdownload%2Fclean-webpack-plugin-3.0.0.tgz", "integrity": "sha1-qZ2Ow0wcYopFQVZ6p7RXRGRgxis=", "requires": { "@types/webpack": "^4.4.31", @@ -1983,11 +2291,22 @@ "shallow-clone": "^3.0.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "requires": { + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/collection-visit/download/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "optional": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz?cache=0&sync_timestamp=1624607968569&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcolor-convert%2Fdownload%2Fcolor-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "requires": { "color-name": "~1.1.4" } }, @@ -1997,14 +2316,21 @@ "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" }, "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmmirror.com/colorette/download/colorette-2.0.16.tgz", - "integrity": "sha1-cTua+E/bAAE58EVGvUqT9ipQhdo=" + "version": "1.3.0", + "resolved": "https://registry.nlark.com/colorette/download/colorette-1.3.0.tgz", + "integrity": "sha1-/0XS8O2yRAadO3cq3rBP7TjQoK8=" }, "commander": { "version": "2.20.3", - "resolved": "https://registry.npmmirror.com/commander/download/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "resolved": "https://registry.nlark.com/commander/download/commander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/component-emitter/download/component-emitter-1.3.0.tgz", + "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", @@ -2013,7 +2339,7 @@ }, "convert-source-map": { "version": "1.8.0", - "resolved": "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz", + "resolved": "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz?cache=0&sync_timestamp=1624608042394&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.8.0.tgz", "integrity": "sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k=", "dev": true, "requires": { @@ -2028,9 +2354,16 @@ } } }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/copy-descriptor/download/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "optional": true + }, "copy-webpack-plugin": { "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/copy-webpack-plugin/download/copy-webpack-plugin-8.1.1.tgz", + "resolved": "https://registry.nlark.com/copy-webpack-plugin/download/copy-webpack-plugin-8.1.1.tgz", "integrity": "sha1-P2l+FidkklwvDSNfOAZ2ElUI/SY=", "requires": { "fast-glob": "^3.2.5", @@ -2063,18 +2396,18 @@ } }, "core-js-compat": { - "version": "3.20.0", - "resolved": "https://registry.npmmirror.com/core-js-compat/download/core-js-compat-3.20.0.tgz", - "integrity": "sha512-relrah5h+sslXssTTOkvqcC/6RURifB0W5yhYBdBkaPYa5/2KBMiog3XiD+s3TwEHWxInWVv4Jx2/Lw0vng+IQ==", + "version": "3.17.2", + "resolved": "https://registry.nlark.com/core-js-compat/download/core-js-compat-3.17.2.tgz?cache=0&sync_timestamp=1630603307523&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcore-js-compat%2Fdownload%2Fcore-js-compat-3.17.2.tgz", + "integrity": "sha1-9GGrlQwKD/7fwyfevyi35RiVCTY=", "dev": true, "requires": { - "browserslist": "^4.19.1", + "browserslist": "^4.16.8", "semver": "7.0.0" }, "dependencies": { "semver": { "version": "7.0.0", - "resolved": "https://registry.nlark.com/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz", "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=", "dev": true } @@ -2093,7 +2426,7 @@ }, "cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.nlark.com/cross-spawn/download/cross-spawn-7.0.3.tgz", + "resolved": "https://registry.nlark.com/cross-spawn/download/cross-spawn-7.0.3.tgz?cache=0&sync_timestamp=1624608055915&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcross-spawn%2Fdownload%2Fcross-spawn-7.0.3.tgz", "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", "requires": { "path-key": "^3.1.0", @@ -2107,23 +2440,30 @@ "integrity": "sha1-64eANlx9KxURB4+0keZHl4DzrZU=" }, "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmmirror.com/debug/download/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "version": "4.3.2", + "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374653719&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", + "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", "requires": { "ms": "2.1.2" } }, "decamelize": { "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/decamelize/download/decamelize-4.0.0.tgz?cache=0&sync_timestamp=1633055728451&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdecamelize%2Fdownload%2Fdecamelize-4.0.0.tgz", + "resolved": "https://registry.nlark.com/decamelize/download/decamelize-4.0.0.tgz", "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=", "dev": true }, "deccjsunit": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/deccjsunit/download/deccjsunit-1.0.3.tgz", - "integrity": "sha1-AcMxIKje4SsaoQiZGE14pszfiKI=" + "version": "1.0.4", + "resolved": "https://registry.nlark.com/deccjsunit/download/deccjsunit-1.0.4.tgz", + "integrity": "sha512-fkOzBz9uNKElrm6VGrisXLbAmLshcqBoqYAyo2+v9uceAkv75xh9dWAUmnZoWE/v4ujqYHylaudON1nj+LPuPA==" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/decode-uri-component/download/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "optional": true }, "deep-eql": { "version": "3.0.1", @@ -2135,23 +2475,68 @@ } }, "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.nlark.com/deep-is/download/deep-is-0.1.4.tgz", - "integrity": "sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE=", + "version": "0.1.3", + "resolved": "https://registry.nlark.com/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, "define-properties": { "version": "1.1.3", - "resolved": "https://registry.nlark.com/define-properties/download/define-properties-1.1.3.tgz?cache=0&sync_timestamp=1622604538602&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdefine-properties%2Fdownload%2Fdefine-properties-1.1.3.tgz", + "resolved": "https://registry.nlark.com/define-properties/download/define-properties-1.1.3.tgz", "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", "dev": true, "requires": { "object-keys": "^1.0.12" } }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/define-property/download/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "del": { "version": "4.1.1", - "resolved": "https://registry.nlark.com/del/download/del-4.1.1.tgz?cache=0&sync_timestamp=1622605333317&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdel%2Fdownload%2Fdel-4.1.1.tgz", + "resolved": "https://registry.nlark.com/del/download/del-4.1.1.tgz", "integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=", "requires": { "@types/glob": "^7.1.1", @@ -2165,7 +2550,7 @@ }, "diff": { "version": "5.0.0", - "resolved": "https://registry.nlark.com/diff/download/diff-5.0.0.tgz?cache=0&sync_timestamp=1622605328812&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdiff%2Fdownload%2Fdiff-5.0.0.tgz", + "resolved": "https://registry.nlark.com/diff/download/diff-5.0.0.tgz?cache=0&sync_timestamp=1624608104914&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdiff%2Fdownload%2Fdiff-5.0.0.tgz", "integrity": "sha1-ftatdthZ0DB4fsNYVfWx2vMdhSs=", "dev": true }, @@ -2187,13 +2572,13 @@ } }, "electron-to-chromium": { - "version": "1.4.24", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.4.24.tgz", - "integrity": "sha512-erwx5r69B/WFfFuF2jcNN0817BfDBdC4765kQ6WltOMuwsimlQo3JTEq0Cle+wpHralwdeX3OfAtw/mHxPK0Wg==" + "version": "1.3.828", + "resolved": "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.828.tgz", + "integrity": "sha1-De6XW1v0XWNXryZvNQ/NtnNqXkA=" }, "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1632811716250&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz", + "resolved": "https://registry.nlark.com/emoji-regex/download/emoji-regex-8.0.0.tgz", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", "dev": true }, @@ -2204,7 +2589,7 @@ }, "enhanced-resolve": { "version": "4.5.0", - "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz?cache=0&sync_timestamp=1632130769099&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.5.0.tgz", + "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz", "integrity": "sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew=", "requires": { "graceful-fs": "^4.1.2", @@ -2235,9 +2620,9 @@ } }, "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmmirror.com/es-module-lexer/download/es-module-lexer-0.9.3.tgz?cache=0&sync_timestamp=1633645560577&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-module-lexer%2Fdownload%2Fes-module-lexer-0.9.3.tgz", - "integrity": "sha1-bxPbAMw4QXE32vdDZvU1yOtDjxk=" + "version": "0.7.1", + "resolved": "https://registry.nlark.com/es-module-lexer/download/es-module-lexer-0.7.1.tgz", + "integrity": "sha1-wsjg9G8t8GJ0za8N0/OzPgoLJn0=" }, "escalade": { "version": "3.1.1", @@ -2252,8 +2637,8 @@ }, "eslint": { "version": "7.32.0", - "resolved": "https://registry.npmmirror.com/eslint/download/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "resolved": "https://registry.nlark.com/eslint/download/eslint-7.32.0.tgz", + "integrity": "sha1-xtMooUvj+wjI0dIeEsAv23oqgS0=", "dev": true, "requires": { "@babel/code-frame": "7.12.11", @@ -2300,7 +2685,7 @@ "dependencies": { "@babel/code-frame": { "version": "7.12.11", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz", + "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz", "integrity": "sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8=", "dev": true, "requires": { @@ -2314,9 +2699,9 @@ "dev": true }, "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmmirror.com/globals/download/globals-13.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-13.12.0.tgz", - "integrity": "sha1-TXM3YDBCMKAILtluIeXFZfiYCJ4=", + "version": "13.11.0", + "resolved": "https://registry.nlark.com/globals/download/globals-13.11.0.tgz", + "integrity": "sha1-QO9njaEX/nvS4o8fqySVG9AlW+c=", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -2324,7 +2709,7 @@ }, "ignore": { "version": "4.0.6", - "resolved": "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz", + "resolved": "https://registry.nlark.com/ignore/download/ignore-4.0.6.tgz", "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", "dev": true } @@ -2332,7 +2717,7 @@ }, "eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1637466831846&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz", + "resolved": "https://registry.nlark.com/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1627061754690&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz", "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", "requires": { "esrecurse": "^4.3.0", @@ -2341,7 +2726,7 @@ }, "eslint-utils": { "version": "2.1.0", - "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz?cache=0&sync_timestamp=1622605293603&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-2.1.0.tgz", + "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz?cache=0&sync_timestamp=1624608042629&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-2.1.0.tgz", "integrity": "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=", "dev": true, "requires": { @@ -2350,7 +2735,7 @@ "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1636378395014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz", + "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", "dev": true } @@ -2358,13 +2743,13 @@ }, "eslint-visitor-keys": { "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz?cache=0&sync_timestamp=1636378395014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-2.1.0.tgz", + "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha1-9lMoJZMFknOSyTjtROsKXJsr0wM=", "dev": true }, "espree": { "version": "7.3.1", - "resolved": "https://registry.npmmirror.com/espree/download/espree-7.3.1.tgz", + "resolved": "https://registry.nlark.com/espree/download/espree-7.3.1.tgz?cache=0&sync_timestamp=1625021052689&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fespree%2Fdownload%2Fespree-7.3.1.tgz", "integrity": "sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y=", "dev": true, "requires": { @@ -2375,13 +2760,13 @@ "dependencies": { "acorn": { "version": "7.4.1", - "resolved": "https://registry.npmmirror.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz", + "resolved": "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz", "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", "dev": true }, "eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1636378395014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz", + "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", "dev": true } @@ -2403,9 +2788,9 @@ }, "dependencies": { "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-5.3.0.tgz", - "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=", + "version": "5.2.0", + "resolved": "https://registry.nlark.com/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1624607974054&other_urls=https%3A%2F%2Fregistry.nlark.com%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", "dev": true } } @@ -2419,15 +2804,15 @@ }, "dependencies": { "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-5.3.0.tgz", - "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=" + "version": "5.2.0", + "resolved": "https://registry.nlark.com/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1624607974054&other_urls=https%3A%2F%2Fregistry.nlark.com%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=" } } }, "estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", + "resolved": "https://registry.nlark.com/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1624607974054&other_urls=https%3A%2F%2Fregistry.nlark.com%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=" }, "esutils": { @@ -2438,12 +2823,12 @@ }, "events": { "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/events/download/events-3.3.0.tgz?cache=0&sync_timestamp=1636449286836&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fevents%2Fdownload%2Fevents-3.3.0.tgz", + "resolved": "https://registry.nlark.com/events/download/events-3.3.0.tgz", "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=" }, "execa": { "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/execa/download/execa-5.1.1.tgz?cache=0&sync_timestamp=1637147236741&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexeca%2Fdownload%2Fexeca-5.1.1.tgz", + "resolved": "https://registry.nlark.com/execa/download/execa-5.1.1.tgz", "integrity": "sha1-+ArZy/Qpj3vR1MlVXCHpN0HEEd0=", "requires": { "cross-spawn": "^7.0.3", @@ -2457,14 +2842,163 @@ "strip-final-newline": "^2.0.0" } }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.nlark.com/expand-brackets/download/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "optional": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1625374653719&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "optional": true + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "optional": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "optional": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/extglob/download/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "dev": true, + "optional": true, + "requires": { + "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" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.nlark.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", + "resolved": "https://registry.nlark.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz?cache=0&sync_timestamp=1624607945641&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.3.tgz", "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=" }, "fast-glob": { "version": "3.2.7", - "resolved": "https://registry.npmmirror.com/fast-glob/download/fast-glob-3.2.7.tgz", + "resolved": "https://registry.nlark.com/fast-glob/download/fast-glob-3.2.7.tgz?cache=0&sync_timestamp=1625772623128&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.7.tgz", "integrity": "sha1-/Wy3otfpqnp4RhEehaGW1rL3ZqE=", "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -2487,13 +3021,13 @@ }, "fastest-levenshtein": { "version": "1.0.12", - "resolved": "https://registry.npmmirror.com/fastest-levenshtein/download/fastest-levenshtein-1.0.12.tgz", + "resolved": "https://registry.nlark.com/fastest-levenshtein/download/fastest-levenshtein-1.0.12.tgz", "integrity": "sha1-mZD306iMxan/0fF0V0UlFwDUl+I=" }, "fastq": { - "version": "1.13.0", - "resolved": "https://registry.nlark.com/fastq/download/fastq-1.13.0.tgz", - "integrity": "sha1-YWdg+Ip1Jr38WWt8q4wYk4w2uYw=", + "version": "1.12.0", + "resolved": "https://registry.nlark.com/fastq/download/fastq-1.12.0.tgz?cache=0&sync_timestamp=1629360956808&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffastq%2Fdownload%2Ffastq-1.12.0.tgz", + "integrity": "sha1-7XtqtdYjk/ssxZHIU2UqXDGL95Q=", "requires": { "reusify": "^1.0.4" } @@ -2517,7 +3051,7 @@ }, "find-up": { "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/find-up/download/find-up-4.1.0.tgz", + "resolved": "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz", "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", "requires": { "locate-path": "^5.0.0", @@ -2532,7 +3066,7 @@ }, "flat-cache": { "version": "3.0.4", - "resolved": "https://registry.nlark.com/flat-cache/download/flat-cache-3.0.4.tgz?cache=0&sync_timestamp=1622604531509&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fflat-cache%2Fdownload%2Fflat-cache-3.0.4.tgz", + "resolved": "https://registry.nlark.com/flat-cache/download/flat-cache-3.0.4.tgz", "integrity": "sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=", "dev": true, "requires": { @@ -2541,14 +3075,14 @@ }, "dependencies": { "flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmmirror.com/flatted/download/flatted-3.2.4.tgz?cache=0&sync_timestamp=1636473813364&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fflatted%2Fdownload%2Fflatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "version": "3.2.2", + "resolved": "https://registry.nlark.com/flatted/download/flatted-3.2.2.tgz?cache=0&sync_timestamp=1627541251258&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fflatted%2Fdownload%2Fflatted-3.2.2.tgz", + "integrity": "sha1-ZL/tXLaP48p4s+shStl7Y77c5WE=", "dev": true }, "rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/rimraf/download/rimraf-3.0.2.tgz", + "resolved": "https://registry.nlark.com/rimraf/download/rimraf-3.0.2.tgz", "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", "dev": true, "requires": { @@ -2559,12 +3093,29 @@ }, "flatted": { "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1636473813364&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz", + "resolved": "https://registry.nlark.com/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1627541251258&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz", "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=" }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/for-in/download/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "optional": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/fragment-cache/download/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "optional": true, + "requires": { + "map-cache": "^0.2.2" + } + }, "fs-extra": { "version": "8.1.0", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&sync_timestamp=1622604476909&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffs-extra%2Fdownload%2Ffs-extra-8.1.0.tgz", + "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz", "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", "requires": { "graceful-fs": "^4.2.0", @@ -2585,7 +3136,7 @@ }, "fsevents": { "version": "2.3.2", - "resolved": "https://registry.npmmirror.com/fsevents/download/fsevents-2.3.2.tgz", + "resolved": "https://registry.nlark.com/fsevents/download/fsevents-2.3.2.tgz", "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", "dev": true, "optional": true @@ -2597,7 +3148,7 @@ }, "functional-red-black-tree": { "version": "1.0.1", - "resolved": "https://registry.nlark.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz?cache=0&sync_timestamp=1622605293770&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffunctional-red-black-tree%2Fdownload%2Ffunctional-red-black-tree-1.0.1.tgz", + "resolved": "https://registry.nlark.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, @@ -2615,13 +3166,13 @@ }, "get-func-name": { "version": "2.0.0", - "resolved": "https://registry.nlark.com/get-func-name/download/get-func-name-2.0.0.tgz", + "resolved": "https://registry.nlark.com/get-func-name/download/get-func-name-2.0.0.tgz?cache=0&sync_timestamp=1624607980603&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fget-func-name%2Fdownload%2Fget-func-name-2.0.0.tgz", "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", "dev": true }, "get-intrinsic": { "version": "1.1.1", - "resolved": "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz?cache=0&sync_timestamp=1622604540833&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.1.1.tgz", + "resolved": "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz", "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", "dev": true, "requires": { @@ -2632,13 +3183,20 @@ }, "get-stream": { "version": "6.0.1", - "resolved": "https://registry.nlark.com/get-stream/download/get-stream-6.0.1.tgz?cache=0&sync_timestamp=1622604564806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fget-stream%2Fdownload%2Fget-stream-6.0.1.tgz", + "resolved": "https://registry.nlark.com/get-stream/download/get-stream-6.0.1.tgz", "integrity": "sha1-omLY7vZ6ztV8KFKtYWdSakPL97c=" }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.nlark.com/get-value/download/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "optional": true + }, "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/glob/download/glob-7.2.0.tgz", - "integrity": "sha1-0VU1r3cy4C6Uj0xBYovZECk/YCM=", + "version": "7.1.7", + "resolved": "https://registry.nlark.com/glob/download/glob-7.1.7.tgz", + "integrity": "sha1-Oxk+kjPwHULQs/eClLvutBj5SpA=", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2650,7 +3208,7 @@ }, "glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1632953697891&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", + "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1626761012320&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", "requires": { "is-glob": "^4.0.1" @@ -2663,7 +3221,7 @@ }, "globals": { "version": "11.12.0", - "resolved": "https://registry.npmmirror.com/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz", + "resolved": "https://registry.nlark.com/globals/download/globals-11.12.0.tgz", "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", "dev": true }, @@ -2688,7 +3246,7 @@ }, "graceful-fs": { "version": "4.2.8", - "resolved": "https://registry.npmmirror.com/graceful-fs/download/graceful-fs-4.2.8.tgz", + "resolved": "https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.8.tgz?cache=0&sync_timestamp=1628194007768&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fgraceful-fs%2Fdownload%2Fgraceful-fs-4.2.8.tgz", "integrity": "sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo=" }, "growl": { @@ -2707,7 +3265,7 @@ }, "has-flag": { "version": "4.0.0", - "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626716578584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" }, "has-symbols": { @@ -2716,6 +3274,63 @@ "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", "dev": true }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-value/download/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "optional": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-values/download/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "he": { "version": "1.2.0", "resolved": "https://registry.nlark.com/he/download/he-1.2.0.tgz", @@ -2724,13 +3339,13 @@ }, "human-signals": { "version": "2.1.0", - "resolved": "https://registry.nlark.com/human-signals/download/human-signals-2.1.0.tgz?cache=0&sync_timestamp=1624364612113&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhuman-signals%2Fdownload%2Fhuman-signals-2.1.0.tgz", + "resolved": "https://registry.nlark.com/human-signals/download/human-signals-2.1.0.tgz", "integrity": "sha1-3JH8ukLk0G5Kuu0zs+ejwC9RTqA=" }, "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/ignore/download/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" + "version": "5.1.8", + "resolved": "https://registry.nlark.com/ignore/download/ignore-5.1.8.tgz", + "integrity": "sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=" }, "import-fresh": { "version": "3.3.0", @@ -2744,16 +3359,16 @@ "dependencies": { "resolve-from": { "version": "4.0.0", - "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-4.0.0.tgz?cache=0&sync_timestamp=1622605305717&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve-from%2Fdownload%2Fresolve-from-4.0.0.tgz", + "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-4.0.0.tgz?cache=0&sync_timestamp=1624607952279&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve-from%2Fdownload%2Fresolve-from-4.0.0.tgz", "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", "dev": true } } }, "import-local": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/import-local/download/import-local-3.0.3.tgz?cache=0&sync_timestamp=1633327317807&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fimport-local%2Fdownload%2Fimport-local-3.0.3.tgz", - "integrity": "sha1-TVHCxJXKk5PaJZ7Ga2LgIpICEeA=", + "version": "3.0.2", + "resolved": "https://registry.nlark.com/import-local/download/import-local-3.0.2.tgz", + "integrity": "sha1-qM/QQx0d5KIZlwPQA+PmI2T6bbY=", "requires": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -2781,26 +3396,106 @@ }, "interpret": { "version": "2.2.0", - "resolved": "https://registry.nlark.com/interpret/download/interpret-2.2.0.tgz", + "resolved": "https://registry.nlark.com/interpret/download/interpret-2.2.0.tgz?cache=0&sync_timestamp=1624607963441&other_urls=https%3A%2F%2Fregistry.nlark.com%2Finterpret%2Fdownload%2Finterpret-2.2.0.tgz", "integrity": "sha1-GnigtZZcQKVBbQB61vUK0nxBffk=" }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz", - "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, + "optional": true, "requires": { - "binary-extensions": "^2.0.0" + "binary-extensions": "^1.0.0" } }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.nlark.com/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true, + "optional": true + }, "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.8.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.8.0.tgz", - "integrity": "sha1-AyEzbD0JJeSX/Zf12VyxFKXM1Ug=", + "version": "2.6.0", + "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.6.0.tgz?cache=0&sync_timestamp=1629225103688&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.6.0.tgz", + "integrity": "sha1-11U7JSb+Wbkro+QMjfdX7Ipwnhk=", "requires": { "has": "^1.0.3" } }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true, + "optional": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "optional": true + }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.nlark.com/is-extglob/download/is-extglob-2.1.1.tgz", @@ -2813,9 +3508,9 @@ "dev": true }, "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz", - "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", + "version": "4.0.1", + "resolved": "https://registry.nlark.com/is-glob/download/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", "requires": { "is-extglob": "^2.1.1" } @@ -2827,7 +3522,7 @@ }, "is-path-cwd": { "version": "2.2.0", - "resolved": "https://registry.nlark.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz?cache=0&sync_timestamp=1628686555851&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-2.2.0.tgz", + "resolved": "https://registry.nlark.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz", "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=" }, "is-path-in-cwd": { @@ -2854,7 +3549,7 @@ }, "is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.nlark.com/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1622605338713&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", + "resolved": "https://registry.nlark.com/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1624608043754&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", "requires": { "isobject": "^3.0.1" @@ -2862,9 +3557,16 @@ }, "is-stream": { "version": "2.0.1", - "resolved": "https://registry.nlark.com/is-stream/download/is-stream-2.0.1.tgz", + "resolved": "https://registry.nlark.com/is-stream/download/is-stream-2.0.1.tgz?cache=0&sync_timestamp=1628592752355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-stream%2Fdownload%2Fis-stream-2.0.1.tgz", "integrity": "sha1-+sHj1TuXrVqdCunO8jifWBClwHc=" }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "dev": true, + "optional": true + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.nlark.com/isarray/download/isarray-1.0.0.tgz", @@ -2881,9 +3583,9 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "jest-worker": { - "version": "27.4.5", - "resolved": "https://registry.npmmirror.com/jest-worker/download/jest-worker-27.4.5.tgz", - "integrity": "sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg==", + "version": "27.1.0", + "resolved": "https://registry.nlark.com/jest-worker/download/jest-worker-27.1.0.tgz", + "integrity": "sha1-ZfSojjcUjtmEuoyoSS1rN2k4wKo=", "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -2892,7 +3594,7 @@ "dependencies": { "supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-8.1.1.tgz", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-8.1.1.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-8.1.1.tgz", "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", "requires": { "has-flag": "^4.0.0" @@ -2908,7 +3610,7 @@ }, "js-yaml": { "version": "3.14.1", - "resolved": "https://registry.nlark.com/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1622604474266&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz", + "resolved": "https://registry.nlark.com/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1624607946901&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz", "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=", "dev": true, "requires": { @@ -2924,7 +3626,7 @@ }, "json-parse-better-errors": { "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "resolved": "https://registry.nlark.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=" }, "json-schema-traverse": { @@ -2940,7 +3642,7 @@ }, "json5": { "version": "2.2.0", - "resolved": "https://registry.nlark.com/json5/download/json5-2.2.0.tgz?cache=0&sync_timestamp=1622604475200&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjson5%2Fdownload%2Fjson5-2.2.0.tgz", + "resolved": "https://registry.nlark.com/json5/download/json5-2.2.0.tgz?cache=0&sync_timestamp=1624607963605&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjson5%2Fdownload%2Fjson5-2.2.0.tgz", "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", "requires": { "minimist": "^1.2.5" @@ -2975,9 +3677,9 @@ "integrity": "sha1-1wIjgNZtFMX7HUlriYZOvP1Hg4Q=" }, "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/loader-utils/download/loader-utils-2.0.2.tgz", - "integrity": "sha1-1uO0+4GHByGuTghoqxHdY4NowSk=", + "version": "2.0.0", + "resolved": "https://registry.nlark.com/loader-utils/download/loader-utils-2.0.0.tgz?cache=0&sync_timestamp=1624607974187&other_urls=https%3A%2F%2Fregistry.nlark.com%2Floader-utils%2Fdownload%2Floader-utils-2.0.0.tgz", + "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -2986,15 +3688,21 @@ }, "locate-path": { "version": "5.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-5.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-5.0.0.tgz", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-5.0.0.tgz", "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", "requires": { "p-locate": "^4.1.0" } }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.nlark.com/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, "lodash.debounce": { "version": "4.0.8", - "resolved": "https://registry.nlark.com/lodash.debounce/download/lodash.debounce-4.0.8.tgz?cache=0&sync_timestamp=1622605323058&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flodash.debounce%2Fdownload%2Flodash.debounce-4.0.8.tgz", + "resolved": "https://registry.nlark.com/lodash.debounce/download/lodash.debounce-4.0.8.tgz", "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, @@ -3012,7 +3720,7 @@ }, "log-symbols": { "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/log-symbols/download/log-symbols-4.0.0.tgz", + "resolved": "https://registry.nlark.com/log-symbols/download/log-symbols-4.0.0.tgz", "integrity": "sha1-abPMRtIPRI7M23XqH6cz2eghySA=", "dev": true, "requires": { @@ -3041,7 +3749,7 @@ }, "make-dir": { "version": "2.1.0", - "resolved": "https://registry.nlark.com/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1622604552755&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz", + "resolved": "https://registry.nlark.com/make-dir/download/make-dir-2.1.0.tgz", "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", "dev": true, "requires": { @@ -3051,7 +3759,7 @@ "dependencies": { "semver": { "version": "5.7.1", - "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", "dev": true } @@ -3063,6 +3771,23 @@ "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I=", "dev": true }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.nlark.com/map-cache/download/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "optional": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/map-visit/download/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "optional": true, + "requires": { + "object-visit": "^1.0.0" + } + }, "memory-fs": { "version": "0.5.0", "resolved": "https://registry.nlark.com/memory-fs/download/memory-fs-0.5.0.tgz", @@ -3092,26 +3817,26 @@ } }, "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmmirror.com/mime-db/download/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" + "version": "1.49.0", + "resolved": "https://registry.nlark.com/mime-db/download/mime-db-1.49.0.tgz", + "integrity": "sha1-89/eYMmenPO8lwHWh3ePU3ABy+0=" }, "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmmirror.com/mime-types/download/mime-types-2.1.34.tgz?cache=0&sync_timestamp=1636432311385&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "version": "2.1.32", + "resolved": "https://registry.nlark.com/mime-types/download/mime-types-2.1.32.tgz?cache=0&sync_timestamp=1627407652875&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.32.tgz", + "integrity": "sha1-HQDonn3n/gIAjbYQAdngKFJnD9U=", "requires": { - "mime-db": "1.51.0" + "mime-db": "1.49.0" } }, "mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/mimic-fn/download/mimic-fn-2.1.0.tgz", + "resolved": "https://registry.nlark.com/mimic-fn/download/mimic-fn-2.1.0.tgz", "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=" }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.nlark.com/minimatch/download/minimatch-3.0.4.tgz?cache=0&sync_timestamp=1622604477105&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminimatch%2Fdownload%2Fminimatch-3.0.4.tgz", + "resolved": "https://registry.nlark.com/minimatch/download/minimatch-3.0.4.tgz?cache=0&sync_timestamp=1624607996146&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminimatch%2Fdownload%2Fminimatch-3.0.4.tgz", "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "requires": { "brace-expansion": "^1.1.7" @@ -3119,12 +3844,35 @@ }, "minimist": { "version": "1.2.5", - "resolved": "https://registry.nlark.com/minimist/download/minimist-1.2.5.tgz", + "resolved": "https://registry.nlark.com/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1624607886507&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz", "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/mixin-deep/download/mixin-deep-1.3.2.tgz", + "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", + "dev": true, + "optional": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "optional": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, "mocha": { "version": "8.4.0", - "resolved": "https://registry.npmmirror.com/mocha/download/mocha-8.4.0.tgz", + "resolved": "https://registry.nlark.com/mocha/download/mocha-8.4.0.tgz", "integrity": "sha1-Z3voi/FZgKPK4Dpz4QoPw5l/DP8=", "dev": true, "requires": { @@ -3161,9 +3909,15 @@ "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", "dev": true }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz", + "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", + "dev": true + }, "chokidar": { "version": "3.5.1", - "resolved": "https://registry.npmmirror.com/chokidar/download/chokidar-3.5.1.tgz", + "resolved": "https://registry.nlark.com/chokidar/download/chokidar-3.5.1.tgz", "integrity": "sha1-7pznu+vSt59J8wR5nVRo4x4U5oo=", "dev": true, "requires": { @@ -3179,8 +3933,8 @@ }, "debug": { "version": "4.3.1", - "resolved": "https://registry.npmmirror.com/debug/download/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "resolved": "https://registry.nlark.com/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1625374653719&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz", + "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", "dev": true, "requires": { "ms": "2.1.2" @@ -3188,7 +3942,7 @@ "dependencies": { "ms": { "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz", + "resolved": "https://registry.nlark.com/ms/download/ms-2.1.2.tgz", "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", "dev": true } @@ -3202,7 +3956,7 @@ }, "find-up": { "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/find-up/download/find-up-5.0.0.tgz", + "resolved": "https://registry.nlark.com/find-up/download/find-up-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-5.0.0.tgz", "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", "dev": true, "requires": { @@ -3212,7 +3966,7 @@ }, "glob": { "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/glob/download/glob-7.1.6.tgz", + "resolved": "https://registry.nlark.com/glob/download/glob-7.1.6.tgz", "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", "dev": true, "requires": { @@ -3224,9 +3978,18 @@ "path-is-absolute": "^1.0.0" } }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, "js-yaml": { "version": "4.0.0", - "resolved": "https://registry.nlark.com/js-yaml/download/js-yaml-4.0.0.tgz?cache=0&sync_timestamp=1622604474266&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-yaml%2Fdownload%2Fjs-yaml-4.0.0.tgz", + "resolved": "https://registry.nlark.com/js-yaml/download/js-yaml-4.0.0.tgz?cache=0&sync_timestamp=1624607946901&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-yaml%2Fdownload%2Fjs-yaml-4.0.0.tgz", "integrity": "sha1-9Ca8D/S0BRkmzViMcRExg0CaEh8=", "dev": true, "requires": { @@ -3235,7 +3998,7 @@ }, "locate-path": { "version": "6.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-6.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-6.0.0.tgz", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-6.0.0.tgz", "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", "dev": true, "requires": { @@ -3244,13 +4007,13 @@ }, "ms": { "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.3.tgz", + "resolved": "https://registry.nlark.com/ms/download/ms-2.1.3.tgz", "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", "dev": true }, "p-locate": { "version": "5.0.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-5.0.0.tgz", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-5.0.0.tgz?cache=0&sync_timestamp=1629892708584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-5.0.0.tgz", "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", "dev": true, "requires": { @@ -3268,7 +4031,7 @@ }, "supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-8.1.1.tgz", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-8.1.1.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-8.1.1.tgz", "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", "dev": true, "requires": { @@ -3277,20 +4040,46 @@ } } }, + "mocha-context": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/mocha-context/download/mocha-context-0.1.5.tgz", + "integrity": "sha1-pklrXXjmdZXtscRn1Y910S/5IdE=", + "dev": true + }, "ms": { "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz", + "resolved": "https://registry.nlark.com/ms/download/ms-2.1.2.tgz", "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" }, "nanoid": { "version": "3.1.20", - "resolved": "https://registry.npmmirror.com/nanoid/download/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "resolved": "https://registry.nlark.com/nanoid/download/nanoid-3.1.20.tgz", + "integrity": "sha1-utwmPGsdzxS3HvqoX2q0wdbPx4g=", "dev": true }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.nlark.com/nanomatch/download/nanomatch-1.2.13.tgz", + "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "dev": true, + "optional": true, + "requires": { + "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": { "version": "1.4.0", - "resolved": "https://registry.nlark.com/natural-compare/download/natural-compare-1.4.0.tgz", + "resolved": "https://registry.nlark.com/natural-compare/download/natural-compare-1.4.0.tgz?cache=0&sync_timestamp=1624608011507&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnatural-compare%2Fdownload%2Fnatural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, @@ -3300,9 +4089,9 @@ "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=" }, "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.1.tgz", - "integrity": "sha1-PR05XyBPHy8ppUNYuftnh2WtL8U=" + "version": "1.1.75", + "resolved": "https://registry.nlark.com/node-releases/download/node-releases-1.1.75.tgz?cache=0&sync_timestamp=1629280320667&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.75.tgz", + "integrity": "sha1-bdjIdrmJehuOWgLeJq+nm7VOu/4=" }, "normalize-path": { "version": "3.0.0", @@ -3311,7 +4100,7 @@ }, "npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/npm-run-path/download/npm-run-path-4.0.1.tgz", + "resolved": "https://registry.nlark.com/npm-run-path/download/npm-run-path-4.0.1.tgz", "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", "requires": { "path-key": "^3.0.0" @@ -3322,13 +4111,57 @@ "resolved": "https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/object-keys/download/object-keys-1.1.1.tgz", - "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", - "dev": true - }, - "object.assign": { + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/object-copy/download/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "optional": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/object-visit/download/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "optional": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { "version": "4.1.2", "resolved": "https://registry.nlark.com/object.assign/download/object.assign-4.1.2.tgz", "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", @@ -3340,6 +4173,16 @@ "object-keys": "^1.1.1" } }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/object.pick/download/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "optional": true, + "requires": { + "isobject": "^3.0.1" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.nlark.com/once/download/once-1.4.0.tgz", @@ -3372,7 +4215,7 @@ }, "p-limit": { "version": "3.1.0", - "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1628813055527&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz", "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", "requires": { "yocto-queue": "^0.1.0" @@ -3380,7 +4223,7 @@ }, "p-locate": { "version": "4.1.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz?cache=0&sync_timestamp=1629892708584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-4.1.0.tgz", "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", "requires": { "p-limit": "^2.2.0" @@ -3388,7 +4231,7 @@ "dependencies": { "p-limit": { "version": "2.3.0", - "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1628813055527&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", "requires": { "p-try": "^2.0.0" @@ -3398,26 +4241,33 @@ }, "p-map": { "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/p-map/download/p-map-2.1.0.tgz?cache=0&sync_timestamp=1635931916150&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-map%2Fdownload%2Fp-map-2.1.0.tgz", + "resolved": "https://registry.nlark.com/p-map/download/p-map-2.1.0.tgz?cache=0&sync_timestamp=1627082442645&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-map%2Fdownload%2Fp-map-2.1.0.tgz", "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=" }, "p-try": { "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/p-try/download/p-try-2.2.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-2.2.0.tgz", + "resolved": "https://registry.nlark.com/p-try/download/p-try-2.2.0.tgz", "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=" }, "parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz?cache=0&sync_timestamp=1633337513286&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fparent-module%2Fdownload%2Fparent-module-1.0.1.tgz", + "resolved": "https://registry.nlark.com/parent-module/download/parent-module-1.0.1.tgz", "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", "dev": true, "requires": { "callsites": "^3.0.0" } }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/pascalcase/download/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "optional": true + }, "path-exists": { "version": "4.0.0", - "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-exists%2Fdownload%2Fpath-exists-4.0.0.tgz", "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=" }, "path-is-absolute": { @@ -3427,7 +4277,7 @@ }, "path-is-inside": { "version": "1.0.2", - "resolved": "https://registry.nlark.com/path-is-inside/download/path-is-inside-1.0.2.tgz?cache=0&sync_timestamp=1622604553837&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-is-inside%2Fdownload%2Fpath-is-inside-1.0.2.tgz", + "resolved": "https://registry.nlark.com/path-is-inside/download/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" }, "path-key": { @@ -3437,7 +4287,7 @@ }, "path-parse": { "version": "1.0.7", - "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz?cache=0&sync_timestamp=1622604541821&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-parse%2Fdownload%2Fpath-parse-1.0.7.tgz", + "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz", "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=" }, "path-type": { @@ -3447,19 +4297,15 @@ }, "pathval": { "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/pathval/download/pathval-1.1.1.tgz", + "resolved": "https://registry.nlark.com/pathval/download/pathval-1.1.1.tgz", "integrity": "sha1-hTTnenfOesWiUS6iHg/bj89sPY0=", "dev": true }, "pegjs": { "version": "0.10.0", - "resolved": "https://registry.npmmirror.com/pegjs/download/pegjs-0.10.0.tgz", - "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz?cache=0&sync_timestamp=1634093442271&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-1.0.0.tgz", - "integrity": "sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw=" + "resolved": "https://registry.npm.taobao.org/pegjs/download/pegjs-0.10.0.tgz", + "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=", + "dev": true }, "picomatch": { "version": "2.3.0", @@ -3486,12 +4332,19 @@ }, "pkg-dir": { "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1633498133295&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz", + "resolved": "https://registry.nlark.com/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1624607963968&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz", "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", "requires": { "find-up": "^4.0.0" } }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "optional": true + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.nlark.com/prelude-ls/download/prelude-ls-1.2.1.tgz", @@ -3505,7 +4358,7 @@ }, "progress": { "version": "2.0.3", - "resolved": "https://registry.nlark.com/progress/download/progress-2.0.3.tgz", + "resolved": "https://registry.nlark.com/progress/download/progress-2.0.3.tgz?cache=0&sync_timestamp=1624607996383&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fprogress%2Fdownload%2Fprogress-2.0.3.tgz", "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", "dev": true }, @@ -3516,7 +4369,7 @@ }, "punycode": { "version": "2.1.1", - "resolved": "https://registry.nlark.com/punycode/download/punycode-2.1.1.tgz?cache=0&sync_timestamp=1622604519710&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpunycode%2Fdownload%2Fpunycode-2.1.1.tgz", + "resolved": "https://registry.nlark.com/punycode/download/punycode-2.1.1.tgz", "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" }, "queue-microtask": { @@ -3534,7 +4387,7 @@ }, "readable-stream": { "version": "2.3.7", - "resolved": "https://registry.npmmirror.com/readable-stream/download/readable-stream-2.3.7.tgz", + "resolved": "https://registry.nlark.com/readable-stream/download/readable-stream-2.3.7.tgz", "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", "requires": { "core-util-is": "~1.0.0", @@ -3554,18 +4407,133 @@ } }, "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.nlark.com/readdirp/download/readdirp-3.6.0.tgz", - "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", + "version": "2.2.1", + "resolved": "https://registry.nlark.com/readdirp/download/readdirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", "dev": true, "optional": true, "requires": { - "picomatch": "^2.2.1" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.nlark.com/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "dev": true, + "optional": true, + "requires": { + "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" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/fill-range/download/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.nlark.com/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dev": true, + "optional": true, + "requires": { + "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" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, "rechoir": { "version": "0.7.1", - "resolved": "https://registry.nlark.com/rechoir/download/rechoir-0.7.1.tgz?cache=0&sync_timestamp=1627101702123&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frechoir%2Fdownload%2Frechoir-0.7.1.tgz", + "resolved": "https://registry.nlark.com/rechoir/download/rechoir-0.7.1.tgz", "integrity": "sha1-lHipahyhNbXoj8An8D7pLWxkVoY=", "requires": { "resolve": "^1.9.0" @@ -3578,17 +4546,17 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/download/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha1-VNCccRXh9T3CMUqXSzLBw0Tv4yY=", + "version": "8.2.0", + "resolved": "https://registry.nlark.com/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=", "dev": true, "requires": { - "regenerate": "^1.4.2" + "regenerate": "^1.4.0" } }, "regenerator-runtime": { "version": "0.13.9", - "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz", + "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.9.tgz", "integrity": "sha1-iSV0Kpj/2QgUmI11Zq0wyjsmO1I=", "dev": true }, @@ -3601,36 +4569,47 @@ "@babel/runtime": "^7.8.4" } }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/regex-not/download/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, "regexpp": { "version": "3.2.0", - "resolved": "https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz?cache=0&sync_timestamp=1623669331185&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpp%2Fdownload%2Fregexpp-3.2.0.tgz", + "resolved": "https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz", "integrity": "sha1-BCWido2PI7rXDKS5BGH6LxIT4bI=", "dev": true }, "regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.nlark.com/regexpu-core/download/regexpu-core-4.8.0.tgz?cache=0&sync_timestamp=1631619113277&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.8.0.tgz", - "integrity": "sha1-5WBbo2G2excYR4UBMnUC9EeamPA=", + "version": "4.7.1", + "resolved": "https://registry.nlark.com/regexpu-core/download/regexpu-core-4.7.1.tgz", + "integrity": "sha1-LepamgcjMpj78NuR+pq8TG4PitY=", "dev": true, "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" + "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": { "version": "0.5.2", - "resolved": "https://registry.npmmirror.com/regjsgen/download/regjsgen-0.5.2.tgz", + "resolved": "https://registry.nlark.com/regjsgen/download/regjsgen-0.5.2.tgz", "integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=", "dev": true }, "regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmmirror.com/regjsparser/download/regjsparser-0.7.0.tgz", - "integrity": "sha1-prZntUyIXhi1JVTLSWDvcRh+mWg=", + "version": "0.6.9", + "resolved": "https://registry.nlark.com/regjsparser/download/regjsparser-0.6.9.tgz", + "integrity": "sha1-tInu98mizkNydicBFCnPgzpxg+Y=", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -3644,6 +4623,27 @@ } } }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true, + "optional": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/repeat-element/download/repeat-element-1.1.4.tgz", + "integrity": "sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek=", + "dev": true, + "optional": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.nlark.com/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "optional": true + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz", @@ -3652,7 +4652,7 @@ }, "require-from-string": { "version": "2.0.2", - "resolved": "https://registry.nlark.com/require-from-string/download/require-from-string-2.0.2.tgz?cache=0&sync_timestamp=1622605305570&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frequire-from-string%2Fdownload%2Frequire-from-string-2.0.2.tgz", + "resolved": "https://registry.nlark.com/require-from-string/download/require-from-string-2.0.2.tgz", "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=", "dev": true }, @@ -3667,7 +4667,7 @@ }, "resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.nlark.com/resolve-cwd/download/resolve-cwd-3.0.0.tgz?cache=0&sync_timestamp=1622605314261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve-cwd%2Fdownload%2Fresolve-cwd-3.0.0.tgz", + "resolved": "https://registry.nlark.com/resolve-cwd/download/resolve-cwd-3.0.0.tgz", "integrity": "sha1-DwB18bslRHZs9zumpuKt/ryxPy0=", "requires": { "resolve-from": "^5.0.0" @@ -3675,9 +4675,23 @@ }, "resolve-from": { "version": "5.0.0", - "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-5.0.0.tgz?cache=0&sync_timestamp=1622605305717&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve-from%2Fdownload%2Fresolve-from-5.0.0.tgz", + "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-5.0.0.tgz?cache=0&sync_timestamp=1624607952279&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve-from%2Fdownload%2Fresolve-from-5.0.0.tgz", "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=" }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/resolve-url/download/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true, + "optional": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.nlark.com/ret/download/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "dev": true, + "optional": true + }, "reusify": { "version": "1.0.4", "resolved": "https://registry.nlark.com/reusify/download/reusify-1.0.4.tgz", @@ -3690,7 +4704,7 @@ }, "rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmmirror.com/rimraf/download/rimraf-2.7.1.tgz", + "resolved": "https://registry.nlark.com/rimraf/download/rimraf-2.7.1.tgz", "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", "requires": { "glob": "^7.1.3" @@ -3709,9 +4723,19 @@ "resolved": "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.2.1.tgz", "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/safe-regex/download/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "optional": true, + "requires": { + "ret": "~0.1.10" + } + }, "schema-utils": { "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075894281&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1626694902084&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", "requires": { "@types/json-schema": "^7.0.8", @@ -3721,7 +4745,7 @@ }, "semver": { "version": "7.3.5", - "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", "requires": { "lru-cache": "^6.0.0" @@ -3729,12 +4753,37 @@ }, "serialize-javascript": { "version": "5.0.1", - "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-5.0.1.tgz?cache=0&sync_timestamp=1624284194508&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-5.0.1.tgz", + "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-5.0.1.tgz?cache=0&sync_timestamp=1624608021459&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-5.0.1.tgz", "integrity": "sha1-eIbshIBJpGJGepfT2Rjrsqr5NPQ=", "requires": { "randombytes": "^2.1.0" } }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/set-value/download/set-value-2.0.1.tgz", + "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "shallow-clone": { "version": "3.0.1", "resolved": "https://registry.nlark.com/shallow-clone/download/shallow-clone-3.0.1.tgz", @@ -3753,13 +4802,13 @@ }, "shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz?cache=0&sync_timestamp=1628896405033&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-3.0.0.tgz", + "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz?cache=0&sync_timestamp=1628896660639&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-3.0.0.tgz", "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=" }, "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmmirror.com/signal-exit/download/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + "version": "3.0.3", + "resolved": "https://registry.nlark.com/signal-exit/download/signal-exit-3.0.3.tgz", + "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=" }, "slash": { "version": "3.0.0", @@ -3768,7 +4817,7 @@ }, "slice-ansi": { "version": "4.0.0", - "resolved": "https://registry.nlark.com/slice-ansi/download/slice-ansi-4.0.0.tgz?cache=0&sync_timestamp=1622604533654&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fslice-ansi%2Fdownload%2Fslice-ansi-4.0.0.tgz", + "resolved": "https://registry.nlark.com/slice-ansi/download/slice-ansi-4.0.0.tgz", "integrity": "sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms=", "dev": true, "requires": { @@ -3777,26 +4826,221 @@ "is-fullwidth-code-point": "^3.0.0" } }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.nlark.com/snapdragon/download/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "dev": true, + "optional": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1625374653719&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "optional": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/snapdragon-node/download/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "dev": true, + "optional": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/snapdragon-util/download/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "source-map": { "version": "0.6.1", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.nlark.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz", + "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", + "dev": true, + "optional": true, + "requires": { + "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": { - "version": "0.5.21", - "resolved": "https://registry.npmmirror.com/source-map-support/download/source-map-support-0.5.21.tgz?cache=0&sync_timestamp=1637322679144&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "version": "0.5.19", + "resolved": "https://registry.nlark.com/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1624608061410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", + "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.nlark.com/source-map-url/download/source-map-url-0.4.1.tgz", + "integrity": "sha1-CvZmBadFpaL5HPG7+KevvCg97FY=", + "dev": true, + "optional": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/split-string/download/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.nlark.com/static-extend/download/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "optional": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, "streamroller": { "version": "2.2.4", "resolved": "https://registry.nlark.com/streamroller/download/streamroller-2.2.4.tgz", @@ -3815,14 +5059,14 @@ } }, "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz", - "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", + "version": "4.2.2", + "resolved": "https://registry.nlark.com/string-width/download/string-width-4.2.2.tgz", + "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "strip-ansi": "^6.0.0" } }, "string_decoder": { @@ -3841,12 +5085,12 @@ } }, "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz", - "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "version": "6.0.0", + "resolved": "https://registry.nlark.com/strip-ansi/download/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", "dev": true, "requires": { - "ansi-regex": "^5.0.1" + "ansi-regex": "^5.0.0" } }, "strip-final-newline": { @@ -3856,35 +5100,36 @@ }, "strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz?cache=0&sync_timestamp=1629397119136&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.1.1.tgz", + "resolved": "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz", "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", "dev": true }, "supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "requires": { "has-flag": "^4.0.0" } }, "table": { - "version": "6.7.5", - "resolved": "https://registry.npmmirror.com/table/download/table-6.7.5.tgz", - "integrity": "sha512-LFNeryOqiQHqCVKzhkymKwt6ozeRhlm8IL1mE8rNUurkir4heF6PzMyRgaTa4tlyPTGGgXuvVOF/OLWiH09Lqw==", + "version": "6.7.1", + "resolved": "https://registry.nlark.com/table/download/table-6.7.1.tgz", + "integrity": "sha1-7gVZK3FDgxqMlPPO5qrkwczvM+I=", "dev": true, "requires": { "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" }, "dependencies": { "ajv": { - "version": "8.8.2", - "resolved": "https://registry.npmmirror.com/ajv/download/ajv-8.8.2.tgz", - "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "version": "8.6.2", + "resolved": "https://registry.nlark.com/ajv/download/ajv-8.6.2.tgz", + "integrity": "sha1-L7ReDl/LwIEzJsHD2lNdGIG7BXE=", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -3903,32 +5148,33 @@ }, "tapable": { "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/tapable/download/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + "resolved": "https://registry.nlark.com/tapable/download/tapable-1.1.3.tgz", + "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=" }, "terser": { - "version": "5.10.0", - "resolved": "https://registry.npmmirror.com/terser/download/terser-5.10.0.tgz?cache=0&sync_timestamp=1636988253279&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fterser%2Fdownload%2Fterser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", + "version": "5.7.2", + "resolved": "https://registry.nlark.com/terser/download/terser-5.7.2.tgz", + "integrity": "sha1-1Nle1Pi/c1y5M+gC8qGCmr9UXj8=", "requires": { "commander": "^2.20.0", "source-map": "~0.7.2", - "source-map-support": "~0.5.20" + "source-map-support": "~0.5.19" }, "dependencies": { "source-map": { "version": "0.7.3", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.7.3.tgz", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.7.3.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.7.3.tgz", "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=" } } }, "terser-webpack-plugin": { - "version": "5.3.0", - "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/download/terser-webpack-plugin-5.3.0.tgz", - "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", + "version": "5.2.2", + "resolved": "https://registry.nlark.com/terser-webpack-plugin/download/terser-webpack-plugin-5.2.2.tgz?cache=0&sync_timestamp=1630630911890&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-5.2.2.tgz", + "integrity": "sha1-1/0IEJ1HuNTsfb/u5rGP4akULYw=", "requires": { - "jest-worker": "^27.4.1", + "jest-worker": "^27.0.6", + "p-limit": "^3.1.0", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", @@ -3937,7 +5183,7 @@ "dependencies": { "serialize-javascript": { "version": "6.0.0", - "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-6.0.0.tgz?cache=0&sync_timestamp=1624284194508&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-6.0.0.tgz", + "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-6.0.0.tgz?cache=0&sync_timestamp=1624608021459&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-6.0.0.tgz", "integrity": "sha1-765diPRdeSQUHai1w6en5mP+/rg=", "requires": { "randombytes": "^2.1.0" @@ -3953,10 +5199,45 @@ }, "to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1628418855671&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz", + "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1628418893613&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/to-object-path/download/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/to-regex/download/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "dev": true, + "optional": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz", @@ -3967,7 +5248,7 @@ }, "ts-loader": { "version": "8.3.0", - "resolved": "https://registry.nlark.com/ts-loader/download/ts-loader-8.3.0.tgz?cache=0&sync_timestamp=1632169134951&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fts-loader%2Fdownload%2Fts-loader-8.3.0.tgz", + "resolved": "https://registry.nlark.com/ts-loader/download/ts-loader-8.3.0.tgz", "integrity": "sha1-gzYEltb4AE+rNYJSeRMsk0Eu3zM=", "requires": { "chalk": "^4.1.0", @@ -3979,7 +5260,7 @@ }, "ts-node": { "version": "9.1.1", - "resolved": "https://registry.npmmirror.com/ts-node/download/ts-node-9.1.1.tgz", + "resolved": "https://registry.nlark.com/ts-node/download/ts-node-9.1.1.tgz?cache=0&sync_timestamp=1629311301535&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fts-node%2Fdownload%2Fts-node-9.1.1.tgz", "integrity": "sha1-UamkUKPpWUAb2l8ASnLVS5NtN20=", "dev": true, "requires": { @@ -3993,7 +5274,7 @@ "dependencies": { "diff": { "version": "4.0.2", - "resolved": "https://registry.nlark.com/diff/download/diff-4.0.2.tgz?cache=0&sync_timestamp=1622605328812&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz", + "resolved": "https://registry.nlark.com/diff/download/diff-4.0.2.tgz?cache=0&sync_timestamp=1624608104914&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz", "integrity": "sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0=", "dev": true } @@ -4001,13 +5282,13 @@ }, "tslib": { "version": "1.14.1", - "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz", "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", "dev": true }, "tsutils": { "version": "3.21.0", - "resolved": "https://registry.nlark.com/tsutils/download/tsutils-3.21.0.tgz?cache=0&sync_timestamp=1622604538827&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftsutils%2Fdownload%2Ftsutils-3.21.0.tgz", + "resolved": "https://registry.nlark.com/tsutils/download/tsutils-3.21.0.tgz", "integrity": "sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM=", "dev": true, "requires": { @@ -4025,54 +5306,136 @@ }, "type-detect": { "version": "4.0.8", - "resolved": "https://registry.nlark.com/type-detect/download/type-detect-4.0.8.tgz", + "resolved": "https://registry.nlark.com/type-detect/download/type-detect-4.0.8.tgz?cache=0&sync_timestamp=1624607980886&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-detect%2Fdownload%2Ftype-detect-4.0.8.tgz", "integrity": "sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw=", "dev": true }, "type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.20.2.tgz", + "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.20.2.tgz", "integrity": "sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=", "dev": true }, "typescript": { - "version": "4.5.4", - "resolved": "https://registry.npmmirror.com/typescript/download/typescript-4.5.4.tgz", - "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==" + "version": "4.4.2", + "resolved": "https://registry.nlark.com/typescript/download/typescript-4.4.2.tgz?cache=0&sync_timestamp=1630566990929&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftypescript%2Fdownload%2Ftypescript-4.4.2.tgz", + "integrity": "sha1-bWGGQNQw41aaHftE99fmAM7T7oY=" + }, + "uglify-es": { + "version": "3.3.10", + "resolved": "https://registry.nlark.com/uglify-es/download/uglify-es-3.3.10.tgz", + "integrity": "sha1-iwt5ks6+IO3CbeG/MlzveXuPP6U=", + "dev": true, + "requires": { + "commander": "~2.14.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.14.1", + "resolved": "https://registry.nlark.com/commander/download/commander-2.14.1.tgz", + "integrity": "sha1-IjUSPjevjKPGXfRbAm29NXsBuao=", + "dev": true + } + } }, "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha1-MBrNxSVjFnDTn2FG4Od/9rvevdw=", + "version": "1.0.4", + "resolved": "https://registry.nlark.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=", "dev": true }, "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631618696521&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-match-property-ecmascript%2Fdownload%2Funicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha1-VP0W4OyxZ88Ezx91a9zJLrp5dsM=", + "version": "1.0.4", + "resolved": "https://registry.nlark.com/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=", "dev": true, "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" } }, "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha1-GgGqVyR8FMVouJd1pUk4eIGJpxQ=", + "version": "1.2.0", + "resolved": "https://registry.nlark.com/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631609457921&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha1-CjbLmlhcT2q9Ua0d7dsoXBZSl8g=", + "version": "1.1.0", + "resolved": "https://registry.nlark.com/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=", "dev": true }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/union-value/download/union-value-1.0.1.tgz", + "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", + "dev": true, + "optional": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.nlark.com/universalify/download/universalify-0.1.2.tgz", "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/unset-value/download/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "optional": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.nlark.com/has-value/download/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "optional": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/isobject/download/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "optional": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/has-values/download/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "optional": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/upath/download/upath-1.2.0.tgz", + "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", + "dev": true, + "optional": true + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.nlark.com/uri-js/download/uri-js-4.4.1.tgz", @@ -4081,30 +5444,43 @@ "punycode": "^2.1.0" } }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/urix/download/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true, + "optional": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/use/download/use-3.1.1.tgz", + "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", + "dev": true, + "optional": true + }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz", + "resolved": "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz?cache=0&sync_timestamp=1624607944834&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futil-deprecate%2Fdownload%2Futil-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.nlark.com/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz", - "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=", - "dev": true + "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=" }, "watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/watchpack/download/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.2.0", + "resolved": "https://registry.nlark.com/watchpack/download/watchpack-2.2.0.tgz", + "integrity": "sha1-R9ePVBX+VQ7NdA+Z/iiCMjpYsc4=", "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" } }, "webpack": { - "version": "5.65.0", - "resolved": "https://registry.npmmirror.com/webpack/download/webpack-5.65.0.tgz", - "integrity": "sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==", + "version": "5.51.2", + "resolved": "https://registry.nlark.com/webpack/download/webpack-5.51.2.tgz?cache=0&sync_timestamp=1630589182625&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack%2Fdownload%2Fwebpack-5.51.2.tgz", + "integrity": "sha1-92XSWLC/ar2jxfIb+FWiVyDpeW8=", "requires": { "@types/eslint-scope": "^3.7.0", "@types/estree": "^0.0.50", @@ -4115,8 +5491,8 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", - "es-module-lexer": "^0.9.0", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.7.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", @@ -4128,55 +5504,56 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.2" + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.0" }, "dependencies": { "enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-5.8.3.tgz?cache=0&sync_timestamp=1632130769099&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-5.8.3.tgz", - "integrity": "sha1-bVUtRlzOBCP1s9cYUR6lOCansvA=", + "version": "5.8.2", + "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-5.8.2.tgz", + "integrity": "sha1-Fd3HeTRcu3PpfGEc0AwBwee/TYs=", "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/tapable/download/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + "version": "2.2.0", + "resolved": "https://registry.nlark.com/tapable/download/tapable-2.2.0.tgz", + "integrity": "sha1-XDc9KB2cZyhIIT0OA30cQWWrQms=" } } }, "webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmmirror.com/webpack-cli/download/webpack-cli-4.9.1.tgz", - "integrity": "sha1-tkvoJeLRsTDyhcMUyqOxuppGMrM=", + "version": "4.8.0", + "resolved": "https://registry.nlark.com/webpack-cli/download/webpack-cli-4.8.0.tgz", + "integrity": "sha1-X8PIuUAdPIpD4q/OrPqCYZYjONE=", "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", - "colorette": "^2.0.14", + "@webpack-cli/configtest": "^1.0.4", + "@webpack-cli/info": "^1.3.0", + "@webpack-cli/serve": "^1.5.2", + "colorette": "^1.2.1", "commander": "^7.0.0", "execa": "^5.0.0", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^2.2.0", "rechoir": "^0.7.0", + "v8-compile-cache": "^2.2.0", "webpack-merge": "^5.7.3" }, "dependencies": { "commander": { "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/commander/download/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + "resolved": "https://registry.nlark.com/commander/download/commander-7.2.0.tgz", + "integrity": "sha1-o2y1fQtQHOEI5NIFWaFQo5HZerc=" } } }, "webpack-merge": { "version": "5.8.0", - "resolved": "https://registry.npmmirror.com/webpack-merge/download/webpack-merge-5.8.0.tgz", + "resolved": "https://registry.nlark.com/webpack-merge/download/webpack-merge-5.8.0.tgz?cache=0&sync_timestamp=1624607912484&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack-merge%2Fdownload%2Fwebpack-merge-5.8.0.tgz", "integrity": "sha1-Kznb8ir4d3atdEw5AiNzHTCmj2E=", "requires": { "clone-deep": "^4.0.1", @@ -4184,9 +5561,9 @@ } }, "webpack-sources": { - "version": "3.2.2", - "resolved": "https://registry.npmmirror.com/webpack-sources/download/webpack-sources-3.2.2.tgz?cache=0&sync_timestamp=1636982699200&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-3.2.2.tgz", - "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==" + "version": "3.2.0", + "resolved": "https://registry.nlark.com/webpack-sources/download/webpack-sources-3.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-3.2.0.tgz", + "integrity": "sha1-sWlzvPhE682zr94y7aHATQuQ+J0=" }, "which": { "version": "2.0.2", @@ -4198,7 +5575,7 @@ }, "wide-align": { "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/wide-align/download/wide-align-1.1.3.tgz?cache=0&sync_timestamp=1634307502489&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwide-align%2Fdownload%2Fwide-align-1.1.3.tgz", + "resolved": "https://registry.nlark.com/wide-align/download/wide-align-1.1.3.tgz", "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=", "dev": true, "requires": { @@ -4207,7 +5584,7 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-3.0.0.tgz", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, @@ -4219,7 +5596,7 @@ }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/string-width/download/string-width-2.1.1.tgz", + "resolved": "https://registry.nlark.com/string-width/download/string-width-2.1.1.tgz", "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", "dev": true, "requires": { @@ -4229,7 +5606,7 @@ }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-4.0.0.tgz", + "resolved": "https://registry.nlark.com/strip-ansi/download/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { @@ -4257,7 +5634,7 @@ }, "wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz", "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", "dev": true, "requires": { @@ -4271,6 +5648,11 @@ "resolved": "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, + "ws": { + "version": "8.3.0", + "resolved": "http://mirrors.tools.huawei.com/npm/ws/-/ws-8.3.0.tgz", + "integrity": "sha512-Gs5EZtpqZzLvmIM59w4igITU57lrtYVFneaa434VROv4thzJyV6UjIL3D42lslWlI+D4KzLYnxSwtfuiO79sNw==" + }, "y18n": { "version": "5.0.8", "resolved": "https://registry.nlark.com/y18n/download/y18n-5.0.8.tgz", @@ -4279,12 +5661,12 @@ }, "yallist": { "version": "4.0.0", - "resolved": "https://registry.nlark.com/yallist/download/yallist-4.0.0.tgz?cache=0&sync_timestamp=1622604530774&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyallist%2Fdownload%2Fyallist-4.0.0.tgz", + "resolved": "https://registry.nlark.com/yallist/download/yallist-4.0.0.tgz?cache=0&sync_timestamp=1624607893982&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyallist%2Fdownload%2Fyallist-4.0.0.tgz", "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=" }, "yargs": { "version": "16.2.0", - "resolved": "https://registry.npmmirror.com/yargs/download/yargs-16.2.0.tgz", + "resolved": "https://registry.nlark.com/yargs/download/yargs-16.2.0.tgz", "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", "dev": true, "requires": { @@ -4299,7 +5681,7 @@ }, "yargs-parser": { "version": "20.2.4", - "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.4.tgz?cache=0&sync_timestamp=1637031023704&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.4.tgz", + "resolved": "https://registry.nlark.com/yargs-parser/download/yargs-parser-20.2.4.tgz?cache=0&sync_timestamp=1624608003030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.4.tgz", "integrity": "sha1-tCiQ8UVmeW+Fro46JSkNIF8VSlQ=", "dev": true }, @@ -4317,13 +5699,13 @@ }, "yn": { "version": "3.1.1", - "resolved": "https://registry.nlark.com/yn/download/yn-3.1.1.tgz?cache=0&sync_timestamp=1628974846240&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyn%2Fdownload%2Fyn-3.1.1.tgz", + "resolved": "https://registry.nlark.com/yn/download/yn-3.1.1.tgz", "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A=", "dev": true }, "yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz", + "resolved": "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz?cache=0&sync_timestamp=1628812679256&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyocto-queue%2Fdownload%2Fyocto-queue-0.1.0.tgz", "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=" } } diff --git a/compiler/package.json b/compiler/package.json index fe0cde331..ee9a8e13f 100644 --- a/compiler/package.json +++ b/compiler/package.json @@ -13,7 +13,7 @@ "build": "npm run generateSyntaxParser && npm run generateDeclarations && ./node_modules/.bin/babel ./src --out-dir lib --extensions .ts", "create": "node ./lib/create.js --env projectName", "compile": "webpack --config webpack.config.js --env buildMode=debug projectName", - "test": "npm run build && mocha -r ts-node/register test/test.ts", + "test": "npm run build && mocha -r mocha-context/register test/test.js", "generateDeclarations": "node ./build_declarations_file.js ../../../interface/sdk-js/api/@internal/component/ets ./declarations ./lib", "generateSyntaxParser": "node build_parser.js ./syntax_parser/dist", "postinstall": "node npm-install.js" @@ -29,18 +29,20 @@ "chai": "^4.2.0", "eslint": "^7.16.0", "mocha": "^8.2.1", + "mocha-context": "^0.1.5", "ts-node": "^9.1.1", - "uglify-es": "^3.3.10" + "uglify-es": "^3.3.10", + "pegjs": "^0.10.0" }, "dependencies": { "clean-webpack-plugin": "^3.0.0", "copy-webpack-plugin": "^8.1.0", - "deccjsunit": "1.0.3", + "deccjsunit": "1.0.4", "log4js": "^6.3.0", - "pegjs": "^0.10.0", "ts-loader": "^8.0.12", "typescript": "^4.1.3", "webpack": "^5.48.0", - "webpack-cli": "^4.2.0" + "webpack-cli": "^4.2.0", + "ws": "^8.3.0" } } diff --git a/compiler/sample/manifest.json b/compiler/sample/manifest.json index 97155b8f1..8895c323c 100644 --- a/compiler/sample/manifest.json +++ b/compiler/sample/manifest.json @@ -1,5 +1,5 @@ { - "appID": "com.huawei.ace.helloworld", + "appID": "com.example.ace.helloworld", "appName": "HelloAce", "versionName": "1.0.0", "versionCode": 1, diff --git a/compiler/sample/pages/home_preview.ets b/compiler/sample/pages/home_preview.ets index c11cf6319..c4352e719 100644 --- a/compiler/sample/pages/home_preview.ets +++ b/compiler/sample/pages/home_preview.ets @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - + @Entry @Component struct HomePreviewComponent { diff --git a/compiler/sample/pages/testcases/expected/component-01-expected.js b/compiler/sample/pages/testcases/expected/component-01-expected.js index eda0bbd21..45b082ae6 100644 --- a/compiler/sample/pages/testcases/expected/component-01-expected.js +++ b/compiler/sample/pages/testcases/expected/component-01-expected.js @@ -15,7 +15,7 @@ class MyComponent extends View { constructor() { - super(); + super(); this.value1 = value1; this.value2 = value2; this.value3 = value3; diff --git a/compiler/sample/pages/testcases/showcaseCovid19.ets b/compiler/sample/pages/testcases/showcaseCovid19.ets index 01a058645..bd4dd5887 100644 --- a/compiler/sample/pages/testcases/showcaseCovid19.ets +++ b/compiler/sample/pages/testcases/showcaseCovid19.ets @@ -21,7 +21,6 @@ * * ACE @ Web Helsinki * - */ const enum FlexAlign { diff --git a/compiler/sample/pages/todo.ets b/compiler/sample/pages/todo.ets index e3cbe4b4c..6b0089d3f 100644 --- a/compiler/sample/pages/todo.ets +++ b/compiler/sample/pages/todo.ets @@ -24,7 +24,7 @@ * https://rnd-gitlab-eu-c.huawei.com/zidanehbs/ace/ace/-/blob/fin-hmf-dev-ace-diff-clean/samples/common/res/hi_topapp/assets/js/default/acediff/todoListForEach.js * This is the ouput the eDSL transpiler should generate. */ - + let tasks: Array = [ { label: "Wash the car" }, { label: "Buy some milk" }, diff --git a/compiler/server/build_pipe_server.js b/compiler/server/build_pipe_server.js new file mode 100644 index 000000000..4fcfd80dc --- /dev/null +++ b/compiler/server/build_pipe_server.js @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +const WebSocket = require('ws'); +const ts = require('typescript'); + +const { processComponentChild } = require('../lib/process_component_build'); + +const WebSocketServer = WebSocket.Server; + +let pluginSocket = ''; + +const pluginCommandChannelMessageHandlers = { + 'compileComponent': handlePluginCompileComponent, + 'default': handlePluginDefault +}; + +function init(port) { + const wss = new WebSocketServer({port: port}); + wss.on('connection', function(ws) { + pluginSocket = ws; + handlePluginConnect(ws); + }); +} + +function handlePluginConnect(ws) { + ws.on('message', function(message) { + const jsonData = JSON.parse(message); + handlePluginCommand(jsonData); + }); +} + +function handlePluginCommand(jsonData) { + pluginCommandChannelMessageHandlers[jsonData.command] + ? pluginCommandChannelMessageHandlers[jsonData.command](jsonData) + : pluginCommandChannelMessageHandlers['default'](jsonData); +} + +function handlePluginDefault() { + console.error('Failed to recognize command'); +} + +function handlePluginCompileComponent(jsonData) { + const received_msg = jsonData; + const sourceNode = ts.createSourceFile + ('preview.ts', received_msg.data.script, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS); + const previewStatements = []; + processComponentChild(sourceNode, previewStatements, []); + const newSource = ts.factory.updateSourceFile(sourceNode, previewStatements); + const printer = ts.createPrinter({ newLine: ts.NewLineKind.LineFeed }); + const result = printer.printNode(ts.EmitHint.Unspecified, newSource, newSource); + received_msg.data.script = result; + if (pluginSocket.readyState === WebSocket.OPEN){ + responseToPlugin(received_msg); + } +} + +function responseToPlugin(jsonData) { + pluginSocket.send(JSON.stringify(jsonData), (err) => { + console.error('Failed to send data through websocket'); + }); +} + +module.exports = { + init +}; diff --git a/compiler/src/compile_info.ts b/compiler/src/compile_info.ts index 41693a175..ddeb4fb27 100644 --- a/compiler/src/compile_info.ts +++ b/compiler/src/compile_info.ts @@ -15,15 +15,22 @@ import Stats from 'webpack/lib/Stats'; import Compiler from 'webpack/lib/Compiler'; +import Compilation from 'webpack/lib/Compilation'; +import JavascriptModulesPlugin from 'webpack/lib/javascript/JavascriptModulesPlugin'; import { configure, getLogger } from 'log4js'; import RawSource from 'webpack-sources/lib/RawSource'; +import path from 'path'; +import fs from 'fs'; +import CachedSource from 'webpack-sources/lib/CachedSource'; +import ConcatSource from 'webpack-sources/lib/ConcatSource'; import { BUILDIN_STYLE_NAMES, - EXTEND_ATTRIBUTE + EXTEND_ATTRIBUTE, + STYLES_ATTRIBUTE } from './component_map'; import { transformLog } from './process_ui_syntax'; import { @@ -34,6 +41,8 @@ import { import { decoratorParamSet } from './process_component_member'; import { appComponentCollection } from './process_component_build'; import { projectConfig } from '../main'; +import { circularFile } from './utils'; +import { MODULE_SHARE_PATH, BUILD_SHARE_PATH } from './pre_define'; configure({ appenders: { 'ETS': {type: 'stderr', layout: {type: 'messagePassThrough'}}}, @@ -42,6 +51,13 @@ configure({ export const logger = getLogger('ETS'); const props: string[] = []; +const GLOBAL_COMMON_MODULE_CACHE: string = ` +globalThis["__common_module_cache__"] = globalThis["__common_module_cache__"] || {}; +globalThis["webpackChunkcompilier"].forEach((item)=> { + Object.keys(item[1]).forEach((element) => { + globalThis["__common_module_cache__"][element] = null; + }) +});`; interface Info { message?: string; @@ -62,6 +78,7 @@ export class ResultStates { private yellow: string = '\u001b[33m'; private blue: string = '\u001b[34m'; private reset: string = '\u001b[39m'; + private modulePaths: Set = new Set([]); public apply(compiler: Compiler): void { compiler.hooks.compilation.tap('SourcemapFixer', compilation => { @@ -73,6 +90,52 @@ export class ResultStates { }); } ); + + compilation.hooks.buildModule.tap("findModule", (module) => { + if (/node_modules/.test(module.context)) { + const modulePath: string = + path.resolve(module.resourceResolveData.descriptionFileRoot, MODULE_SHARE_PATH); + if (fs.existsSync(modulePath)) { + this.modulePaths.add(modulePath); + } + } + }); + }); + + compiler.hooks.afterCompile.tap('copyFindModule', () => { + this.modulePaths.forEach(modulePath => { + circularFile(modulePath, path.resolve(projectConfig.buildPath, BUILD_SHARE_PATH)); + }); + }); + + compiler.hooks.compilation.tap('CommonAsset', compilation => { + compilation.hooks.processAssets.tap( + { + name: 'GLOBAL_COMMON_MODULE_CACHE', + stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONS, + }, + (assets) => { + if (assets['commons.js']) { + assets['commons.js'] = new CachedSource( + new ConcatSource(assets['commons.js'], GLOBAL_COMMON_MODULE_CACHE)); + } else if (assets['vendors.js']) { + assets['vendors.js'] = new CachedSource( + new ConcatSource(assets['vendors.js'], GLOBAL_COMMON_MODULE_CACHE)); + } + }); + }); + + compiler.hooks.compilation.tap('Require', compilation => { + JavascriptModulesPlugin.getCompilationHooks(compilation).renderRequire.tap('renderRequire', + (source) => { + return `var commonCachedModule = globalThis["__common_module_cache__"] ? ` + + `globalThis["__common_module_cache__"][moduleId]: null;\n` + + `if (commonCachedModule) { return commonCachedModule.exports; }\n` + + source.replace('// Execute the module function', + `if (globalThis["__common_module_cache__"] && moduleId.indexOf("?name=") < 0 && ` + + `Object.keys(globalThis["__common_module_cache__"]).indexOf(moduleId) >= 0) {\n` + + ` globalThis["__common_module_cache__"][moduleId] = module;\n}`); + }); }); compiler.hooks.done.tap('Result States', (stats: Stats) => { @@ -192,11 +255,13 @@ export class ResultStates { const propInfoReg: RegExp = /Cannot find name\s*'(\$?[_a-zA-Z0-9]+)'/; const componentNameReg: RegExp = /'typeof\s*(\$?[_a-zA-Z0-9]+)' is not callable/; const stateInfoReg: RegExp = /Property\s*'(\$[_a-zA-Z0-9]+)' does not exist on type/; - const extendInfoReg: RegExp = /Property\s*'([_a-zA-Z0-9]+)' does not exist on type\s*'([_a-zA-Z0-9]+)'\./; + const extendInfoReg: RegExp = + /Property\s*'([_a-zA-Z0-9]+)' does not exist on type\s*'([_a-zA-Z0-9]+)(Attribute|Interface)'\./; if (this.matchMessage(message, props, propInfoReg) || this.matchMessage(message, [...componentCollection.customComponents], componentNameReg) || this.matchMessage(message, props, stateInfoReg) || - this.matchMessage(message, EXTEND_ATTRIBUTE, extendInfoReg, true)) { + this.matchMessage(message, EXTEND_ATTRIBUTE, extendInfoReg, true) || + this.matchMessage(message, STYLES_ATTRIBUTE, extendInfoReg)) { return false; } return true; diff --git a/compiler/src/component_map.ts b/compiler/src/component_map.ts index bb64266fd..22a789ece 100644 --- a/compiler/src/component_map.ts +++ b/compiler/src/component_map.ts @@ -13,382 +13,33 @@ * limitations under the License. */ -export const COMPONENT_MAP: any = { - Search: { - atomic: true, - attrs: [ - 'searchButton', 'placeholderColor', 'placeholderFont', 'onSubmit', 'onChange' - ] - }, - FormComponent: { - atomic: true, - attrs: [ - 'size', 'moduleName', 'dimension', 'allowUpdate', 'visibility', - 'onAcquired', 'onError', 'onRouter' - ] - }, - Image: { - atomic: true, - attrs: [ - 'alt', 'objectFit', 'matchTextDirection', 'fitOriginalSize', 'objectRepeat', 'renderMode', 'interpolation', - 'onComplete', 'onError', 'onFinish', 'sourceSize', 'fillColor', 'autoResize' - ] - }, - ImageAnimator: { - atomic: true, - attrs: [ - 'images', 'state', 'duration', 'reverse', 'fixedSize', 'preDecode', 'fillMode', 'iterations', 'onStart', - 'onPause', 'onRepeat', 'onCancel', 'onFinish' - ] - }, - Animator: { - atomic: true, - noDebugLine: true, - attrs: [ - 'state', 'duration', 'curve', 'delay', 'fillMode', 'iterations', 'playMode', 'motion', 'onStart', - 'onPause', 'onRepeat', 'onCancel', 'onFinish', 'onFrame' - ] - }, - Refresh: { - single: true, - attrs: [ - 'refreshing', 'offset', 'friction', - 'onStateChange', 'onRefreshing' - ] - }, - SpringProp: { - atomic: true - }, - SpringMotion: { - atomic: true - }, - FrictionMotion: { - atomic: true - }, - ScrollMotion: { - atomic: true - }, - Text: { - children: ['Span'], - attrs: [ - 'fontColor', 'fontSize', 'fontStyle', 'fontWeight', 'textAlign', 'lineHeight', 'textOverflow', 'maxLines', - 'decoration', 'letterSpacing', 'textCase', 'baselineOffset', 'minFontSize', 'maxFontSize' - ] - }, - TextPicker: { - atomic: true, - attrs: ['defaultPickerItemHeight', 'onAccept', 'onCancel', 'onChange'] - }, - DatePicker: { - atomic: true, - attrs: ['lunar', 'onChange', 'useMilitaryTime'] - }, - Span: { - atomic: true, - attrs: [ - 'fontColor', 'fontSize', 'fontStyle', 'fontFamily', 'fontWeight', 'decoration', 'letterSpacing', 'textCase' - ] - }, - Button: { - attrs: ['type', 'stateEffect', 'fontColor', 'fontSize', 'fontWeight'] - }, - Divider: { - atomic: true, - attrs: ['color', 'vertical', 'strokeWidth', 'lineCap'] - }, - Piece: { - atomic: true, - attrs: ['iconPosition'] - }, - Slider: { - atomic: true, - attrs: ['blockColor', 'trackColor', 'selectedColor', 'minLabel','maxLabel', 'showSteps', 'showTips', 'onChange'] - }, - Counter: { - attrs: [ - 'onStateChange', 'onInc', - 'onDec', 'height', 'width' - ] - }, - Row: { - attrs: ['alignItems'] - }, - Column: { - attrs: ['alignItems'] - }, - Stack: { - attrs: ['alignContent'] - }, - List: { - children: ['ListItem', 'Section'], - attrs: [ - 'listDirection', 'scrollBar', 'edgeEffect', 'divider', 'editMode', 'cachedCount', 'chainAnimation', - 'onScroll', 'onReachStart', 'onReachEnd', 'onScrollStop', 'onItemDelete', 'onItemMove' - ] - }, - ListItem: { - parents: ['List'], - single: true, - attrs: ['sticky', 'editable'] - }, - Grid: { - children: ['GridItem'], - attrs: ['columnsTemplate', 'rowsTemplate', 'columnsGap', 'rowsGap', 'scrollBar', 'scrollBarWidth', 'scrollBarColor'] - }, - GridItem: { - parents: ['Grid'], - single: true, - attrs: ['rowStart', 'rowEnd', 'columnStart', 'columnEnd', 'forceRebuild'] - }, - GridContainer: { - attrs: ['columns', 'sizeType', 'gutter', 'margin'] - }, - Hyperlink: { - attrs: ['color'] - }, - Swiper: { - attrs: [ - 'index', 'autoPlay', 'interval', 'indicator', - 'loop', 'duration', 'vertical', 'itemSpace', 'displayMode', 'onChange' - ] - }, - Stepper: { - children: ['StepperItem'], - attrs: [ - 'onFinish', 'onSkip', 'onChange', 'onNext', 'onPrevious' - ] - }, - StepperItem: { - parents: ['Stepper'], - single: true, - attrs: ['prevLabel', 'nextLabel', 'status'] - }, - Rating: { - attrs: ['stars', 'stepSize', 'starStyle', 'onChange'] - }, - Calendar: { - attrs: [ - 'date', 'showLunar', 'startOfWeek', 'offDays', 'onSelectChange', 'onRequestData', - 'currentData', 'preData', 'nextData', 'needSlide', 'showHoliday', 'direction', - 'currentDayStyle', 'nonCurrentDayStyle', 'todayStyle', 'weekStyle', 'workStateStyle' - ] - }, - Panel: { - attrs: [ - 'type', 'mode', 'dragBar', 'fullHeight', - 'halfHeight', 'miniHeight', 'show', 'onChange' - ] - }, - Navigator: { - single: true, - attrs: ['target', 'type', 'params', 'active'] - }, - Sheet: { - children: ['Section'], - attrs: [] - }, - Section: { - attrs: [] - }, - QRCode: { - attrs: ['color', 'backgroundColor'] - }, - Flex: { - attrs: [] - }, - LoadingProgress: { - atomic: true, - attrs: ['color'] - }, - NavigationView: { - attrs: [] - }, - Scroll: { - attrs: [ - 'scrollable', 'onScroll', 'onScrollEdge', 'onScrollEnd', 'scrollBar', 'scrollBarColor', - 'scrollBarWidth', 'edgeEffect' - ] - }, - Shape: { - children: ['Rect', 'Path', 'Circle', 'Ellipse', 'Shape', 'Polyline', 'Polygon', 'Image', 'Text'], - attrs: [ - 'stroke', 'fill', 'strokeDashOffset', 'strokeLineCap', - 'strokeLineJoin', 'strokeMiterLimit', 'strokeOpacity', - 'fillOpacity', 'strokeWidth', 'antiAlias', 'strokeDashArray', - 'viewPort' - ] - }, - Progress: { - atomic: true, - attrs: [ - 'value', 'color', 'cricularStyle', 'circularStyle' - ] - }, - Rect: { - atomic: true, - attrs: [ - 'radiusWidth', 'radiusHeight', 'radius' - ] - }, - Path: { - atomic: true, - attrs: [ - 'commands' - ] - }, - Circle: { - atomic: true - }, - Ellipse: { - atomic: true - }, - Camera: { - atomic: true, - attrs: ['devicePosition'] - }, - Tabs: { - children: ['TabContent'], - attrs: [ - 'vertical', 'scrollable', 'barMode', 'barWidth', 'barHeight', 'animationDuration', - 'onChange' - ] - }, - TabContent: { - parents: ['Tabs'], - attrs: ['tabBar'] - }, - PageTransitionEnter: { - atomic: true, - noDebugLine: true, - attrs: ['onEnter'] - }, - PageTransitionExit: { - atomic: true, - noDebugLine: true, - attrs: ['onExit'] - }, - Blank: { - parents: ['Row', 'Column'], - atomic: true, - attrs: ['color'] - }, - RowSplit: { - attrs: ['resizeable'] - }, - ColumnSplit: { - attrs: ['resizeable'] - }, - Toggle: { - attrs: ['onChange', 'selectedColor', 'swithPointStyle'] - }, - AlertDialog: { - attrs: ['show'] - }, - ActionSheet: { - attrs: ['show'] - }, - Video: { - atomic: true, - attrs: [ - 'muted', 'autoPlay', 'controls', 'loop', 'objectFit', 'onSeeking', 'onFullscreenChange', - 'onStart', 'onPause', 'onPrepared', 'onFinish', 'onSeeked', 'onUpdate', 'onError' - ] - }, - AbilityComponent: { - attrs: ['onReady', 'onDestroy', 'onAbilityCreated', 'onAbilityMoveToFront', 'onAbilityWillRemove'] - }, - AlphabetIndexer: { - attrs: [ - 'onSelected', 'selectedColor', 'popupColor', 'selectedBackgroundColor', 'popupBackground', 'usingPopup', - 'selectedFont', 'popupFont', 'itemSize', 'font', 'color', 'alignStyle' - ] - }, - Radio: { - atomic: true, - attrs: ['checked', 'onChange'] - }, - Web: { - atomic: true, - attrs: ['pagestart', 'pagefinish', 'error','message', 'reload'] - }, - GeometryView: { - atomic: true - }, - DataPanel: { - atomic: false, - attrs: ['closeEffect'] - }, - Badge: { - atomics: true, - attrs: [] - }, - Line: { - atomic: true, - attrs: [ - 'startPoint','endPoint' - ] - }, - Polygon: { - atomic: true, - attrs: ['points'] - }, - Polyline: { - atomic: true, - attrs: ['points'] - }, - Gauge: { - atomic: true, - attrs: ['value', 'startAngle', 'endAngle', 'colors', 'strokeWidth', 'labelTextConfig', 'labelColorConfig'] - }, - TextArea: { - atomic: true, - attrs: [ - 'placeholderColor', 'placeholderFont', 'textAlign', 'caretColor', 'onChange' - ] - }, - TextInput: { - atomic: true, - attrs: [ - 'type', 'placeholderColor', 'placeholderFont', 'enterKeyType', 'caretColor', 'maxLength', 'onEditChanged', - 'onSubmit', 'onChange' - ] - }, - Marquee: { - atomic: true, - attrs: ['fontColor', 'fontSize', 'allowScale', 'fontWeight', 'fontFamily', 'onStart', 'onBounce', 'onFinish'] - }, - Menu: { - children: ['Option'], - attrs: ['show', 'showPosition', 'fontColor', 'fontSize', 'fontWeight', 'fontFamily'], - }, - Option: { - parents: ['Menu'], - attrs: ['fontColor', 'fontSize', 'fontWeight', 'fontFamily'], - }, -}; +const fs = require('fs'); +const path = require('path'); +import ts from 'typescript'; + +export const COMPONENT_MAP: any = {}; + +export let COMMON_ATTRS: Set = new Set([]); + +(function readComponents() { + const componentsFile: string = path.join(__dirname, '../components'); + const files: string[] = fs.readdirSync(componentsFile); + files.forEach(function(item) { + const fPath: string = path.join(componentsFile, item); + const json: any = require(fPath); + const stat: any = fs.statSync(fPath); + if (stat.isFile()) { + if (json.name) { + const compName: string = json.name; + delete json.name; + COMPONENT_MAP[compName] = json; + } else { + COMMON_ATTRS = new Set(json.attrs); + } + } + }); +})(); -const COMMON_ATTRS: Set = new Set([ - 'width', 'height', 'size', 'constraintSize', 'layoutPriority', 'layoutWeight', - 'padding', 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', - 'margin', 'marginLeft', 'marginRight', 'marginTop', 'marginBottom', - 'border', 'borderStyle', 'borderWidth', 'borderColor', 'borderRadius', - 'backgroundColor', 'backgroundImage', 'backgroundImageSize', 'backgroundImagePosition', - 'opacity', 'animation', 'transition', - 'navigationTitle', 'navigationSubTitle', 'hideNavigationBar', 'hideNavigationBackButton', - 'toolBar', 'hideToolBar', 'onClick', 'onTouch', 'onKeyEvent', 'onHover', - 'blur', 'backdropBlur', 'windowBlur', 'translate', 'rotate', 'scale', 'transform', - 'onAppear', 'onDisAppear', 'visibility', 'flexBasis', 'flexShrink', 'flexGrow', 'alignSelf', - 'useAlign', 'zIndex', 'sharedTransition', 'direction', 'align', 'position', 'markAnchor', 'offset', - 'enabled', 'aspectRatio', 'displayPriority', - 'onDrag', 'onDragEnter', 'onDragMove', 'onDragLeave', 'onDrop', - 'overlay', 'linearGradient', 'sweepGradient', 'radialGradient', - 'gridOffset', 'gridSpan', 'useSizeType', - 'motionPath', 'clip', 'shadow', 'mask', - 'accessibilityGroup', 'accessibilityText', 'accessibilityDescription', - 'accessibilityImportance', 'onAccessibility', 'grayscale', 'brightness', 'contrast', - 'saturate', 'geometryTransition', - 'bindPopup', 'colorBlend', 'invert', 'sepia', 'hueRotate', 'bindMenu' -]); const TRANSITION_COMMON_ATTRS: Set = new Set([ 'slide', 'translate', 'scale', 'opacity' ]); @@ -397,8 +48,9 @@ export const GESTURE_ATTRS: Set = new Set([ ]); export const forbiddenUseStateType: Set = new Set(['Scroller', 'SwiperScroller', - 'VideoController', 'CustomDialogController', 'SwiperController', 'TabsController', - 'CalendarController', 'AbilityController' + 'VideoController', 'WebController', 'CustomDialogController', 'SwiperController', 'TabsController', + 'CalendarController', 'AbilityController', 'RenderingContext', 'CanvasGradient', 'ImageBitmap', + 'ImageData', 'Path2D', 'RenderingContextSettings', 'OffscreenRenderingContext' ]); export const INNER_COMPONENT_NAMES: Set = new Set(); @@ -411,22 +63,30 @@ export const AUTOMIC_COMPONENT: Set = new Set(); export const SINGLE_CHILD_COMPONENT: Set = new Set(); export const SPECIFIC_CHILD_COMPONENT: Map> = new Map(); export const GESTURE_TYPE_NAMES: Set = new Set([ - 'TapGesture', 'LongPressGesture', 'PanGesture', 'PinchGesture', 'RotationGesture', 'GestureGroup' + 'TapGesture', 'LongPressGesture', 'PanGesture', 'PinchGesture', 'RotationGesture', 'GestureGroup', + 'SwipeGesture' ]); export const CUSTOM_BUILDER_METHOD: Set = new Set(); +export const INNER_STYLE_FUNCTION: Map = new Map(); +export const GLOBAL_STYLE_FUNCTION: Map = new Map(); export interface ExtendParamterInterfance { attribute: string, parameterCount: number } export const EXTEND_ATTRIBUTE: Map> = new Map(); +export const STYLES_ATTRIBUTE: string[] = []; export const JS_BIND_COMPONENTS: Set = new Set([ ...GESTURE_TYPE_NAMES, 'Gesture', 'PanGestureOption', 'CustomDialogController', 'Storage', 'Scroller', 'SwiperController', - 'TabsController', 'CalendarController', 'AbilityController', 'VideoController' + 'TabsController', 'CalendarController', 'AbilityController', 'VideoController', 'WebController', + 'RenderingContext', 'CanvasGradient', 'ImageBitmap', 'ImageData', 'Path2D','RenderingContextSettings', + 'OffscreenRenderingContext' ]); +export const NEEDPOP_COMPONENT: Set = new Set(['Blank', 'Search']); + (function initComponent() { Object.keys(COMPONENT_MAP).forEach((componentName) => { INNER_COMPONENT_NAMES.add(componentName); diff --git a/compiler/src/create.ts b/compiler/src/create.ts index f24f1443e..1cd11150e 100644 --- a/compiler/src/create.ts +++ b/compiler/src/create.ts @@ -54,7 +54,7 @@ function createProject(dist: string) { }`; const manifest:string = `{ - "appID": "com.huawei.` + appID + `", + "appID": "com.example.` + appID + `", "appName": "` + appName + `", "versionName": "1.0.0", "versionCode": 1, diff --git a/compiler/src/pre_define.ts b/compiler/src/pre_define.ts index ce665c478..02acbdd26 100644 --- a/compiler/src/pre_define.ts +++ b/compiler/src/pre_define.ts @@ -13,6 +13,8 @@ * limitations under the License. */ +import path from 'path'; + export const NATIVE_MODULE: Set = new Set( ['system.app', 'ohos.app', 'system.router', 'system.curves', 'ohos.curves', 'system.matrix4', 'ohos.matrix4']); export const SYSTEM_PLUGIN: string = 'system'; @@ -44,6 +46,7 @@ export const INNER_COMPONENT_MEMBER_DECORATORS: Set = new Set([COMPONENT export const COMPONENT_OBSERVED_DECORATOR: string = '@Observed'; export const COMPONENT_BUILDER_DECORATOR: string = '@Builder'; export const COMPONENT_EXTEND_DECORATOR: string = '@Extend'; +export const COMPONENT_STYLES_DECORATOR: string = '@Styles'; export const OBSERVED_PROPERTY_SIMPLE: string = 'ObservedPropertySimple'; export const OBSERVED_PROPERTY_OBJECT: string = 'ObservedPropertyObject'; @@ -86,7 +89,6 @@ export const COMPONENT_BUTTON: string = 'Button'; export const COMPONENT_FOREACH: string = 'ForEach'; export const COMPONENT_LAZYFOREACH: string = 'LazyForEach'; export const IS_RENDERING_IN_PROGRESS: string = 'isRenderingInProgress'; -export const COMPONENT_BLANK: string = 'Blank'; export const FOREACH_OBSERVED_OBJECT: string = 'ObservedObject'; export const FOREACH_GET_RAW_OBJECT: string = 'GetRawObject'; export const COMPONENT_IF: string = 'If'; @@ -95,6 +97,7 @@ export const COMPONENT_IF_UNDEFINED: string = 'undefined'; export const GLOBAL_CONTEXT: string = 'Context'; export const ATTRIBUTE_ANIMATION: string = 'animation'; export const ATTRIBUTE_ANIMATETO: string = 'animateTo'; +export const ATTRIBUTE_STATESTYLES: string = 'stateStyles'; export const COMPONENT_CONSTRUCTOR_ID: string = 'compilerAssignedUniqueChildId'; export const COMPONENT_CONSTRUCTOR_PARENT: string = 'parent'; @@ -170,4 +173,15 @@ export const SET_CONTROLLER_CTR_TYPE: string = 'CustomDialogController'; export const JS_DIALOG: string = 'jsDialog'; export const CUSTOM_DIALOG_CONTROLLER_BUILDER: string = 'builder'; +export const BUILDER_ATTR_NAME: string = 'builder'; +export const BUILDER_ATTR_BIND: string = 'bind'; + export const GEOMETRY_VIEW: string = 'GeometryView'; + +export const MODULE_SHARE_PATH: string = 'src' + path.sep + 'ets' + path.sep + 'share'; +export const BUILD_SHARE_PATH: string = '../share'; + +export const THIS: string = 'this'; +export const STYLES: string = 'Styles'; +export const VISUAL_STATE: string = 'visualState'; +export const VIEW_STACK_PROCESSOR: string = 'ViewStackProcessor'; diff --git a/compiler/src/process_component_build.ts b/compiler/src/process_component_build.ts index f59db6ad9..e17ceb47e 100644 --- a/compiler/src/process_component_build.ts +++ b/compiler/src/process_component_build.ts @@ -21,7 +21,6 @@ import { COMPONENT_CREATE_FUNCTION, COMPONENT_POP_FUNCTION, COMPONENT_BUTTON, - COMPONENT_BLANK, COMPONENT_CREATE_LABEL_FUNCTION, COMPONENT_CREATE_CHILD_FUNCTION, COMPONENT_FOREACH, @@ -44,7 +43,11 @@ import { GESTURE_ENUM_VALUE_LOW, GESTURE_ENUM_VALUE_PARALLEL, COMPONENT_TRANSITION_NAME, - COMPONENT_DEBUGLINE_FUNCTION + COMPONENT_DEBUGLINE_FUNCTION, + ATTRIBUTE_STATESTYLES, + THIS, + VISUAL_STATE, + VIEW_STACK_PROCESSOR } from './pre_define'; import { INNER_COMPONENT_NAMES, @@ -54,7 +57,11 @@ import { GESTURE_ATTRS, GESTURE_TYPE_NAMES, EXTEND_ATTRIBUTE, - NO_DEBUG_LINE_COMPONENT + NO_DEBUG_LINE_COMPONENT, + NEEDPOP_COMPONENT, + INNER_STYLE_FUNCTION, + GLOBAL_STYLE_FUNCTION, + COMMON_ATTRS } from './component_map'; import { componentCollection } from './validate_ui_syntax'; import { processCustomComponent } from './process_custom_component'; @@ -141,7 +148,7 @@ function validateRootNode(node: ts.MethodDeclaration, log: LogInfo[]): boolean { return isValid; } -function processComponentChild(node: ts.Block, newStatements: ts.Statement[], +export function processComponentChild(node: ts.Block | ts.SourceFile, newStatements: ts.Statement[], log: LogInfo[]): void { if (node.statements.length) { node.statements.forEach((item, index) => { @@ -423,7 +430,7 @@ function createComponent(node: ts.ExpressionStatement, type: string): CreateResu ? ts.factory.createIdentifier(COMPONENT_CREATE_CHILD_FUNCTION) : ts.factory.createIdentifier(COMPONENT_CREATE_LABEL_FUNCTION); } - if (temp.getText() === COMPONENT_BLANK) { + if (NEEDPOP_COMPONENT.has(temp.getText())) { res.needPop = true; } if (BUILDIN_CONTAINER_COMPONENT.has(temp.getText())) { @@ -445,19 +452,22 @@ interface AnimationInfo { } export function bindComponentAttr(node: ts.ExpressionStatement, identifierNode: ts.Identifier, - newStatements: ts.Statement[], log: LogInfo[], reverse: boolean = true): void { + newStatements: ts.Statement[], log: LogInfo[], reverse: boolean = true, + isStylesAttr: boolean = false): void { let temp: any = node.expression; const statements: ts.Statement[] = []; const lastStatement: AnimationInfo = { statement: null, kind: false }; while (temp && ts.isCallExpression(temp) && temp.expression) { if (ts.isPropertyAccessExpression(temp.expression) && temp.expression.name && ts.isIdentifier(temp.expression.name)) { - addComponentAttr(temp, temp.expression.name, lastStatement, statements, identifierNode, log); + addComponentAttr(temp, temp.expression.name, lastStatement, statements, identifierNode, log, + isStylesAttr); temp = temp.expression.expression; } else if (ts.isIdentifier(temp.expression)) { if (!INNER_COMPONENT_NAMES.has(temp.expression.getText()) && !GESTURE_TYPE_NAMES.has(temp.expression.getText())) { - addComponentAttr(temp, temp.expression, lastStatement, statements, identifierNode, log); + addComponentAttr(temp, temp.expression, lastStatement, statements, identifierNode, log, + isStylesAttr); } break; } @@ -471,7 +481,8 @@ export function bindComponentAttr(node: ts.ExpressionStatement, identifierNode: } function addComponentAttr(temp: any, node: ts.Identifier, lastStatement: any, - statements: ts.Statement[], identifierNode: ts.Identifier, log: LogInfo[]): void { + statements: ts.Statement[], identifierNode: ts.Identifier, log: LogInfo[], + isStylesAttr): void { const propName: string = node.getText(); if (propName === ATTRIBUTE_ANIMATION) { if (!lastStatement.statement) { @@ -497,13 +508,71 @@ function addComponentAttr(temp: any, node: ts.Identifier, lastStatement: any, ts.factory.createIdentifier(`__${identifierNode.escapedText.toString()}__${propName}`), undefined, temp.arguments))); lastStatement.kind = true; + } else if (propName === ATTRIBUTE_STATESTYLES) { + if (temp.arguments.length === 1 && ts.isObjectLiteralExpression(temp.arguments[0])) { + statements.push(createViewStackProcessor(temp, true)); + traverseStateStylesAttr(temp, statements, identifierNode, log); + lastStatement.kind = true; + } else { + validateStateStyleSyntax(temp, log); + } + } else if (GLOBAL_STYLE_FUNCTION.has(propName) || INNER_STYLE_FUNCTION.has(propName)) { + bindComponentAttr((GLOBAL_STYLE_FUNCTION.get(propName).statements[0] || + INNER_STYLE_FUNCTION.get(propName).statements[0]) as ts.ExpressionStatement, + identifierNode, statements, log, false, true); } else { + if (isStylesAttr && !COMMON_ATTRS.has(propName)) { + validateStateStyleSyntax(temp, log); + } statements.push(ts.factory.createExpressionStatement( createFunction(identifierNode, node, temp.arguments))); lastStatement.kind = true; } } +function createViewStackProcessor(item: any, endViewStack: boolean) { + const argument: ts.StringLiteral[] = [] + if (!endViewStack && item.name) { + argument.push(ts.factory.createStringLiteral(item.name.getText())); + } + return ts.factory.createExpressionStatement(ts.factory.createCallExpression( + ts.factory.createPropertyAccessExpression( + ts.factory.createIdentifier(VIEW_STACK_PROCESSOR), + ts.factory.createIdentifier(VISUAL_STATE) + ), + undefined, + argument + )); +} + +function traverseStateStylesAttr(temp: any, statements: ts.Statement[], + identifierNode: ts.Identifier, log: LogInfo[]) { + temp.arguments[0].properties.reverse().forEach((item: ts.PropertyAssignment) => { + if (ts.isPropertyAccessExpression(item.initializer) && + item.initializer.expression.getText() === THIS && + INNER_STYLE_FUNCTION.get(item.initializer.name.getText())) { + const name: string = item.initializer.name.getText(); + bindComponentAttr(INNER_STYLE_FUNCTION.get(name).statements[0] as ts.ExpressionStatement, + identifierNode, statements, log, false, true); + } else if (ts.isIdentifier(item.initializer) && + GLOBAL_STYLE_FUNCTION.get(item.initializer.getText())) { + const name: string = item.initializer.getText(); + bindComponentAttr(GLOBAL_STYLE_FUNCTION.get(name).statements[0] as ts.ExpressionStatement, + identifierNode, statements, log, false, true); + } else if (ts.isObjectLiteralExpression(item.initializer) && + item.initializer.properties.length === 1 && + ts.isPropertyAssignment(item.initializer.properties[0])) { + bindComponentAttr(ts.factory.createExpressionStatement + (item.initializer.properties[0].initializer), identifierNode, statements, log, false, true); + } else { + validateStateStyleSyntax(temp, log); + } + if (item.name) { + statements.push(createViewStackProcessor(item, false)); + } + }) +} + function isExtendFunctionNode(identifierNode: ts.Identifier, propName: string): boolean { if (identifierNode && EXTEND_ATTRIBUTE.has(identifierNode.escapedText.toString())) { const attributeArray: string[] = @@ -700,3 +769,11 @@ function validateExtendParameterCount(temp: any, identifierNode: ts.Identifier, }); } } + +export function validateStateStyleSyntax(temp: any, log: LogInfo[]) { + log.push({ + type: LogType.ERROR, + message: `.stateStyles doesn't conform standard.`, + pos: temp.getStart() + }); +} diff --git a/compiler/src/process_component_class.ts b/compiler/src/process_component_class.ts index c5429593d..ab5e98fe0 100644 --- a/compiler/src/process_component_class.ts +++ b/compiler/src/process_component_class.ts @@ -32,11 +32,17 @@ import { COMPONENT_BUILDER_DECORATOR, COMPONENT_TRANSITION_FUNCTION, COMPONENT_CREATE_FUNCTION, - GEOMETRY_VIEW + GEOMETRY_VIEW, + BUILDER_ATTR_NAME, + BUILDER_ATTR_BIND, + COMPONENT_STYLES_DECORATOR, + STYLES } from './pre_define'; import { BUILDIN_STYLE_NAMES, - CUSTOM_BUILDER_METHOD + CUSTOM_BUILDER_METHOD, + INNER_STYLE_FUNCTION, + STYLES_ATTRIBUTE } from './component_map'; import { componentCollection, @@ -51,7 +57,8 @@ import { processMemberVariableDecorators, UpdateResult, stateObjectCollection, - curPropMap + curPropMap, + decoratorParamSet } from './process_component_member'; import { processComponentBuild, @@ -149,6 +156,20 @@ function processComponentMethod(node: ts.MethodDeclaration, parentComponentName: updateItem = ts.factory.updateMethodDeclaration(node, undefined, node.modifiers, node.asteriskToken, node.name, node.questionToken, node.typeParameters, node.parameters, node.type, processComponentBlock(node.body, false, log)); + } else if (hasDecorator(node, COMPONENT_STYLES_DECORATOR)) { + if (node.parameters && node.parameters.length === 0) { + INNER_STYLE_FUNCTION.set(name, node.body); + STYLES_ATTRIBUTE.push(name); + BUILDIN_STYLE_NAMES.add(name); + decoratorParamSet.add(STYLES); + } else { + log.push({ + type: LogType.ERROR, + message: `@Styles can't have parameters.`, + pos: node.getStart() + }); + } + return; } } return ts.visitNode(updateItem, visitMethod); @@ -189,10 +210,64 @@ function processBuildMember(node: ts.MethodDeclaration, context: ts.Transformati ts.factory.createIdentifier(FOREACH_OBSERVED_OBJECT), ts.factory.createIdentifier(FOREACH_GET_RAW_OBJECT)), undefined, [node]); } + if ((ts.isIdentifier(node) || ts.isPropertyAccessExpression(node)) && + validateBuilderFunctionNode(node)) { + return getParsedBuilderAttrArgument(node); + } return ts.visitEachChild(node, visitBuild, context); } } +function validateBuilderFunctionNode(node: ts.PropertyAccessExpression | ts.Identifier): boolean { + if (((ts.isPropertyAccessExpression(node) && node.expression && node.name && + node.expression.kind === ts.SyntaxKind.ThisKeyword && ts.isIdentifier(node.name) && + CUSTOM_BUILDER_METHOD.has(node.name.escapedText.toString())) || + ts.isIdentifier(node) && CUSTOM_BUILDER_METHOD.has(node.escapedText.toString())) && + !((ts.isPropertyAccessExpression(node) && validateBuilderParam(node)) || + (ts.isIdentifier(node) && node.parent && ts.isPropertyAccessExpression(node.parent) && + validateBuilderParam(node.parent)))) { + return true; + } else { + return false; + } +} + +function validateBuilderParam(node: ts.PropertyAccessExpression): boolean { + if (node.parent && ts.isCallExpression(node.parent) && node.parent.expression === node) { + return true; + } else { + return false; + } +} + +function getParsedBuilderAttrArgument(node: ts.PropertyAccessExpression | ts.Identifier): + ts.ObjectLiteralExpression { + let newObjectNode: ts.ObjectLiteralExpression = null; + if (ts.isPropertyAccessExpression(node)) { + newObjectNode = ts.factory.createObjectLiteralExpression([ + ts.factory.createPropertyAssignment( + ts.factory.createIdentifier(BUILDER_ATTR_NAME), + ts.factory.createCallExpression( + ts.factory.createPropertyAccessExpression( + node, + ts.factory.createIdentifier(BUILDER_ATTR_BIND) + ), + undefined, + [ts.factory.createThis()] + ) + ) + ]); + } else if (ts.isIdentifier(node)) { + newObjectNode = ts.factory.createObjectLiteralExpression([ + ts.factory.createPropertyAssignment( + ts.factory.createIdentifier(BUILDER_ATTR_NAME), + node + ) + ]) + } + return newObjectNode; +} + function isGeometryView(node: ts.Node): boolean { if (ts.isExpressionStatement(node) && ts.isCallExpression(node.expression)) { const call: ts.CallExpression = node.expression; diff --git a/compiler/src/process_component_member.ts b/compiler/src/process_component_member.ts index b3fffb467..56fa2a2a5 100644 --- a/compiler/src/process_component_member.ts +++ b/compiler/src/process_component_member.ts @@ -836,7 +836,7 @@ function validateHasIllegalQuestionToken(propertyName: ts.Identifier, decorator: log: LogInfo[]): void { log.push({ type: LogType.WARN, - message: `The ${decorator} property '${propertyName.getText()}' cannot have a question token.`, + message: `The ${decorator} property '${propertyName.getText()}' cannot be an optional parameter.`, pos: propertyName.getStart() }); } diff --git a/compiler/src/process_import.ts b/compiler/src/process_import.ts index 1e8e12a43..eb5bb1ceb 100644 --- a/compiler/src/process_import.ts +++ b/compiler/src/process_import.ts @@ -78,7 +78,7 @@ export default function processImport(node: ts.ImportDeclaration | ts.ImportEqua try { let fileResolvePath: string; if (/^(\.|\.\.)\//.test(filePath)) { - fileResolvePath = path.join(pagesDir, filePath); + fileResolvePath = path.resolve(pagesDir, filePath); } else if (/^\//.test(filePath)) { fileResolvePath = filePath; } else { @@ -92,7 +92,7 @@ export default function processImport(node: ts.ImportDeclaration | ts.ImportEqua })), fileResolvePath, log); const sourceFile: ts.SourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS); - visitAllNode(sourceFile, defaultName, asName, pagesDir, log); + visitAllNode(sourceFile, defaultName, asName, path.dirname(fileResolvePath), log); } } catch (e) { // ignore diff --git a/compiler/src/process_ui_syntax.ts b/compiler/src/process_ui_syntax.ts index d2f0d106d..9ab9d87f8 100644 --- a/compiler/src/process_ui_syntax.ts +++ b/compiler/src/process_ui_syntax.ts @@ -26,6 +26,7 @@ import { COMPONENT_BUILD_FUNCTION, COMPONENT_BUILDER_DECORATOR, COMPONENT_EXTEND_DECORATOR, + COMPONENT_STYLES_DECORATOR, RESOURCE, RESOURCE_TYPE, WORKER_OBJECT, @@ -50,9 +51,13 @@ import { } from './process_component_build'; import { BUILDIN_CONTAINER_COMPONENT, + BUILDIN_STYLE_NAMES, CUSTOM_BUILDER_METHOD, EXTEND_ATTRIBUTE, - JS_BIND_COMPONENTS + JS_BIND_COMPONENTS, + INNER_STYLE_FUNCTION, + GLOBAL_STYLE_FUNCTION, + STYLES_ATTRIBUTE } from './component_map'; import { resources } from '../main'; @@ -73,6 +78,11 @@ export function processUISyntax(program: ts.Program, ut = false): Function { validateSourceFileNode(node); node = createEntryNode(node, context); node = ts.visitEachChild(node, processAllNodes, context); + GLOBAL_STYLE_FUNCTION.forEach((block, styleName) => { + BUILDIN_STYLE_NAMES.delete(styleName); + }) + GLOBAL_STYLE_FUNCTION.clear(); + STYLES_ATTRIBUTE.length = 0; return node; } else { return node; @@ -86,6 +96,10 @@ export function processUISyntax(program: ts.Program, ut = false): Function { componentCollection.currentClassName = node.name.getText(); node = processComponentClass(node, context, transformLog.errors, program); componentCollection.currentClassName = null; + INNER_STYLE_FUNCTION.forEach((block, styleName) => { + BUILDIN_STYLE_NAMES.delete(styleName); + }) + INNER_STYLE_FUNCTION.clear(); } else if (ts.isFunctionDeclaration(node)) { if (hasDecorator(node, COMPONENT_EXTEND_DECORATOR)) { node = processExtend(node, transformLog.errors); @@ -95,6 +109,16 @@ export function processUISyntax(program: ts.Program, ut = false): Function { node = ts.factory.updateFunctionDeclaration(node, undefined, node.modifiers, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, processComponentBlock(node.body, false, transformLog.errors)); + } else if (hasDecorator(node, COMPONENT_STYLES_DECORATOR)) { + if (node.parameters.length === 0) { + node = undefined; + } else { + transformLog.errors.push({ + type: LogType.ERROR, + message: `@Styles can't have parameters.`, + pos: node.getStart() + }); + } } } else if (isResource(node)) { node = processResourceData(node as ts.CallExpression); @@ -266,11 +290,11 @@ function isExtendFunction(node: ts.FunctionDeclaration): string { } function createEntryNode(node: ts.SourceFile, context: ts.TransformationContext): ts.SourceFile { - if (componentCollection.entryComponent && !componentCollection.previewComponent) { + if (componentCollection.entryComponent) { const entryNode: ts.ExpressionStatement = createEntryFunction(componentCollection.entryComponent, context); return context.factory.updateSourceFile(node, [...node.statements, entryNode]); - } else if (componentCollection.entryComponent && componentCollection.previewComponent) { + } else if (componentCollection.previewComponent) { const entryNode: ts.ExpressionStatement = createEntryFunction(componentCollection.previewComponent, context); return context.factory.updateSourceFile(node, [...node.statements, entryNode]); diff --git a/compiler/src/utils.ts b/compiler/src/utils.ts index c58d0244e..fdd8cf412 100644 --- a/compiler/src/utils.ts +++ b/compiler/src/utils.ts @@ -126,7 +126,8 @@ export function hasDecorator(node: ts.MethodDeclaration | ts.FunctionDeclaration const STATEMENT_EXPECT: number = 1128; const SEMICOLON_EXPECT: number = 1005; -export const IGNORE_ERROR_CODE: number[] = [STATEMENT_EXPECT, SEMICOLON_EXPECT]; +const STATESTYLES_EXPECT: number = 1003; +export const IGNORE_ERROR_CODE: number[] = [STATEMENT_EXPECT, SEMICOLON_EXPECT, STATESTYLES_EXPECT]; export function readFile(dir: string, utFiles: string[]) { try { @@ -156,3 +157,52 @@ export function createFunction(node: ts.Identifier, attrNode: ts.Identifier, argumentsArr && argumentsArr.length ? argumentsArr : [] ); } + +export function circularFile(inputPath: string, outputPath: string): void { + if ((!inputPath) || (!outputPath)) { + return; + } + fs.readdir(inputPath, function (err, files) { + if (!files) { + return; + } + files.forEach(file => { + const inputFile: string = path.resolve(inputPath, file); + const outputFile: string = path.resolve(outputPath, file); + const fileStat: fs.Stats = fs.statSync(inputFile); + if (fileStat.isFile()) { + copyFile(inputFile, outputFile); + } else { + circularFile(inputFile, outputFile); + } + }); + }); +} + +function copyFile(inputFile: string, outputFile: string): void { + try { + const parent: string = path.join(outputFile, '..'); + if (!(fs.existsSync(parent) && fs.statSync(parent).isDirectory())) { + mkDir(parent); + } + if (fs.existsSync(outputFile)) { + return; + } + const readStream: fs.ReadStream = fs.createReadStream(inputFile); + const writeStream: fs.WriteStream = fs.createWriteStream(outputFile); + readStream.pipe(writeStream); + readStream.on('close', function() { + writeStream.end(); + }); + } catch (err) { + throw err.message; + } +} + +function mkDir(path_: string): void { + const parent: string = path.join(path_, '..'); + if (!(fs.existsSync(parent) && !fs.statSync(parent).isFile())) { + mkDir(parent); + } + fs.mkdirSync(path_); +} \ No newline at end of file diff --git a/compiler/src/validate_ui_syntax.ts b/compiler/src/validate_ui_syntax.ts index e60fcf575..12aa57f8a 100644 --- a/compiler/src/validate_ui_syntax.ts +++ b/compiler/src/validate_ui_syntax.ts @@ -42,7 +42,8 @@ import { COMPONENT_CONSTRUCTOR_PARENT, COMPONENT_CONSTRUCTOR_PARAMS, COMPONENT_EXTEND_DECORATOR, - COMPONENT_OBSERVED_DECORATOR + COMPONENT_OBSERVED_DECORATOR, + STYLES } from './pre_define'; import { INNER_COMPONENT_NAMES, @@ -50,7 +51,9 @@ import { SINGLE_CHILD_COMPONENT, SPECIFIC_CHILD_COMPONENT, BUILDIN_STYLE_NAMES, - EXTEND_ATTRIBUTE + EXTEND_ATTRIBUTE, + GLOBAL_STYLE_FUNCTION, + STYLES_ATTRIBUTE } from './component_map'; import { LogType, @@ -59,6 +62,7 @@ import { addLog, hasDecorator } from './utils'; +import { projectConfig } from '../main'; const parser = require('../syntax_parser/dist/syntax_parser.js'); export interface ComponentCollection { @@ -170,27 +174,55 @@ function checkComponentDecorator(source: string, filePath: string, if (ts.isMissingDeclaration(item)) { const decorators: ts.NodeArray = item.decorators; for (let i = 0; i < decorators.length; i++) { - if (decorators[i] && /struct/.test(item.getText())) { + if (decorators[i] && /struct/.test(decorators[i].getText())) { const message: string = `Please use a valid decorator.`; addLog(LogType.ERROR, message, item.getStart(), log, sourceFile); break; } } } + if (ts.isFunctionDeclaration(item) && item.decorators && item.decorators.length === 1 && + item.decorators[0].expression && item.decorators[0].expression.getText() === STYLES) { + STYLES_ATTRIBUTE.push(item.name.getText()) + GLOBAL_STYLE_FUNCTION.set(item.name.getText(), item.body); + BUILDIN_STYLE_NAMES.add(item.name.getText()); + } }); - validateEntryCount(result, fileQuery, sourceFile.fileName, log); + validateEntryAndPreviewCount(result, fileQuery, sourceFile.fileName, projectConfig.isPreview, log); } return log.length ? log : null; } -function validateEntryCount(result: DecoratorResult, fileQuery: string, - fileName: string, log: LogInfo[]): void { - if (result.entryCount !== 1 && fileQuery === '?entry') { +function validateEntryAndPreviewCount(result: DecoratorResult, fileQuery: string, + fileName: string, isPreview: boolean, log: LogInfo[]): void { + if (result.previewCount > 10 && fileQuery === '?entry') { + log.push({ + type: LogType.ERROR, + message: `A page can contain at most 10 '@Preview' decorators.`, + fileName: fileName + }); + } + if (result.entryCount > 1 && fileQuery === '?entry') { + log.push({ + type: LogType.ERROR, + message: `A page can't contain more than one '@Entry' decorator`, + fileName: fileName + }); + } + if (isPreview && result.previewCount < 1 && result.entryCount !== 1 && + fileQuery === '?entry') { + log.push({ + type: LogType.ERROR, + message: `A page configured in 'config.json' must have one and only one '@Entry' ` + + `decorator, or at least one '@Preview' decorator.`, + fileName: fileName + }); + } else if (!isPreview && result.entryCount !== 1 && fileQuery === '?entry') { log.push({ type: LogType.ERROR, message: `A page configured in 'config.json' must have one and only one '@Entry' ` - + `decorator with a struct.`, + + `decorator.`, fileName: fileName }); } @@ -236,7 +268,7 @@ function checkDecorators(node: ts.MissingDeclaration | ts.ExportAssignment, resu let hasComponentDecorator: boolean = false; const componentName: string = component.getText(); node.decorators.forEach((element) => { - const name: string = element.getText(); + const name: string = element.getText().replace(/\((.|\n)*\)/, '').trim(); if (INNER_COMPONENT_DECORATORS.has(name)) { componentCollection.customComponents.add(componentName); switch (name) { @@ -788,9 +820,10 @@ export function processSystemApi(content: string): string { item = `var ${systemValue} = isSystemplugin('${systemKey}', '${SYSTEM_PLUGIN}') ? ` + `globalThis.systemplugin.${systemKey} : globalThis.requireNapi('${systemKey}')`; } else if (moduleType === OHOS_PLUGIN) { - item = `var ${systemValue} = isSystemplugin('${systemKey}', '${OHOS_PLUGIN}') ? ` + - `globalThis.ohosplugin.${systemKey} : isSystemplugin('${systemKey}', '${SYSTEM_PLUGIN}') ? ` + - `globalThis.systemplugin.${systemKey} : globalThis.requireNapi('${systemKey}')`; + item = `var ${systemValue} = globalThis.requireNapi('${systemKey}') || ` + + `(isSystemplugin('${systemKey}', '${OHOS_PLUGIN}') ? ` + + `globalThis.ohosplugin.${systemKey} : isSystemplugin('${systemKey}', '${SYSTEM_PLUGIN}') ` + + `? globalThis.systemplugin.${systemKey} : undefined)`; } return item; }); diff --git a/compiler/syntax_parser/build_declarations_file.js b/compiler/syntax_parser/build_declarations_file.js new file mode 100644 index 000000000..3b016b636 --- /dev/null +++ b/compiler/syntax_parser/build_declarations_file.js @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +const ts = require('typescript') +const path = require('path') +const fs = require('fs') + +generateTargetFile(process.argv[2], process.argv[3]); +function generateTargetFile(filePath, output) { + const files = []; + const globalTsFile = path.resolve(filePath, '../../global.d.ts'); + if (fs.existsSync(globalTsFile)) { + files.push(globalTsFile); + } + readFile(filePath, files); + if (!fs.existsSync(output)) { + mkDir(output); + } + const license = `/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */`; + files.forEach((item) => { + const content = fs.readFileSync(item, 'utf8'); + const fileName = path.resolve(output, path.basename(item)); + const newContent = license + '\n\n' + processsFile(content, fileName); + fs.writeFile(fileName, newContent, err => { + if (err) { + console.error(err); + return; + } + }); + }); +} + +function readFile(dir, fileDir) { + const files = fs.readdirSync(dir); + files.forEach((element) => { + const filePath = path.join(dir, element); + const status = fs.statSync(filePath); + if (status.isDirectory()) { + readFile(filePath, fileDir); + } else { + fileDir.push(filePath); + } + }); +} + +function mkDir(filePath) { + const parent = path.join(filePath, '..'); + if (!(fs.existsSync(parent) && !fs.statSync(parent).isFile())) { + mkDir(parent); + } + fs.mkdirSync(filePath); +} + +function processsFile(content, fileName) { + let sourceFile = ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS); + const newStatements = []; + if (sourceFile.statements && sourceFile.statements.length) { + sourceFile.statements.forEach((node) => { + if (!ts.isImportDeclaration(node)) { + if (node.modifiers && node.modifiers.length && node.modifiers[0].kind === ts.SyntaxKind.ExportKeyword) { + node.modifiers.splice(0, 1); + } + if (isVariable(node)) { + const name = node.declarationList.declarations[0].name.getText(); + const type = node.declarationList.declarations[0].type.getText(); + if (name.indexOf(type) !== -1) { + const declarationNode = ts.factory.updateVariableDeclaration(node.declarationList.declarations[0], + ts.factory.createIdentifier(type), node.declarationList.declarations[0].exclamationToken, + node.declarationList.declarations[0].type, node.declarationList.declarations[0].initializer); + node.declarationList = ts.factory.updateVariableDeclarationList(node.declarationList, [declarationNode]); + } + } + newStatements.push(node); + } + }); + } + sourceFile = ts.factory.updateSourceFile(sourceFile, newStatements); + const printer = ts.createPrinter({ removeComments: true, newLine: ts.NewLineKind.LineFeed }); + const result = printer.printNode(ts.EmitHint.Unspecified, sourceFile, sourceFile); + return result; +} + +function isVariable(node) { + if (ts.isVariableStatement(node) && node.declarationList && node.declarationList.declarations && + node.declarationList.declarations.length && ts.isVariableDeclaration(node.declarationList.declarations[0]) && + node.declarationList.declarations[0].name && node.declarationList.declarations[0].type) { + return true; + } + return false; +} + +generateComponentConfig(process.argv[4]); +function generateComponentConfig(dir) { + const configFile = path.resolve(dir, 'component_map.js'); + if (fs.existsSync(configFile)) { + const { COMPONENT_MAP } = require(configFile); + try { + fs.writeFileSync(path.resolve(dir, '../component_config.json'), JSON.stringify(COMPONENT_MAP)); + } catch (error) { + console.error(error); + } + } +} diff --git a/compiler/syntax_parser/src/syntax_parser.peg b/compiler/syntax_parser/src/syntax_parser.peg index c77c99afc..309860e41 100644 --- a/compiler/syntax_parser/src/syntax_parser.peg +++ b/compiler/syntax_parser/src/syntax_parser.peg @@ -31,10 +31,18 @@ }; } -start = blocks: block+ +start = blocks: block+ { + let newContent = ""; + for (let item in blocks) { + if (Array.isArray(blocks[item])) { + newContent += blocks[item].join(''); + } else { + newContent += blocks[item]; + } + } return { - content: blocks.join(''), + content: newContent, location: location(), collect_extend: collect_extend, error_otherParsers: error_otherParsers @@ -84,12 +92,11 @@ function_name_tail = $ [a-zA-Z0-9_$]* parameters = $ ([^()]* item* [^()]*) //extract Extend internal attribute SyntaxError -funcBody_extend = body:($[^{}]* item* [^{}]*) +funcBody_extend = body:$([^{}]* item* [^{}]*) { try { - let functionBody = body.join(''); - parse_extend.parse(functionBody); - return functionBody; + parse_extend.parse(body); + return body; } catch (err) { let countLines = location().end.line - location().start.line; if (err.location.start.line === 1) { diff --git a/compiler/test/test.js b/compiler/test/test.js new file mode 100644 index 000000000..0a6506aa0 --- /dev/null +++ b/compiler/test/test.js @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +const ts = require('typescript'); +const path = require('path'); +const chai = require('chai'); +const mocha = require('mocha'); +const expect = chai.expect; + +const { + validateUISyntax, + resetComponentCollection, + sourceReplace, + componentCollection +} = require('../lib/validate_ui_syntax'); +const { processUISyntax } = require('../lib/process_ui_syntax'); +const { + componentInfo, + readFile +} = require('../lib/utils'); +const { BUILD_ON } = require('../lib/pre_define'); + +function expectActual(name, filePath) { + const content = require(filePath); + const source = content.source; + process.env.compiler = BUILD_ON; + const afterProcess = sourceReplace(source); + validateUISyntax(source, afterProcess.content, `${name}.ts`); + const result = ts.transpileModule(afterProcess.content, { + compilerOptions: { + "target": ts.ScriptTarget.ES2017 + }, + fileName: `${name}.ts`, + transformers: { before: [processUISyntax(null, true)] } + }); + componentInfo.id = 0; + componentCollection.customComponents.clear(); + resetComponentCollection(); + expect(result.outputText).eql(content.expectResult); +} + +mocha.describe('compiler', () => { + const utPath = path.resolve(__dirname, './ut'); + const utFiles = []; + readFile(utPath, utFiles); + utFiles.forEach((item) => { + const fileName = path.basename(item, '.ts'); + mocha.it(fileName, () => { + expectActual(fileName, item); + }) + }) +}) diff --git a/compiler/test/ut/animation/animation.ts b/compiler/test/ut/animation/animation.ts index a2cad53be..487a7fee5 100644 --- a/compiler/test/ut/animation/animation.ts +++ b/compiler/test/ut/animation/animation.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct Animation { @@ -58,7 +58,7 @@ struct Animation { } }` -export const expectResult: string = +exports.expectResult = `class Animation extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/build/build.ts b/compiler/test/ut/build/build.ts index 65bb964d4..cd9def872 100644 --- a/compiler/test/ut/build/build.ts +++ b/compiler/test/ut/build/build.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -28,7 +28,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/component/component.ts b/compiler/test/ut/component/component.ts index 9b46eb749..dfbed5caa 100644 --- a/compiler/test/ut/component/component.ts +++ b/compiler/test/ut/component/component.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Component @Entry struct MyComponent { @@ -30,7 +30,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/component/customComponent.ts b/compiler/test/ut/component/customComponent.ts index 6907d09b7..bdf19913b 100644 --- a/compiler/test/ut/component/customComponent.ts +++ b/compiler/test/ut/component/customComponent.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct Parent { @@ -44,7 +44,7 @@ struct Child { } ` -export const expectResult: string = +exports.expectResult = `class Parent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/constructor/id.ts b/compiler/test/ut/constructor/id.ts index 3a7920333..54f547f51 100644 --- a/compiler/test/ut/constructor/id.ts +++ b/compiler/test/ut/constructor/id.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct HomeComponent { @@ -67,7 +67,7 @@ struct Banner { } }` -export const expectResult: string = +exports.expectResult = `class HomeComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/constructor/link.ts b/compiler/test/ut/constructor/link.ts index 117c65802..d2345c6c5 100644 --- a/compiler/test/ut/constructor/link.ts +++ b/compiler/test/ut/constructor/link.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyLinkComponent { @@ -30,7 +30,7 @@ struct MyLinkComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyLinkComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/constructor/observedObjectLink.ts b/compiler/test/ut/constructor/observedObjectLink.ts index 1614e1512..80d965e40 100644 --- a/compiler/test/ut/constructor/observedObjectLink.ts +++ b/compiler/test/ut/constructor/observedObjectLink.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` let NextID : number = 0; @Observed class ClassA { @@ -54,7 +54,7 @@ struct ViewB { } ` -export const expectResult: string = +exports.expectResult = `var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); diff --git a/compiler/test/ut/constructor/prop.ts b/compiler/test/ut/constructor/prop.ts index 8765e74e5..7c3331c6d 100644 --- a/compiler/test/ut/constructor/prop.ts +++ b/compiler/test/ut/constructor/prop.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyPropComponent { @@ -30,7 +30,7 @@ struct MyPropComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyPropComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/constructor/provideConsume.ts b/compiler/test/ut/constructor/provideConsume.ts index a8f884a1e..eada92300 100644 --- a/compiler/test/ut/constructor/provideConsume.ts +++ b/compiler/test/ut/constructor/provideConsume.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Component struct GrandChild { @Consume arr: number[]; @@ -42,7 +42,7 @@ struct Parent { } ` -export const expectResult: string = +exports.expectResult = `class GrandChild extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/constructor/state.ts b/compiler/test/ut/constructor/state.ts index 9f67c7c04..a78778cd8 100644 --- a/compiler/test/ut/constructor/state.ts +++ b/compiler/test/ut/constructor/state.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` class DataModel{ private myData1: number = 0 } @@ -35,7 +35,7 @@ struct MyStateComponent { } }` -export const expectResult: string = +exports.expectResult = `class DataModel { constructor() { this.myData1 = 0; diff --git a/compiler/test/ut/customDialog/customDialog.ts b/compiler/test/ut/customDialog/customDialog.ts index b57f51314..2a0444f2c 100644 --- a/compiler/test/ut/customDialog/customDialog.ts +++ b/compiler/test/ut/customDialog/customDialog.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @CustomDialog struct DialogExample { controller: CustomDialogController; @@ -68,7 +68,7 @@ struct CustomDialogUser { } ` -export const expectResult: string = +exports.expectResult = `class DialogExample extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/decorator/builder.ts b/compiler/test/ut/decorator/builder.ts index 0bf64721d..9b8c506fb 100644 --- a/compiler/test/ut/decorator/builder.ts +++ b/compiler/test/ut/decorator/builder.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Builder function SquareText(label: string, size: number) { Text(label) @@ -44,7 +44,7 @@ struct HomeComponent { } }` -export const expectResult: string = +exports.expectResult = `function SquareText(label, size) { Text.create(label); Text.width(1 * size); diff --git a/compiler/test/ut/decorator/extend.ts b/compiler/test/ut/decorator/extend.ts index a8494672c..3463b321f 100644 --- a/compiler/test/ut/decorator/extend.ts +++ b/compiler/test/ut/decorator/extend.ts @@ -13,10 +13,10 @@ * limitations under the License. */ -export const source: string = ` - @Extend Text.fancy(color:string){ - .backgroundColor(color) - } +exports.source = ` +@Extend Text.fancy(color:string){ + .backgroundColor(color) +} @Extend Text.superFancy(size:number){ @@ -43,7 +43,7 @@ struct FancyText { } }` -export const expectResult: string = +exports.expectResult = `function __Text__fancy(color) { Text.backgroundColor(color); } diff --git a/compiler/test/ut/decorator/watch.ts b/compiler/test/ut/decorator/watch.ts index 90c246194..afafc0a43 100644 --- a/compiler/test/ut/decorator/watch.ts +++ b/compiler/test/ut/decorator/watch.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` class PurchaseItem { static NextId : number = 0; @@ -66,7 +66,7 @@ struct BasketModifier { } }` -export const expectResult: string = +exports.expectResult = `class PurchaseItem { constructor(price) { this.id = PurchaseItem.NextId++; diff --git a/compiler/test/ut/decorator/watchWithAnimateTo.ts b/compiler/test/ut/decorator/watchWithAnimateTo.ts index dc728962d..7744147ba 100644 --- a/compiler/test/ut/decorator/watchWithAnimateTo.ts +++ b/compiler/test/ut/decorator/watchWithAnimateTo.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct ListComponent { @@ -49,7 +49,7 @@ struct DialogView { } ` -export const expectResult: string = +exports.expectResult = `class ListComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/geometryReader/geometryReader.ts b/compiler/test/ut/geometryReader/geometryReader.ts index e8b5b6c4f..bc072834f 100644 --- a/compiler/test/ut/geometryReader/geometryReader.ts +++ b/compiler/test/ut/geometryReader/geometryReader.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct GeometryReaderTest { @@ -30,7 +30,7 @@ struct GeometryReaderTest { } ` -export const expectResult: string = +exports.expectResult = `class GeometryReaderTest extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/gesture/panGestrue.ts b/compiler/test/ut/gesture/panGestrue.ts index f558964a4..36fad83a8 100644 --- a/compiler/test/ut/gesture/panGestrue.ts +++ b/compiler/test/ut/gesture/panGestrue.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` import router from '@system.router' import app from '@system.app' @@ -110,7 +110,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `var router = globalThis.requireNativeModule('system.router'); var app = globalThis.requireNativeModule('system.app'); class MyComponent extends View { diff --git a/compiler/test/ut/gesture/pinchGesture.ts b/compiler/test/ut/gesture/pinchGesture.ts index c85947f2b..751f3d0cf 100644 --- a/compiler/test/ut/gesture/pinchGesture.ts +++ b/compiler/test/ut/gesture/pinchGesture.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` import router from '@system.router' import app from '@system.app' @@ -50,7 +50,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `var router = globalThis.requireNativeModule('system.router'); var app = globalThis.requireNativeModule('system.app'); class MyComponent extends View { diff --git a/compiler/test/ut/gesture/rotationGesture.ts b/compiler/test/ut/gesture/rotationGesture.ts index 87c0b76e9..60cd852e8 100644 --- a/compiler/test/ut/gesture/rotationGesture.ts +++ b/compiler/test/ut/gesture/rotationGesture.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` import router from '@system.router' import app from '@system.app' @@ -51,7 +51,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `var router = globalThis.requireNativeModule('system.router'); var app = globalThis.requireNativeModule('system.app'); class MyComponent extends View { diff --git a/compiler/test/ut/gesture/tapGesture.ts b/compiler/test/ut/gesture/tapGesture.ts index 436553286..556acaee1 100644 --- a/compiler/test/ut/gesture/tapGesture.ts +++ b/compiler/test/ut/gesture/tapGesture.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -86,7 +86,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/import/importEts.ts b/compiler/test/ut/import/importEts.ts index 783eb14a0..031371839 100644 --- a/compiler/test/ut/import/importEts.ts +++ b/compiler/test/ut/import/importEts.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` import LinkComponentDefault, { LinkComponent as LinkComponent1Ref, @@ -134,7 +134,7 @@ struct ImportTest { } ` -export const expectResult: string = +exports.expectResult = `import LinkComponentDefault, { LinkComponent as LinkComponent1Ref, LinkComponent2 as LinkComponent2Ref, LinkComponent3 } from './test/pages/LinkComponent.ets'; import DefaultComponent from "./test/pages/DefaultComponent.ets"; import * as AllComponent from './test/pages/NamespaceComponent'; diff --git a/compiler/test/ut/import/importSystemApi.ts b/compiler/test/ut/import/importSystemApi.ts index 33f1646b1..df5b4058e 100644 --- a/compiler/test/ut/import/importSystemApi.ts +++ b/compiler/test/ut/import/importSystemApi.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` import { router1, router2 } from "@system.router"; import { app } from "@system.router"; import { fetch } from "@system.fetch"; @@ -36,7 +36,7 @@ import hello from 'libhello.so' import world = require('libworld.so') ` -export const expectResult: string = +exports.expectResult = `var { router1, router2 } = globalThis.requireNativeModule('system.router'); var { app } = globalThis.requireNativeModule('system.router'); var { fetch } = isSystemplugin('fetch', 'system') ? globalThis.systemplugin.fetch : globalThis.requireNapi('fetch'); @@ -49,7 +49,7 @@ var fetch = isSystemplugin('fetch', 'system') ? globalThis.systemplugin.fetch : var router = globalThis.requireNativeModule('system.router'); var app = globalThis.requireNativeModule('system.app'); var fetch = isSystemplugin('fetch', 'system') ? globalThis.systemplugin.fetch : globalThis.requireNapi('fetch'); -var fetch = isSystemplugin('net.http', 'ohos') ? globalThis.ohosplugin.net.http : isSystemplugin('net.http', 'system') ? globalThis.systemplugin.net.http : globalThis.requireNapi('net.http'); +var fetch = globalThis.requireNapi('net.http') || (isSystemplugin('net.http', 'ohos') ? globalThis.ohosplugin.net.http : isSystemplugin('net.http', 'system') ? globalThis.systemplugin.net.http : undefined); var hello = globalThis.requireNapi("hello", true); var world = globalThis.requireNapi("world", true); ` diff --git a/compiler/test/ut/import/importTs.ts b/compiler/test/ut/import/importTs.ts index 357302aec..e223e550c 100644 --- a/compiler/test/ut/import/importTs.ts +++ b/compiler/test/ut/import/importTs.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` import { AllStarComponent } from './test/pages/ExportStarComponent' import TsModule from './test/pages/TsModule' @@ -52,7 +52,7 @@ struct ImportTest { } ` -export const expectResult: string = +exports.expectResult = `import { AllStarComponent } from './test/pages/ExportStarComponent'; import TsModule from './test/pages/TsModule'; class ImportTest extends View { diff --git a/compiler/test/ut/link/createLinkReference.ts b/compiler/test/ut/link/createLinkReference.ts index e9562301c..f0924a05e 100644 --- a/compiler/test/ut/link/createLinkReference.ts +++ b/compiler/test/ut/link/createLinkReference.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Component struct MyLinkTestComponent { @Link myLink1?: any @@ -51,7 +51,7 @@ struct LinkTest { } }` -export const expectResult: string = +exports.expectResult = `class MyLinkTestComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/preview/previewDecorator.ts b/compiler/test/ut/preview/previewDecorator.ts index b1adbbbd4..c959b9207 100644 --- a/compiler/test/ut/preview/previewDecorator.ts +++ b/compiler/test/ut/preview/previewDecorator.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct HomePreviewComponent { @@ -56,7 +56,7 @@ struct HomePreviewComponent_Preview { } ` -export const expectResult: string = +exports.expectResult = `class HomePreviewComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); @@ -134,5 +134,5 @@ class HomePreviewComponent_Preview extends View { Column.pop(); } } -loadDocument(new HomePreviewComponent_Preview("1", undefined, {})); +loadDocument(new HomePreviewComponent("1", undefined, {})); ` diff --git a/compiler/test/ut/render/forEach/forEach01.ts b/compiler/test/ut/render/forEach/forEach01.ts index 1f87b8904..0dc49f73f 100644 --- a/compiler/test/ut/render/forEach/forEach01.ts +++ b/compiler/test/ut/render/forEach/forEach01.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -34,7 +34,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/render/forEach/forEach02.ts b/compiler/test/ut/render/forEach/forEach02.ts index 4007051c1..a8e85db6e 100644 --- a/compiler/test/ut/render/forEach/forEach02.ts +++ b/compiler/test/ut/render/forEach/forEach02.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -31,7 +31,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/render/forEach/forEach03.ts b/compiler/test/ut/render/forEach/forEach03.ts index f3122986a..49673c81d 100644 --- a/compiler/test/ut/render/forEach/forEach03.ts +++ b/compiler/test/ut/render/forEach/forEach03.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -40,7 +40,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/render/forEach/forEach04.ts b/compiler/test/ut/render/forEach/forEach04.ts index 586bd7204..f122d727b 100644 --- a/compiler/test/ut/render/forEach/forEach04.ts +++ b/compiler/test/ut/render/forEach/forEach04.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -32,7 +32,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/render/forEach/forEachComplexModel.ts b/compiler/test/ut/render/forEach/forEachComplexModel.ts index 5f5eb56d8..cabea5473 100644 --- a/compiler/test/ut/render/forEach/forEachComplexModel.ts +++ b/compiler/test/ut/render/forEach/forEachComplexModel.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` // class without @Component convert tool will not process. class Month { year: number = 2010; // why add assignment here, TS grammar required, if not it will omit by TSC. @@ -65,7 +65,7 @@ struct Calendar { } }` -export const expectResult: string = +exports.expectResult = `// class without @Component convert tool will not process. class Month { constructor(year, month, days) { diff --git a/compiler/test/ut/render/forEach/forEachSimpleModel.ts b/compiler/test/ut/render/forEach/forEachSimpleModel.ts index 92e66c9c1..5c018d913 100644 --- a/compiler/test/ut/render/forEach/forEachSimpleModel.ts +++ b/compiler/test/ut/render/forEach/forEachSimpleModel.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent2 { @@ -39,7 +39,7 @@ struct MyComponent2 { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent2 extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/render/if/if.ts b/compiler/test/ut/render/if/if.ts index 38e086356..5ca49ed5e 100644 --- a/compiler/test/ut/render/if/if.ts +++ b/compiler/test/ut/render/if/if.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -76,7 +76,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/render/if/ifIncludeForEach.ts b/compiler/test/ut/render/if/ifIncludeForEach.ts index becd794ee..1da65db28 100644 --- a/compiler/test/ut/render/if/ifIncludeForEach.ts +++ b/compiler/test/ut/render/if/ifIncludeForEach.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct HomeComponent { @@ -49,7 +49,7 @@ struct HomeComponent { } }` -export const expectResult: string = +exports.expectResult = `class HomeComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/struct/struct_01.ts b/compiler/test/ut/struct/struct_01.ts index 04d53f94b..658ddff72 100644 --- a/compiler/test/ut/struct/struct_01.ts +++ b/compiler/test/ut/struct/struct_01.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Component @Entry struct MyComponent { @@ -21,7 +21,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/struct/struct_02.ts b/compiler/test/ut/struct/struct_02.ts index 644ce3bb3..175a1085d 100644 --- a/compiler/test/ut/struct/struct_02.ts +++ b/compiler/test/ut/struct/struct_02.ts @@ -13,13 +13,13 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` struct MyComponent { build() { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent { constructor(compilerAssignedUniqueChildId, parent, params) { } build() { diff --git a/compiler/test/ut/transition/transition.ts b/compiler/test/ut/transition/transition.ts index bae55792b..22b7a279f 100644 --- a/compiler/test/ut/transition/transition.ts +++ b/compiler/test/ut/transition/transition.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct HomeComponent { @@ -45,7 +45,7 @@ struct HomeComponent { } }` -export const expectResult: string = +exports.expectResult = `class HomeComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/webpack.config.js b/compiler/webpack.config.js index 8e0ab7b80..ad57f512d 100644 --- a/compiler/webpack.config.js +++ b/compiler/webpack.config.js @@ -14,10 +14,12 @@ */ const path = require('path'); +const fs = require('fs'); const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const CopyPlugin = require('copy-webpack-plugin'); const Webpack = require('webpack'); const { GenAbcPlugin } = require('./lib/gen_abc_plugin'); +const buildPipeServer = require('./server/build_pipe_server'); const { projectConfig, @@ -30,6 +32,7 @@ const { const { ResultStates } = require('./lib/compile_info'); const { processUISyntax } = require('./lib/process_ui_syntax'); const { IGNORE_ERROR_CODE } = require('./lib/utils'); +const { BUILD_SHARE_PATH } = require('./lib/pre_define'); const watchMode = (process.env.watchMode && process.env.watchMode === 'true') || false; @@ -43,10 +46,32 @@ function initConfig(config) { poll: false, ignored: /node_modules/ }, + optimization: { + splitChunks: { + chunks: "all", + minSize: 0, + cacheGroups: { + vendors: { + test: /[\\/]node_modules[\\/]/, + priority: -10, + name: "vendors", + chunks: 'initial' + }, + commons: { + name: 'commons', + priority: -20, + minChunks: 2, + chunks: 'initial', + reuseExistingChunk: true + } + } + }, + }, output: { path: path.resolve(__dirname, projectConfig.buildPath), filename: '[name].js', - devtoolModuleFilenameTemplate: 'webpack:///[absolute-resource-path]' + devtoolModuleFilenameTemplate: 'webpack:///[absolute-resource-path]', + globalObject: 'globalThis' }, devtool: 'nosources-source-map', mode: 'development', @@ -150,8 +175,28 @@ function setCopyPluginConfig(config) { }, noErrorOnMissing: true }); + const sharePath = path.resolve(__dirname, projectConfig.projectPath, BUILD_SHARE_PATH); + if (fs.existsSync(sharePath)) { + copyPluginPattrens.push({ + from: '**/*', + context: path.resolve(__dirname, projectConfig.projectPath, BUILD_SHARE_PATH), + to: path.resolve(__dirname, projectConfig.buildPath, BUILD_SHARE_PATH), + globOptions: { + ignore: [ + '**/*.ets', + '**/*.ts', + '**/*.js', + ] + }, + noErrorOnMissing: true + }); + } if (abilityConfig.abilityType === 'page') { - copyPluginPattrens.push({ from: projectConfig.manifestFilePath }); + if (fs.existsSync(projectConfig.manifestFilePath)) { + copyPluginPattrens.push({ from: projectConfig.manifestFilePath }); + } else if (fs.existsSync(projectConfig.aceConfigPath)) { + copyPluginPattrens.push({ from: projectConfig.aceConfigPath }); + } } config.plugins.push(new CopyPlugin({ patterns: copyPluginPattrens })); } @@ -170,6 +215,15 @@ module.exports = (env, argv) => { } } else { projectConfig.isPreview = true; + let port; + process.argv.forEach((val, index) => { + if(val.startsWith('port=')){ + port = val.split('=')[1]; + } + }); + if (port) { + buildPipeServer.init(port); + } } if (env.sourceMap === 'none') { diff --git "a/compiler/\345\246\202\344\275\225\346\226\260\345\242\236\346\210\226\344\277\256\346\224\271\347\273\204\344\273\266\346\214\207\345\257\274\350\247\204\350\214\203.md" "b/compiler/\345\246\202\344\275\225\346\226\260\345\242\236\346\210\226\344\277\256\346\224\271\347\273\204\344\273\266\346\214\207\345\257\274\350\247\204\350\214\203.md" new file mode 100644 index 000000000..5024b4dc3 --- /dev/null +++ "b/compiler/\345\246\202\344\275\225\346\226\260\345\242\236\346\210\226\344\277\256\346\224\271\347\273\204\344\273\266\346\214\207\345\257\274\350\247\204\350\214\203.md" @@ -0,0 +1,82 @@ +## 新增或修改组件规则 + +#### 概述: + +当新增或更新组件和属性时,需要在compiler/src/components目录下新增或修改对应的json文件。 + +同时我们将公共属性放入compiler/components/common_attrs.json文件中,若要更新公共属性在该文件下修改即可。 + +组件形式如下: + +```gn +{ + "name": string, + "attrs": [], + "atomic": boolean, + "parents": [], + "children": [], + "single": boolean, + "noDebugLine": boolean +} +``` + +| 参数 | 参数描述 | +| ------------------------------------------------ | ----------------------------------- | +| name(必须) | 组件名称 | +| attrs(组件必须, 若没有私有属性对应value写空数组) | 组件属性 | +| atomic(可选,默认false) | 是否不能有子组件 | +| parents(可选,默认所有组件可用) | 父组件只能是哪些组件 | +| children(可选,默认所有组件可用) | 子组件只能是哪些组件 | +| single(可选,默认false) | 是否只能包含一个子组件 | +| noDebugLine(可选,默认false) | 预览模式下对应组件是否生成debugline | + +#### 模块结构: + +```mermaid +classDiagram + Component_Map <|-- List + Component_Map <|-- TextArea + Component_Map <|-- AlphabetIndexer + Component_Map <|-- Others + class List{ + name, + attrs, + atomic?, + children?, + parents?, + single?, + noDebugLine? + } + class TextArea{ + name, + attrs, + atomic?, + children?, + parents, + single?, + noDebugLine? + } + class AlphabetIndexer{ + name, + attrs, + atomic?, + children?, + parents, + single?, + noDebugLine? + } + +``` + +#### 文件结构: + +```bash +ace_ets2bundle/compiler + ├── src + ├── component_map + ├── components + ├── Option + ├── Line + ├── Gauge + .... +``` diff --git a/generateSysResource.py b/generateSysResource.py index 2a80ebe7b..d678a2a83 100644 --- a/generateSysResource.py +++ b/generateSysResource.py @@ -1,20 +1,18 @@ -# /* -# Copyright (c) 2021 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (c) 2021 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -#!/usr/bin/env python -# -*- coding: utf-8 -*- - import json import os import argparse @@ -49,19 +47,25 @@ class SysResource: self.records[item_type][item_name] = item_id def write_to_file(self, js_file): - context = "module.exports.sys = {\n" + output = open(js_file, 'w+') + output.write("module.exports.sys = {\n") + first_item = True for (item_type, dataset) in self.records.items(): - context += " " + item_type + ": {\n" + if first_item: + first_item = False + output.write(" %s: {\n" % (item_type)) + else: + output.write(",\n %s: {\n" % (item_type)) + first_line = True for (res_name, res_id) in dataset.items(): - context += " " + res_name + ": " + str(res_id) + ",\n" - # 移除最后一个多余的"," - context = context[:-2] + "\n" - context += " },\n" - # 移除最后一个多余的"," - context = context[:-2] + "\n" - context += "}\n" - with open(js_file, 'w+') as fp: - fp.write(context) + if first_line: + first_line = False + output.write(" %s: %d" % (res_name, res_id)) + else: + output.write(",\n %s: %d" % (res_name, res_id)) + output.write("\n }") + output.write("\n}\n") + output.close() if __name__ == "__main__": parser = argparse.ArgumentParser() -- Gitee From 5c91acc6b57964f1ea9f39f24255d3585d6d3729 Mon Sep 17 00:00:00 2001 From: houhaoyu Date: Tue, 21 Dec 2021 17:02:38 +0800 Subject: [PATCH 2/4] houhaoyu update code from wagner Signed-off-by: houhaoyu Change-Id: Id554e2c583d073eaae76b1201e9422fed135c7ae --- .gitignore | 4 +- BUILD.gn | 28 +- LICENSE | 2 +- OAT.xml | 31 + build_ets_loader_library.py | 2 +- compiler/README.md | 2 +- compiler/build_parser.js | 2 +- compiler/components/ability_component.json | 4 + compiler/components/action_sheet.json | 4 + compiler/components/alphabet_indexer.json | 7 + compiler/components/animator.json | 9 + compiler/components/badge.json | 5 + compiler/components/blank.json | 6 + compiler/components/button.json | 4 + compiler/components/calendar.json | 8 + compiler/components/camera.json | 5 + compiler/components/canvas.json | 6 + compiler/components/circle.json | 4 + compiler/components/colorPicker.json | 4 + compiler/components/colorPickerDialog.json | 4 + compiler/components/column.json | 4 + compiler/components/column_split.json | 4 + compiler/components/common_attrs.json | 24 + compiler/components/counter.json | 7 + compiler/components/datapanel.json | 5 + compiler/components/datePicker.json | 4 + compiler/components/divider.json | 5 + compiler/components/ellipse.json | 4 + compiler/components/flex.json | 4 + compiler/components/form_component.json | 8 + compiler/components/friction_motion.json | 4 + compiler/components/gauge.json | 7 + compiler/components/geometryView.json | 4 + compiler/components/grid.json | 8 + compiler/components/gridItem.json | 6 + compiler/components/grid_container.json | 4 + compiler/components/hyperlink.json | 4 + compiler/components/image.json | 9 + compiler/components/image_animator.json | 8 + compiler/components/line.json | 7 + compiler/components/list.json | 9 + compiler/components/listItem.json | 6 + compiler/components/loadingProgress.json | 5 + compiler/components/marquee.json | 7 + compiler/components/menu.json | 5 + compiler/components/navigation.json | 5 + compiler/components/navigator.json | 5 + compiler/components/option.json | 5 + compiler/components/pageTransition_enter.json | 6 + compiler/components/pageTransition_exit.json | 6 + compiler/components/panel.json | 7 + compiler/components/path.json | 7 + compiler/components/piece.json | 5 + compiler/components/polygon.json | 5 + compiler/components/polyline.json | 5 + compiler/components/progress.json | 7 + compiler/components/qrcode.json | 4 + compiler/components/radio.json | 5 + compiler/components/rating.json | 4 + compiler/components/rect.json | 7 + compiler/components/refresh.json | 7 + compiler/components/row.json | 4 + compiler/components/row_split.json | 4 + compiler/components/scroll.json | 7 + compiler/components/scroll_bar.json | 6 + compiler/components/scroll_motion.json | 4 + compiler/components/search.json | 8 + compiler/components/section.json | 4 + compiler/components/shape.json | 13 + compiler/components/sheet.json | 5 + compiler/components/sideBar_container.json | 6 + compiler/components/slider.json | 8 + compiler/components/span.json | 8 + compiler/components/spring_motion.json | 4 + compiler/components/spring_prop.json | 4 + compiler/components/stack.json | 4 + compiler/components/stepper.json | 7 + compiler/components/stepperItem.json | 6 + compiler/components/swiper.json | 7 + compiler/components/tab_content.json | 5 + compiler/components/tabs.json | 8 + compiler/components/text.json | 9 + compiler/components/textPicker.json | 4 + compiler/components/textarea.json | 8 + compiler/components/textinput.json | 9 + compiler/components/toggle.json | 4 + compiler/components/video.json | 8 + compiler/components/web.json | 5 + compiler/components/xcomponent.json | 7 + compiler/main.js | 54 +- compiler/package-lock.json | 3334 ++++++++++++----- compiler/package.json | 12 +- compiler/sample/manifest.json | 2 +- compiler/sample/pages/home_preview.ets | 2 +- .../expected/component-01-expected.js | 2 +- .../pages/testcases/showcaseCovid19.ets | 1 - compiler/sample/pages/todo.ets | 2 +- compiler/server/build_pipe_server.js | 78 + compiler/src/compile_info.ts | 71 +- compiler/src/component_map.ts | 418 +-- compiler/src/create.ts | 2 +- compiler/src/pre_define.ts | 16 +- compiler/src/process_component_build.ts | 95 +- compiler/src/process_component_class.ts | 81 +- compiler/src/process_component_member.ts | 2 +- compiler/src/process_import.ts | 4 +- compiler/src/process_ui_syntax.ts | 30 +- compiler/src/utils.ts | 52 +- compiler/src/validate_ui_syntax.ts | 57 +- .../syntax_parser/build_declarations_file.js | 128 + compiler/syntax_parser/src/syntax_parser.peg | 19 +- compiler/test/test.js | 64 + compiler/test/ut/animation/animation.ts | 4 +- compiler/test/ut/build/build.ts | 4 +- compiler/test/ut/component/component.ts | 4 +- compiler/test/ut/component/customComponent.ts | 4 +- compiler/test/ut/constructor/id.ts | 4 +- compiler/test/ut/constructor/link.ts | 4 +- .../test/ut/constructor/observedObjectLink.ts | 4 +- compiler/test/ut/constructor/prop.ts | 4 +- .../test/ut/constructor/provideConsume.ts | 4 +- compiler/test/ut/constructor/state.ts | 4 +- compiler/test/ut/customDialog/customDialog.ts | 4 +- compiler/test/ut/decorator/builder.ts | 4 +- compiler/test/ut/decorator/extend.ts | 10 +- compiler/test/ut/decorator/watch.ts | 4 +- .../test/ut/decorator/watchWithAnimateTo.ts | 4 +- .../test/ut/geometryReader/geometryReader.ts | 4 +- compiler/test/ut/gesture/panGestrue.ts | 4 +- compiler/test/ut/gesture/pinchGesture.ts | 4 +- compiler/test/ut/gesture/rotationGesture.ts | 4 +- compiler/test/ut/gesture/tapGesture.ts | 4 +- compiler/test/ut/import/importEts.ts | 4 +- compiler/test/ut/import/importSystemApi.ts | 6 +- compiler/test/ut/import/importTs.ts | 4 +- compiler/test/ut/link/createLinkReference.ts | 4 +- compiler/test/ut/preview/previewDecorator.ts | 6 +- compiler/test/ut/render/forEach/forEach01.ts | 4 +- compiler/test/ut/render/forEach/forEach02.ts | 4 +- compiler/test/ut/render/forEach/forEach03.ts | 4 +- compiler/test/ut/render/forEach/forEach04.ts | 4 +- .../ut/render/forEach/forEachComplexModel.ts | 4 +- .../ut/render/forEach/forEachSimpleModel.ts | 4 +- compiler/test/ut/render/if/if.ts | 4 +- .../test/ut/render/if/ifIncludeForEach.ts | 4 +- compiler/test/ut/struct/struct_01.ts | 4 +- compiler/test/ut/struct/struct_02.ts | 4 +- compiler/test/ut/transition/transition.ts | 4 +- compiler/webpack.config.js | 58 +- ...07\345\257\274\350\247\204\350\214\203.md" | 82 + generateSysResource.py | 44 +- 151 files changed, 3912 insertions(+), 1521 deletions(-) create mode 100644 OAT.xml create mode 100644 compiler/components/ability_component.json create mode 100644 compiler/components/action_sheet.json create mode 100644 compiler/components/alphabet_indexer.json create mode 100644 compiler/components/animator.json create mode 100644 compiler/components/badge.json create mode 100644 compiler/components/blank.json create mode 100644 compiler/components/button.json create mode 100644 compiler/components/calendar.json create mode 100644 compiler/components/camera.json create mode 100644 compiler/components/canvas.json create mode 100644 compiler/components/circle.json create mode 100644 compiler/components/colorPicker.json create mode 100644 compiler/components/colorPickerDialog.json create mode 100644 compiler/components/column.json create mode 100644 compiler/components/column_split.json create mode 100644 compiler/components/common_attrs.json create mode 100644 compiler/components/counter.json create mode 100644 compiler/components/datapanel.json create mode 100644 compiler/components/datePicker.json create mode 100644 compiler/components/divider.json create mode 100644 compiler/components/ellipse.json create mode 100644 compiler/components/flex.json create mode 100644 compiler/components/form_component.json create mode 100644 compiler/components/friction_motion.json create mode 100644 compiler/components/gauge.json create mode 100644 compiler/components/geometryView.json create mode 100644 compiler/components/grid.json create mode 100644 compiler/components/gridItem.json create mode 100644 compiler/components/grid_container.json create mode 100644 compiler/components/hyperlink.json create mode 100644 compiler/components/image.json create mode 100644 compiler/components/image_animator.json create mode 100644 compiler/components/line.json create mode 100644 compiler/components/list.json create mode 100644 compiler/components/listItem.json create mode 100644 compiler/components/loadingProgress.json create mode 100644 compiler/components/marquee.json create mode 100644 compiler/components/menu.json create mode 100644 compiler/components/navigation.json create mode 100644 compiler/components/navigator.json create mode 100644 compiler/components/option.json create mode 100644 compiler/components/pageTransition_enter.json create mode 100644 compiler/components/pageTransition_exit.json create mode 100644 compiler/components/panel.json create mode 100644 compiler/components/path.json create mode 100644 compiler/components/piece.json create mode 100644 compiler/components/polygon.json create mode 100644 compiler/components/polyline.json create mode 100644 compiler/components/progress.json create mode 100644 compiler/components/qrcode.json create mode 100644 compiler/components/radio.json create mode 100644 compiler/components/rating.json create mode 100644 compiler/components/rect.json create mode 100644 compiler/components/refresh.json create mode 100644 compiler/components/row.json create mode 100644 compiler/components/row_split.json create mode 100644 compiler/components/scroll.json create mode 100644 compiler/components/scroll_bar.json create mode 100644 compiler/components/scroll_motion.json create mode 100644 compiler/components/search.json create mode 100644 compiler/components/section.json create mode 100644 compiler/components/shape.json create mode 100644 compiler/components/sheet.json create mode 100644 compiler/components/sideBar_container.json create mode 100644 compiler/components/slider.json create mode 100644 compiler/components/span.json create mode 100644 compiler/components/spring_motion.json create mode 100644 compiler/components/spring_prop.json create mode 100644 compiler/components/stack.json create mode 100644 compiler/components/stepper.json create mode 100644 compiler/components/stepperItem.json create mode 100644 compiler/components/swiper.json create mode 100644 compiler/components/tab_content.json create mode 100644 compiler/components/tabs.json create mode 100644 compiler/components/text.json create mode 100644 compiler/components/textPicker.json create mode 100644 compiler/components/textarea.json create mode 100644 compiler/components/textinput.json create mode 100644 compiler/components/toggle.json create mode 100644 compiler/components/video.json create mode 100644 compiler/components/web.json create mode 100644 compiler/components/xcomponent.json create mode 100644 compiler/server/build_pipe_server.js create mode 100644 compiler/syntax_parser/build_declarations_file.js create mode 100644 compiler/test/test.js create mode 100644 "compiler/\345\246\202\344\275\225\346\226\260\345\242\236\346\210\226\344\277\256\346\224\271\347\273\204\344\273\266\346\214\207\345\257\274\350\247\204\350\214\203.md" diff --git a/.gitignore b/.gitignore index be86ad3ae..91cc1be14 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ -./vscode +.vscode/ compiler/node_modules/ compiler/lib/ compiler/declarations/ compiler/sample/build/ compiler/component_config.json -compiler/syntax_parser/dist +compiler/syntax_parser/dist/ \ No newline at end of file diff --git a/BUILD.gn b/BUILD.gn index 0535ce60d..b8dc803fd 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -28,6 +28,7 @@ ets_sysResource = get_label_info(":build_ets_sysResource", "target_out_dir") + "/sysResource.js" action("build_ets_loader_library") { + deps = [ ":components", ":server" ] script = "build_ets_loader_library.py" depfile = "$target_gen_dir/$target_name.d" outputs = [ @@ -111,7 +112,11 @@ action("build_ets_loader_library") { } action("build_ets_sysResource") { - script = "//foundation/ace/huawei_proprietary/tools/ets-loader/generateSysResource.py" + if (is_standard_system) { + script = "//developtools/ace-ets2bundle/generateSysResource.py" + } else { + script = "//foundation/ace/huawei_proprietary/tools/ets-loader/generateSysResource.py" + } outputs = [ ets_sysResource ] _id_defined_json = @@ -137,10 +142,9 @@ ohos_copy("ets_loader") { "compiler/webpack.config.js", ets_loader_component_config_file, ] - if (!is_standard_system) { - deps += [ ":build_ets_sysResource" ] - sources += [ ets_sysResource ] - } + deps += [ ":build_ets_sysResource" ] + sources += [ ets_sysResource ] + outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ] module_source_dir = target_out_dir + "/$target_name" module_install_name = "" @@ -162,6 +166,20 @@ ohos_copy("ets_loader_syntax") { module_install_name = "" } +ohos_copy("components") { + sources = [ "compiler/components" ] + outputs = [ target_out_dir + "/$target_name" ] + module_source_dir = target_out_dir + "/$target_name" + module_install_name = "" +} + +ohos_copy("server") { + sources = [ "compiler/server" ] + outputs = [ target_out_dir + "/$target_name" ] + module_source_dir = target_out_dir + "/$target_name" + module_install_name = "" +} + ohos_copy("ets_loader_declaration") { deps = [ ":build_ets_loader_library" ] sources = [ ets_loader_declarations_dir ] diff --git a/LICENSE b/LICENSE index e6bb7bad3..f433b1a53 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ - + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ diff --git a/OAT.xml b/OAT.xml new file mode 100644 index 000000000..98c053c17 --- /dev/null +++ b/OAT.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + diff --git a/build_ets_loader_library.py b/build_ets_loader_library.py index 4511664c5..592f31552 100755 --- a/build_ets_loader_library.py +++ b/build_ets_loader_library.py @@ -83,7 +83,7 @@ def main(): depfile_deps.append(options.uglify_source_js) syntax_cmd = [options.node, options.build_parser_js, - options.output_syntax_dir] + options.output_syntax_dir, options.ets_loader_src_dir] depfile_deps.append(options.build_parser_js) build_declarations_file_cmd = [options.node, diff --git a/compiler/README.md b/compiler/README.md index ed7654a89..9031b6e43 100644 --- a/compiler/README.md +++ b/compiler/README.md @@ -21,7 +21,7 @@ First, check whether your node version is 12.x or later; Secondly, config npm proxy and run `npm install` again. ``` npm config set strict-ssl false -npm config set registry http://registry.npm.taobao.org +npm config set registry https://registry.npm.taobao.org ``` ### 2. Quick Start diff --git a/compiler/build_parser.js b/compiler/build_parser.js index 03f79ad7d..fd83200ec 100644 --- a/compiler/build_parser.js +++ b/compiler/build_parser.js @@ -25,7 +25,7 @@ function generateSyntaxParser(inputFile, nodePath) { const catalogPath = path.resolve(inputFile, '..'); const catalogSubFiles = fs.readdirSync(catalogPath) const parserPath = path.resolve(__dirname, './node_modules/pegjs/bin/pegjs'); - + if (catalogSubFiles.includes('dist')) { exec('rm -rf ' + catalogPath + '/dist/*.js'); } else { diff --git a/compiler/components/ability_component.json b/compiler/components/ability_component.json new file mode 100644 index 000000000..544e73796 --- /dev/null +++ b/compiler/components/ability_component.json @@ -0,0 +1,4 @@ +{ + "name": "AbilityComponent", + "attrs": ["onReady", "onDestroy", "onAbilityCreated", "onAbilityMoveToFront", "onAbilityWillRemove"] +} \ No newline at end of file diff --git a/compiler/components/action_sheet.json b/compiler/components/action_sheet.json new file mode 100644 index 000000000..f4152ea9e --- /dev/null +++ b/compiler/components/action_sheet.json @@ -0,0 +1,4 @@ +{ + "name": "ActionSheet", + "attrs": ["show"] +} \ No newline at end of file diff --git a/compiler/components/alphabet_indexer.json b/compiler/components/alphabet_indexer.json new file mode 100644 index 000000000..40be38802 --- /dev/null +++ b/compiler/components/alphabet_indexer.json @@ -0,0 +1,7 @@ +{ + "name": "AlphabetIndexer", + "attrs": [ + "onSelected", "selectedColor", "popupColor", "selectedBackgroundColor", "popupBackground", "usingPopup", + "selectedFont", "popupFont", "itemSize", "font", "color", "alignStyle" + ] +} \ No newline at end of file diff --git a/compiler/components/animator.json b/compiler/components/animator.json new file mode 100644 index 000000000..091ccb033 --- /dev/null +++ b/compiler/components/animator.json @@ -0,0 +1,9 @@ +{ + "name": "Animator", + "atomic": true, + "noDebugLine": true, + "attrs": [ + "state", "duration", "curve", "delay", "fillMode", "iterations", "playMode", "motion", + "onStart", "onPause", "onRepeat", "onCancel", "onFinish", "onFrame" + ] +} \ No newline at end of file diff --git a/compiler/components/badge.json b/compiler/components/badge.json new file mode 100644 index 000000000..b4b3bc6b2 --- /dev/null +++ b/compiler/components/badge.json @@ -0,0 +1,5 @@ +{ + "name": "Badge", + "atomics": true, + "attrs": [] +} \ No newline at end of file diff --git a/compiler/components/blank.json b/compiler/components/blank.json new file mode 100644 index 000000000..9fe088f44 --- /dev/null +++ b/compiler/components/blank.json @@ -0,0 +1,6 @@ +{ + "name": "Blank", + "parents": ["Row", "Column"], + "atomic": true, + "attrs": ["color"] +} \ No newline at end of file diff --git a/compiler/components/button.json b/compiler/components/button.json new file mode 100644 index 000000000..385a0d9f4 --- /dev/null +++ b/compiler/components/button.json @@ -0,0 +1,4 @@ +{ + "name": "Button", + "attrs": ["type", "stateEffect", "fontColor", "fontSize", "fontWeight", "fontStyle", "fontFamily"] +} \ No newline at end of file diff --git a/compiler/components/calendar.json b/compiler/components/calendar.json new file mode 100644 index 000000000..a24b65df3 --- /dev/null +++ b/compiler/components/calendar.json @@ -0,0 +1,8 @@ +{ + "name": "Calendar", + "attrs": [ + "date", "showLunar", "startOfWeek", "offDays", "onSelectChange", "onRequestData", + "currentData", "preData", "nextData", "needSlide", "showHoliday", "direction", + "currentDayStyle", "nonCurrentDayStyle", "todayStyle", "weekStyle", "workStateStyle" + ] +} \ No newline at end of file diff --git a/compiler/components/camera.json b/compiler/components/camera.json new file mode 100644 index 000000000..4e2068bd4 --- /dev/null +++ b/compiler/components/camera.json @@ -0,0 +1,5 @@ +{ + "name": "Camera", + "atomic": true, + "attrs": ["devicePosition"] +} \ No newline at end of file diff --git a/compiler/components/canvas.json b/compiler/components/canvas.json new file mode 100644 index 000000000..f0a8ba6e6 --- /dev/null +++ b/compiler/components/canvas.json @@ -0,0 +1,6 @@ +{ + "name": "Canvas", + "attrs": [ + "onReady" + ] +} diff --git a/compiler/components/circle.json b/compiler/components/circle.json new file mode 100644 index 000000000..85a8ffe81 --- /dev/null +++ b/compiler/components/circle.json @@ -0,0 +1,4 @@ +{ + "name": "Circle", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/colorPicker.json b/compiler/components/colorPicker.json new file mode 100644 index 000000000..1490cf3f5 --- /dev/null +++ b/compiler/components/colorPicker.json @@ -0,0 +1,4 @@ +{ + "name": "ColorPicker", + "attrs": ["colors", "onSelect", "setAlignment", "setColunms", "setRows"] +} diff --git a/compiler/components/colorPickerDialog.json b/compiler/components/colorPickerDialog.json new file mode 100644 index 000000000..fc76c9d8c --- /dev/null +++ b/compiler/components/colorPickerDialog.json @@ -0,0 +1,4 @@ +{ + "name": "ColorPickerDialog", + "attrs": ["show"] +} \ No newline at end of file diff --git a/compiler/components/column.json b/compiler/components/column.json new file mode 100644 index 000000000..6f6312a84 --- /dev/null +++ b/compiler/components/column.json @@ -0,0 +1,4 @@ +{ + "name": "Column", + "attrs": ["alignItems"] +} \ No newline at end of file diff --git a/compiler/components/column_split.json b/compiler/components/column_split.json new file mode 100644 index 000000000..cfa1e52bc --- /dev/null +++ b/compiler/components/column_split.json @@ -0,0 +1,4 @@ +{ + "name": "ColumnSplit", + "attrs": ["resizeable"] +} \ No newline at end of file diff --git a/compiler/components/common_attrs.json b/compiler/components/common_attrs.json new file mode 100644 index 000000000..c5970d43b --- /dev/null +++ b/compiler/components/common_attrs.json @@ -0,0 +1,24 @@ +{ + "attrs": [ + "width", "height", "size", "constraintSize", "layoutPriority", "layoutWeight", + "padding", "paddingLeft", "paddingRight", "paddingTop", "paddingBottom", + "margin", "marginLeft", "marginRight", "marginTop", "marginBottom", + "border", "borderStyle", "borderWidth", "borderColor", "borderRadius", + "backgroundColor", "backgroundImage", "backgroundImageSize", "backgroundImagePosition", + "opacity", "animation", "transition", "stateStyles", + "onClick", "onTouch", "touchable", "onKeyEvent", "onHover","onAreaChange", + "blur", "backdropBlur", "windowBlur", "translate", "rotate", "scale", "transform", + "onAppear", "onDisAppear", "visibility", "flexBasis", "flexShrink", "flexGrow", "alignSelf", + "useAlign", "zIndex", "sharedTransition", "direction", "align", "position", "markAnchor", + "offset", "enabled", "aspectRatio", "displayPriority", + "onDrag", "onDragEnter", "onDragMove", "onDragLeave", "onDrop", + "overlay", "linearGradient", "sweepGradient", "radialGradient", + "gridOffset", "gridSpan", "useSizeType", + "motionPath", "clip", "shadow", "mask", "key", + "accessibilityGroup", "accessibilityText", "accessibilityDescription", + "accessibilityImportance", "onAccessibility", "grayscale", "brightness", "contrast", + "saturate", "geometryTransition", + "bindPopup", "colorBlend", "invert", "sepia", "hueRotate", "bindMenu", "hoverEffect", + "onFocus", "onBlur", "onFocusMove", "focusable", "responseRegion" + ] +} diff --git a/compiler/components/counter.json b/compiler/components/counter.json new file mode 100644 index 000000000..34746f606 --- /dev/null +++ b/compiler/components/counter.json @@ -0,0 +1,7 @@ +{ + "name": "Counter", + "attrs": [ + "onStateChange", "onInc", + "onDec", "height", "width" + ] +} \ No newline at end of file diff --git a/compiler/components/datapanel.json b/compiler/components/datapanel.json new file mode 100644 index 000000000..3128924d6 --- /dev/null +++ b/compiler/components/datapanel.json @@ -0,0 +1,5 @@ +{ + "name": "DataPanel", + "atomic": false, + "attrs": ["closeEffect"] +} \ No newline at end of file diff --git a/compiler/components/datePicker.json b/compiler/components/datePicker.json new file mode 100644 index 000000000..e5a60b207 --- /dev/null +++ b/compiler/components/datePicker.json @@ -0,0 +1,4 @@ +{ + "name": "DatePicker", + "attrs": ["lunar", "onChange", "useMilitaryTime"] +} \ No newline at end of file diff --git a/compiler/components/divider.json b/compiler/components/divider.json new file mode 100644 index 000000000..75728fd5c --- /dev/null +++ b/compiler/components/divider.json @@ -0,0 +1,5 @@ +{ + "name": "Divider", + "atomic": true, + "attrs": ["color", "vertical", "strokeWidth", "lineCap"] +} \ No newline at end of file diff --git a/compiler/components/ellipse.json b/compiler/components/ellipse.json new file mode 100644 index 000000000..0f4a225bc --- /dev/null +++ b/compiler/components/ellipse.json @@ -0,0 +1,4 @@ +{ + "name": "Ellipse", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/flex.json b/compiler/components/flex.json new file mode 100644 index 000000000..32cee03f4 --- /dev/null +++ b/compiler/components/flex.json @@ -0,0 +1,4 @@ +{ + "name": "Flex", + "attrs": [] +} \ No newline at end of file diff --git a/compiler/components/form_component.json b/compiler/components/form_component.json new file mode 100644 index 000000000..5532c7f5a --- /dev/null +++ b/compiler/components/form_component.json @@ -0,0 +1,8 @@ +{ + "name": "FormComponent", + "atomic": true, + "attrs": [ + "size", "moduleName", "dimension", "allowUpdate", "visibility", + "onAcquired", "onError", "onRouter" + ] +} \ No newline at end of file diff --git a/compiler/components/friction_motion.json b/compiler/components/friction_motion.json new file mode 100644 index 000000000..d87b5bbbc --- /dev/null +++ b/compiler/components/friction_motion.json @@ -0,0 +1,4 @@ +{ + "name": "FrictionMotion", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/gauge.json b/compiler/components/gauge.json new file mode 100644 index 000000000..3e262ca49 --- /dev/null +++ b/compiler/components/gauge.json @@ -0,0 +1,7 @@ +{ + "name": "Gauge", + "atomic": true, + "attrs": [ + "value", "startAngle", "endAngle", "colors", "strokeWidth", "labelConfig" + ] +} \ No newline at end of file diff --git a/compiler/components/geometryView.json b/compiler/components/geometryView.json new file mode 100644 index 000000000..d9dfd5cef --- /dev/null +++ b/compiler/components/geometryView.json @@ -0,0 +1,4 @@ +{ + "name": "GeometryView", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/grid.json b/compiler/components/grid.json new file mode 100644 index 000000000..4d82c84dd --- /dev/null +++ b/compiler/components/grid.json @@ -0,0 +1,8 @@ +{ + "name": "Grid", + "children": ["GridItem"], + "attrs": [ + "columnsTemplate", "rowsTemplate", "columnsGap", "rowsGap", "scrollBar", "scrollBarWidth", + "scrollBarColor" + ] +} \ No newline at end of file diff --git a/compiler/components/gridItem.json b/compiler/components/gridItem.json new file mode 100644 index 000000000..be369c12d --- /dev/null +++ b/compiler/components/gridItem.json @@ -0,0 +1,6 @@ +{ + "name": "GridItem", + "parents": ["Grid"], + "single": true, + "attrs": ["rowStart", "rowEnd", "columnStart", "columnEnd", "forceRebuild"] +} \ No newline at end of file diff --git a/compiler/components/grid_container.json b/compiler/components/grid_container.json new file mode 100644 index 000000000..0d067c274 --- /dev/null +++ b/compiler/components/grid_container.json @@ -0,0 +1,4 @@ +{ + "name": "GridContainer", + "attrs": ["columns", "sizeType", "gutter", "margin"] +} \ No newline at end of file diff --git a/compiler/components/hyperlink.json b/compiler/components/hyperlink.json new file mode 100644 index 000000000..990662d80 --- /dev/null +++ b/compiler/components/hyperlink.json @@ -0,0 +1,4 @@ +{ + "name": "Hyperlink", + "attrs": ["color"] +} \ No newline at end of file diff --git a/compiler/components/image.json b/compiler/components/image.json new file mode 100644 index 000000000..d2a738158 --- /dev/null +++ b/compiler/components/image.json @@ -0,0 +1,9 @@ +{ + "name": "Image", + "atomic": true, + "attrs": [ + "alt", "objectFit", "matchTextDirection", "fitOriginalSize", "objectRepeat", "renderMode", + "interpolation", "onComplete", "onError", "onFinish", "sourceSize", "fillColor", "autoResize", + "syncLoad" + ] +} \ No newline at end of file diff --git a/compiler/components/image_animator.json b/compiler/components/image_animator.json new file mode 100644 index 000000000..73208d2cb --- /dev/null +++ b/compiler/components/image_animator.json @@ -0,0 +1,8 @@ +{ + "name": "ImageAnimator", + "atomic": true, + "attrs": [ + "images", "state", "duration", "reverse", "fixedSize", "preDecode", "fillMode", "iterations", + "onStart", "onPause", "onRepeat", "onCancel", "onFinish" + ] +} \ No newline at end of file diff --git a/compiler/components/line.json b/compiler/components/line.json new file mode 100644 index 000000000..bb5340aec --- /dev/null +++ b/compiler/components/line.json @@ -0,0 +1,7 @@ +{ + "name": "Line", + "atomic": true, + "attrs": [ + "startPoint","endPoint" + ] +} \ No newline at end of file diff --git a/compiler/components/list.json b/compiler/components/list.json new file mode 100644 index 000000000..acf726d39 --- /dev/null +++ b/compiler/components/list.json @@ -0,0 +1,9 @@ +{ + "name": "List", + "children": ["ListItem", "Section"], + "attrs": [ + "listDirection", "scrollBar", "edgeEffect", "divider", "editMode", "cachedCount", + "chainAnimation", "onScroll", "onReachStart", "onReachEnd", "onScrollStop", "onItemDelete", + "onItemMove", "onItemDragStart", "onItemDragEnter", "onItemDragMove", "onItemDragLeave", "onItemDrop" + ] +} \ No newline at end of file diff --git a/compiler/components/listItem.json b/compiler/components/listItem.json new file mode 100644 index 000000000..467c66e23 --- /dev/null +++ b/compiler/components/listItem.json @@ -0,0 +1,6 @@ +{ + "name": "ListItem", + "parents": ["List"], + "single": true, + "attrs": ["sticky", "editable"] +} \ No newline at end of file diff --git a/compiler/components/loadingProgress.json b/compiler/components/loadingProgress.json new file mode 100644 index 000000000..08d1a29aa --- /dev/null +++ b/compiler/components/loadingProgress.json @@ -0,0 +1,5 @@ +{ + "name": "LoadingProgress", + "atomic": true, + "attrs": ["color"] +} \ No newline at end of file diff --git a/compiler/components/marquee.json b/compiler/components/marquee.json new file mode 100644 index 000000000..b29b9651e --- /dev/null +++ b/compiler/components/marquee.json @@ -0,0 +1,7 @@ +{ + "name": "Marquee", + "attrs": [ + "fontColor", "fontSize", "allowScale", "fontWeight", "fontFamily", "onStart", + "onBounce", "onFinish" + ] +} \ No newline at end of file diff --git a/compiler/components/menu.json b/compiler/components/menu.json new file mode 100644 index 000000000..2db5287ec --- /dev/null +++ b/compiler/components/menu.json @@ -0,0 +1,5 @@ +{ + "name": "Menu", + "children": ["Option"], + "attrs": ["show", "showPosition", "fontColor", "fontSize", "fontWeight", "fontFamily"] +} \ No newline at end of file diff --git a/compiler/components/navigation.json b/compiler/components/navigation.json new file mode 100644 index 000000000..15e9b56a7 --- /dev/null +++ b/compiler/components/navigation.json @@ -0,0 +1,5 @@ +{ + "name": "Navigation", + "attrs": ["title", "subTitle", "hideTitleBar", "hideBackButton", "titleMode", "menus", + "toolBar", "hideToolBar", "onTitleModeChanged"] +} \ No newline at end of file diff --git a/compiler/components/navigator.json b/compiler/components/navigator.json new file mode 100644 index 000000000..8ca4c9404 --- /dev/null +++ b/compiler/components/navigator.json @@ -0,0 +1,5 @@ +{ + "name": "Navigator", + "single": true, + "attrs": ["target", "type", "params", "active"] +} \ No newline at end of file diff --git a/compiler/components/option.json b/compiler/components/option.json new file mode 100644 index 000000000..7cdad7d91 --- /dev/null +++ b/compiler/components/option.json @@ -0,0 +1,5 @@ +{ + "name": "Option", + "parents": ["Menu"], + "attrs": ["fontColor", "fontSize", "fontWeight", "fontFamily"] +} \ No newline at end of file diff --git a/compiler/components/pageTransition_enter.json b/compiler/components/pageTransition_enter.json new file mode 100644 index 000000000..d0d84825d --- /dev/null +++ b/compiler/components/pageTransition_enter.json @@ -0,0 +1,6 @@ +{ + "name": "PageTransitionEnter", + "atomic": true, + "noDebugLine": true, + "attrs": ["onEnter"] +} \ No newline at end of file diff --git a/compiler/components/pageTransition_exit.json b/compiler/components/pageTransition_exit.json new file mode 100644 index 000000000..24716df5a --- /dev/null +++ b/compiler/components/pageTransition_exit.json @@ -0,0 +1,6 @@ +{ + "name": "PageTransitionExit", + "atomic": true, + "noDebugLine": true, + "attrs": ["onExit"] +} \ No newline at end of file diff --git a/compiler/components/panel.json b/compiler/components/panel.json new file mode 100644 index 000000000..636ee17d4 --- /dev/null +++ b/compiler/components/panel.json @@ -0,0 +1,7 @@ +{ + "name": "Panel", + "attrs": [ + "type", "mode", "dragBar", "fullHeight", + "halfHeight", "miniHeight", "show", "onChange" + ] +} \ No newline at end of file diff --git a/compiler/components/path.json b/compiler/components/path.json new file mode 100644 index 000000000..7e3efd76b --- /dev/null +++ b/compiler/components/path.json @@ -0,0 +1,7 @@ +{ + "name": "Path", + "atomic": true, + "attrs": [ + "commands" + ] +} \ No newline at end of file diff --git a/compiler/components/piece.json b/compiler/components/piece.json new file mode 100644 index 000000000..ff54f790a --- /dev/null +++ b/compiler/components/piece.json @@ -0,0 +1,5 @@ +{ + "name": "Piece", + "attrs": ["iconPosition", "fontColor", "fontSize", "fontStyle", + "fontWeight","fontFamily", "showDelete", "onClose"] +} \ No newline at end of file diff --git a/compiler/components/polygon.json b/compiler/components/polygon.json new file mode 100644 index 000000000..bc0b1033b --- /dev/null +++ b/compiler/components/polygon.json @@ -0,0 +1,5 @@ +{ + "name": "Polygon", + "atomic": true, + "attrs": ["points"] +} \ No newline at end of file diff --git a/compiler/components/polyline.json b/compiler/components/polyline.json new file mode 100644 index 000000000..5f5862ba7 --- /dev/null +++ b/compiler/components/polyline.json @@ -0,0 +1,5 @@ +{ + "name": "Polyline", + "atomic": true, + "attrs": ["points"] +} \ No newline at end of file diff --git a/compiler/components/progress.json b/compiler/components/progress.json new file mode 100644 index 000000000..027e80dbd --- /dev/null +++ b/compiler/components/progress.json @@ -0,0 +1,7 @@ +{ + "name": "Progress", + "atomic": true, + "attrs": [ + "value", "color", "cricularStyle", "circularStyle" + ] +} \ No newline at end of file diff --git a/compiler/components/qrcode.json b/compiler/components/qrcode.json new file mode 100644 index 000000000..eda56a4b7 --- /dev/null +++ b/compiler/components/qrcode.json @@ -0,0 +1,4 @@ +{ + "name": "QRCode", + "attrs": ["color", "backgroundColor"] +} \ No newline at end of file diff --git a/compiler/components/radio.json b/compiler/components/radio.json new file mode 100644 index 000000000..ae90392d7 --- /dev/null +++ b/compiler/components/radio.json @@ -0,0 +1,5 @@ +{ + "name": "Radio", + "atomic": true, + "attrs": ["checked", "onChange"] +} \ No newline at end of file diff --git a/compiler/components/rating.json b/compiler/components/rating.json new file mode 100644 index 000000000..ec43a7a37 --- /dev/null +++ b/compiler/components/rating.json @@ -0,0 +1,4 @@ +{ + "name": "Rating", + "attrs": ["stars", "stepSize", "starStyle", "onChange"] +} \ No newline at end of file diff --git a/compiler/components/rect.json b/compiler/components/rect.json new file mode 100644 index 000000000..fce921d52 --- /dev/null +++ b/compiler/components/rect.json @@ -0,0 +1,7 @@ +{ + "name": "Rect", + "atomic": true, + "attrs": [ + "radiusWidth", "radiusHeight", "radius" + ] +} \ No newline at end of file diff --git a/compiler/components/refresh.json b/compiler/components/refresh.json new file mode 100644 index 000000000..6346ca41e --- /dev/null +++ b/compiler/components/refresh.json @@ -0,0 +1,7 @@ +{ + "name": "Refresh", + "single": true, + "attrs": [ + "refreshing", "offset", "friction", "onStateChange", "onRefreshing" + ] +} \ No newline at end of file diff --git a/compiler/components/row.json b/compiler/components/row.json new file mode 100644 index 000000000..556b560ae --- /dev/null +++ b/compiler/components/row.json @@ -0,0 +1,4 @@ +{ + "name": "Row", + "attrs": ["alignItems"] +} \ No newline at end of file diff --git a/compiler/components/row_split.json b/compiler/components/row_split.json new file mode 100644 index 000000000..da1c9182d --- /dev/null +++ b/compiler/components/row_split.json @@ -0,0 +1,4 @@ +{ + "name": "RowSplit", + "attrs": ["resizeable"] +} \ No newline at end of file diff --git a/compiler/components/scroll.json b/compiler/components/scroll.json new file mode 100644 index 000000000..8c9a9ece7 --- /dev/null +++ b/compiler/components/scroll.json @@ -0,0 +1,7 @@ +{ + "name": "Scroll", + "attrs": [ + "scrollable", "onScroll", "onScrollEdge", "onScrollEnd", "scrollBar", "scrollBarColor", + "scrollBarWidth", "edgeEffect" + ] +} \ No newline at end of file diff --git a/compiler/components/scroll_bar.json b/compiler/components/scroll_bar.json new file mode 100644 index 000000000..7ab2f67c3 --- /dev/null +++ b/compiler/components/scroll_bar.json @@ -0,0 +1,6 @@ +{ + "name": "ScrollBar", + "attrs": [], + "atomic": false, + "single": true +} \ No newline at end of file diff --git a/compiler/components/scroll_motion.json b/compiler/components/scroll_motion.json new file mode 100644 index 000000000..bd2b26a91 --- /dev/null +++ b/compiler/components/scroll_motion.json @@ -0,0 +1,4 @@ +{ + "name": "ScrollMotion", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/search.json b/compiler/components/search.json new file mode 100644 index 000000000..89d7fad27 --- /dev/null +++ b/compiler/components/search.json @@ -0,0 +1,8 @@ +{ + "name": "Search", + "atomic": true, + "attrs": [ + "searchButton", "placeholderColor", "placeholderFont", "textFont", "onSubmit", "onChange", + "onCopy", "OnCut", "OnPaste" + ] +} \ No newline at end of file diff --git a/compiler/components/section.json b/compiler/components/section.json new file mode 100644 index 000000000..97bc13f1d --- /dev/null +++ b/compiler/components/section.json @@ -0,0 +1,4 @@ +{ + "name": "Section", + "attrs": [] +} \ No newline at end of file diff --git a/compiler/components/shape.json b/compiler/components/shape.json new file mode 100644 index 000000000..51c1cfeb5 --- /dev/null +++ b/compiler/components/shape.json @@ -0,0 +1,13 @@ +{ + "name": "Shape", + "children": [ + "Rect", "Path", "Circle", "Ellipse", "Shape", "Polyline", "Polygon", "Image", "Text", "Column", + "Row" + ], + "attrs": [ + "stroke", "fill", "strokeDashOffset", "strokeLineCap", + "strokeLineJoin", "strokeMiterLimit", "strokeOpacity", + "fillOpacity", "strokeWidth", "antiAlias", "strokeDashArray", + "viewPort", "mesh" + ] +} diff --git a/compiler/components/sheet.json b/compiler/components/sheet.json new file mode 100644 index 000000000..f180d0ce3 --- /dev/null +++ b/compiler/components/sheet.json @@ -0,0 +1,5 @@ +{ + "name": "sheet", + "children": ["Section"], + "attrs": [] +} \ No newline at end of file diff --git a/compiler/components/sideBar_container.json b/compiler/components/sideBar_container.json new file mode 100644 index 000000000..ec9f98925 --- /dev/null +++ b/compiler/components/sideBar_container.json @@ -0,0 +1,6 @@ +{ + "name": "SideBarContainer", + "attrs": [ + "showControlButton", "onChange" + ] + } \ No newline at end of file diff --git a/compiler/components/slider.json b/compiler/components/slider.json new file mode 100644 index 000000000..61982642c --- /dev/null +++ b/compiler/components/slider.json @@ -0,0 +1,8 @@ +{ + "name": "Slider", + "atomic": true, + "attrs": [ + "blockColor", "trackColor", "selectedColor", "minLabel", "maxLabel", "showSteps", "showTips", + "onChange" + ] +} \ No newline at end of file diff --git a/compiler/components/span.json b/compiler/components/span.json new file mode 100644 index 000000000..d8467e61b --- /dev/null +++ b/compiler/components/span.json @@ -0,0 +1,8 @@ +{ + "name": "Span", + "atomic": true, + "attrs": [ + "fontColor", "fontSize", "fontStyle", "fontFamily", "fontWeight", "decoration", "letterSpacing", + "textCase" + ] +} \ No newline at end of file diff --git a/compiler/components/spring_motion.json b/compiler/components/spring_motion.json new file mode 100644 index 000000000..abb415f4c --- /dev/null +++ b/compiler/components/spring_motion.json @@ -0,0 +1,4 @@ +{ + "name": "SpringMotion", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/spring_prop.json b/compiler/components/spring_prop.json new file mode 100644 index 000000000..9c53c7bdd --- /dev/null +++ b/compiler/components/spring_prop.json @@ -0,0 +1,4 @@ +{ + "name": "SpringProp", + "atomic": true +} \ No newline at end of file diff --git a/compiler/components/stack.json b/compiler/components/stack.json new file mode 100644 index 000000000..7007a9f8c --- /dev/null +++ b/compiler/components/stack.json @@ -0,0 +1,4 @@ +{ + "name": "Stack", + "attrs": ["alignContent"] +} \ No newline at end of file diff --git a/compiler/components/stepper.json b/compiler/components/stepper.json new file mode 100644 index 000000000..50484fe4d --- /dev/null +++ b/compiler/components/stepper.json @@ -0,0 +1,7 @@ +{ + "name": "Stepper", + "children": ["StepperItem"], + "attrs": [ + "onFinish", "onSkip", "onChange", "onNext", "onPrevious" + ] +} \ No newline at end of file diff --git a/compiler/components/stepperItem.json b/compiler/components/stepperItem.json new file mode 100644 index 000000000..4a38a78a5 --- /dev/null +++ b/compiler/components/stepperItem.json @@ -0,0 +1,6 @@ +{ + "name": "StepperItem", + "parents": ["Stepper"], + "single": true, + "attrs": ["prevLabel", "nextLabel", "status"] +} \ No newline at end of file diff --git a/compiler/components/swiper.json b/compiler/components/swiper.json new file mode 100644 index 000000000..6164d4b43 --- /dev/null +++ b/compiler/components/swiper.json @@ -0,0 +1,7 @@ +{ + "name": "Swiper", + "attrs": [ + "index", "autoPlay", "interval", "indicator", "loop", "duration", "vertical", "itemSpace", + "cachedCount", "displayMode", "displayCount", "effectMode", "disableSwipe", "onChange" + ] +} \ No newline at end of file diff --git a/compiler/components/tab_content.json b/compiler/components/tab_content.json new file mode 100644 index 000000000..e0beff067 --- /dev/null +++ b/compiler/components/tab_content.json @@ -0,0 +1,5 @@ +{ + "name": "TabContent", + "parents": ["Tabs"], + "attrs": ["tabBar"] +} \ No newline at end of file diff --git a/compiler/components/tabs.json b/compiler/components/tabs.json new file mode 100644 index 000000000..68369496c --- /dev/null +++ b/compiler/components/tabs.json @@ -0,0 +1,8 @@ +{ + "name": "Tabs", + "children": ["TabContent"], + "attrs": [ + "vertical", "scrollable", "barMode", "barWidth", "barHeight", "animationDuration", + "onChange" + ] +} \ No newline at end of file diff --git a/compiler/components/text.json b/compiler/components/text.json new file mode 100644 index 000000000..9d8d8eff5 --- /dev/null +++ b/compiler/components/text.json @@ -0,0 +1,9 @@ +{ + "name": "Text", + "children": ["Span"], + "attrs": [ + "fontColor", "fontSize", "fontStyle", "fontWeight", "textAlign", "lineHeight", "textOverflow", + "maxLines", "decoration", "letterSpacing", "textCase", "baselineOffset", "minFontSize", + "maxFontSize" + ] +} \ No newline at end of file diff --git a/compiler/components/textPicker.json b/compiler/components/textPicker.json new file mode 100644 index 000000000..2e3cb114e --- /dev/null +++ b/compiler/components/textPicker.json @@ -0,0 +1,4 @@ +{ + "name": "TextPicker", + "attrs": ["defaultPickerItemHeight", "onAccept", "onCancel", "onChange"] +} \ No newline at end of file diff --git a/compiler/components/textarea.json b/compiler/components/textarea.json new file mode 100644 index 000000000..60f93d5eb --- /dev/null +++ b/compiler/components/textarea.json @@ -0,0 +1,8 @@ +{ + "name": "TextArea", + "atomic": true, + "attrs": [ + "placeholderColor", "placeholderFont", "textAlign", "caretColor", "onChange", + "onCopy", "OnCut", "OnPaste", "fontSize", "fontColor", "fontStyle", "fontWeight", "fontFamily" + ] +} \ No newline at end of file diff --git a/compiler/components/textinput.json b/compiler/components/textinput.json new file mode 100644 index 000000000..a876382bf --- /dev/null +++ b/compiler/components/textinput.json @@ -0,0 +1,9 @@ +{ + "name": "TextInput", + "atomic": true, + "attrs": [ + "type", "placeholderColor", "placeholderFont", "enterKeyType", "caretColor", "maxLength", + "onEditChanged", "onSubmit", "onChange", "onCopy", "OnCut", "OnPaste", "fontSize", + "fontColor", "fontStyle", "fontWeight", "fontFamily" + ] +} \ No newline at end of file diff --git a/compiler/components/toggle.json b/compiler/components/toggle.json new file mode 100644 index 000000000..fbee0bfff --- /dev/null +++ b/compiler/components/toggle.json @@ -0,0 +1,4 @@ +{ + "name": "Toggle", + "attrs": ["onChange", "selectedColor", "switchPointColor"] +} \ No newline at end of file diff --git a/compiler/components/video.json b/compiler/components/video.json new file mode 100644 index 000000000..3a9e18ca3 --- /dev/null +++ b/compiler/components/video.json @@ -0,0 +1,8 @@ +{ + "name": "Video", + "atomic": true, + "attrs": [ + "muted", "autoPlay", "controls", "loop", "objectFit", "onSeeking", "onFullscreenChange", + "onStart", "onPause", "onPrepared", "onFinish", "onSeeked", "onUpdate", "onError" + ] +} \ No newline at end of file diff --git a/compiler/components/web.json b/compiler/components/web.json new file mode 100644 index 000000000..80a3b7737 --- /dev/null +++ b/compiler/components/web.json @@ -0,0 +1,5 @@ +{ + "name": "Web", + "atomic": true, + "attrs": ["onPagestart", "onPagefinish", "onError","onMessage"] +} \ No newline at end of file diff --git a/compiler/components/xcomponent.json b/compiler/components/xcomponent.json new file mode 100644 index 000000000..43582fe31 --- /dev/null +++ b/compiler/components/xcomponent.json @@ -0,0 +1,7 @@ +{ + "name": "XComponent", + "atomic": true, + "attrs": [ + "id", "type", "libraryname", "source", "onLoad", "onDestroy" + ] +} \ No newline at end of file diff --git a/compiler/main.js b/compiler/main.js index b356e486b..de983dc75 100644 --- a/compiler/main.js +++ b/compiler/main.js @@ -49,6 +49,7 @@ function initProjectConfig(projectConfig) { path.resolve(projectConfig.projectPath, 'build'); projectConfig.manifestFilePath = projectConfig.manifestFilePath || process.env.aceManifestPath || path.join(projectConfig.projectPath, 'manifest.json'); + projectConfig.aceConfigPath = projectConfig.aceConfigPath || process.env.aceConfigPath; } function loadEntryObj(projectConfig) { @@ -60,11 +61,14 @@ function loadEntryObj(projectConfig) { staticPreviewPage + '.ets?entry'; } else if (abilityConfig.abilityType === 'page') { let manifest = {}; - try { + if (fs.existsSync(projectConfig.manifestFilePath)) { const jsonString = fs.readFileSync(projectConfig.manifestFilePath).toString(); manifest = JSON.parse(jsonString); - } catch (error) { - throw Error(`\u001b[31m ERROR: the manifest file '${projectConfig.manifestFilePath}' is lost or format is invalid. \u001b[39m`).message; + } else if (process.env.aceConfigPath && fs.existsSync( projectConfig.aceConfigPath)) { + buildManifest(manifest, projectConfig.aceConfigPath); + } else { + throw Error('\u001b[31m ERROR: the manifest file ' + projectConfig.manifestFilePath + + ' or config.json is lost or format is invalid. \u001b[39m').message; } if (manifest.pages) { const pages = manifest.pages; @@ -77,7 +81,49 @@ function loadEntryObj(projectConfig) { } }); } else { - throw Error(`\u001b[31m ERROR: missing pages attribute in '${projectConfig.manifestFilePath}'. \u001b[39m`).message; + throw Error('\u001b[31m ERROR: missing pages attribute in ' + projectConfig.manifestFilePath + + '. \u001b[39m').message; + } + } +} + +function buildManifest(manifest, aceConfigPath) { + try { + const configJson = JSON.parse(fs.readFileSync(aceConfigPath).toString()); + const srcPath = process.env.srcPath; + manifest.type = process.env.abilityType; + if (configJson.module && configJson.module.abilities) { + manifest.pages = getPages(configJson, srcPath); + } else { + throw Error('\u001b[31m'+ + 'EERROR: the config.json file miss keyword module || module[abilities].' + + '\u001b[39m').message; + } + manifest.minPlatformVersion = configJson.app.apiVersion.compatible; + } catch (e) { + throw Error("\x1B[31m" + 'ERROR: the config.json file is lost or format is invalid.' + + "\x1B[39m").message; + } +} + +function getPages(configJson, srcPath) { + const pages = [] + for (const ability of configJson.module.abilities){ + if (ability.srcPath === srcPath) { + readPages(ability, pages, configJson) + break; + } + } + return pages; +} + +function readPages(ability, pages, configJson) { + for (const js of configJson.module.js){ + if (ability.name === js.name) { + js.pages.forEach(page => { + pages.push(page) + }) + break; } } } diff --git a/compiler/package-lock.json b/compiler/package-lock.json index 8b3288c9d..f42b96581 100644 --- a/compiler/package-lock.json +++ b/compiler/package-lock.json @@ -5,12 +5,12 @@ "requires": true, "dependencies": { "@babel/cli": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/cli/download/@babel/cli-7.16.0.tgz", - "integrity": "sha1-pym3pI64C0n0ijOVKfxBKf17zvM=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/cli/download/@babel/cli-7.15.4.tgz", + "integrity": "sha1-AOIeGStzjex5AMi7NicON3IXwKQ=", "dev": true, "requires": { - "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.2", "chokidar": "^3.4.0", "commander": "^4.0.1", "convert-source-map": "^1.1.0", @@ -23,8 +23,8 @@ "dependencies": { "commander": { "version": "4.1.1", - "resolved": "https://registry.npmmirror.com/commander/download/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "resolved": "https://registry.nlark.com/commander/download/commander-4.1.1.tgz", + "integrity": "sha1-n9YCvZNilOnp70aj9NaWQESxgGg=", "dev": true }, "slash": { @@ -35,42 +35,42 @@ }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, "@babel/code-frame": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.16.0.tgz", - "integrity": "sha1-DfyAMJvuyEEeZecGRhxAiwu5tDE=", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz", + "integrity": "sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts=", "dev": true, "requires": { - "@babel/highlight": "^7.16.0" + "@babel/highlight": "^7.14.5" } }, "@babel/compat-data": { - "version": "7.16.4", - "resolved": "https://registry.npmmirror.com/@babel/compat-data/download/@babel/compat-data-7.16.4.tgz?cache=0&sync_timestamp=1637102873430&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.16.4.tgz", - "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "version": "7.15.0", + "resolved": "https://registry.nlark.com/@babel/compat-data/download/@babel/compat-data-7.15.0.tgz", + "integrity": "sha1-Lbr4uFM0eWyvuw9Xk6kKL8AQsXY=", "dev": true }, "@babel/core": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/core/download/@babel/core-7.16.5.tgz", - "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.5", - "@babel/helper-compilation-targets": "^7.16.3", - "@babel/helper-module-transforms": "^7.16.5", - "@babel/helpers": "^7.16.5", - "@babel/parser": "^7.16.5", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.5", - "@babel/types": "^7.16.0", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/core/download/@babel/core-7.15.4.tgz?cache=0&sync_timestamp=1630618926729&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.15.4.tgz", + "integrity": "sha1-pw0GxYrh/OOcI/jv15+dXriy85c=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -81,105 +81,104 @@ "dependencies": { "semver": { "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "dev": true }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, "@babel/generator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.16.5.tgz", - "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/generator/download/@babel/generator-7.15.4.tgz", + "integrity": "sha1-hayxWaJnymMk+Xk5hpke4gIqBbA=", "dev": true, "requires": { - "@babel/types": "^7.16.0", + "@babel/types": "^7.15.4", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, "dependencies": { "source-map": { "version": "0.5.7", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, "@babel/helper-annotate-as-pure": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz", - "integrity": "sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha1-PQ5DsAxeSf22xX5CFgGnpljV+DU=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz", - "integrity": "sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", + "integrity": "sha1-Ia2BX2CbhO4OMFhnbDPPbRZwUl8=", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.16.0", - "@babel/types": "^7.16.0" + "@babel/helper-explode-assignable-expression": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-compilation-targets": { - "version": "7.16.3", - "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.16.3.tgz", - "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha1-z22U8w++/BORI+J91rAvZa7tt7k=", "dev": true, "requires": { - "@babel/compat-data": "^7.16.0", + "@babel/compat-data": "^7.15.0", "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.17.5", + "browserslist": "^4.16.6", "semver": "^6.3.0" }, "dependencies": { "semver": { "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "dev": true } } }, "@babel/helper-create-class-features-plugin": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.16.5.tgz", - "integrity": "sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.15.4.tgz", + "integrity": "sha1-f5d8F70SpfujY8sZvqCQOUvzfS4=", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-environment-visitor": "^7.16.5", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-member-expression-to-functions": "^7.16.5", - "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/helper-replace-supers": "^7.16.5", - "@babel/helper-split-export-declaration": "^7.16.0" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.16.0.tgz?cache=0&sync_timestamp=1635567015952&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-create-regexp-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-regexp-features-plugin-7.16.0.tgz", - "integrity": "sha1-BrI0jON/zMT14Y3NjXUFPyp8RP8=", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha1-x9WsXpz2IcJgV3Ivt6ikxYiTWMQ=", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-annotate-as-pure": "^7.14.5", "regexpu-core": "^4.7.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.3.0.tgz?cache=0&sync_timestamp=1636799963185&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-define-polyfill-provider%2Fdownload%2F%40babel%2Fhelper-define-polyfill-provider-0.3.0.tgz", - "integrity": "sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==", + "version": "0.2.3", + "resolved": "https://registry.nlark.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha1-BSXt7FCUZTooJojTTYRuTHXpwLY=", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.13.0", @@ -194,201 +193,191 @@ "dependencies": { "semver": { "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "dev": true } } }, - "@babel/helper-environment-visitor": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/download/@babel/helper-environment-visitor-7.16.5.tgz", - "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==", - "dev": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, "@babel/helper-explode-assignable-expression": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.16.0.tgz", - "integrity": "sha1-dTAXM3oV9G+cCfZ0z/EM7pudd3g=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.15.4.tgz", + "integrity": "sha1-+a7J0hnycer5K59WFZjKayaCYAw=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-function-name": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/download/@babel/helper-function-name-7.16.0.tgz", - "integrity": "sha1-t90Hl9ALv+5PB+nE6lsOMMi7FIE=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-function-name/download/@babel/helper-function-name-7.15.4.tgz", + "integrity": "sha1-hFdE2vxDgaSl+2r6bD02+Yp4frw=", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/types": "^7.16.0" + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-get-function-arity": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.16.0.tgz", - "integrity": "sha1-AIjHSGspqctdlIsaHeRttm4InPo=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha1-CYgYk0oTf854tTaj4BWGS+Hih5s=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-hoist-variables": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.16.0.tgz", - "integrity": "sha1-TJAjwvHe9+KP9G/B2802o5vqqBo=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha1-CZk6MlnA6Rj5nRBCYd/fwDPxeN8=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.16.5.tgz", - "integrity": "sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha1-v9NNybupgkpGWLAxfsL9VxpR5u8=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-module-imports": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.16.0.tgz", - "integrity": "sha1-kFOOYLZy7PG0SPX09UM9N+eaPsM=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.15.4.tgz", + "integrity": "sha1-4YAH0jBjLeoZtHhTuYRHbntOED8=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-module-transforms": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.16.5.tgz", - "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.15.4.tgz", + "integrity": "sha1-lizGKaf3+aCC3WLQMH+nX+h4jXw=", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.5", - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-simple-access": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.5", - "@babel/types": "^7.16.0" + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.14.9", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-optimise-call-expression": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.16.0.tgz", - "integrity": "sha1-zs2xRdcMVAlrFWT46fEM19GTszg=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha1-8xClEho7nMUtmrGRIr1ymCLe4XE=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-plugin-utils": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.16.5.tgz", - "integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha1-WsgizpfuxGdBq3ClF5ceRDpwxak=", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.16.5.tgz", - "integrity": "sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.15.4.tgz", + "integrity": "sha1-JjfAcx5MkPv1isWLULK1oZL8lw8=", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-wrap-function": "^7.16.5", - "@babel/types": "^7.16.0" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-wrap-function": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-replace-supers": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.16.5.tgz", - "integrity": "sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.15.4.tgz", + "integrity": "sha1-UqirJrqRjH9t7ihiiwcHGse3NHo=", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.5", - "@babel/helper-member-expression-to-functions": "^7.16.5", - "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/traverse": "^7.16.5", - "@babel/types": "^7.16.0" + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-simple-access": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.16.0.tgz?cache=0&sync_timestamp=1635561435655&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.16.0.tgz", - "integrity": "sha1-IdaidiDjg+N1NM9sELugGab5BRc=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.15.4.tgz", + "integrity": "sha1-rDaJBavx3o6XgUNLY12PhnS8wTs=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.16.0.tgz?cache=0&sync_timestamp=1635567015488&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-skip-transparent-expression-wrappers%2Fdownload%2F%40babel%2Fhelper-skip-transparent-expression-wrappers-7.16.0.tgz", - "integrity": "sha1-DuM4gHAUfDrgUeSH7KPrsOLouwk=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.15.4.tgz", + "integrity": "sha1-cH29uh9K0Po0+RFPyBl67H1dous=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-split-export-declaration": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.16.0.tgz?cache=0&sync_timestamp=1635561440982&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.16.0.tgz", - "integrity": "sha1-KWcvQ2Y+k23zcKrrIr7ds7rsdDg=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha1-rsq5Lc2+9qEKo7YqsgSwhfd24lc=", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.15.7.tgz?cache=0&sync_timestamp=1631920110587&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.15.7.tgz", - "integrity": "sha1-Ig35k7/pBKSmsCq08zhaXr9uI4k=", + "version": "7.14.9", + "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.9.tgz?cache=0&sync_timestamp=1627804408187&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.9.tgz", + "integrity": "sha1-ZlTRcbICT22O4VG/JQlpmRkTHUg=", "dev": true }, "@babel/helper-validator-option": { "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz?cache=0&sync_timestamp=1623281108450&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-option%2Fdownload%2F%40babel%2Fhelper-validator-option-7.14.5.tgz", + "resolved": "https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz", "integrity": "sha1-bnKh//GNXfy4eOHmLxoCHEty1aM=", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.16.5.tgz", - "integrity": "sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.15.4.tgz", + "integrity": "sha1-b3VLJEbPrz1hJSPmq415wnw6Pec=", "dev": true, "requires": { - "@babel/helper-function-name": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.5", - "@babel/types": "^7.16.0" + "@babel/helper-function-name": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helpers": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/helpers/download/@babel/helpers-7.16.5.tgz", - "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/helpers/download/@babel/helpers-7.15.4.tgz", + "integrity": "sha1-X0DwIFCjAnEho89I1JfAXFVer0M=", "dev": true, "requires": { - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.5", - "@babel/types": "^7.16.0" + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/highlight": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/highlight/download/@babel/highlight-7.16.0.tgz", - "integrity": "sha1-bOsysspLj182H7f9gh4/3fShclo=", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz", + "integrity": "sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk=", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -404,7 +393,7 @@ }, "chalk": { "version": "2.4.2", - "resolved": "https://registry.npmmirror.com/chalk/download/chalk-2.4.2.tgz", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1627646614989&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", "dev": true, "requires": { @@ -415,7 +404,7 @@ }, "color-convert": { "version": "1.9.3", - "resolved": "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz", + "resolved": "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz?cache=0&sync_timestamp=1624607968569&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcolor-convert%2Fdownload%2Fcolor-convert-1.9.3.tgz", "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", "dev": true, "requires": { @@ -430,13 +419,13 @@ }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz?cache=0&sync_timestamp=1626716578584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-5.5.0.tgz", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", "dev": true, "requires": { @@ -446,187 +435,178 @@ } }, "@babel/parser": { - "version": "7.16.6", - "resolved": "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.16.6.tgz", - "integrity": "sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.15.4.tgz", + "integrity": "sha1-AvKTG4IlEtOq0X1HWug9p0olWoQ=", "dev": true }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.2", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/download/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz", - "integrity": "sha1-KXf8qbIS2xU8GVZ05Xz6uAdzMYM=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz", - "integrity": "sha1-NYly6qsAb16wgmGDsMk8vK8T4eI=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", + "integrity": "sha1-296rsegPYi2fC1g++ymZYF4KVn4=", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0" + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.16.5.tgz", - "integrity": "sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.15.4.tgz", + "integrity": "sha1-+Cqr6WwTXSzqqRf+ufX8oxY1J34=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-remap-async-to-generator": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.15.4", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.16.5.tgz", - "integrity": "sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.14.5.tgz?cache=0&sync_timestamp=1624608012853&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha1-QNHuFAxbHjGjUPT17tlFCWVZtC4=", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.16.5.tgz", - "integrity": "sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.15.4.tgz", + "integrity": "sha1-PnymEoRTwInotHepn5cMY/wcuNc=", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.16.5.tgz", - "integrity": "sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha1-DGYX30YcDB+P/ztHzVl3I2AQHSw=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.16.5.tgz", - "integrity": "sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha1-260kQxDObM0IMHIWfYzqg6Uvr3Y=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.16.5.tgz", - "integrity": "sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha1-ON5g2zYug6PYyUSshY3fnwwiOes=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.16.5.tgz", - "integrity": "sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha1-bmIpwqmbAqspFfglceDMZGpAxzg=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz", - "integrity": "sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz?cache=0&sync_timestamp=1624607953699&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha1-7jhYnOAOLMWbKZ7D6kBvzToP2vY=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.16.5.tgz", - "integrity": "sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha1-g2Mb8z2aUd8YTCECoGmsDFjAXxg=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.16.5.tgz", - "integrity": "sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==", + "version": "7.14.7", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.14.7.tgz?cache=0&sync_timestamp=1624608013147&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.14.7.tgz", + "integrity": "sha1-WSCis99/eQHfAgWXTAZBsT/Z02M=", "dev": true, "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-compilation-targets": "^7.16.3", - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.5" + "@babel/plugin-transform-parameters": "^7.14.5" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.16.5.tgz", - "integrity": "sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha1-k53W7d7/Omf997PwRLU0cmJZjDw=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.16.5.tgz", - "integrity": "sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha1-+oNlHmCjYOPxN5fu8AuNUZaVtgM=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.16.5.tgz", - "integrity": "sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.14.5.tgz?cache=0&sync_timestamp=1624607954131&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-private-methods%2Fdownload%2F%40babel%2Fplugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha1-N0RklZlrKUXzD1vltg1eKqT1eS0=", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.16.5.tgz", - "integrity": "sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.15.4.tgz", + "integrity": "sha1-VcXjtNAmH9RP5jfj9iTPsPSE4+U=", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-create-class-features-plugin": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.16.5.tgz", - "integrity": "sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha1-D5XuDnV6XWR/N42qDsp+k/qou+g=", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-async-generators": { @@ -649,7 +629,7 @@ }, "@babel/plugin-syntax-class-static-block": { "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.14.5.tgz?cache=0&sync_timestamp=1623281106862&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-syntax-class-static-block%2Fdownload%2F%40babel%2Fplugin-syntax-class-static-block-7.14.5.tgz", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha1-GV34mxRrS3izv4l/16JXyEZZ1AY=", "dev": true, "requires": { @@ -658,7 +638,7 @@ }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz?cache=0&sync_timestamp=1624608013305&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-syntax-dynamic-import%2Fdownload%2F%40babel%2Fplugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", "dev": true, "requires": { @@ -703,7 +683,7 @@ }, "@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=", "dev": true, "requires": { @@ -748,7 +728,7 @@ }, "@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.14.5.tgz?cache=0&sync_timestamp=1623281110076&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-syntax-top-level-await%2Fdownload%2F%40babel%2Fplugin-syntax-top-level-await-7.14.5.tgz", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha1-wc/a3DWmRiQAAfBhOCR7dBw02Uw=", "dev": true, "requires": { @@ -756,365 +736,363 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/download/@babel/plugin-syntax-typescript-7.16.5.tgz", - "integrity": "sha512-/d4//lZ1Vqb4mZ5xTep3dDK888j7BGM/iKqBmndBaoYAFPlPKrGU608VVBz5JeyAb6YQDjRu1UKqj86UhwWVgw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-typescript/download/@babel/plugin-syntax-typescript-7.14.5.tgz", + "integrity": "sha1-uCxs5HGxZbXOQgz5KRTW+0YiVxY=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.16.5.tgz", - "integrity": "sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.14.5.tgz?cache=0&sync_timestamp=1624607954413&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-arrow-functions%2Fdownload%2F%40babel%2Fplugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha1-9xh9lYinaN0IC/TJ/+EX6mL3hio=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.16.5.tgz", - "integrity": "sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha1-cseJCE2PIJSsuUVjOUPvhEPTnmc=", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-remap-async-to-generator": "^7.16.5" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.16.5.tgz", - "integrity": "sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha1-5IZB2ZnUvBV6Z+8zautUvET9OtQ=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.16.5.tgz", - "integrity": "sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==", + "version": "7.15.3", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.15.3.tgz", + "integrity": "sha1-lMgabi/CMLzObvU3rJah5NKzr68=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-classes": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.16.5.tgz", - "integrity": "sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-environment-visitor": "^7.16.5", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-replace-supers": "^7.16.5", - "@babel/helper-split-export-declaration": "^7.16.0", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.15.4.tgz", + "integrity": "sha1-UK7heq9/MyrkTjvOTC4QU01dO/E=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.16.5.tgz", - "integrity": "sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha1-G514mHQg0RIj1BGVRhzEO5dLIE8=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-destructuring": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.16.5.tgz", - "integrity": "sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==", + "version": "7.14.7", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.14.7.tgz?cache=0&sync_timestamp=1624607954836&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-destructuring%2Fdownload%2F%40babel%2Fplugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha1-CtWO034j4iCE0QnxhSYINeVVdXY=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.16.5.tgz", - "integrity": "sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha1-L2v3bka9+AQ7Tn4WzyRTJim6DHo=", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.16.5.tgz", - "integrity": "sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha1-NlpIRIgb3xUB46nwJw5/D5EXeVQ=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.16.5.tgz", - "integrity": "sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha1-UVS43Wo9/m2Qkj1hckvT3uuQtJM=", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-for-of": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.16.5.tgz", - "integrity": "sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.15.4.tgz", + "integrity": "sha1-JcYszicYz7KXFfQW511SY/s2qMI=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-function-name": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.16.5.tgz", - "integrity": "sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha1-6Bxl7LkAdG1/MYAva+0fUtkV1vI=", "dev": true, "requires": { - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-literals": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.16.5.tgz", - "integrity": "sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha1-QdBsf/XU0J489Fh70+zzkwxzD3g=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.16.5.tgz", - "integrity": "sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha1-s5zVISor8jWmF9Mg7CtIvMCRuKc=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.16.5.tgz", - "integrity": "sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha1-T9nOfjQRy4uDhISAtwQdgwBIWPc=", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.16.5.tgz", - "integrity": "sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.15.4.tgz", + "integrity": "sha1-ggEQEkDqu1p2wI72GylU92e2tME=", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-simple-access": "^7.16.0", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.15.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.16.5.tgz", - "integrity": "sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.15.4.tgz", + "integrity": "sha1-tCiQxzSaeMgncZ8dLQzTjH0mgTI=", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-module-transforms": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.16.5.tgz", - "integrity": "sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha1-+2Yt/uaXzOJ0p82lJRkKeQlqpuA=", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.5", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.16.5.tgz", - "integrity": "sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==", + "version": "7.14.9", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.14.9.tgz?cache=0&sync_timestamp=1627804419952&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-named-capturing-groups-regex%2Fdownload%2F%40babel%2Fplugin-transform-named-capturing-groups-regex-7.14.9.tgz", + "integrity": "sha1-xo9cXRLS66ujdi5XwsT2NHpG57I=", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.0" + "@babel/helper-create-regexp-features-plugin": "^7.14.5" } }, "@babel/plugin-transform-new-target": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.16.5.tgz", - "integrity": "sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha1-Mb2ui5JdyEB26/zSqZQBQ67X2/g=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-object-super": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.16.5.tgz", - "integrity": "sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha1-0LX66snphZehYanPeMUn7ZNM3EU=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-replace-supers": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" } }, "@babel/plugin-transform-parameters": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.16.5.tgz", - "integrity": "sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.15.4.tgz", + "integrity": "sha1-XyKFzDFgv0jIUCQycWtIUE0p7WI=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-property-literals": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.16.5.tgz", - "integrity": "sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha1-DduqH4PbNgbxzfSEb6HftHNFizQ=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-regenerator": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.16.5.tgz", - "integrity": "sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha1-lnb9VwftKPUicnxbPAqoVERAsE8=", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.16.5.tgz", - "integrity": "sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha1-xEWJtmHP2++NQwDcx0ad/6kvgwQ=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.16.5.tgz", - "integrity": "sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.14.5.tgz?cache=0&sync_timestamp=1624607955296&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-shorthand-properties%2Fdownload%2F%40babel%2Fplugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha1-l/E4VfFAkzjYyty6ymcK154JGlg=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-spread": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.16.5.tgz", - "integrity": "sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==", + "version": "7.14.6", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.14.6.tgz?cache=0&sync_timestamp=1624607955440&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-spread%2Fdownload%2F%40babel%2Fplugin-transform-spread-7.14.6.tgz", + "integrity": "sha1-a9QOV/596UqpBIUZY7VhZlL3MUQ=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.16.5.tgz", - "integrity": "sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha1-W2F1Qmdei3dhKUOB88KMYz9Arrk=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-template-literals": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.16.5.tgz", - "integrity": "sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.14.5.tgz?cache=0&sync_timestamp=1624607976904&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-template-literals%2Fdownload%2F%40babel%2Fplugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha1-pfK8Izk32EU4hdxza92Nn/q/PZM=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.16.5.tgz", - "integrity": "sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha1-Oa8nOemJor0pG/a1PxaYFCPUV9Q=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-typescript": { - "version": "7.16.1", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/download/@babel/plugin-transform-typescript-7.16.1.tgz?cache=0&sync_timestamp=1635663263183&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fplugin-transform-typescript%2Fdownload%2F%40babel%2Fplugin-transform-typescript-7.16.1.tgz", - "integrity": "sha1-zAZwsoIrAzg1W8Gz0iRqQrgWZAk=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-typescript/download/@babel/plugin-transform-typescript-7.15.4.tgz?cache=0&sync_timestamp=1630620772635&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-typescript%2Fdownload%2F%40babel%2Fplugin-transform-typescript-7.15.4.tgz", + "integrity": "sha1-23oGLc+L5fwJa8DutAoT+/ofolE=", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-create-class-features-plugin": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-typescript": "^7.16.0" + "@babel/plugin-syntax-typescript": "^7.14.5" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.16.5.tgz", - "integrity": "sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha1-nUvSpoHjxdes9PV/qeURddkdDGs=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.16.5.tgz", - "integrity": "sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==", + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha1-TNCbbIQl3YElXHzrP7GDbnQUOC4=", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.16.5" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/preset-env": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/preset-env/download/@babel/preset-env-7.16.5.tgz", - "integrity": "sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/preset-env/download/@babel/preset-env-7.15.4.tgz?cache=0&sync_timestamp=1630619344894&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.15.4.tgz", + "integrity": "sha1-GX5/madVxIjwr0Ea8XnL0Q3m6BU=", "dev": true, "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-compilation-targets": "^7.16.3", - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.2", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-async-generator-functions": "^7.16.5", - "@babel/plugin-proposal-class-properties": "^7.16.5", - "@babel/plugin-proposal-class-static-block": "^7.16.5", - "@babel/plugin-proposal-dynamic-import": "^7.16.5", - "@babel/plugin-proposal-export-namespace-from": "^7.16.5", - "@babel/plugin-proposal-json-strings": "^7.16.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.5", - "@babel/plugin-proposal-numeric-separator": "^7.16.5", - "@babel/plugin-proposal-object-rest-spread": "^7.16.5", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.5", - "@babel/plugin-proposal-optional-chaining": "^7.16.5", - "@babel/plugin-proposal-private-methods": "^7.16.5", - "@babel/plugin-proposal-private-property-in-object": "^7.16.5", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", + "@babel/plugin-proposal-async-generator-functions": "^7.15.4", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.15.4", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.15.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", @@ -1129,59 +1107,59 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.5", - "@babel/plugin-transform-async-to-generator": "^7.16.5", - "@babel/plugin-transform-block-scoped-functions": "^7.16.5", - "@babel/plugin-transform-block-scoping": "^7.16.5", - "@babel/plugin-transform-classes": "^7.16.5", - "@babel/plugin-transform-computed-properties": "^7.16.5", - "@babel/plugin-transform-destructuring": "^7.16.5", - "@babel/plugin-transform-dotall-regex": "^7.16.5", - "@babel/plugin-transform-duplicate-keys": "^7.16.5", - "@babel/plugin-transform-exponentiation-operator": "^7.16.5", - "@babel/plugin-transform-for-of": "^7.16.5", - "@babel/plugin-transform-function-name": "^7.16.5", - "@babel/plugin-transform-literals": "^7.16.5", - "@babel/plugin-transform-member-expression-literals": "^7.16.5", - "@babel/plugin-transform-modules-amd": "^7.16.5", - "@babel/plugin-transform-modules-commonjs": "^7.16.5", - "@babel/plugin-transform-modules-systemjs": "^7.16.5", - "@babel/plugin-transform-modules-umd": "^7.16.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.5", - "@babel/plugin-transform-new-target": "^7.16.5", - "@babel/plugin-transform-object-super": "^7.16.5", - "@babel/plugin-transform-parameters": "^7.16.5", - "@babel/plugin-transform-property-literals": "^7.16.5", - "@babel/plugin-transform-regenerator": "^7.16.5", - "@babel/plugin-transform-reserved-words": "^7.16.5", - "@babel/plugin-transform-shorthand-properties": "^7.16.5", - "@babel/plugin-transform-spread": "^7.16.5", - "@babel/plugin-transform-sticky-regex": "^7.16.5", - "@babel/plugin-transform-template-literals": "^7.16.5", - "@babel/plugin-transform-typeof-symbol": "^7.16.5", - "@babel/plugin-transform-unicode-escapes": "^7.16.5", - "@babel/plugin-transform-unicode-regex": "^7.16.5", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.0", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.4.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.19.1", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.15.3", + "@babel/plugin-transform-classes": "^7.15.4", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.15.4", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.4", + "@babel/plugin-transform-modules-systemjs": "^7.15.4", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.15.4", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.15.4", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.16.0", "semver": "^6.3.0" }, "dependencies": { "semver": { "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "dev": true } } }, "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmmirror.com/@babel/preset-modules/download/@babel/preset-modules-0.1.5.tgz", - "integrity": "sha1-75Odbn8miCfhhBY43G/5VRXhFdk=", + "version": "0.1.4", + "resolved": "https://registry.nlark.com/@babel/preset-modules/download/@babel/preset-modules-0.1.4.tgz", + "integrity": "sha1-Ni8raMZihClw/bXiVP/I/BwuQV4=", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -1192,72 +1170,71 @@ } }, "@babel/preset-typescript": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/preset-typescript/download/@babel/preset-typescript-7.16.5.tgz", - "integrity": "sha512-lmAWRoJ9iOSvs3DqOndQpj8XqXkzaiQs50VG/zESiI9D3eoZhGriU675xNCr0UwvsuXrhMAGvyk1w+EVWF3u8Q==", + "version": "7.15.0", + "resolved": "https://registry.nlark.com/@babel/preset-typescript/download/@babel/preset-typescript-7.15.0.tgz", + "integrity": "sha1-6PymOKGg9k8U4RGff+RQAneECUU=", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-transform-typescript": "^7.16.1" + "@babel/plugin-transform-typescript": "^7.15.0" } }, "@babel/runtime": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/runtime/download/@babel/runtime-7.16.5.tgz", - "integrity": "sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.15.4.tgz", + "integrity": "sha1-/RfRa/34eObdAtGXU6OfqKjZyEo=", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.0.tgz", - "integrity": "sha1-0Wo16/TNdOICCDNW+rId2JNj3dY=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/template/download/@babel/template-7.15.4.tgz", + "integrity": "sha1-UYmNNdzz+qZwxO5q/P1RfuE58ZQ=", "dev": true, "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/traverse": { - "version": "7.16.5", - "resolved": "https://registry.npmmirror.com/@babel/traverse/download/@babel/traverse-7.16.5.tgz", - "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.5", - "@babel/helper-environment-visitor": "^7.16.5", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/parser": "^7.16.5", - "@babel/types": "^7.16.0", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/traverse/download/@babel/traverse-7.15.4.tgz", + "integrity": "sha1-/4UQNnoUS/v/VS2eGOKPPiiJwi0=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.16.0", - "resolved": "https://registry.npmmirror.com/@babel/types/download/@babel/types-7.16.0.tgz", - "integrity": "sha1-2zsxOAT5aq3Qt3bEgj4SetZyibo=", + "version": "7.15.4", + "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.15.4.tgz", + "integrity": "sha1-dO64bb1nSNJ0E5ZVe5hg5X/OCg0=", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" } }, "@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmmirror.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==" + "version": "0.5.3", + "resolved": "https://registry.nlark.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.3.tgz", + "integrity": "sha1-kEIPn5xtOYfxdqGafY52QnGi9V0=" }, "@eslint/eslintrc": { "version": "0.4.3", - "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/download/@eslint/eslintrc-0.4.3.tgz", + "resolved": "https://registry.nlark.com/@eslint/eslintrc/download/@eslint/eslintrc-0.4.3.tgz?cache=0&sync_timestamp=1628296902668&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40eslint%2Feslintrc%2Fdownload%2F%40eslint%2Feslintrc-0.4.3.tgz", "integrity": "sha1-nkKYHvA1vrPdSa3ResuW6P9vOUw=", "dev": true, "requires": { @@ -1273,9 +1250,9 @@ }, "dependencies": { "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmmirror.com/globals/download/globals-13.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-13.12.0.tgz", - "integrity": "sha1-TXM3YDBCMKAILtluIeXFZfiYCJ4=", + "version": "13.11.0", + "resolved": "https://registry.nlark.com/globals/download/globals-13.11.0.tgz", + "integrity": "sha1-QO9njaEX/nvS4o8fqySVG9AlW+c=", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -1283,7 +1260,7 @@ }, "ignore": { "version": "4.0.6", - "resolved": "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz", + "resolved": "https://registry.nlark.com/ignore/download/ignore-4.0.6.tgz", "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", "dev": true } @@ -1291,7 +1268,7 @@ }, "@humanwhocodes/config-array": { "version": "0.5.0", - "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.5.0.tgz", + "resolved": "https://registry.nlark.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.5.0.tgz?cache=0&sync_timestamp=1625263855104&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40humanwhocodes%2Fconfig-array%2Fdownload%2F%40humanwhocodes%2Fconfig-array-0.5.0.tgz", "integrity": "sha1-FAeWfUxu7Nc4j4Os8er00Mbljvk=", "dev": true, "requires": { @@ -1301,21 +1278,170 @@ } }, "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.1.tgz", - "integrity": "sha1-tSBSnsIdjllFoYUd/Rwy6U45/0U=", + "version": "1.2.0", + "resolved": "https://registry.nlark.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.0.tgz?cache=0&sync_timestamp=1625263889550&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40humanwhocodes%2Fobject-schema%2Fdownload%2F%40humanwhocodes%2Fobject-schema-1.2.0.tgz", + "integrity": "sha1-h956+cIxgm/daKxyWPd8Qp4OX88=", "dev": true }, "@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents.3", - "resolved": "https://registry.nlark.com/@nicolo-ribaudo/chokidar-2/download/@nicolo-ribaudo/chokidar-2-2.1.8-no-fsevents.3.tgz", - "integrity": "sha1-Mj1y3SUQPQxPvc6J2t9XSnh7H5s=", + "version": "2.1.8-no-fsevents.2", + "resolved": "https://registry.nlark.com/@nicolo-ribaudo/chokidar-2/download/@nicolo-ribaudo/chokidar-2-2.1.8-no-fsevents.2.tgz", + "integrity": "sha1-4yTAokelVnGS3XGAZHcJ1+L6+Us=", "dev": true, - "optional": true + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^5.1.2", + "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" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/anymatch/download/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.nlark.com/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "dev": true, + "optional": true, + "requires": { + "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" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/fill-range/download/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.nlark.com/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dev": true, + "optional": true, + "requires": { + "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" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } }, "@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz?cache=0&sync_timestamp=1622792718463&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.scandir%2Fdownload%2F%40nodelib%2Ffs.scandir-2.1.5.tgz", + "resolved": "https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz", "integrity": "sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=", "requires": { "@nodelib/fs.stat": "2.0.5", @@ -1324,12 +1450,12 @@ }, "@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz?cache=0&sync_timestamp=1622792655362&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-2.0.5.tgz", + "resolved": "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz", "integrity": "sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=" }, "@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz?cache=0&sync_timestamp=1625770050780&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.walk%2Fdownload%2F%40nodelib%2Ffs.walk-1.2.8.tgz", + "resolved": "https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz", "integrity": "sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po=", "requires": { "@nodelib/fs.scandir": "2.1.5", @@ -1337,18 +1463,18 @@ } }, "@types/eslint": { - "version": "8.2.1", - "resolved": "https://registry.npmmirror.com/@types/eslint/download/@types/eslint-8.2.1.tgz", - "integrity": "sha512-UP9rzNn/XyGwb5RQ2fok+DzcIRIYwc16qTXse5+Smsy8MOIccCChT15KAwnsgQx4PzJkaMq4myFyZ4CL5TjhIQ==", + "version": "7.28.0", + "resolved": "https://registry.nlark.com/@types/eslint/download/@types/eslint-7.28.0.tgz?cache=0&sync_timestamp=1629707594595&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Feslint%2Fdownload%2F%40types%2Feslint-7.28.0.tgz", + "integrity": "sha1-fkHySB0wHGjhT0g/4QsBd1POjVo=", "requires": { "@types/estree": "*", "@types/json-schema": "*" } }, "@types/eslint-scope": { - "version": "3.7.2", - "resolved": "https://registry.npmmirror.com/@types/eslint-scope/download/@types/eslint-scope-3.7.2.tgz", - "integrity": "sha512-TzgYCWoPiTeRg6RQYgtuW7iODtVoKu3RVL72k3WohqhjfaOLK5Mg2T4Tg1o2bSfu0vPkoI48wdQFv5b/Xe04wQ==", + "version": "3.7.1", + "resolved": "https://registry.nlark.com/@types/eslint-scope/download/@types/eslint-scope-3.7.1.tgz", + "integrity": "sha1-jcOQp7T53Z8ShGKe/OmC5BYSEW4=", "requires": { "@types/eslint": "*", "@types/estree": "*" @@ -1356,13 +1482,13 @@ }, "@types/estree": { "version": "0.0.50", - "resolved": "https://registry.npmmirror.com/@types/estree/download/@types/estree-0.0.50.tgz?cache=0&sync_timestamp=1637266061438&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Festree%2Fdownload%2F%40types%2Festree-0.0.50.tgz", + "resolved": "https://registry.nlark.com/@types/estree/download/@types/estree-0.0.50.tgz", "integrity": "sha1-Hgyqk2TT/M0pMcPtlv2+ql1MyoM=" }, "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/@types/glob/download/@types/glob-7.2.0.tgz?cache=0&sync_timestamp=1637265668380&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.2.0.tgz", - "integrity": "sha1-vBtb86qS8lvV3TnzXFc2G9zlsus=", + "version": "7.1.4", + "resolved": "https://registry.nlark.com/@types/glob/download/@types/glob-7.1.4.tgz", + "integrity": "sha1-6lniHS7lxReRTLS8jkFTuZ5WZnI=", "requires": { "@types/minimatch": "*", "@types/node": "*" @@ -1370,41 +1496,41 @@ }, "@types/json-schema": { "version": "7.0.9", - "resolved": "https://registry.npmmirror.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz?cache=0&sync_timestamp=1637265456183&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.9.tgz", + "resolved": "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz", "integrity": "sha1-l+3JA36gw4WFMgsolk3eOznkZg0=" }, "@types/minimatch": { "version": "3.0.5", - "resolved": "https://registry.npmmirror.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.5.tgz", + "resolved": "https://registry.nlark.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz?cache=0&sync_timestamp=1629708337307&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.5.tgz", "integrity": "sha1-EAHMXmo3BLg8I2An538vWOoBD0A=" }, "@types/node": { - "version": "17.0.1", - "resolved": "https://registry.npmmirror.com/@types/node/download/@types/node-17.0.1.tgz", - "integrity": "sha512-NXKvBVUzIbs6ylBwmOwHFkZS2EXCcjnqr8ZCRNaXBkHAf+3mn/rPcJxwrzuc6movh8fxQAsUUfYklJ/EG+hZqQ==" + "version": "16.7.10", + "resolved": "https://registry.nlark.com/@types/node/download/@types/node-16.7.10.tgz", + "integrity": "sha1-eqcyzEc0HBKha31WL1GcI4O21Pw=" }, "@types/source-list-map": { "version": "0.1.2", - "resolved": "https://registry.npmmirror.com/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz", + "resolved": "https://registry.nlark.com/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz", "integrity": "sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk=" }, "@types/tapable": { "version": "1.0.8", - "resolved": "https://registry.npmmirror.com/@types/tapable/download/@types/tapable-1.0.8.tgz", + "resolved": "https://registry.nlark.com/@types/tapable/download/@types/tapable-1.0.8.tgz?cache=0&sync_timestamp=1629709441343&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Ftapable%2Fdownload%2F%40types%2Ftapable-1.0.8.tgz", "integrity": "sha1-uUpDkchWZse3Mpn9OtedT6pDUxA=" }, "@types/uglify-js": { "version": "3.13.1", - "resolved": "https://registry.npmmirror.com/@types/uglify-js/download/@types/uglify-js-3.13.1.tgz?cache=0&sync_timestamp=1637270388794&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fuglify-js%2Fdownload%2F%40types%2Fuglify-js-3.13.1.tgz", + "resolved": "https://registry.nlark.com/@types/uglify-js/download/@types/uglify-js-3.13.1.tgz?cache=0&sync_timestamp=1629709602784&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fuglify-js%2Fdownload%2F%40types%2Fuglify-js-3.13.1.tgz", "integrity": "sha1-XoienoHpQkXHW2RQYA4cXqKHiuo=", "requires": { "source-map": "^0.6.1" } }, "@types/webpack": { - "version": "4.41.32", - "resolved": "https://registry.npmmirror.com/@types/webpack/download/@types/webpack-4.41.32.tgz", - "integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==", + "version": "4.41.30", + "resolved": "https://registry.nlark.com/@types/webpack/download/@types/webpack-4.41.30.tgz", + "integrity": "sha1-/T220NQeFFqO7q/NPEp8zekGjdw=", "requires": { "@types/node": "*", "@types/tapable": "^1", @@ -1416,7 +1542,7 @@ }, "@types/webpack-sources": { "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/@types/webpack-sources/download/@types/webpack-sources-3.2.0.tgz", + "resolved": "https://registry.nlark.com/@types/webpack-sources/download/@types/webpack-sources-3.2.0.tgz?cache=0&sync_timestamp=1629709756861&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fwebpack-sources%2Fdownload%2F%40types%2Fwebpack-sources-3.2.0.tgz", "integrity": "sha1-FtdZuglsKJA0smVT0t8b9FJI04s=", "requires": { "@types/node": "*", @@ -1426,47 +1552,47 @@ "dependencies": { "source-map": { "version": "0.7.3", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.7.3.tgz", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.7.3.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.7.3.tgz", "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=" } } }, "@typescript-eslint/parser": { - "version": "4.33.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.33.0.tgz", - "integrity": "sha1-3+eXVw2WlOVgUo0Y7srYbIx0SJk=", + "version": "4.30.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.30.0.tgz", + "integrity": "sha1-ar1yD2a9eQ8+DoDDvncYDI/LGS0=", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "debug": "^4.3.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.33.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.33.0.tgz", - "integrity": "sha1-045JKA2YPody4pEhz4xukiHygKM=", + "version": "4.30.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.30.0.tgz?cache=0&sync_timestamp=1630474454313&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fscope-manager%2Fdownload%2F%40typescript-eslint%2Fscope-manager-4.30.0.tgz", + "integrity": "sha1-Gj/7s4WxoGvoXNUWWiIyTwaahe4=", "dev": true, "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0" } }, "@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/download/@typescript-eslint/types-4.33.0.tgz", - "integrity": "sha1-oeWQNqO1OuhDDO6/KpGdx/mvbXI=", + "version": "4.30.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/types/download/@typescript-eslint/types-4.30.0.tgz?cache=0&sync_timestamp=1630474457027&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Ftypes%2Fdownload%2F%40typescript-eslint%2Ftypes-4.30.0.tgz", + "integrity": "sha1-+52bA1hCbxhof7qC6wsPhpeAIE8=", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.33.0.tgz", - "integrity": "sha1-DftRwpCPaMXAjYKu/q8WahfCRgk=", + "version": "4.30.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.30.0.tgz?cache=0&sync_timestamp=1630474515380&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-4.30.0.tgz", + "integrity": "sha1-rleDPacqdT9IRs0wU3WMdxZwwqw=", "dev": true, "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -1497,12 +1623,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.33.0.tgz", - "integrity": "sha1-KiL3ekFgQom3oYZYbp7EjKku8d0=", + "version": "4.30.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.30.0.tgz", + "integrity": "sha1-pHxicvxxsMYn0WkfaOrs9K1xRF4=", "dev": true, "requires": { - "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/types": "4.30.0", "eslint-visitor-keys": "^2.0.0" } }, @@ -1514,7 +1640,7 @@ }, "@webassemblyjs/ast": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.11.1.tgz?cache=0&sync_timestamp=1625473459015&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.11.1.tgz?cache=0&sync_timestamp=1625473420080&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.11.1.tgz", "integrity": "sha1-K/12fq4aaZb0Mv9+jX/HVnnAtqc=", "requires": { "@webassemblyjs/helper-numbers": "1.11.1", @@ -1533,12 +1659,12 @@ }, "@webassemblyjs/helper-buffer": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.11.1.tgz?cache=0&sync_timestamp=1625473344792&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-buffer%2Fdownload%2F%40webassemblyjs%2Fhelper-buffer-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.11.1.tgz", "integrity": "sha1-gyqQDrREiEzemnytRn+BUA9eWrU=" }, "@webassemblyjs/helper-numbers": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/helper-numbers/download/@webassemblyjs/helper-numbers-1.11.1.tgz?cache=0&sync_timestamp=1625473485159&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-numbers%2Fdownload%2F%40webassemblyjs%2Fhelper-numbers-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-numbers/download/@webassemblyjs/helper-numbers-1.11.1.tgz", "integrity": "sha1-ZNgdohn7u6HjvRv8dPboxOEKYq4=", "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.1", @@ -1572,7 +1698,7 @@ }, "@webassemblyjs/leb128": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.11.1.tgz?cache=0&sync_timestamp=1625473342433&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.11.1.tgz", "integrity": "sha1-zoFLRVdOk9drrh+yZEq5zdlSeqU=", "requires": { "@xtuc/long": "4.2.2" @@ -1585,7 +1711,7 @@ }, "@webassemblyjs/wasm-edit": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.11.1.tgz?cache=0&sync_timestamp=1625473463093&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.11.1.tgz?cache=0&sync_timestamp=1625473422937&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.11.1.tgz", "integrity": "sha1-rSBuv0v5WgWM6YgKjAksXeyBk9Y=", "requires": { "@webassemblyjs/ast": "1.11.1", @@ -1600,7 +1726,7 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.11.1.tgz?cache=0&sync_timestamp=1625473361759&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.11.1.tgz?cache=0&sync_timestamp=1625473464969&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.11.1.tgz", "integrity": "sha1-hsXqMEhJdZt9iMR6MvTwOa48j3Y=", "requires": { "@webassemblyjs/ast": "1.11.1", @@ -1623,7 +1749,7 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.11.1", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.11.1.tgz?cache=0&sync_timestamp=1625473417746&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.11.1.tgz", "integrity": "sha1-hspzRTT0F+m9PGfHocddi+QfsZk=", "requires": { "@webassemblyjs/ast": "1.11.1", @@ -1636,7 +1762,7 @@ }, "@webassemblyjs/wast-printer": { "version": "1.11.1", - "resolved": "https://registry.nlark.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.11.1.tgz", + "resolved": "https://registry.nlark.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.11.1.tgz?cache=0&sync_timestamp=1625473465901&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwast-printer%2Fdownload%2F%40webassemblyjs%2Fwast-printer-1.11.1.tgz", "integrity": "sha1-0Mc77ajuxUJvEK6O9VzuXnCEwvA=", "requires": { "@webassemblyjs/ast": "1.11.1", @@ -1644,22 +1770,22 @@ } }, "@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/@webpack-cli/configtest/download/@webpack-cli/configtest-1.1.0.tgz?cache=0&sync_timestamp=1633553239176&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40webpack-cli%2Fconfigtest%2Fdownload%2F%40webpack-cli%2Fconfigtest-1.1.0.tgz", - "integrity": "sha1-g0K+8Lrft9/TtXbyV0q4DHJb4EM=" + "version": "1.0.4", + "resolved": "https://registry.nlark.com/@webpack-cli/configtest/download/@webpack-cli/configtest-1.0.4.tgz", + "integrity": "sha1-8DzmMRwIg6g9BFaeLAPGI4MW0qo=" }, "@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/@webpack-cli/info/download/@webpack-cli/info-1.4.0.tgz?cache=0&sync_timestamp=1633553269200&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40webpack-cli%2Finfo%2Fdownload%2F%40webpack-cli%2Finfo-1.4.0.tgz", - "integrity": "sha1-uRecMierCcu7FJqnM0dfz5lDAiM=", + "version": "1.3.0", + "resolved": "https://registry.nlark.com/@webpack-cli/info/download/@webpack-cli/info-1.3.0.tgz", + "integrity": "sha1-nXijEQGpYJl6Ss1B/9m5MAYn/is=", "requires": { "envinfo": "^7.7.3" } }, "@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmmirror.com/@webpack-cli/serve/download/@webpack-cli/serve-1.6.0.tgz?cache=0&sync_timestamp=1633553365700&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40webpack-cli%2Fserve%2Fdownload%2F%40webpack-cli%2Fserve-1.6.0.tgz", - "integrity": "sha1-LCdaoFyJXszrv8NM+yI8bovVkaI=" + "version": "1.5.2", + "resolved": "https://registry.nlark.com/@webpack-cli/serve/download/@webpack-cli/serve-1.5.2.tgz", + "integrity": "sha1-6lhLY3/2PFpHf28hYEtaIFtyyew=" }, "@xtuc/ieee754": { "version": "1.2.0", @@ -1672,24 +1798,24 @@ "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=" }, "acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmmirror.com/acorn/download/acorn-8.6.0.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==" + "version": "8.4.1", + "resolved": "https://registry.nlark.com/acorn/download/acorn-8.4.1.tgz", + "integrity": "sha1-VsNiUfx8q8cJatwY8Fr+gUMhoow=" }, "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmmirror.com/acorn-import-assertions/download/acorn-import-assertions-1.8.0.tgz?cache=0&sync_timestamp=1633349660084&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn-import-assertions%2Fdownload%2Facorn-import-assertions-1.8.0.tgz", - "integrity": "sha1-uitZOc5iwjjbbZPYHJsRGym4Vek=" + "version": "1.7.6", + "resolved": "https://registry.nlark.com/acorn-import-assertions/download/acorn-import-assertions-1.7.6.tgz", + "integrity": "sha1-WA4//K5ncO6+7HbDuXIyAenQH3g=" }, "acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz?cache=0&sync_timestamp=1625793240297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.2.tgz", + "resolved": "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz?cache=0&sync_timestamp=1625793705701&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.2.tgz", "integrity": "sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=", "dev": true }, "ajv": { "version": "6.12.6", - "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz", + "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz", "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", "requires": { "fast-deep-equal": "^3.1.1", @@ -1700,7 +1826,7 @@ }, "ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmmirror.com/ajv-keywords/download/ajv-keywords-3.5.2.tgz?cache=0&sync_timestamp=1637524372087&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv-keywords%2Fdownload%2Fajv-keywords-3.5.2.tgz", + "resolved": "https://registry.nlark.com/ajv-keywords/download/ajv-keywords-3.5.2.tgz", "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=" }, "ansi-colors": { @@ -1710,9 +1836,9 @@ "dev": true }, "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz", - "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "version": "5.0.0", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", "dev": true }, "ansi-styles": { @@ -1734,7 +1860,7 @@ }, "arg": { "version": "4.1.3", - "resolved": "https://registry.nlark.com/arg/download/arg-4.1.3.tgz?cache=0&sync_timestamp=1629166537485&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farg%2Fdownload%2Farg-4.1.3.tgz", + "resolved": "https://registry.nlark.com/arg/download/arg-4.1.3.tgz?cache=0&sync_timestamp=1629166495886&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farg%2Fdownload%2Farg-4.1.3.tgz", "integrity": "sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk=", "dev": true }, @@ -1747,6 +1873,27 @@ "sprintf-js": "~1.0.2" } }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/arr-diff/download/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "optional": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/arr-flatten/download/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "dev": true, + "optional": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/arr-union/download/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "optional": true + }, "array-union": { "version": "1.0.2", "resolved": "https://registry.nlark.com/array-union/download/array-union-1.0.2.tgz", @@ -1757,24 +1904,52 @@ }, "array-uniq": { "version": "1.0.3", - "resolved": "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz?cache=0&sync_timestamp=1622605321175&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farray-uniq%2Fdownload%2Farray-uniq-1.0.3.tgz", + "resolved": "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.nlark.com/array-unique/download/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "optional": true + }, "assertion-error": { "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/assertion-error/download/assertion-error-1.1.0.tgz", + "resolved": "https://registry.nlark.com/assertion-error/download/assertion-error-1.1.0.tgz", "integrity": "sha1-5gtrDo8wG9l+U3UhW9pAbIURjAs=", "dev": true }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/assign-symbols/download/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "optional": true + }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.nlark.com/astral-regex/download/astral-regex-2.0.0.tgz", "integrity": "sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=", "dev": true }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/async-each/download/async-each-1.0.3.tgz", + "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", + "dev": true, + "optional": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", + "dev": true, + "optional": true + }, "babel-plugin-dynamic-import-node": { "version": "2.3.3", - "resolved": "https://registry.nlark.com/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz", + "resolved": "https://registry.nlark.com/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz?cache=0&sync_timestamp=1624608029217&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.3.tgz", "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=", "dev": true, "requires": { @@ -1782,41 +1957,41 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.3.0.tgz?cache=0&sync_timestamp=1636800035591&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-corejs2%2Fdownload%2Fbabel-plugin-polyfill-corejs2-0.3.0.tgz", - "integrity": "sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==", + "version": "0.2.2", + "resolved": "https://registry.nlark.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha1-6RJHheb9lPlLYYp5VOVpMFO/Uyc=", "dev": true, "requires": { "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.0", + "@babel/helper-define-polyfill-provider": "^0.2.2", "semver": "^6.1.1" }, "dependencies": { "semver": { "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "dev": true } } }, "babel-plugin-polyfill-corejs3": { - "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.4.0.tgz?cache=0&sync_timestamp=1636800035753&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-corejs3%2Fdownload%2Fbabel-plugin-polyfill-corejs3-0.4.0.tgz", - "integrity": "sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==", + "version": "0.2.4", + "resolved": "https://registry.nlark.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.2.4.tgz", + "integrity": "sha1-aMuBMWsOjZ1yGpLgAJ7G7NTNLKk=", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.0", - "core-js-compat": "^3.18.0" + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.14.0" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.3.0.tgz?cache=0&sync_timestamp=1636800035395&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-regenerator%2Fdownload%2Fbabel-plugin-polyfill-regenerator-0.3.0.tgz", - "integrity": "sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==", + "version": "0.2.2", + "resolved": "https://registry.nlark.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha1-sxDI1kKsraNIwfo7Pmzg6FG+4Hc=", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.0" + "@babel/helper-define-polyfill-provider": "^0.2.2" } }, "balanced-match": { @@ -1824,16 +1999,77 @@ "resolved": "https://registry.nlark.com/balanced-match/download/balanced-match-1.0.2.tgz", "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.nlark.com/base/download/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "dev": true, + "optional": true, + "requires": { + "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" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "big.js": { "version": "5.2.2", - "resolved": "https://registry.npmmirror.com/big.js/download/big.js-5.2.2.tgz", + "resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz", "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=" }, "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz", - "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", - "dev": true + "version": "1.13.1", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", @@ -1859,25 +2095,43 @@ "dev": true }, "browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmmirror.com/browserslist/download/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", + "version": "4.16.8", + "resolved": "https://registry.nlark.com/browserslist/download/browserslist-4.16.8.tgz?cache=0&sync_timestamp=1629302575089&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.8.tgz", + "integrity": "sha1-y4aLC1VPE3um4z3g7P8u2kA8T7A=", "requires": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", + "caniuse-lite": "^1.0.30001251", + "colorette": "^1.3.0", + "electron-to-chromium": "^1.3.811", "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" + "node-releases": "^1.1.75" } }, "buffer-from": { "version": "1.1.2", - "resolved": "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.2.tgz", + "resolved": "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.2.tgz?cache=0&sync_timestamp=1627578361955&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbuffer-from%2Fdownload%2Fbuffer-from-1.1.2.tgz", "integrity": "sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U=" }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/cache-base/download/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "dev": true, + "optional": true, + "requires": { + "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" + } + }, "call-bind": { "version": "1.0.2", - "resolved": "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz?cache=0&sync_timestamp=1622604538146&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.2.tgz", + "resolved": "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz", "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", "dev": true, "requires": { @@ -1887,24 +2141,24 @@ }, "callsites": { "version": "3.1.0", - "resolved": "https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz", + "resolved": "https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz?cache=0&sync_timestamp=1628464907898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcallsites%2Fdownload%2Fcallsites-3.1.0.tgz", "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", "dev": true }, "camelcase": { - "version": "6.2.1", - "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-6.2.1.tgz?cache=0&sync_timestamp=1636945122112&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-6.2.1.tgz", - "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==", + "version": "6.2.0", + "resolved": "https://registry.nlark.com/camelcase/download/camelcase-6.2.0.tgz", + "integrity": "sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk=", "dev": true }, "caniuse-lite": { - "version": "1.0.30001291", - "resolved": "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001291.tgz", - "integrity": "sha512-roMV5V0HNGgJ88s42eE70sstqGW/gwFndosYrikHthw98N5tLnOTxFqMLQjZVRxTWFlJ4rn+MsgXrR7MDPY4jA==" + "version": "1.0.30001252", + "resolved": "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001252.tgz", + "integrity": "sha1-yxbk49r+lI/EqbszB66gVLkSAZo=" }, "chai": { "version": "4.3.4", - "resolved": "https://registry.nlark.com/chai/download/chai-4.3.4.tgz", + "resolved": "https://registry.nlark.com/chai/download/chai-4.3.4.tgz?cache=0&sync_timestamp=1624607982671&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchai%2Fdownload%2Fchai-4.3.4.tgz", "integrity": "sha1-tV5lWzHh6scJm+TAjCGWT84ubEk=", "dev": true, "requires": { @@ -1918,7 +2172,7 @@ }, "chalk": { "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/download/chalk-4.1.2.tgz", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646614989&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", "requires": { "ansi-styles": "^4.1.0", @@ -1933,7 +2187,7 @@ }, "chokidar": { "version": "3.5.2", - "resolved": "https://registry.npmmirror.com/chokidar/download/chokidar-3.5.2.tgz", + "resolved": "https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz", "integrity": "sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=", "dev": true, "optional": true, @@ -1946,6 +2200,35 @@ "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" + }, + "dependencies": { + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz", + "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", + "dev": true, + "optional": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.nlark.com/readdirp/download/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + } } }, "chrome-trace-event": { @@ -1953,9 +2236,34 @@ "resolved": "https://registry.nlark.com/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz", "integrity": "sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw=" }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.nlark.com/class-utils/download/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "dev": true, + "optional": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, "clean-webpack-plugin": { "version": "3.0.0", - "resolved": "https://registry.nlark.com/clean-webpack-plugin/download/clean-webpack-plugin-3.0.0.tgz", + "resolved": "https://registry.nlark.com/clean-webpack-plugin/download/clean-webpack-plugin-3.0.0.tgz?cache=0&sync_timestamp=1630504808165&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fclean-webpack-plugin%2Fdownload%2Fclean-webpack-plugin-3.0.0.tgz", "integrity": "sha1-qZ2Ow0wcYopFQVZ6p7RXRGRgxis=", "requires": { "@types/webpack": "^4.4.31", @@ -1983,11 +2291,22 @@ "shallow-clone": "^3.0.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "requires": { + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/collection-visit/download/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "optional": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz?cache=0&sync_timestamp=1624607968569&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcolor-convert%2Fdownload%2Fcolor-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "requires": { "color-name": "~1.1.4" } }, @@ -1997,14 +2316,21 @@ "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" }, "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmmirror.com/colorette/download/colorette-2.0.16.tgz", - "integrity": "sha1-cTua+E/bAAE58EVGvUqT9ipQhdo=" + "version": "1.3.0", + "resolved": "https://registry.nlark.com/colorette/download/colorette-1.3.0.tgz", + "integrity": "sha1-/0XS8O2yRAadO3cq3rBP7TjQoK8=" }, "commander": { "version": "2.20.3", - "resolved": "https://registry.npmmirror.com/commander/download/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "resolved": "https://registry.nlark.com/commander/download/commander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/component-emitter/download/component-emitter-1.3.0.tgz", + "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", @@ -2013,7 +2339,7 @@ }, "convert-source-map": { "version": "1.8.0", - "resolved": "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz", + "resolved": "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz?cache=0&sync_timestamp=1624608042394&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.8.0.tgz", "integrity": "sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k=", "dev": true, "requires": { @@ -2028,9 +2354,16 @@ } } }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/copy-descriptor/download/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "optional": true + }, "copy-webpack-plugin": { "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/copy-webpack-plugin/download/copy-webpack-plugin-8.1.1.tgz", + "resolved": "https://registry.nlark.com/copy-webpack-plugin/download/copy-webpack-plugin-8.1.1.tgz", "integrity": "sha1-P2l+FidkklwvDSNfOAZ2ElUI/SY=", "requires": { "fast-glob": "^3.2.5", @@ -2063,18 +2396,18 @@ } }, "core-js-compat": { - "version": "3.20.0", - "resolved": "https://registry.npmmirror.com/core-js-compat/download/core-js-compat-3.20.0.tgz", - "integrity": "sha512-relrah5h+sslXssTTOkvqcC/6RURifB0W5yhYBdBkaPYa5/2KBMiog3XiD+s3TwEHWxInWVv4Jx2/Lw0vng+IQ==", + "version": "3.17.2", + "resolved": "https://registry.nlark.com/core-js-compat/download/core-js-compat-3.17.2.tgz?cache=0&sync_timestamp=1630603307523&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcore-js-compat%2Fdownload%2Fcore-js-compat-3.17.2.tgz", + "integrity": "sha1-9GGrlQwKD/7fwyfevyi35RiVCTY=", "dev": true, "requires": { - "browserslist": "^4.19.1", + "browserslist": "^4.16.8", "semver": "7.0.0" }, "dependencies": { "semver": { "version": "7.0.0", - "resolved": "https://registry.nlark.com/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz", "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=", "dev": true } @@ -2093,7 +2426,7 @@ }, "cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.nlark.com/cross-spawn/download/cross-spawn-7.0.3.tgz", + "resolved": "https://registry.nlark.com/cross-spawn/download/cross-spawn-7.0.3.tgz?cache=0&sync_timestamp=1624608055915&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcross-spawn%2Fdownload%2Fcross-spawn-7.0.3.tgz", "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", "requires": { "path-key": "^3.1.0", @@ -2107,23 +2440,30 @@ "integrity": "sha1-64eANlx9KxURB4+0keZHl4DzrZU=" }, "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmmirror.com/debug/download/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "version": "4.3.2", + "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374653719&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", + "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", "requires": { "ms": "2.1.2" } }, "decamelize": { "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/decamelize/download/decamelize-4.0.0.tgz?cache=0&sync_timestamp=1633055728451&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdecamelize%2Fdownload%2Fdecamelize-4.0.0.tgz", + "resolved": "https://registry.nlark.com/decamelize/download/decamelize-4.0.0.tgz", "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=", "dev": true }, "deccjsunit": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/deccjsunit/download/deccjsunit-1.0.3.tgz", - "integrity": "sha1-AcMxIKje4SsaoQiZGE14pszfiKI=" + "version": "1.0.4", + "resolved": "https://registry.nlark.com/deccjsunit/download/deccjsunit-1.0.4.tgz", + "integrity": "sha512-fkOzBz9uNKElrm6VGrisXLbAmLshcqBoqYAyo2+v9uceAkv75xh9dWAUmnZoWE/v4ujqYHylaudON1nj+LPuPA==" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/decode-uri-component/download/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "optional": true }, "deep-eql": { "version": "3.0.1", @@ -2135,23 +2475,68 @@ } }, "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.nlark.com/deep-is/download/deep-is-0.1.4.tgz", - "integrity": "sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE=", + "version": "0.1.3", + "resolved": "https://registry.nlark.com/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, "define-properties": { "version": "1.1.3", - "resolved": "https://registry.nlark.com/define-properties/download/define-properties-1.1.3.tgz?cache=0&sync_timestamp=1622604538602&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdefine-properties%2Fdownload%2Fdefine-properties-1.1.3.tgz", + "resolved": "https://registry.nlark.com/define-properties/download/define-properties-1.1.3.tgz", "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", "dev": true, "requires": { "object-keys": "^1.0.12" } }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/define-property/download/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "del": { "version": "4.1.1", - "resolved": "https://registry.nlark.com/del/download/del-4.1.1.tgz?cache=0&sync_timestamp=1622605333317&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdel%2Fdownload%2Fdel-4.1.1.tgz", + "resolved": "https://registry.nlark.com/del/download/del-4.1.1.tgz", "integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=", "requires": { "@types/glob": "^7.1.1", @@ -2165,7 +2550,7 @@ }, "diff": { "version": "5.0.0", - "resolved": "https://registry.nlark.com/diff/download/diff-5.0.0.tgz?cache=0&sync_timestamp=1622605328812&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdiff%2Fdownload%2Fdiff-5.0.0.tgz", + "resolved": "https://registry.nlark.com/diff/download/diff-5.0.0.tgz?cache=0&sync_timestamp=1624608104914&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdiff%2Fdownload%2Fdiff-5.0.0.tgz", "integrity": "sha1-ftatdthZ0DB4fsNYVfWx2vMdhSs=", "dev": true }, @@ -2187,13 +2572,13 @@ } }, "electron-to-chromium": { - "version": "1.4.24", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.4.24.tgz", - "integrity": "sha512-erwx5r69B/WFfFuF2jcNN0817BfDBdC4765kQ6WltOMuwsimlQo3JTEq0Cle+wpHralwdeX3OfAtw/mHxPK0Wg==" + "version": "1.3.828", + "resolved": "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.828.tgz", + "integrity": "sha1-De6XW1v0XWNXryZvNQ/NtnNqXkA=" }, "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1632811716250&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz", + "resolved": "https://registry.nlark.com/emoji-regex/download/emoji-regex-8.0.0.tgz", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", "dev": true }, @@ -2204,7 +2589,7 @@ }, "enhanced-resolve": { "version": "4.5.0", - "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz?cache=0&sync_timestamp=1632130769099&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.5.0.tgz", + "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz", "integrity": "sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew=", "requires": { "graceful-fs": "^4.1.2", @@ -2235,9 +2620,9 @@ } }, "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmmirror.com/es-module-lexer/download/es-module-lexer-0.9.3.tgz?cache=0&sync_timestamp=1633645560577&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-module-lexer%2Fdownload%2Fes-module-lexer-0.9.3.tgz", - "integrity": "sha1-bxPbAMw4QXE32vdDZvU1yOtDjxk=" + "version": "0.7.1", + "resolved": "https://registry.nlark.com/es-module-lexer/download/es-module-lexer-0.7.1.tgz", + "integrity": "sha1-wsjg9G8t8GJ0za8N0/OzPgoLJn0=" }, "escalade": { "version": "3.1.1", @@ -2252,8 +2637,8 @@ }, "eslint": { "version": "7.32.0", - "resolved": "https://registry.npmmirror.com/eslint/download/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "resolved": "https://registry.nlark.com/eslint/download/eslint-7.32.0.tgz", + "integrity": "sha1-xtMooUvj+wjI0dIeEsAv23oqgS0=", "dev": true, "requires": { "@babel/code-frame": "7.12.11", @@ -2300,7 +2685,7 @@ "dependencies": { "@babel/code-frame": { "version": "7.12.11", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz", + "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz", "integrity": "sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8=", "dev": true, "requires": { @@ -2314,9 +2699,9 @@ "dev": true }, "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmmirror.com/globals/download/globals-13.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-13.12.0.tgz", - "integrity": "sha1-TXM3YDBCMKAILtluIeXFZfiYCJ4=", + "version": "13.11.0", + "resolved": "https://registry.nlark.com/globals/download/globals-13.11.0.tgz", + "integrity": "sha1-QO9njaEX/nvS4o8fqySVG9AlW+c=", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -2324,7 +2709,7 @@ }, "ignore": { "version": "4.0.6", - "resolved": "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz", + "resolved": "https://registry.nlark.com/ignore/download/ignore-4.0.6.tgz", "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", "dev": true } @@ -2332,7 +2717,7 @@ }, "eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1637466831846&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz", + "resolved": "https://registry.nlark.com/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1627061754690&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz", "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", "requires": { "esrecurse": "^4.3.0", @@ -2341,7 +2726,7 @@ }, "eslint-utils": { "version": "2.1.0", - "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz?cache=0&sync_timestamp=1622605293603&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-2.1.0.tgz", + "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz?cache=0&sync_timestamp=1624608042629&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-2.1.0.tgz", "integrity": "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=", "dev": true, "requires": { @@ -2350,7 +2735,7 @@ "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1636378395014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz", + "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", "dev": true } @@ -2358,13 +2743,13 @@ }, "eslint-visitor-keys": { "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz?cache=0&sync_timestamp=1636378395014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-2.1.0.tgz", + "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha1-9lMoJZMFknOSyTjtROsKXJsr0wM=", "dev": true }, "espree": { "version": "7.3.1", - "resolved": "https://registry.npmmirror.com/espree/download/espree-7.3.1.tgz", + "resolved": "https://registry.nlark.com/espree/download/espree-7.3.1.tgz?cache=0&sync_timestamp=1625021052689&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fespree%2Fdownload%2Fespree-7.3.1.tgz", "integrity": "sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y=", "dev": true, "requires": { @@ -2375,13 +2760,13 @@ "dependencies": { "acorn": { "version": "7.4.1", - "resolved": "https://registry.npmmirror.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz", + "resolved": "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz", "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", "dev": true }, "eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1636378395014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz", + "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", "dev": true } @@ -2403,9 +2788,9 @@ }, "dependencies": { "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-5.3.0.tgz", - "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=", + "version": "5.2.0", + "resolved": "https://registry.nlark.com/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1624607974054&other_urls=https%3A%2F%2Fregistry.nlark.com%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", "dev": true } } @@ -2419,15 +2804,15 @@ }, "dependencies": { "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-5.3.0.tgz", - "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=" + "version": "5.2.0", + "resolved": "https://registry.nlark.com/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1624607974054&other_urls=https%3A%2F%2Fregistry.nlark.com%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=" } } }, "estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", + "resolved": "https://registry.nlark.com/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1624607974054&other_urls=https%3A%2F%2Fregistry.nlark.com%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=" }, "esutils": { @@ -2438,12 +2823,12 @@ }, "events": { "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/events/download/events-3.3.0.tgz?cache=0&sync_timestamp=1636449286836&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fevents%2Fdownload%2Fevents-3.3.0.tgz", + "resolved": "https://registry.nlark.com/events/download/events-3.3.0.tgz", "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=" }, "execa": { "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/execa/download/execa-5.1.1.tgz?cache=0&sync_timestamp=1637147236741&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexeca%2Fdownload%2Fexeca-5.1.1.tgz", + "resolved": "https://registry.nlark.com/execa/download/execa-5.1.1.tgz", "integrity": "sha1-+ArZy/Qpj3vR1MlVXCHpN0HEEd0=", "requires": { "cross-spawn": "^7.0.3", @@ -2457,14 +2842,163 @@ "strip-final-newline": "^2.0.0" } }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.nlark.com/expand-brackets/download/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "optional": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1625374653719&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "optional": true + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "optional": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "optional": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/extglob/download/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "dev": true, + "optional": true, + "requires": { + "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" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.nlark.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", + "resolved": "https://registry.nlark.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz?cache=0&sync_timestamp=1624607945641&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.3.tgz", "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=" }, "fast-glob": { "version": "3.2.7", - "resolved": "https://registry.npmmirror.com/fast-glob/download/fast-glob-3.2.7.tgz", + "resolved": "https://registry.nlark.com/fast-glob/download/fast-glob-3.2.7.tgz?cache=0&sync_timestamp=1625772623128&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.7.tgz", "integrity": "sha1-/Wy3otfpqnp4RhEehaGW1rL3ZqE=", "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -2487,13 +3021,13 @@ }, "fastest-levenshtein": { "version": "1.0.12", - "resolved": "https://registry.npmmirror.com/fastest-levenshtein/download/fastest-levenshtein-1.0.12.tgz", + "resolved": "https://registry.nlark.com/fastest-levenshtein/download/fastest-levenshtein-1.0.12.tgz", "integrity": "sha1-mZD306iMxan/0fF0V0UlFwDUl+I=" }, "fastq": { - "version": "1.13.0", - "resolved": "https://registry.nlark.com/fastq/download/fastq-1.13.0.tgz", - "integrity": "sha1-YWdg+Ip1Jr38WWt8q4wYk4w2uYw=", + "version": "1.12.0", + "resolved": "https://registry.nlark.com/fastq/download/fastq-1.12.0.tgz?cache=0&sync_timestamp=1629360956808&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffastq%2Fdownload%2Ffastq-1.12.0.tgz", + "integrity": "sha1-7XtqtdYjk/ssxZHIU2UqXDGL95Q=", "requires": { "reusify": "^1.0.4" } @@ -2517,7 +3051,7 @@ }, "find-up": { "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/find-up/download/find-up-4.1.0.tgz", + "resolved": "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz", "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", "requires": { "locate-path": "^5.0.0", @@ -2532,7 +3066,7 @@ }, "flat-cache": { "version": "3.0.4", - "resolved": "https://registry.nlark.com/flat-cache/download/flat-cache-3.0.4.tgz?cache=0&sync_timestamp=1622604531509&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fflat-cache%2Fdownload%2Fflat-cache-3.0.4.tgz", + "resolved": "https://registry.nlark.com/flat-cache/download/flat-cache-3.0.4.tgz", "integrity": "sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=", "dev": true, "requires": { @@ -2541,14 +3075,14 @@ }, "dependencies": { "flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmmirror.com/flatted/download/flatted-3.2.4.tgz?cache=0&sync_timestamp=1636473813364&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fflatted%2Fdownload%2Fflatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "version": "3.2.2", + "resolved": "https://registry.nlark.com/flatted/download/flatted-3.2.2.tgz?cache=0&sync_timestamp=1627541251258&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fflatted%2Fdownload%2Fflatted-3.2.2.tgz", + "integrity": "sha1-ZL/tXLaP48p4s+shStl7Y77c5WE=", "dev": true }, "rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/rimraf/download/rimraf-3.0.2.tgz", + "resolved": "https://registry.nlark.com/rimraf/download/rimraf-3.0.2.tgz", "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", "dev": true, "requires": { @@ -2559,12 +3093,29 @@ }, "flatted": { "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1636473813364&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz", + "resolved": "https://registry.nlark.com/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1627541251258&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz", "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=" }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/for-in/download/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "optional": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/fragment-cache/download/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "optional": true, + "requires": { + "map-cache": "^0.2.2" + } + }, "fs-extra": { "version": "8.1.0", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&sync_timestamp=1622604476909&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffs-extra%2Fdownload%2Ffs-extra-8.1.0.tgz", + "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz", "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", "requires": { "graceful-fs": "^4.2.0", @@ -2585,7 +3136,7 @@ }, "fsevents": { "version": "2.3.2", - "resolved": "https://registry.npmmirror.com/fsevents/download/fsevents-2.3.2.tgz", + "resolved": "https://registry.nlark.com/fsevents/download/fsevents-2.3.2.tgz", "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", "dev": true, "optional": true @@ -2597,7 +3148,7 @@ }, "functional-red-black-tree": { "version": "1.0.1", - "resolved": "https://registry.nlark.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz?cache=0&sync_timestamp=1622605293770&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffunctional-red-black-tree%2Fdownload%2Ffunctional-red-black-tree-1.0.1.tgz", + "resolved": "https://registry.nlark.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, @@ -2615,13 +3166,13 @@ }, "get-func-name": { "version": "2.0.0", - "resolved": "https://registry.nlark.com/get-func-name/download/get-func-name-2.0.0.tgz", + "resolved": "https://registry.nlark.com/get-func-name/download/get-func-name-2.0.0.tgz?cache=0&sync_timestamp=1624607980603&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fget-func-name%2Fdownload%2Fget-func-name-2.0.0.tgz", "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", "dev": true }, "get-intrinsic": { "version": "1.1.1", - "resolved": "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz?cache=0&sync_timestamp=1622604540833&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.1.1.tgz", + "resolved": "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz", "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", "dev": true, "requires": { @@ -2632,13 +3183,20 @@ }, "get-stream": { "version": "6.0.1", - "resolved": "https://registry.nlark.com/get-stream/download/get-stream-6.0.1.tgz?cache=0&sync_timestamp=1622604564806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fget-stream%2Fdownload%2Fget-stream-6.0.1.tgz", + "resolved": "https://registry.nlark.com/get-stream/download/get-stream-6.0.1.tgz", "integrity": "sha1-omLY7vZ6ztV8KFKtYWdSakPL97c=" }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.nlark.com/get-value/download/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "optional": true + }, "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/glob/download/glob-7.2.0.tgz", - "integrity": "sha1-0VU1r3cy4C6Uj0xBYovZECk/YCM=", + "version": "7.1.7", + "resolved": "https://registry.nlark.com/glob/download/glob-7.1.7.tgz", + "integrity": "sha1-Oxk+kjPwHULQs/eClLvutBj5SpA=", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2650,7 +3208,7 @@ }, "glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1632953697891&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", + "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1626761012320&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", "requires": { "is-glob": "^4.0.1" @@ -2663,7 +3221,7 @@ }, "globals": { "version": "11.12.0", - "resolved": "https://registry.npmmirror.com/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz", + "resolved": "https://registry.nlark.com/globals/download/globals-11.12.0.tgz", "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", "dev": true }, @@ -2688,7 +3246,7 @@ }, "graceful-fs": { "version": "4.2.8", - "resolved": "https://registry.npmmirror.com/graceful-fs/download/graceful-fs-4.2.8.tgz", + "resolved": "https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.8.tgz?cache=0&sync_timestamp=1628194007768&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fgraceful-fs%2Fdownload%2Fgraceful-fs-4.2.8.tgz", "integrity": "sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo=" }, "growl": { @@ -2707,7 +3265,7 @@ }, "has-flag": { "version": "4.0.0", - "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626716578584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" }, "has-symbols": { @@ -2716,6 +3274,63 @@ "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", "dev": true }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-value/download/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "optional": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-values/download/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "he": { "version": "1.2.0", "resolved": "https://registry.nlark.com/he/download/he-1.2.0.tgz", @@ -2724,13 +3339,13 @@ }, "human-signals": { "version": "2.1.0", - "resolved": "https://registry.nlark.com/human-signals/download/human-signals-2.1.0.tgz?cache=0&sync_timestamp=1624364612113&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhuman-signals%2Fdownload%2Fhuman-signals-2.1.0.tgz", + "resolved": "https://registry.nlark.com/human-signals/download/human-signals-2.1.0.tgz", "integrity": "sha1-3JH8ukLk0G5Kuu0zs+ejwC9RTqA=" }, "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/ignore/download/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" + "version": "5.1.8", + "resolved": "https://registry.nlark.com/ignore/download/ignore-5.1.8.tgz", + "integrity": "sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=" }, "import-fresh": { "version": "3.3.0", @@ -2744,16 +3359,16 @@ "dependencies": { "resolve-from": { "version": "4.0.0", - "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-4.0.0.tgz?cache=0&sync_timestamp=1622605305717&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve-from%2Fdownload%2Fresolve-from-4.0.0.tgz", + "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-4.0.0.tgz?cache=0&sync_timestamp=1624607952279&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve-from%2Fdownload%2Fresolve-from-4.0.0.tgz", "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", "dev": true } } }, "import-local": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/import-local/download/import-local-3.0.3.tgz?cache=0&sync_timestamp=1633327317807&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fimport-local%2Fdownload%2Fimport-local-3.0.3.tgz", - "integrity": "sha1-TVHCxJXKk5PaJZ7Ga2LgIpICEeA=", + "version": "3.0.2", + "resolved": "https://registry.nlark.com/import-local/download/import-local-3.0.2.tgz", + "integrity": "sha1-qM/QQx0d5KIZlwPQA+PmI2T6bbY=", "requires": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -2781,26 +3396,106 @@ }, "interpret": { "version": "2.2.0", - "resolved": "https://registry.nlark.com/interpret/download/interpret-2.2.0.tgz", + "resolved": "https://registry.nlark.com/interpret/download/interpret-2.2.0.tgz?cache=0&sync_timestamp=1624607963441&other_urls=https%3A%2F%2Fregistry.nlark.com%2Finterpret%2Fdownload%2Finterpret-2.2.0.tgz", "integrity": "sha1-GnigtZZcQKVBbQB61vUK0nxBffk=" }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz", - "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, + "optional": true, "requires": { - "binary-extensions": "^2.0.0" + "binary-extensions": "^1.0.0" } }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.nlark.com/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true, + "optional": true + }, "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.8.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.8.0.tgz", - "integrity": "sha1-AyEzbD0JJeSX/Zf12VyxFKXM1Ug=", + "version": "2.6.0", + "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.6.0.tgz?cache=0&sync_timestamp=1629225103688&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.6.0.tgz", + "integrity": "sha1-11U7JSb+Wbkro+QMjfdX7Ipwnhk=", "requires": { "has": "^1.0.3" } }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true, + "optional": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "optional": true + }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.nlark.com/is-extglob/download/is-extglob-2.1.1.tgz", @@ -2813,9 +3508,9 @@ "dev": true }, "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz", - "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", + "version": "4.0.1", + "resolved": "https://registry.nlark.com/is-glob/download/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", "requires": { "is-extglob": "^2.1.1" } @@ -2827,7 +3522,7 @@ }, "is-path-cwd": { "version": "2.2.0", - "resolved": "https://registry.nlark.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz?cache=0&sync_timestamp=1628686555851&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-2.2.0.tgz", + "resolved": "https://registry.nlark.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz", "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=" }, "is-path-in-cwd": { @@ -2854,7 +3549,7 @@ }, "is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.nlark.com/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1622605338713&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", + "resolved": "https://registry.nlark.com/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1624608043754&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", "requires": { "isobject": "^3.0.1" @@ -2862,9 +3557,16 @@ }, "is-stream": { "version": "2.0.1", - "resolved": "https://registry.nlark.com/is-stream/download/is-stream-2.0.1.tgz", + "resolved": "https://registry.nlark.com/is-stream/download/is-stream-2.0.1.tgz?cache=0&sync_timestamp=1628592752355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-stream%2Fdownload%2Fis-stream-2.0.1.tgz", "integrity": "sha1-+sHj1TuXrVqdCunO8jifWBClwHc=" }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "dev": true, + "optional": true + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.nlark.com/isarray/download/isarray-1.0.0.tgz", @@ -2881,9 +3583,9 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "jest-worker": { - "version": "27.4.5", - "resolved": "https://registry.npmmirror.com/jest-worker/download/jest-worker-27.4.5.tgz", - "integrity": "sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg==", + "version": "27.1.0", + "resolved": "https://registry.nlark.com/jest-worker/download/jest-worker-27.1.0.tgz", + "integrity": "sha1-ZfSojjcUjtmEuoyoSS1rN2k4wKo=", "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -2892,7 +3594,7 @@ "dependencies": { "supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-8.1.1.tgz", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-8.1.1.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-8.1.1.tgz", "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", "requires": { "has-flag": "^4.0.0" @@ -2908,7 +3610,7 @@ }, "js-yaml": { "version": "3.14.1", - "resolved": "https://registry.nlark.com/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1622604474266&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz", + "resolved": "https://registry.nlark.com/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1624607946901&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz", "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=", "dev": true, "requires": { @@ -2924,7 +3626,7 @@ }, "json-parse-better-errors": { "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "resolved": "https://registry.nlark.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=" }, "json-schema-traverse": { @@ -2940,7 +3642,7 @@ }, "json5": { "version": "2.2.0", - "resolved": "https://registry.nlark.com/json5/download/json5-2.2.0.tgz?cache=0&sync_timestamp=1622604475200&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjson5%2Fdownload%2Fjson5-2.2.0.tgz", + "resolved": "https://registry.nlark.com/json5/download/json5-2.2.0.tgz?cache=0&sync_timestamp=1624607963605&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjson5%2Fdownload%2Fjson5-2.2.0.tgz", "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", "requires": { "minimist": "^1.2.5" @@ -2975,9 +3677,9 @@ "integrity": "sha1-1wIjgNZtFMX7HUlriYZOvP1Hg4Q=" }, "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/loader-utils/download/loader-utils-2.0.2.tgz", - "integrity": "sha1-1uO0+4GHByGuTghoqxHdY4NowSk=", + "version": "2.0.0", + "resolved": "https://registry.nlark.com/loader-utils/download/loader-utils-2.0.0.tgz?cache=0&sync_timestamp=1624607974187&other_urls=https%3A%2F%2Fregistry.nlark.com%2Floader-utils%2Fdownload%2Floader-utils-2.0.0.tgz", + "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -2986,15 +3688,21 @@ }, "locate-path": { "version": "5.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-5.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-5.0.0.tgz", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-5.0.0.tgz", "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", "requires": { "p-locate": "^4.1.0" } }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.nlark.com/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, "lodash.debounce": { "version": "4.0.8", - "resolved": "https://registry.nlark.com/lodash.debounce/download/lodash.debounce-4.0.8.tgz?cache=0&sync_timestamp=1622605323058&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flodash.debounce%2Fdownload%2Flodash.debounce-4.0.8.tgz", + "resolved": "https://registry.nlark.com/lodash.debounce/download/lodash.debounce-4.0.8.tgz", "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, @@ -3012,7 +3720,7 @@ }, "log-symbols": { "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/log-symbols/download/log-symbols-4.0.0.tgz", + "resolved": "https://registry.nlark.com/log-symbols/download/log-symbols-4.0.0.tgz", "integrity": "sha1-abPMRtIPRI7M23XqH6cz2eghySA=", "dev": true, "requires": { @@ -3041,7 +3749,7 @@ }, "make-dir": { "version": "2.1.0", - "resolved": "https://registry.nlark.com/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1622604552755&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz", + "resolved": "https://registry.nlark.com/make-dir/download/make-dir-2.1.0.tgz", "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", "dev": true, "requires": { @@ -3051,7 +3759,7 @@ "dependencies": { "semver": { "version": "5.7.1", - "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", "dev": true } @@ -3063,6 +3771,23 @@ "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I=", "dev": true }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.nlark.com/map-cache/download/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "optional": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/map-visit/download/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "optional": true, + "requires": { + "object-visit": "^1.0.0" + } + }, "memory-fs": { "version": "0.5.0", "resolved": "https://registry.nlark.com/memory-fs/download/memory-fs-0.5.0.tgz", @@ -3092,26 +3817,26 @@ } }, "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmmirror.com/mime-db/download/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" + "version": "1.49.0", + "resolved": "https://registry.nlark.com/mime-db/download/mime-db-1.49.0.tgz", + "integrity": "sha1-89/eYMmenPO8lwHWh3ePU3ABy+0=" }, "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmmirror.com/mime-types/download/mime-types-2.1.34.tgz?cache=0&sync_timestamp=1636432311385&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "version": "2.1.32", + "resolved": "https://registry.nlark.com/mime-types/download/mime-types-2.1.32.tgz?cache=0&sync_timestamp=1627407652875&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.32.tgz", + "integrity": "sha1-HQDonn3n/gIAjbYQAdngKFJnD9U=", "requires": { - "mime-db": "1.51.0" + "mime-db": "1.49.0" } }, "mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/mimic-fn/download/mimic-fn-2.1.0.tgz", + "resolved": "https://registry.nlark.com/mimic-fn/download/mimic-fn-2.1.0.tgz", "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=" }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.nlark.com/minimatch/download/minimatch-3.0.4.tgz?cache=0&sync_timestamp=1622604477105&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminimatch%2Fdownload%2Fminimatch-3.0.4.tgz", + "resolved": "https://registry.nlark.com/minimatch/download/minimatch-3.0.4.tgz?cache=0&sync_timestamp=1624607996146&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminimatch%2Fdownload%2Fminimatch-3.0.4.tgz", "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "requires": { "brace-expansion": "^1.1.7" @@ -3119,12 +3844,35 @@ }, "minimist": { "version": "1.2.5", - "resolved": "https://registry.nlark.com/minimist/download/minimist-1.2.5.tgz", + "resolved": "https://registry.nlark.com/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1624607886507&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz", "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/mixin-deep/download/mixin-deep-1.3.2.tgz", + "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", + "dev": true, + "optional": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "optional": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, "mocha": { "version": "8.4.0", - "resolved": "https://registry.npmmirror.com/mocha/download/mocha-8.4.0.tgz", + "resolved": "https://registry.nlark.com/mocha/download/mocha-8.4.0.tgz", "integrity": "sha1-Z3voi/FZgKPK4Dpz4QoPw5l/DP8=", "dev": true, "requires": { @@ -3161,9 +3909,15 @@ "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", "dev": true }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz", + "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", + "dev": true + }, "chokidar": { "version": "3.5.1", - "resolved": "https://registry.npmmirror.com/chokidar/download/chokidar-3.5.1.tgz", + "resolved": "https://registry.nlark.com/chokidar/download/chokidar-3.5.1.tgz", "integrity": "sha1-7pznu+vSt59J8wR5nVRo4x4U5oo=", "dev": true, "requires": { @@ -3179,8 +3933,8 @@ }, "debug": { "version": "4.3.1", - "resolved": "https://registry.npmmirror.com/debug/download/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "resolved": "https://registry.nlark.com/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1625374653719&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz", + "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", "dev": true, "requires": { "ms": "2.1.2" @@ -3188,7 +3942,7 @@ "dependencies": { "ms": { "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz", + "resolved": "https://registry.nlark.com/ms/download/ms-2.1.2.tgz", "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", "dev": true } @@ -3202,7 +3956,7 @@ }, "find-up": { "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/find-up/download/find-up-5.0.0.tgz", + "resolved": "https://registry.nlark.com/find-up/download/find-up-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-5.0.0.tgz", "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", "dev": true, "requires": { @@ -3212,7 +3966,7 @@ }, "glob": { "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/glob/download/glob-7.1.6.tgz", + "resolved": "https://registry.nlark.com/glob/download/glob-7.1.6.tgz", "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", "dev": true, "requires": { @@ -3224,9 +3978,18 @@ "path-is-absolute": "^1.0.0" } }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, "js-yaml": { "version": "4.0.0", - "resolved": "https://registry.nlark.com/js-yaml/download/js-yaml-4.0.0.tgz?cache=0&sync_timestamp=1622604474266&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-yaml%2Fdownload%2Fjs-yaml-4.0.0.tgz", + "resolved": "https://registry.nlark.com/js-yaml/download/js-yaml-4.0.0.tgz?cache=0&sync_timestamp=1624607946901&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-yaml%2Fdownload%2Fjs-yaml-4.0.0.tgz", "integrity": "sha1-9Ca8D/S0BRkmzViMcRExg0CaEh8=", "dev": true, "requires": { @@ -3235,7 +3998,7 @@ }, "locate-path": { "version": "6.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-6.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-6.0.0.tgz", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-6.0.0.tgz", "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", "dev": true, "requires": { @@ -3244,13 +4007,13 @@ }, "ms": { "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.3.tgz", + "resolved": "https://registry.nlark.com/ms/download/ms-2.1.3.tgz", "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", "dev": true }, "p-locate": { "version": "5.0.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-5.0.0.tgz", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-5.0.0.tgz?cache=0&sync_timestamp=1629892708584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-5.0.0.tgz", "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", "dev": true, "requires": { @@ -3268,7 +4031,7 @@ }, "supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-8.1.1.tgz", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-8.1.1.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-8.1.1.tgz", "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", "dev": true, "requires": { @@ -3277,20 +4040,46 @@ } } }, + "mocha-context": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/mocha-context/download/mocha-context-0.1.5.tgz", + "integrity": "sha1-pklrXXjmdZXtscRn1Y910S/5IdE=", + "dev": true + }, "ms": { "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz", + "resolved": "https://registry.nlark.com/ms/download/ms-2.1.2.tgz", "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" }, "nanoid": { "version": "3.1.20", - "resolved": "https://registry.npmmirror.com/nanoid/download/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "resolved": "https://registry.nlark.com/nanoid/download/nanoid-3.1.20.tgz", + "integrity": "sha1-utwmPGsdzxS3HvqoX2q0wdbPx4g=", "dev": true }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.nlark.com/nanomatch/download/nanomatch-1.2.13.tgz", + "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "dev": true, + "optional": true, + "requires": { + "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": { "version": "1.4.0", - "resolved": "https://registry.nlark.com/natural-compare/download/natural-compare-1.4.0.tgz", + "resolved": "https://registry.nlark.com/natural-compare/download/natural-compare-1.4.0.tgz?cache=0&sync_timestamp=1624608011507&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnatural-compare%2Fdownload%2Fnatural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, @@ -3300,9 +4089,9 @@ "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=" }, "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.1.tgz", - "integrity": "sha1-PR05XyBPHy8ppUNYuftnh2WtL8U=" + "version": "1.1.75", + "resolved": "https://registry.nlark.com/node-releases/download/node-releases-1.1.75.tgz?cache=0&sync_timestamp=1629280320667&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.75.tgz", + "integrity": "sha1-bdjIdrmJehuOWgLeJq+nm7VOu/4=" }, "normalize-path": { "version": "3.0.0", @@ -3311,7 +4100,7 @@ }, "npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/npm-run-path/download/npm-run-path-4.0.1.tgz", + "resolved": "https://registry.nlark.com/npm-run-path/download/npm-run-path-4.0.1.tgz", "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", "requires": { "path-key": "^3.0.0" @@ -3322,13 +4111,57 @@ "resolved": "https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/object-keys/download/object-keys-1.1.1.tgz", - "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", - "dev": true - }, - "object.assign": { + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/object-copy/download/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "optional": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/object-visit/download/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "optional": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { "version": "4.1.2", "resolved": "https://registry.nlark.com/object.assign/download/object.assign-4.1.2.tgz", "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", @@ -3340,6 +4173,16 @@ "object-keys": "^1.1.1" } }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/object.pick/download/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "optional": true, + "requires": { + "isobject": "^3.0.1" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.nlark.com/once/download/once-1.4.0.tgz", @@ -3372,7 +4215,7 @@ }, "p-limit": { "version": "3.1.0", - "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1628813055527&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz", "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", "requires": { "yocto-queue": "^0.1.0" @@ -3380,7 +4223,7 @@ }, "p-locate": { "version": "4.1.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz?cache=0&sync_timestamp=1629892708584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-4.1.0.tgz", "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", "requires": { "p-limit": "^2.2.0" @@ -3388,7 +4231,7 @@ "dependencies": { "p-limit": { "version": "2.3.0", - "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1628813055527&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", "requires": { "p-try": "^2.0.0" @@ -3398,26 +4241,33 @@ }, "p-map": { "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/p-map/download/p-map-2.1.0.tgz?cache=0&sync_timestamp=1635931916150&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-map%2Fdownload%2Fp-map-2.1.0.tgz", + "resolved": "https://registry.nlark.com/p-map/download/p-map-2.1.0.tgz?cache=0&sync_timestamp=1627082442645&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-map%2Fdownload%2Fp-map-2.1.0.tgz", "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=" }, "p-try": { "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/p-try/download/p-try-2.2.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-2.2.0.tgz", + "resolved": "https://registry.nlark.com/p-try/download/p-try-2.2.0.tgz", "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=" }, "parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz?cache=0&sync_timestamp=1633337513286&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fparent-module%2Fdownload%2Fparent-module-1.0.1.tgz", + "resolved": "https://registry.nlark.com/parent-module/download/parent-module-1.0.1.tgz", "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", "dev": true, "requires": { "callsites": "^3.0.0" } }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/pascalcase/download/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "optional": true + }, "path-exists": { "version": "4.0.0", - "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-exists%2Fdownload%2Fpath-exists-4.0.0.tgz", "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=" }, "path-is-absolute": { @@ -3427,7 +4277,7 @@ }, "path-is-inside": { "version": "1.0.2", - "resolved": "https://registry.nlark.com/path-is-inside/download/path-is-inside-1.0.2.tgz?cache=0&sync_timestamp=1622604553837&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-is-inside%2Fdownload%2Fpath-is-inside-1.0.2.tgz", + "resolved": "https://registry.nlark.com/path-is-inside/download/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" }, "path-key": { @@ -3437,7 +4287,7 @@ }, "path-parse": { "version": "1.0.7", - "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz?cache=0&sync_timestamp=1622604541821&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-parse%2Fdownload%2Fpath-parse-1.0.7.tgz", + "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz", "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=" }, "path-type": { @@ -3447,19 +4297,15 @@ }, "pathval": { "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/pathval/download/pathval-1.1.1.tgz", + "resolved": "https://registry.nlark.com/pathval/download/pathval-1.1.1.tgz", "integrity": "sha1-hTTnenfOesWiUS6iHg/bj89sPY0=", "dev": true }, "pegjs": { "version": "0.10.0", - "resolved": "https://registry.npmmirror.com/pegjs/download/pegjs-0.10.0.tgz", - "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz?cache=0&sync_timestamp=1634093442271&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-1.0.0.tgz", - "integrity": "sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw=" + "resolved": "https://registry.npm.taobao.org/pegjs/download/pegjs-0.10.0.tgz", + "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=", + "dev": true }, "picomatch": { "version": "2.3.0", @@ -3486,12 +4332,19 @@ }, "pkg-dir": { "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1633498133295&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz", + "resolved": "https://registry.nlark.com/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1624607963968&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz", "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", "requires": { "find-up": "^4.0.0" } }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "optional": true + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.nlark.com/prelude-ls/download/prelude-ls-1.2.1.tgz", @@ -3505,7 +4358,7 @@ }, "progress": { "version": "2.0.3", - "resolved": "https://registry.nlark.com/progress/download/progress-2.0.3.tgz", + "resolved": "https://registry.nlark.com/progress/download/progress-2.0.3.tgz?cache=0&sync_timestamp=1624607996383&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fprogress%2Fdownload%2Fprogress-2.0.3.tgz", "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", "dev": true }, @@ -3516,7 +4369,7 @@ }, "punycode": { "version": "2.1.1", - "resolved": "https://registry.nlark.com/punycode/download/punycode-2.1.1.tgz?cache=0&sync_timestamp=1622604519710&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpunycode%2Fdownload%2Fpunycode-2.1.1.tgz", + "resolved": "https://registry.nlark.com/punycode/download/punycode-2.1.1.tgz", "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" }, "queue-microtask": { @@ -3534,7 +4387,7 @@ }, "readable-stream": { "version": "2.3.7", - "resolved": "https://registry.npmmirror.com/readable-stream/download/readable-stream-2.3.7.tgz", + "resolved": "https://registry.nlark.com/readable-stream/download/readable-stream-2.3.7.tgz", "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", "requires": { "core-util-is": "~1.0.0", @@ -3554,18 +4407,133 @@ } }, "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.nlark.com/readdirp/download/readdirp-3.6.0.tgz", - "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", + "version": "2.2.1", + "resolved": "https://registry.nlark.com/readdirp/download/readdirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", "dev": true, "optional": true, "requires": { - "picomatch": "^2.2.1" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.nlark.com/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "dev": true, + "optional": true, + "requires": { + "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" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/fill-range/download/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.nlark.com/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dev": true, + "optional": true, + "requires": { + "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" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, "rechoir": { "version": "0.7.1", - "resolved": "https://registry.nlark.com/rechoir/download/rechoir-0.7.1.tgz?cache=0&sync_timestamp=1627101702123&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frechoir%2Fdownload%2Frechoir-0.7.1.tgz", + "resolved": "https://registry.nlark.com/rechoir/download/rechoir-0.7.1.tgz", "integrity": "sha1-lHipahyhNbXoj8An8D7pLWxkVoY=", "requires": { "resolve": "^1.9.0" @@ -3578,17 +4546,17 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/download/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha1-VNCccRXh9T3CMUqXSzLBw0Tv4yY=", + "version": "8.2.0", + "resolved": "https://registry.nlark.com/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=", "dev": true, "requires": { - "regenerate": "^1.4.2" + "regenerate": "^1.4.0" } }, "regenerator-runtime": { "version": "0.13.9", - "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz", + "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.9.tgz", "integrity": "sha1-iSV0Kpj/2QgUmI11Zq0wyjsmO1I=", "dev": true }, @@ -3601,36 +4569,47 @@ "@babel/runtime": "^7.8.4" } }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/regex-not/download/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, "regexpp": { "version": "3.2.0", - "resolved": "https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz?cache=0&sync_timestamp=1623669331185&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpp%2Fdownload%2Fregexpp-3.2.0.tgz", + "resolved": "https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz", "integrity": "sha1-BCWido2PI7rXDKS5BGH6LxIT4bI=", "dev": true }, "regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.nlark.com/regexpu-core/download/regexpu-core-4.8.0.tgz?cache=0&sync_timestamp=1631619113277&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.8.0.tgz", - "integrity": "sha1-5WBbo2G2excYR4UBMnUC9EeamPA=", + "version": "4.7.1", + "resolved": "https://registry.nlark.com/regexpu-core/download/regexpu-core-4.7.1.tgz", + "integrity": "sha1-LepamgcjMpj78NuR+pq8TG4PitY=", "dev": true, "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" + "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": { "version": "0.5.2", - "resolved": "https://registry.npmmirror.com/regjsgen/download/regjsgen-0.5.2.tgz", + "resolved": "https://registry.nlark.com/regjsgen/download/regjsgen-0.5.2.tgz", "integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=", "dev": true }, "regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmmirror.com/regjsparser/download/regjsparser-0.7.0.tgz", - "integrity": "sha1-prZntUyIXhi1JVTLSWDvcRh+mWg=", + "version": "0.6.9", + "resolved": "https://registry.nlark.com/regjsparser/download/regjsparser-0.6.9.tgz", + "integrity": "sha1-tInu98mizkNydicBFCnPgzpxg+Y=", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -3644,6 +4623,27 @@ } } }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true, + "optional": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/repeat-element/download/repeat-element-1.1.4.tgz", + "integrity": "sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek=", + "dev": true, + "optional": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.nlark.com/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "optional": true + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz", @@ -3652,7 +4652,7 @@ }, "require-from-string": { "version": "2.0.2", - "resolved": "https://registry.nlark.com/require-from-string/download/require-from-string-2.0.2.tgz?cache=0&sync_timestamp=1622605305570&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frequire-from-string%2Fdownload%2Frequire-from-string-2.0.2.tgz", + "resolved": "https://registry.nlark.com/require-from-string/download/require-from-string-2.0.2.tgz", "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=", "dev": true }, @@ -3667,7 +4667,7 @@ }, "resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.nlark.com/resolve-cwd/download/resolve-cwd-3.0.0.tgz?cache=0&sync_timestamp=1622605314261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve-cwd%2Fdownload%2Fresolve-cwd-3.0.0.tgz", + "resolved": "https://registry.nlark.com/resolve-cwd/download/resolve-cwd-3.0.0.tgz", "integrity": "sha1-DwB18bslRHZs9zumpuKt/ryxPy0=", "requires": { "resolve-from": "^5.0.0" @@ -3675,9 +4675,23 @@ }, "resolve-from": { "version": "5.0.0", - "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-5.0.0.tgz?cache=0&sync_timestamp=1622605305717&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve-from%2Fdownload%2Fresolve-from-5.0.0.tgz", + "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-5.0.0.tgz?cache=0&sync_timestamp=1624607952279&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve-from%2Fdownload%2Fresolve-from-5.0.0.tgz", "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=" }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/resolve-url/download/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true, + "optional": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.nlark.com/ret/download/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "dev": true, + "optional": true + }, "reusify": { "version": "1.0.4", "resolved": "https://registry.nlark.com/reusify/download/reusify-1.0.4.tgz", @@ -3690,7 +4704,7 @@ }, "rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmmirror.com/rimraf/download/rimraf-2.7.1.tgz", + "resolved": "https://registry.nlark.com/rimraf/download/rimraf-2.7.1.tgz", "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", "requires": { "glob": "^7.1.3" @@ -3709,9 +4723,19 @@ "resolved": "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.2.1.tgz", "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/safe-regex/download/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "optional": true, + "requires": { + "ret": "~0.1.10" + } + }, "schema-utils": { "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075894281&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1626694902084&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", "requires": { "@types/json-schema": "^7.0.8", @@ -3721,7 +4745,7 @@ }, "semver": { "version": "7.3.5", - "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1622604551741&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", + "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1624607961409&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", "requires": { "lru-cache": "^6.0.0" @@ -3729,12 +4753,37 @@ }, "serialize-javascript": { "version": "5.0.1", - "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-5.0.1.tgz?cache=0&sync_timestamp=1624284194508&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-5.0.1.tgz", + "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-5.0.1.tgz?cache=0&sync_timestamp=1624608021459&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-5.0.1.tgz", "integrity": "sha1-eIbshIBJpGJGepfT2Rjrsqr5NPQ=", "requires": { "randombytes": "^2.1.0" } }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/set-value/download/set-value-2.0.1.tgz", + "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "shallow-clone": { "version": "3.0.1", "resolved": "https://registry.nlark.com/shallow-clone/download/shallow-clone-3.0.1.tgz", @@ -3753,13 +4802,13 @@ }, "shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz?cache=0&sync_timestamp=1628896405033&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-3.0.0.tgz", + "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz?cache=0&sync_timestamp=1628896660639&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-3.0.0.tgz", "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=" }, "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmmirror.com/signal-exit/download/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + "version": "3.0.3", + "resolved": "https://registry.nlark.com/signal-exit/download/signal-exit-3.0.3.tgz", + "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=" }, "slash": { "version": "3.0.0", @@ -3768,7 +4817,7 @@ }, "slice-ansi": { "version": "4.0.0", - "resolved": "https://registry.nlark.com/slice-ansi/download/slice-ansi-4.0.0.tgz?cache=0&sync_timestamp=1622604533654&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fslice-ansi%2Fdownload%2Fslice-ansi-4.0.0.tgz", + "resolved": "https://registry.nlark.com/slice-ansi/download/slice-ansi-4.0.0.tgz", "integrity": "sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms=", "dev": true, "requires": { @@ -3777,26 +4826,221 @@ "is-fullwidth-code-point": "^3.0.0" } }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.nlark.com/snapdragon/download/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "dev": true, + "optional": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1625374653719&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "optional": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/snapdragon-node/download/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "dev": true, + "optional": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/snapdragon-util/download/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "source-map": { "version": "0.6.1", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.nlark.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz", + "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", + "dev": true, + "optional": true, + "requires": { + "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": { - "version": "0.5.21", - "resolved": "https://registry.npmmirror.com/source-map-support/download/source-map-support-0.5.21.tgz?cache=0&sync_timestamp=1637322679144&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "version": "0.5.19", + "resolved": "https://registry.nlark.com/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1624608061410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", + "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.nlark.com/source-map-url/download/source-map-url-0.4.1.tgz", + "integrity": "sha1-CvZmBadFpaL5HPG7+KevvCg97FY=", + "dev": true, + "optional": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/split-string/download/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.nlark.com/static-extend/download/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "optional": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, "streamroller": { "version": "2.2.4", "resolved": "https://registry.nlark.com/streamroller/download/streamroller-2.2.4.tgz", @@ -3815,14 +5059,14 @@ } }, "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz", - "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", + "version": "4.2.2", + "resolved": "https://registry.nlark.com/string-width/download/string-width-4.2.2.tgz", + "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "strip-ansi": "^6.0.0" } }, "string_decoder": { @@ -3841,12 +5085,12 @@ } }, "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz", - "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "version": "6.0.0", + "resolved": "https://registry.nlark.com/strip-ansi/download/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", "dev": true, "requires": { - "ansi-regex": "^5.0.1" + "ansi-regex": "^5.0.0" } }, "strip-final-newline": { @@ -3856,35 +5100,36 @@ }, "strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz?cache=0&sync_timestamp=1629397119136&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.1.1.tgz", + "resolved": "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz", "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", "dev": true }, "supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "requires": { "has-flag": "^4.0.0" } }, "table": { - "version": "6.7.5", - "resolved": "https://registry.npmmirror.com/table/download/table-6.7.5.tgz", - "integrity": "sha512-LFNeryOqiQHqCVKzhkymKwt6ozeRhlm8IL1mE8rNUurkir4heF6PzMyRgaTa4tlyPTGGgXuvVOF/OLWiH09Lqw==", + "version": "6.7.1", + "resolved": "https://registry.nlark.com/table/download/table-6.7.1.tgz", + "integrity": "sha1-7gVZK3FDgxqMlPPO5qrkwczvM+I=", "dev": true, "requires": { "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" }, "dependencies": { "ajv": { - "version": "8.8.2", - "resolved": "https://registry.npmmirror.com/ajv/download/ajv-8.8.2.tgz", - "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "version": "8.6.2", + "resolved": "https://registry.nlark.com/ajv/download/ajv-8.6.2.tgz", + "integrity": "sha1-L7ReDl/LwIEzJsHD2lNdGIG7BXE=", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -3903,32 +5148,33 @@ }, "tapable": { "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/tapable/download/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + "resolved": "https://registry.nlark.com/tapable/download/tapable-1.1.3.tgz", + "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=" }, "terser": { - "version": "5.10.0", - "resolved": "https://registry.npmmirror.com/terser/download/terser-5.10.0.tgz?cache=0&sync_timestamp=1636988253279&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fterser%2Fdownload%2Fterser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", + "version": "5.7.2", + "resolved": "https://registry.nlark.com/terser/download/terser-5.7.2.tgz", + "integrity": "sha1-1Nle1Pi/c1y5M+gC8qGCmr9UXj8=", "requires": { "commander": "^2.20.0", "source-map": "~0.7.2", - "source-map-support": "~0.5.20" + "source-map-support": "~0.5.19" }, "dependencies": { "source-map": { "version": "0.7.3", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.7.3.tgz", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.7.3.tgz?cache=0&sync_timestamp=1624608014898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.7.3.tgz", "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=" } } }, "terser-webpack-plugin": { - "version": "5.3.0", - "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/download/terser-webpack-plugin-5.3.0.tgz", - "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", + "version": "5.2.2", + "resolved": "https://registry.nlark.com/terser-webpack-plugin/download/terser-webpack-plugin-5.2.2.tgz?cache=0&sync_timestamp=1630630911890&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-5.2.2.tgz", + "integrity": "sha1-1/0IEJ1HuNTsfb/u5rGP4akULYw=", "requires": { - "jest-worker": "^27.4.1", + "jest-worker": "^27.0.6", + "p-limit": "^3.1.0", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", @@ -3937,7 +5183,7 @@ "dependencies": { "serialize-javascript": { "version": "6.0.0", - "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-6.0.0.tgz?cache=0&sync_timestamp=1624284194508&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-6.0.0.tgz", + "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-6.0.0.tgz?cache=0&sync_timestamp=1624608021459&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-6.0.0.tgz", "integrity": "sha1-765diPRdeSQUHai1w6en5mP+/rg=", "requires": { "randombytes": "^2.1.0" @@ -3953,10 +5199,45 @@ }, "to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1628418855671&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz", + "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1628418893613&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/to-object-path/download/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/to-regex/download/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "dev": true, + "optional": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz", @@ -3967,7 +5248,7 @@ }, "ts-loader": { "version": "8.3.0", - "resolved": "https://registry.nlark.com/ts-loader/download/ts-loader-8.3.0.tgz?cache=0&sync_timestamp=1632169134951&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fts-loader%2Fdownload%2Fts-loader-8.3.0.tgz", + "resolved": "https://registry.nlark.com/ts-loader/download/ts-loader-8.3.0.tgz", "integrity": "sha1-gzYEltb4AE+rNYJSeRMsk0Eu3zM=", "requires": { "chalk": "^4.1.0", @@ -3979,7 +5260,7 @@ }, "ts-node": { "version": "9.1.1", - "resolved": "https://registry.npmmirror.com/ts-node/download/ts-node-9.1.1.tgz", + "resolved": "https://registry.nlark.com/ts-node/download/ts-node-9.1.1.tgz?cache=0&sync_timestamp=1629311301535&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fts-node%2Fdownload%2Fts-node-9.1.1.tgz", "integrity": "sha1-UamkUKPpWUAb2l8ASnLVS5NtN20=", "dev": true, "requires": { @@ -3993,7 +5274,7 @@ "dependencies": { "diff": { "version": "4.0.2", - "resolved": "https://registry.nlark.com/diff/download/diff-4.0.2.tgz?cache=0&sync_timestamp=1622605328812&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz", + "resolved": "https://registry.nlark.com/diff/download/diff-4.0.2.tgz?cache=0&sync_timestamp=1624608104914&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz", "integrity": "sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0=", "dev": true } @@ -4001,13 +5282,13 @@ }, "tslib": { "version": "1.14.1", - "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz", "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", "dev": true }, "tsutils": { "version": "3.21.0", - "resolved": "https://registry.nlark.com/tsutils/download/tsutils-3.21.0.tgz?cache=0&sync_timestamp=1622604538827&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftsutils%2Fdownload%2Ftsutils-3.21.0.tgz", + "resolved": "https://registry.nlark.com/tsutils/download/tsutils-3.21.0.tgz", "integrity": "sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM=", "dev": true, "requires": { @@ -4025,54 +5306,136 @@ }, "type-detect": { "version": "4.0.8", - "resolved": "https://registry.nlark.com/type-detect/download/type-detect-4.0.8.tgz", + "resolved": "https://registry.nlark.com/type-detect/download/type-detect-4.0.8.tgz?cache=0&sync_timestamp=1624607980886&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-detect%2Fdownload%2Ftype-detect-4.0.8.tgz", "integrity": "sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw=", "dev": true }, "type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.20.2.tgz", + "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.20.2.tgz", "integrity": "sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=", "dev": true }, "typescript": { - "version": "4.5.4", - "resolved": "https://registry.npmmirror.com/typescript/download/typescript-4.5.4.tgz", - "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==" + "version": "4.4.2", + "resolved": "https://registry.nlark.com/typescript/download/typescript-4.4.2.tgz?cache=0&sync_timestamp=1630566990929&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftypescript%2Fdownload%2Ftypescript-4.4.2.tgz", + "integrity": "sha1-bWGGQNQw41aaHftE99fmAM7T7oY=" + }, + "uglify-es": { + "version": "3.3.10", + "resolved": "https://registry.nlark.com/uglify-es/download/uglify-es-3.3.10.tgz", + "integrity": "sha1-iwt5ks6+IO3CbeG/MlzveXuPP6U=", + "dev": true, + "requires": { + "commander": "~2.14.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.14.1", + "resolved": "https://registry.nlark.com/commander/download/commander-2.14.1.tgz", + "integrity": "sha1-IjUSPjevjKPGXfRbAm29NXsBuao=", + "dev": true + } + } }, "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha1-MBrNxSVjFnDTn2FG4Od/9rvevdw=", + "version": "1.0.4", + "resolved": "https://registry.nlark.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=", "dev": true }, "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631618696521&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-match-property-ecmascript%2Fdownload%2Funicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha1-VP0W4OyxZ88Ezx91a9zJLrp5dsM=", + "version": "1.0.4", + "resolved": "https://registry.nlark.com/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=", "dev": true, "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" } }, "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha1-GgGqVyR8FMVouJd1pUk4eIGJpxQ=", + "version": "1.2.0", + "resolved": "https://registry.nlark.com/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631609457921&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha1-CjbLmlhcT2q9Ua0d7dsoXBZSl8g=", + "version": "1.1.0", + "resolved": "https://registry.nlark.com/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=", "dev": true }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/union-value/download/union-value-1.0.1.tgz", + "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", + "dev": true, + "optional": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.nlark.com/universalify/download/universalify-0.1.2.tgz", "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/unset-value/download/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "optional": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.nlark.com/has-value/download/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "optional": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/isobject/download/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "optional": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/has-values/download/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "optional": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/upath/download/upath-1.2.0.tgz", + "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", + "dev": true, + "optional": true + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.nlark.com/uri-js/download/uri-js-4.4.1.tgz", @@ -4081,30 +5444,43 @@ "punycode": "^2.1.0" } }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/urix/download/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true, + "optional": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/use/download/use-3.1.1.tgz", + "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", + "dev": true, + "optional": true + }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz", + "resolved": "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz?cache=0&sync_timestamp=1624607944834&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futil-deprecate%2Fdownload%2Futil-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.nlark.com/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz", - "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=", - "dev": true + "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=" }, "watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/watchpack/download/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.2.0", + "resolved": "https://registry.nlark.com/watchpack/download/watchpack-2.2.0.tgz", + "integrity": "sha1-R9ePVBX+VQ7NdA+Z/iiCMjpYsc4=", "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" } }, "webpack": { - "version": "5.65.0", - "resolved": "https://registry.npmmirror.com/webpack/download/webpack-5.65.0.tgz", - "integrity": "sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==", + "version": "5.51.2", + "resolved": "https://registry.nlark.com/webpack/download/webpack-5.51.2.tgz?cache=0&sync_timestamp=1630589182625&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack%2Fdownload%2Fwebpack-5.51.2.tgz", + "integrity": "sha1-92XSWLC/ar2jxfIb+FWiVyDpeW8=", "requires": { "@types/eslint-scope": "^3.7.0", "@types/estree": "^0.0.50", @@ -4115,8 +5491,8 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", - "es-module-lexer": "^0.9.0", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.7.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", @@ -4128,55 +5504,56 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.2" + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.0" }, "dependencies": { "enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-5.8.3.tgz?cache=0&sync_timestamp=1632130769099&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-5.8.3.tgz", - "integrity": "sha1-bVUtRlzOBCP1s9cYUR6lOCansvA=", + "version": "5.8.2", + "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-5.8.2.tgz", + "integrity": "sha1-Fd3HeTRcu3PpfGEc0AwBwee/TYs=", "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/tapable/download/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + "version": "2.2.0", + "resolved": "https://registry.nlark.com/tapable/download/tapable-2.2.0.tgz", + "integrity": "sha1-XDc9KB2cZyhIIT0OA30cQWWrQms=" } } }, "webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmmirror.com/webpack-cli/download/webpack-cli-4.9.1.tgz", - "integrity": "sha1-tkvoJeLRsTDyhcMUyqOxuppGMrM=", + "version": "4.8.0", + "resolved": "https://registry.nlark.com/webpack-cli/download/webpack-cli-4.8.0.tgz", + "integrity": "sha1-X8PIuUAdPIpD4q/OrPqCYZYjONE=", "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", - "colorette": "^2.0.14", + "@webpack-cli/configtest": "^1.0.4", + "@webpack-cli/info": "^1.3.0", + "@webpack-cli/serve": "^1.5.2", + "colorette": "^1.2.1", "commander": "^7.0.0", "execa": "^5.0.0", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^2.2.0", "rechoir": "^0.7.0", + "v8-compile-cache": "^2.2.0", "webpack-merge": "^5.7.3" }, "dependencies": { "commander": { "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/commander/download/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + "resolved": "https://registry.nlark.com/commander/download/commander-7.2.0.tgz", + "integrity": "sha1-o2y1fQtQHOEI5NIFWaFQo5HZerc=" } } }, "webpack-merge": { "version": "5.8.0", - "resolved": "https://registry.npmmirror.com/webpack-merge/download/webpack-merge-5.8.0.tgz", + "resolved": "https://registry.nlark.com/webpack-merge/download/webpack-merge-5.8.0.tgz?cache=0&sync_timestamp=1624607912484&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack-merge%2Fdownload%2Fwebpack-merge-5.8.0.tgz", "integrity": "sha1-Kznb8ir4d3atdEw5AiNzHTCmj2E=", "requires": { "clone-deep": "^4.0.1", @@ -4184,9 +5561,9 @@ } }, "webpack-sources": { - "version": "3.2.2", - "resolved": "https://registry.npmmirror.com/webpack-sources/download/webpack-sources-3.2.2.tgz?cache=0&sync_timestamp=1636982699200&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-3.2.2.tgz", - "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==" + "version": "3.2.0", + "resolved": "https://registry.nlark.com/webpack-sources/download/webpack-sources-3.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-3.2.0.tgz", + "integrity": "sha1-sWlzvPhE682zr94y7aHATQuQ+J0=" }, "which": { "version": "2.0.2", @@ -4198,7 +5575,7 @@ }, "wide-align": { "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/wide-align/download/wide-align-1.1.3.tgz?cache=0&sync_timestamp=1634307502489&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwide-align%2Fdownload%2Fwide-align-1.1.3.tgz", + "resolved": "https://registry.nlark.com/wide-align/download/wide-align-1.1.3.tgz", "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=", "dev": true, "requires": { @@ -4207,7 +5584,7 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-3.0.0.tgz", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, @@ -4219,7 +5596,7 @@ }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/string-width/download/string-width-2.1.1.tgz", + "resolved": "https://registry.nlark.com/string-width/download/string-width-2.1.1.tgz", "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", "dev": true, "requires": { @@ -4229,7 +5606,7 @@ }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-4.0.0.tgz", + "resolved": "https://registry.nlark.com/strip-ansi/download/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { @@ -4257,7 +5634,7 @@ }, "wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz", "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", "dev": true, "requires": { @@ -4271,6 +5648,11 @@ "resolved": "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, + "ws": { + "version": "8.3.0", + "resolved": "http://mirrors.tools.huawei.com/npm/ws/-/ws-8.3.0.tgz", + "integrity": "sha512-Gs5EZtpqZzLvmIM59w4igITU57lrtYVFneaa434VROv4thzJyV6UjIL3D42lslWlI+D4KzLYnxSwtfuiO79sNw==" + }, "y18n": { "version": "5.0.8", "resolved": "https://registry.nlark.com/y18n/download/y18n-5.0.8.tgz", @@ -4279,12 +5661,12 @@ }, "yallist": { "version": "4.0.0", - "resolved": "https://registry.nlark.com/yallist/download/yallist-4.0.0.tgz?cache=0&sync_timestamp=1622604530774&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyallist%2Fdownload%2Fyallist-4.0.0.tgz", + "resolved": "https://registry.nlark.com/yallist/download/yallist-4.0.0.tgz?cache=0&sync_timestamp=1624607893982&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyallist%2Fdownload%2Fyallist-4.0.0.tgz", "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=" }, "yargs": { "version": "16.2.0", - "resolved": "https://registry.npmmirror.com/yargs/download/yargs-16.2.0.tgz", + "resolved": "https://registry.nlark.com/yargs/download/yargs-16.2.0.tgz", "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", "dev": true, "requires": { @@ -4299,7 +5681,7 @@ }, "yargs-parser": { "version": "20.2.4", - "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.4.tgz?cache=0&sync_timestamp=1637031023704&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.4.tgz", + "resolved": "https://registry.nlark.com/yargs-parser/download/yargs-parser-20.2.4.tgz?cache=0&sync_timestamp=1624608003030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.4.tgz", "integrity": "sha1-tCiQ8UVmeW+Fro46JSkNIF8VSlQ=", "dev": true }, @@ -4317,13 +5699,13 @@ }, "yn": { "version": "3.1.1", - "resolved": "https://registry.nlark.com/yn/download/yn-3.1.1.tgz?cache=0&sync_timestamp=1628974846240&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyn%2Fdownload%2Fyn-3.1.1.tgz", + "resolved": "https://registry.nlark.com/yn/download/yn-3.1.1.tgz", "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A=", "dev": true }, "yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz", + "resolved": "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz?cache=0&sync_timestamp=1628812679256&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyocto-queue%2Fdownload%2Fyocto-queue-0.1.0.tgz", "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=" } } diff --git a/compiler/package.json b/compiler/package.json index fe0cde331..ee9a8e13f 100644 --- a/compiler/package.json +++ b/compiler/package.json @@ -13,7 +13,7 @@ "build": "npm run generateSyntaxParser && npm run generateDeclarations && ./node_modules/.bin/babel ./src --out-dir lib --extensions .ts", "create": "node ./lib/create.js --env projectName", "compile": "webpack --config webpack.config.js --env buildMode=debug projectName", - "test": "npm run build && mocha -r ts-node/register test/test.ts", + "test": "npm run build && mocha -r mocha-context/register test/test.js", "generateDeclarations": "node ./build_declarations_file.js ../../../interface/sdk-js/api/@internal/component/ets ./declarations ./lib", "generateSyntaxParser": "node build_parser.js ./syntax_parser/dist", "postinstall": "node npm-install.js" @@ -29,18 +29,20 @@ "chai": "^4.2.0", "eslint": "^7.16.0", "mocha": "^8.2.1", + "mocha-context": "^0.1.5", "ts-node": "^9.1.1", - "uglify-es": "^3.3.10" + "uglify-es": "^3.3.10", + "pegjs": "^0.10.0" }, "dependencies": { "clean-webpack-plugin": "^3.0.0", "copy-webpack-plugin": "^8.1.0", - "deccjsunit": "1.0.3", + "deccjsunit": "1.0.4", "log4js": "^6.3.0", - "pegjs": "^0.10.0", "ts-loader": "^8.0.12", "typescript": "^4.1.3", "webpack": "^5.48.0", - "webpack-cli": "^4.2.0" + "webpack-cli": "^4.2.0", + "ws": "^8.3.0" } } diff --git a/compiler/sample/manifest.json b/compiler/sample/manifest.json index 97155b8f1..8895c323c 100644 --- a/compiler/sample/manifest.json +++ b/compiler/sample/manifest.json @@ -1,5 +1,5 @@ { - "appID": "com.huawei.ace.helloworld", + "appID": "com.example.ace.helloworld", "appName": "HelloAce", "versionName": "1.0.0", "versionCode": 1, diff --git a/compiler/sample/pages/home_preview.ets b/compiler/sample/pages/home_preview.ets index c11cf6319..c4352e719 100644 --- a/compiler/sample/pages/home_preview.ets +++ b/compiler/sample/pages/home_preview.ets @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - + @Entry @Component struct HomePreviewComponent { diff --git a/compiler/sample/pages/testcases/expected/component-01-expected.js b/compiler/sample/pages/testcases/expected/component-01-expected.js index eda0bbd21..45b082ae6 100644 --- a/compiler/sample/pages/testcases/expected/component-01-expected.js +++ b/compiler/sample/pages/testcases/expected/component-01-expected.js @@ -15,7 +15,7 @@ class MyComponent extends View { constructor() { - super(); + super(); this.value1 = value1; this.value2 = value2; this.value3 = value3; diff --git a/compiler/sample/pages/testcases/showcaseCovid19.ets b/compiler/sample/pages/testcases/showcaseCovid19.ets index 01a058645..bd4dd5887 100644 --- a/compiler/sample/pages/testcases/showcaseCovid19.ets +++ b/compiler/sample/pages/testcases/showcaseCovid19.ets @@ -21,7 +21,6 @@ * * ACE @ Web Helsinki * - */ const enum FlexAlign { diff --git a/compiler/sample/pages/todo.ets b/compiler/sample/pages/todo.ets index e3cbe4b4c..6b0089d3f 100644 --- a/compiler/sample/pages/todo.ets +++ b/compiler/sample/pages/todo.ets @@ -24,7 +24,7 @@ * https://rnd-gitlab-eu-c.huawei.com/zidanehbs/ace/ace/-/blob/fin-hmf-dev-ace-diff-clean/samples/common/res/hi_topapp/assets/js/default/acediff/todoListForEach.js * This is the ouput the eDSL transpiler should generate. */ - + let tasks: Array = [ { label: "Wash the car" }, { label: "Buy some milk" }, diff --git a/compiler/server/build_pipe_server.js b/compiler/server/build_pipe_server.js new file mode 100644 index 000000000..4fcfd80dc --- /dev/null +++ b/compiler/server/build_pipe_server.js @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +const WebSocket = require('ws'); +const ts = require('typescript'); + +const { processComponentChild } = require('../lib/process_component_build'); + +const WebSocketServer = WebSocket.Server; + +let pluginSocket = ''; + +const pluginCommandChannelMessageHandlers = { + 'compileComponent': handlePluginCompileComponent, + 'default': handlePluginDefault +}; + +function init(port) { + const wss = new WebSocketServer({port: port}); + wss.on('connection', function(ws) { + pluginSocket = ws; + handlePluginConnect(ws); + }); +} + +function handlePluginConnect(ws) { + ws.on('message', function(message) { + const jsonData = JSON.parse(message); + handlePluginCommand(jsonData); + }); +} + +function handlePluginCommand(jsonData) { + pluginCommandChannelMessageHandlers[jsonData.command] + ? pluginCommandChannelMessageHandlers[jsonData.command](jsonData) + : pluginCommandChannelMessageHandlers['default'](jsonData); +} + +function handlePluginDefault() { + console.error('Failed to recognize command'); +} + +function handlePluginCompileComponent(jsonData) { + const received_msg = jsonData; + const sourceNode = ts.createSourceFile + ('preview.ts', received_msg.data.script, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS); + const previewStatements = []; + processComponentChild(sourceNode, previewStatements, []); + const newSource = ts.factory.updateSourceFile(sourceNode, previewStatements); + const printer = ts.createPrinter({ newLine: ts.NewLineKind.LineFeed }); + const result = printer.printNode(ts.EmitHint.Unspecified, newSource, newSource); + received_msg.data.script = result; + if (pluginSocket.readyState === WebSocket.OPEN){ + responseToPlugin(received_msg); + } +} + +function responseToPlugin(jsonData) { + pluginSocket.send(JSON.stringify(jsonData), (err) => { + console.error('Failed to send data through websocket'); + }); +} + +module.exports = { + init +}; diff --git a/compiler/src/compile_info.ts b/compiler/src/compile_info.ts index 41693a175..ddeb4fb27 100644 --- a/compiler/src/compile_info.ts +++ b/compiler/src/compile_info.ts @@ -15,15 +15,22 @@ import Stats from 'webpack/lib/Stats'; import Compiler from 'webpack/lib/Compiler'; +import Compilation from 'webpack/lib/Compilation'; +import JavascriptModulesPlugin from 'webpack/lib/javascript/JavascriptModulesPlugin'; import { configure, getLogger } from 'log4js'; import RawSource from 'webpack-sources/lib/RawSource'; +import path from 'path'; +import fs from 'fs'; +import CachedSource from 'webpack-sources/lib/CachedSource'; +import ConcatSource from 'webpack-sources/lib/ConcatSource'; import { BUILDIN_STYLE_NAMES, - EXTEND_ATTRIBUTE + EXTEND_ATTRIBUTE, + STYLES_ATTRIBUTE } from './component_map'; import { transformLog } from './process_ui_syntax'; import { @@ -34,6 +41,8 @@ import { import { decoratorParamSet } from './process_component_member'; import { appComponentCollection } from './process_component_build'; import { projectConfig } from '../main'; +import { circularFile } from './utils'; +import { MODULE_SHARE_PATH, BUILD_SHARE_PATH } from './pre_define'; configure({ appenders: { 'ETS': {type: 'stderr', layout: {type: 'messagePassThrough'}}}, @@ -42,6 +51,13 @@ configure({ export const logger = getLogger('ETS'); const props: string[] = []; +const GLOBAL_COMMON_MODULE_CACHE: string = ` +globalThis["__common_module_cache__"] = globalThis["__common_module_cache__"] || {}; +globalThis["webpackChunkcompilier"].forEach((item)=> { + Object.keys(item[1]).forEach((element) => { + globalThis["__common_module_cache__"][element] = null; + }) +});`; interface Info { message?: string; @@ -62,6 +78,7 @@ export class ResultStates { private yellow: string = '\u001b[33m'; private blue: string = '\u001b[34m'; private reset: string = '\u001b[39m'; + private modulePaths: Set = new Set([]); public apply(compiler: Compiler): void { compiler.hooks.compilation.tap('SourcemapFixer', compilation => { @@ -73,6 +90,52 @@ export class ResultStates { }); } ); + + compilation.hooks.buildModule.tap("findModule", (module) => { + if (/node_modules/.test(module.context)) { + const modulePath: string = + path.resolve(module.resourceResolveData.descriptionFileRoot, MODULE_SHARE_PATH); + if (fs.existsSync(modulePath)) { + this.modulePaths.add(modulePath); + } + } + }); + }); + + compiler.hooks.afterCompile.tap('copyFindModule', () => { + this.modulePaths.forEach(modulePath => { + circularFile(modulePath, path.resolve(projectConfig.buildPath, BUILD_SHARE_PATH)); + }); + }); + + compiler.hooks.compilation.tap('CommonAsset', compilation => { + compilation.hooks.processAssets.tap( + { + name: 'GLOBAL_COMMON_MODULE_CACHE', + stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONS, + }, + (assets) => { + if (assets['commons.js']) { + assets['commons.js'] = new CachedSource( + new ConcatSource(assets['commons.js'], GLOBAL_COMMON_MODULE_CACHE)); + } else if (assets['vendors.js']) { + assets['vendors.js'] = new CachedSource( + new ConcatSource(assets['vendors.js'], GLOBAL_COMMON_MODULE_CACHE)); + } + }); + }); + + compiler.hooks.compilation.tap('Require', compilation => { + JavascriptModulesPlugin.getCompilationHooks(compilation).renderRequire.tap('renderRequire', + (source) => { + return `var commonCachedModule = globalThis["__common_module_cache__"] ? ` + + `globalThis["__common_module_cache__"][moduleId]: null;\n` + + `if (commonCachedModule) { return commonCachedModule.exports; }\n` + + source.replace('// Execute the module function', + `if (globalThis["__common_module_cache__"] && moduleId.indexOf("?name=") < 0 && ` + + `Object.keys(globalThis["__common_module_cache__"]).indexOf(moduleId) >= 0) {\n` + + ` globalThis["__common_module_cache__"][moduleId] = module;\n}`); + }); }); compiler.hooks.done.tap('Result States', (stats: Stats) => { @@ -192,11 +255,13 @@ export class ResultStates { const propInfoReg: RegExp = /Cannot find name\s*'(\$?[_a-zA-Z0-9]+)'/; const componentNameReg: RegExp = /'typeof\s*(\$?[_a-zA-Z0-9]+)' is not callable/; const stateInfoReg: RegExp = /Property\s*'(\$[_a-zA-Z0-9]+)' does not exist on type/; - const extendInfoReg: RegExp = /Property\s*'([_a-zA-Z0-9]+)' does not exist on type\s*'([_a-zA-Z0-9]+)'\./; + const extendInfoReg: RegExp = + /Property\s*'([_a-zA-Z0-9]+)' does not exist on type\s*'([_a-zA-Z0-9]+)(Attribute|Interface)'\./; if (this.matchMessage(message, props, propInfoReg) || this.matchMessage(message, [...componentCollection.customComponents], componentNameReg) || this.matchMessage(message, props, stateInfoReg) || - this.matchMessage(message, EXTEND_ATTRIBUTE, extendInfoReg, true)) { + this.matchMessage(message, EXTEND_ATTRIBUTE, extendInfoReg, true) || + this.matchMessage(message, STYLES_ATTRIBUTE, extendInfoReg)) { return false; } return true; diff --git a/compiler/src/component_map.ts b/compiler/src/component_map.ts index bb64266fd..e646acd5e 100644 --- a/compiler/src/component_map.ts +++ b/compiler/src/component_map.ts @@ -13,382 +13,33 @@ * limitations under the License. */ -export const COMPONENT_MAP: any = { - Search: { - atomic: true, - attrs: [ - 'searchButton', 'placeholderColor', 'placeholderFont', 'onSubmit', 'onChange' - ] - }, - FormComponent: { - atomic: true, - attrs: [ - 'size', 'moduleName', 'dimension', 'allowUpdate', 'visibility', - 'onAcquired', 'onError', 'onRouter' - ] - }, - Image: { - atomic: true, - attrs: [ - 'alt', 'objectFit', 'matchTextDirection', 'fitOriginalSize', 'objectRepeat', 'renderMode', 'interpolation', - 'onComplete', 'onError', 'onFinish', 'sourceSize', 'fillColor', 'autoResize' - ] - }, - ImageAnimator: { - atomic: true, - attrs: [ - 'images', 'state', 'duration', 'reverse', 'fixedSize', 'preDecode', 'fillMode', 'iterations', 'onStart', - 'onPause', 'onRepeat', 'onCancel', 'onFinish' - ] - }, - Animator: { - atomic: true, - noDebugLine: true, - attrs: [ - 'state', 'duration', 'curve', 'delay', 'fillMode', 'iterations', 'playMode', 'motion', 'onStart', - 'onPause', 'onRepeat', 'onCancel', 'onFinish', 'onFrame' - ] - }, - Refresh: { - single: true, - attrs: [ - 'refreshing', 'offset', 'friction', - 'onStateChange', 'onRefreshing' - ] - }, - SpringProp: { - atomic: true - }, - SpringMotion: { - atomic: true - }, - FrictionMotion: { - atomic: true - }, - ScrollMotion: { - atomic: true - }, - Text: { - children: ['Span'], - attrs: [ - 'fontColor', 'fontSize', 'fontStyle', 'fontWeight', 'textAlign', 'lineHeight', 'textOverflow', 'maxLines', - 'decoration', 'letterSpacing', 'textCase', 'baselineOffset', 'minFontSize', 'maxFontSize' - ] - }, - TextPicker: { - atomic: true, - attrs: ['defaultPickerItemHeight', 'onAccept', 'onCancel', 'onChange'] - }, - DatePicker: { - atomic: true, - attrs: ['lunar', 'onChange', 'useMilitaryTime'] - }, - Span: { - atomic: true, - attrs: [ - 'fontColor', 'fontSize', 'fontStyle', 'fontFamily', 'fontWeight', 'decoration', 'letterSpacing', 'textCase' - ] - }, - Button: { - attrs: ['type', 'stateEffect', 'fontColor', 'fontSize', 'fontWeight'] - }, - Divider: { - atomic: true, - attrs: ['color', 'vertical', 'strokeWidth', 'lineCap'] - }, - Piece: { - atomic: true, - attrs: ['iconPosition'] - }, - Slider: { - atomic: true, - attrs: ['blockColor', 'trackColor', 'selectedColor', 'minLabel','maxLabel', 'showSteps', 'showTips', 'onChange'] - }, - Counter: { - attrs: [ - 'onStateChange', 'onInc', - 'onDec', 'height', 'width' - ] - }, - Row: { - attrs: ['alignItems'] - }, - Column: { - attrs: ['alignItems'] - }, - Stack: { - attrs: ['alignContent'] - }, - List: { - children: ['ListItem', 'Section'], - attrs: [ - 'listDirection', 'scrollBar', 'edgeEffect', 'divider', 'editMode', 'cachedCount', 'chainAnimation', - 'onScroll', 'onReachStart', 'onReachEnd', 'onScrollStop', 'onItemDelete', 'onItemMove' - ] - }, - ListItem: { - parents: ['List'], - single: true, - attrs: ['sticky', 'editable'] - }, - Grid: { - children: ['GridItem'], - attrs: ['columnsTemplate', 'rowsTemplate', 'columnsGap', 'rowsGap', 'scrollBar', 'scrollBarWidth', 'scrollBarColor'] - }, - GridItem: { - parents: ['Grid'], - single: true, - attrs: ['rowStart', 'rowEnd', 'columnStart', 'columnEnd', 'forceRebuild'] - }, - GridContainer: { - attrs: ['columns', 'sizeType', 'gutter', 'margin'] - }, - Hyperlink: { - attrs: ['color'] - }, - Swiper: { - attrs: [ - 'index', 'autoPlay', 'interval', 'indicator', - 'loop', 'duration', 'vertical', 'itemSpace', 'displayMode', 'onChange' - ] - }, - Stepper: { - children: ['StepperItem'], - attrs: [ - 'onFinish', 'onSkip', 'onChange', 'onNext', 'onPrevious' - ] - }, - StepperItem: { - parents: ['Stepper'], - single: true, - attrs: ['prevLabel', 'nextLabel', 'status'] - }, - Rating: { - attrs: ['stars', 'stepSize', 'starStyle', 'onChange'] - }, - Calendar: { - attrs: [ - 'date', 'showLunar', 'startOfWeek', 'offDays', 'onSelectChange', 'onRequestData', - 'currentData', 'preData', 'nextData', 'needSlide', 'showHoliday', 'direction', - 'currentDayStyle', 'nonCurrentDayStyle', 'todayStyle', 'weekStyle', 'workStateStyle' - ] - }, - Panel: { - attrs: [ - 'type', 'mode', 'dragBar', 'fullHeight', - 'halfHeight', 'miniHeight', 'show', 'onChange' - ] - }, - Navigator: { - single: true, - attrs: ['target', 'type', 'params', 'active'] - }, - Sheet: { - children: ['Section'], - attrs: [] - }, - Section: { - attrs: [] - }, - QRCode: { - attrs: ['color', 'backgroundColor'] - }, - Flex: { - attrs: [] - }, - LoadingProgress: { - atomic: true, - attrs: ['color'] - }, - NavigationView: { - attrs: [] - }, - Scroll: { - attrs: [ - 'scrollable', 'onScroll', 'onScrollEdge', 'onScrollEnd', 'scrollBar', 'scrollBarColor', - 'scrollBarWidth', 'edgeEffect' - ] - }, - Shape: { - children: ['Rect', 'Path', 'Circle', 'Ellipse', 'Shape', 'Polyline', 'Polygon', 'Image', 'Text'], - attrs: [ - 'stroke', 'fill', 'strokeDashOffset', 'strokeLineCap', - 'strokeLineJoin', 'strokeMiterLimit', 'strokeOpacity', - 'fillOpacity', 'strokeWidth', 'antiAlias', 'strokeDashArray', - 'viewPort' - ] - }, - Progress: { - atomic: true, - attrs: [ - 'value', 'color', 'cricularStyle', 'circularStyle' - ] - }, - Rect: { - atomic: true, - attrs: [ - 'radiusWidth', 'radiusHeight', 'radius' - ] - }, - Path: { - atomic: true, - attrs: [ - 'commands' - ] - }, - Circle: { - atomic: true - }, - Ellipse: { - atomic: true - }, - Camera: { - atomic: true, - attrs: ['devicePosition'] - }, - Tabs: { - children: ['TabContent'], - attrs: [ - 'vertical', 'scrollable', 'barMode', 'barWidth', 'barHeight', 'animationDuration', - 'onChange' - ] - }, - TabContent: { - parents: ['Tabs'], - attrs: ['tabBar'] - }, - PageTransitionEnter: { - atomic: true, - noDebugLine: true, - attrs: ['onEnter'] - }, - PageTransitionExit: { - atomic: true, - noDebugLine: true, - attrs: ['onExit'] - }, - Blank: { - parents: ['Row', 'Column'], - atomic: true, - attrs: ['color'] - }, - RowSplit: { - attrs: ['resizeable'] - }, - ColumnSplit: { - attrs: ['resizeable'] - }, - Toggle: { - attrs: ['onChange', 'selectedColor', 'swithPointStyle'] - }, - AlertDialog: { - attrs: ['show'] - }, - ActionSheet: { - attrs: ['show'] - }, - Video: { - atomic: true, - attrs: [ - 'muted', 'autoPlay', 'controls', 'loop', 'objectFit', 'onSeeking', 'onFullscreenChange', - 'onStart', 'onPause', 'onPrepared', 'onFinish', 'onSeeked', 'onUpdate', 'onError' - ] - }, - AbilityComponent: { - attrs: ['onReady', 'onDestroy', 'onAbilityCreated', 'onAbilityMoveToFront', 'onAbilityWillRemove'] - }, - AlphabetIndexer: { - attrs: [ - 'onSelected', 'selectedColor', 'popupColor', 'selectedBackgroundColor', 'popupBackground', 'usingPopup', - 'selectedFont', 'popupFont', 'itemSize', 'font', 'color', 'alignStyle' - ] - }, - Radio: { - atomic: true, - attrs: ['checked', 'onChange'] - }, - Web: { - atomic: true, - attrs: ['pagestart', 'pagefinish', 'error','message', 'reload'] - }, - GeometryView: { - atomic: true - }, - DataPanel: { - atomic: false, - attrs: ['closeEffect'] - }, - Badge: { - atomics: true, - attrs: [] - }, - Line: { - atomic: true, - attrs: [ - 'startPoint','endPoint' - ] - }, - Polygon: { - atomic: true, - attrs: ['points'] - }, - Polyline: { - atomic: true, - attrs: ['points'] - }, - Gauge: { - atomic: true, - attrs: ['value', 'startAngle', 'endAngle', 'colors', 'strokeWidth', 'labelTextConfig', 'labelColorConfig'] - }, - TextArea: { - atomic: true, - attrs: [ - 'placeholderColor', 'placeholderFont', 'textAlign', 'caretColor', 'onChange' - ] - }, - TextInput: { - atomic: true, - attrs: [ - 'type', 'placeholderColor', 'placeholderFont', 'enterKeyType', 'caretColor', 'maxLength', 'onEditChanged', - 'onSubmit', 'onChange' - ] - }, - Marquee: { - atomic: true, - attrs: ['fontColor', 'fontSize', 'allowScale', 'fontWeight', 'fontFamily', 'onStart', 'onBounce', 'onFinish'] - }, - Menu: { - children: ['Option'], - attrs: ['show', 'showPosition', 'fontColor', 'fontSize', 'fontWeight', 'fontFamily'], - }, - Option: { - parents: ['Menu'], - attrs: ['fontColor', 'fontSize', 'fontWeight', 'fontFamily'], - }, -}; +const fs = require('fs'); +const path = require('path'); +import ts from 'typescript'; + +export const COMPONENT_MAP: any = {}; + +export let COMMON_ATTRS: Set = new Set([]); + +(function readComponents() { + const componentsFile: string = path.join(__dirname, '../components'); + const files: string[] = fs.readdirSync(componentsFile); + files.forEach(function(item) { + const fPath: string = path.join(componentsFile, item); + const json: any = require(fPath); + const stat: any = fs.statSync(fPath); + if (stat.isFile()) { + if (json.name) { + const compName: string = json.name; + delete json.name; + COMPONENT_MAP[compName] = json; + } else { + COMMON_ATTRS = new Set(json.attrs); + } + } + }); +})(); -const COMMON_ATTRS: Set = new Set([ - 'width', 'height', 'size', 'constraintSize', 'layoutPriority', 'layoutWeight', - 'padding', 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', - 'margin', 'marginLeft', 'marginRight', 'marginTop', 'marginBottom', - 'border', 'borderStyle', 'borderWidth', 'borderColor', 'borderRadius', - 'backgroundColor', 'backgroundImage', 'backgroundImageSize', 'backgroundImagePosition', - 'opacity', 'animation', 'transition', - 'navigationTitle', 'navigationSubTitle', 'hideNavigationBar', 'hideNavigationBackButton', - 'toolBar', 'hideToolBar', 'onClick', 'onTouch', 'onKeyEvent', 'onHover', - 'blur', 'backdropBlur', 'windowBlur', 'translate', 'rotate', 'scale', 'transform', - 'onAppear', 'onDisAppear', 'visibility', 'flexBasis', 'flexShrink', 'flexGrow', 'alignSelf', - 'useAlign', 'zIndex', 'sharedTransition', 'direction', 'align', 'position', 'markAnchor', 'offset', - 'enabled', 'aspectRatio', 'displayPriority', - 'onDrag', 'onDragEnter', 'onDragMove', 'onDragLeave', 'onDrop', - 'overlay', 'linearGradient', 'sweepGradient', 'radialGradient', - 'gridOffset', 'gridSpan', 'useSizeType', - 'motionPath', 'clip', 'shadow', 'mask', - 'accessibilityGroup', 'accessibilityText', 'accessibilityDescription', - 'accessibilityImportance', 'onAccessibility', 'grayscale', 'brightness', 'contrast', - 'saturate', 'geometryTransition', - 'bindPopup', 'colorBlend', 'invert', 'sepia', 'hueRotate', 'bindMenu' -]); const TRANSITION_COMMON_ATTRS: Set = new Set([ 'slide', 'translate', 'scale', 'opacity' ]); @@ -397,8 +48,9 @@ export const GESTURE_ATTRS: Set = new Set([ ]); export const forbiddenUseStateType: Set = new Set(['Scroller', 'SwiperScroller', - 'VideoController', 'CustomDialogController', 'SwiperController', 'TabsController', - 'CalendarController', 'AbilityController' + 'VideoController', 'WebController', 'CustomDialogController', 'SwiperController', 'TabsController', + 'CalendarController', 'AbilityController', 'RenderingContext', 'CanvasGradient', 'ImageBitmap', + 'ImageData', 'Path2D', 'RenderingContextSettings', 'OffscreenRenderingContext' ]); export const INNER_COMPONENT_NAMES: Set = new Set(); @@ -411,22 +63,30 @@ export const AUTOMIC_COMPONENT: Set = new Set(); export const SINGLE_CHILD_COMPONENT: Set = new Set(); export const SPECIFIC_CHILD_COMPONENT: Map> = new Map(); export const GESTURE_TYPE_NAMES: Set = new Set([ - 'TapGesture', 'LongPressGesture', 'PanGesture', 'PinchGesture', 'RotationGesture', 'GestureGroup' + 'TapGesture', 'LongPressGesture', 'PanGesture', 'PinchGesture', 'RotationGesture', 'GestureGroup', + 'SwipeGesture' ]); export const CUSTOM_BUILDER_METHOD: Set = new Set(); +export const INNER_STYLE_FUNCTION: Map = new Map(); +export const GLOBAL_STYLE_FUNCTION: Map = new Map(); export interface ExtendParamterInterfance { attribute: string, parameterCount: number } export const EXTEND_ATTRIBUTE: Map> = new Map(); +export const STYLES_ATTRIBUTE: string[] = []; export const JS_BIND_COMPONENTS: Set = new Set([ ...GESTURE_TYPE_NAMES, 'Gesture', 'PanGestureOption', 'CustomDialogController', 'Storage', 'Scroller', 'SwiperController', - 'TabsController', 'CalendarController', 'AbilityController', 'VideoController' + 'TabsController', 'CalendarController', 'AbilityController', 'VideoController', 'WebController', + 'RenderingContext', 'CanvasGradient', 'ImageBitmap', 'ImageData', 'Path2D','RenderingContextSettings', + 'OffscreenRenderingContext', 'AlertDialog' ]); +export const NEEDPOP_COMPONENT: Set = new Set(['Blank', 'Search']); + (function initComponent() { Object.keys(COMPONENT_MAP).forEach((componentName) => { INNER_COMPONENT_NAMES.add(componentName); diff --git a/compiler/src/create.ts b/compiler/src/create.ts index f24f1443e..1cd11150e 100644 --- a/compiler/src/create.ts +++ b/compiler/src/create.ts @@ -54,7 +54,7 @@ function createProject(dist: string) { }`; const manifest:string = `{ - "appID": "com.huawei.` + appID + `", + "appID": "com.example.` + appID + `", "appName": "` + appName + `", "versionName": "1.0.0", "versionCode": 1, diff --git a/compiler/src/pre_define.ts b/compiler/src/pre_define.ts index ce665c478..02acbdd26 100644 --- a/compiler/src/pre_define.ts +++ b/compiler/src/pre_define.ts @@ -13,6 +13,8 @@ * limitations under the License. */ +import path from 'path'; + export const NATIVE_MODULE: Set = new Set( ['system.app', 'ohos.app', 'system.router', 'system.curves', 'ohos.curves', 'system.matrix4', 'ohos.matrix4']); export const SYSTEM_PLUGIN: string = 'system'; @@ -44,6 +46,7 @@ export const INNER_COMPONENT_MEMBER_DECORATORS: Set = new Set([COMPONENT export const COMPONENT_OBSERVED_DECORATOR: string = '@Observed'; export const COMPONENT_BUILDER_DECORATOR: string = '@Builder'; export const COMPONENT_EXTEND_DECORATOR: string = '@Extend'; +export const COMPONENT_STYLES_DECORATOR: string = '@Styles'; export const OBSERVED_PROPERTY_SIMPLE: string = 'ObservedPropertySimple'; export const OBSERVED_PROPERTY_OBJECT: string = 'ObservedPropertyObject'; @@ -86,7 +89,6 @@ export const COMPONENT_BUTTON: string = 'Button'; export const COMPONENT_FOREACH: string = 'ForEach'; export const COMPONENT_LAZYFOREACH: string = 'LazyForEach'; export const IS_RENDERING_IN_PROGRESS: string = 'isRenderingInProgress'; -export const COMPONENT_BLANK: string = 'Blank'; export const FOREACH_OBSERVED_OBJECT: string = 'ObservedObject'; export const FOREACH_GET_RAW_OBJECT: string = 'GetRawObject'; export const COMPONENT_IF: string = 'If'; @@ -95,6 +97,7 @@ export const COMPONENT_IF_UNDEFINED: string = 'undefined'; export const GLOBAL_CONTEXT: string = 'Context'; export const ATTRIBUTE_ANIMATION: string = 'animation'; export const ATTRIBUTE_ANIMATETO: string = 'animateTo'; +export const ATTRIBUTE_STATESTYLES: string = 'stateStyles'; export const COMPONENT_CONSTRUCTOR_ID: string = 'compilerAssignedUniqueChildId'; export const COMPONENT_CONSTRUCTOR_PARENT: string = 'parent'; @@ -170,4 +173,15 @@ export const SET_CONTROLLER_CTR_TYPE: string = 'CustomDialogController'; export const JS_DIALOG: string = 'jsDialog'; export const CUSTOM_DIALOG_CONTROLLER_BUILDER: string = 'builder'; +export const BUILDER_ATTR_NAME: string = 'builder'; +export const BUILDER_ATTR_BIND: string = 'bind'; + export const GEOMETRY_VIEW: string = 'GeometryView'; + +export const MODULE_SHARE_PATH: string = 'src' + path.sep + 'ets' + path.sep + 'share'; +export const BUILD_SHARE_PATH: string = '../share'; + +export const THIS: string = 'this'; +export const STYLES: string = 'Styles'; +export const VISUAL_STATE: string = 'visualState'; +export const VIEW_STACK_PROCESSOR: string = 'ViewStackProcessor'; diff --git a/compiler/src/process_component_build.ts b/compiler/src/process_component_build.ts index f59db6ad9..e17ceb47e 100644 --- a/compiler/src/process_component_build.ts +++ b/compiler/src/process_component_build.ts @@ -21,7 +21,6 @@ import { COMPONENT_CREATE_FUNCTION, COMPONENT_POP_FUNCTION, COMPONENT_BUTTON, - COMPONENT_BLANK, COMPONENT_CREATE_LABEL_FUNCTION, COMPONENT_CREATE_CHILD_FUNCTION, COMPONENT_FOREACH, @@ -44,7 +43,11 @@ import { GESTURE_ENUM_VALUE_LOW, GESTURE_ENUM_VALUE_PARALLEL, COMPONENT_TRANSITION_NAME, - COMPONENT_DEBUGLINE_FUNCTION + COMPONENT_DEBUGLINE_FUNCTION, + ATTRIBUTE_STATESTYLES, + THIS, + VISUAL_STATE, + VIEW_STACK_PROCESSOR } from './pre_define'; import { INNER_COMPONENT_NAMES, @@ -54,7 +57,11 @@ import { GESTURE_ATTRS, GESTURE_TYPE_NAMES, EXTEND_ATTRIBUTE, - NO_DEBUG_LINE_COMPONENT + NO_DEBUG_LINE_COMPONENT, + NEEDPOP_COMPONENT, + INNER_STYLE_FUNCTION, + GLOBAL_STYLE_FUNCTION, + COMMON_ATTRS } from './component_map'; import { componentCollection } from './validate_ui_syntax'; import { processCustomComponent } from './process_custom_component'; @@ -141,7 +148,7 @@ function validateRootNode(node: ts.MethodDeclaration, log: LogInfo[]): boolean { return isValid; } -function processComponentChild(node: ts.Block, newStatements: ts.Statement[], +export function processComponentChild(node: ts.Block | ts.SourceFile, newStatements: ts.Statement[], log: LogInfo[]): void { if (node.statements.length) { node.statements.forEach((item, index) => { @@ -423,7 +430,7 @@ function createComponent(node: ts.ExpressionStatement, type: string): CreateResu ? ts.factory.createIdentifier(COMPONENT_CREATE_CHILD_FUNCTION) : ts.factory.createIdentifier(COMPONENT_CREATE_LABEL_FUNCTION); } - if (temp.getText() === COMPONENT_BLANK) { + if (NEEDPOP_COMPONENT.has(temp.getText())) { res.needPop = true; } if (BUILDIN_CONTAINER_COMPONENT.has(temp.getText())) { @@ -445,19 +452,22 @@ interface AnimationInfo { } export function bindComponentAttr(node: ts.ExpressionStatement, identifierNode: ts.Identifier, - newStatements: ts.Statement[], log: LogInfo[], reverse: boolean = true): void { + newStatements: ts.Statement[], log: LogInfo[], reverse: boolean = true, + isStylesAttr: boolean = false): void { let temp: any = node.expression; const statements: ts.Statement[] = []; const lastStatement: AnimationInfo = { statement: null, kind: false }; while (temp && ts.isCallExpression(temp) && temp.expression) { if (ts.isPropertyAccessExpression(temp.expression) && temp.expression.name && ts.isIdentifier(temp.expression.name)) { - addComponentAttr(temp, temp.expression.name, lastStatement, statements, identifierNode, log); + addComponentAttr(temp, temp.expression.name, lastStatement, statements, identifierNode, log, + isStylesAttr); temp = temp.expression.expression; } else if (ts.isIdentifier(temp.expression)) { if (!INNER_COMPONENT_NAMES.has(temp.expression.getText()) && !GESTURE_TYPE_NAMES.has(temp.expression.getText())) { - addComponentAttr(temp, temp.expression, lastStatement, statements, identifierNode, log); + addComponentAttr(temp, temp.expression, lastStatement, statements, identifierNode, log, + isStylesAttr); } break; } @@ -471,7 +481,8 @@ export function bindComponentAttr(node: ts.ExpressionStatement, identifierNode: } function addComponentAttr(temp: any, node: ts.Identifier, lastStatement: any, - statements: ts.Statement[], identifierNode: ts.Identifier, log: LogInfo[]): void { + statements: ts.Statement[], identifierNode: ts.Identifier, log: LogInfo[], + isStylesAttr): void { const propName: string = node.getText(); if (propName === ATTRIBUTE_ANIMATION) { if (!lastStatement.statement) { @@ -497,13 +508,71 @@ function addComponentAttr(temp: any, node: ts.Identifier, lastStatement: any, ts.factory.createIdentifier(`__${identifierNode.escapedText.toString()}__${propName}`), undefined, temp.arguments))); lastStatement.kind = true; + } else if (propName === ATTRIBUTE_STATESTYLES) { + if (temp.arguments.length === 1 && ts.isObjectLiteralExpression(temp.arguments[0])) { + statements.push(createViewStackProcessor(temp, true)); + traverseStateStylesAttr(temp, statements, identifierNode, log); + lastStatement.kind = true; + } else { + validateStateStyleSyntax(temp, log); + } + } else if (GLOBAL_STYLE_FUNCTION.has(propName) || INNER_STYLE_FUNCTION.has(propName)) { + bindComponentAttr((GLOBAL_STYLE_FUNCTION.get(propName).statements[0] || + INNER_STYLE_FUNCTION.get(propName).statements[0]) as ts.ExpressionStatement, + identifierNode, statements, log, false, true); } else { + if (isStylesAttr && !COMMON_ATTRS.has(propName)) { + validateStateStyleSyntax(temp, log); + } statements.push(ts.factory.createExpressionStatement( createFunction(identifierNode, node, temp.arguments))); lastStatement.kind = true; } } +function createViewStackProcessor(item: any, endViewStack: boolean) { + const argument: ts.StringLiteral[] = [] + if (!endViewStack && item.name) { + argument.push(ts.factory.createStringLiteral(item.name.getText())); + } + return ts.factory.createExpressionStatement(ts.factory.createCallExpression( + ts.factory.createPropertyAccessExpression( + ts.factory.createIdentifier(VIEW_STACK_PROCESSOR), + ts.factory.createIdentifier(VISUAL_STATE) + ), + undefined, + argument + )); +} + +function traverseStateStylesAttr(temp: any, statements: ts.Statement[], + identifierNode: ts.Identifier, log: LogInfo[]) { + temp.arguments[0].properties.reverse().forEach((item: ts.PropertyAssignment) => { + if (ts.isPropertyAccessExpression(item.initializer) && + item.initializer.expression.getText() === THIS && + INNER_STYLE_FUNCTION.get(item.initializer.name.getText())) { + const name: string = item.initializer.name.getText(); + bindComponentAttr(INNER_STYLE_FUNCTION.get(name).statements[0] as ts.ExpressionStatement, + identifierNode, statements, log, false, true); + } else if (ts.isIdentifier(item.initializer) && + GLOBAL_STYLE_FUNCTION.get(item.initializer.getText())) { + const name: string = item.initializer.getText(); + bindComponentAttr(GLOBAL_STYLE_FUNCTION.get(name).statements[0] as ts.ExpressionStatement, + identifierNode, statements, log, false, true); + } else if (ts.isObjectLiteralExpression(item.initializer) && + item.initializer.properties.length === 1 && + ts.isPropertyAssignment(item.initializer.properties[0])) { + bindComponentAttr(ts.factory.createExpressionStatement + (item.initializer.properties[0].initializer), identifierNode, statements, log, false, true); + } else { + validateStateStyleSyntax(temp, log); + } + if (item.name) { + statements.push(createViewStackProcessor(item, false)); + } + }) +} + function isExtendFunctionNode(identifierNode: ts.Identifier, propName: string): boolean { if (identifierNode && EXTEND_ATTRIBUTE.has(identifierNode.escapedText.toString())) { const attributeArray: string[] = @@ -700,3 +769,11 @@ function validateExtendParameterCount(temp: any, identifierNode: ts.Identifier, }); } } + +export function validateStateStyleSyntax(temp: any, log: LogInfo[]) { + log.push({ + type: LogType.ERROR, + message: `.stateStyles doesn't conform standard.`, + pos: temp.getStart() + }); +} diff --git a/compiler/src/process_component_class.ts b/compiler/src/process_component_class.ts index c5429593d..ab5e98fe0 100644 --- a/compiler/src/process_component_class.ts +++ b/compiler/src/process_component_class.ts @@ -32,11 +32,17 @@ import { COMPONENT_BUILDER_DECORATOR, COMPONENT_TRANSITION_FUNCTION, COMPONENT_CREATE_FUNCTION, - GEOMETRY_VIEW + GEOMETRY_VIEW, + BUILDER_ATTR_NAME, + BUILDER_ATTR_BIND, + COMPONENT_STYLES_DECORATOR, + STYLES } from './pre_define'; import { BUILDIN_STYLE_NAMES, - CUSTOM_BUILDER_METHOD + CUSTOM_BUILDER_METHOD, + INNER_STYLE_FUNCTION, + STYLES_ATTRIBUTE } from './component_map'; import { componentCollection, @@ -51,7 +57,8 @@ import { processMemberVariableDecorators, UpdateResult, stateObjectCollection, - curPropMap + curPropMap, + decoratorParamSet } from './process_component_member'; import { processComponentBuild, @@ -149,6 +156,20 @@ function processComponentMethod(node: ts.MethodDeclaration, parentComponentName: updateItem = ts.factory.updateMethodDeclaration(node, undefined, node.modifiers, node.asteriskToken, node.name, node.questionToken, node.typeParameters, node.parameters, node.type, processComponentBlock(node.body, false, log)); + } else if (hasDecorator(node, COMPONENT_STYLES_DECORATOR)) { + if (node.parameters && node.parameters.length === 0) { + INNER_STYLE_FUNCTION.set(name, node.body); + STYLES_ATTRIBUTE.push(name); + BUILDIN_STYLE_NAMES.add(name); + decoratorParamSet.add(STYLES); + } else { + log.push({ + type: LogType.ERROR, + message: `@Styles can't have parameters.`, + pos: node.getStart() + }); + } + return; } } return ts.visitNode(updateItem, visitMethod); @@ -189,10 +210,64 @@ function processBuildMember(node: ts.MethodDeclaration, context: ts.Transformati ts.factory.createIdentifier(FOREACH_OBSERVED_OBJECT), ts.factory.createIdentifier(FOREACH_GET_RAW_OBJECT)), undefined, [node]); } + if ((ts.isIdentifier(node) || ts.isPropertyAccessExpression(node)) && + validateBuilderFunctionNode(node)) { + return getParsedBuilderAttrArgument(node); + } return ts.visitEachChild(node, visitBuild, context); } } +function validateBuilderFunctionNode(node: ts.PropertyAccessExpression | ts.Identifier): boolean { + if (((ts.isPropertyAccessExpression(node) && node.expression && node.name && + node.expression.kind === ts.SyntaxKind.ThisKeyword && ts.isIdentifier(node.name) && + CUSTOM_BUILDER_METHOD.has(node.name.escapedText.toString())) || + ts.isIdentifier(node) && CUSTOM_BUILDER_METHOD.has(node.escapedText.toString())) && + !((ts.isPropertyAccessExpression(node) && validateBuilderParam(node)) || + (ts.isIdentifier(node) && node.parent && ts.isPropertyAccessExpression(node.parent) && + validateBuilderParam(node.parent)))) { + return true; + } else { + return false; + } +} + +function validateBuilderParam(node: ts.PropertyAccessExpression): boolean { + if (node.parent && ts.isCallExpression(node.parent) && node.parent.expression === node) { + return true; + } else { + return false; + } +} + +function getParsedBuilderAttrArgument(node: ts.PropertyAccessExpression | ts.Identifier): + ts.ObjectLiteralExpression { + let newObjectNode: ts.ObjectLiteralExpression = null; + if (ts.isPropertyAccessExpression(node)) { + newObjectNode = ts.factory.createObjectLiteralExpression([ + ts.factory.createPropertyAssignment( + ts.factory.createIdentifier(BUILDER_ATTR_NAME), + ts.factory.createCallExpression( + ts.factory.createPropertyAccessExpression( + node, + ts.factory.createIdentifier(BUILDER_ATTR_BIND) + ), + undefined, + [ts.factory.createThis()] + ) + ) + ]); + } else if (ts.isIdentifier(node)) { + newObjectNode = ts.factory.createObjectLiteralExpression([ + ts.factory.createPropertyAssignment( + ts.factory.createIdentifier(BUILDER_ATTR_NAME), + node + ) + ]) + } + return newObjectNode; +} + function isGeometryView(node: ts.Node): boolean { if (ts.isExpressionStatement(node) && ts.isCallExpression(node.expression)) { const call: ts.CallExpression = node.expression; diff --git a/compiler/src/process_component_member.ts b/compiler/src/process_component_member.ts index b3fffb467..56fa2a2a5 100644 --- a/compiler/src/process_component_member.ts +++ b/compiler/src/process_component_member.ts @@ -836,7 +836,7 @@ function validateHasIllegalQuestionToken(propertyName: ts.Identifier, decorator: log: LogInfo[]): void { log.push({ type: LogType.WARN, - message: `The ${decorator} property '${propertyName.getText()}' cannot have a question token.`, + message: `The ${decorator} property '${propertyName.getText()}' cannot be an optional parameter.`, pos: propertyName.getStart() }); } diff --git a/compiler/src/process_import.ts b/compiler/src/process_import.ts index 1e8e12a43..eb5bb1ceb 100644 --- a/compiler/src/process_import.ts +++ b/compiler/src/process_import.ts @@ -78,7 +78,7 @@ export default function processImport(node: ts.ImportDeclaration | ts.ImportEqua try { let fileResolvePath: string; if (/^(\.|\.\.)\//.test(filePath)) { - fileResolvePath = path.join(pagesDir, filePath); + fileResolvePath = path.resolve(pagesDir, filePath); } else if (/^\//.test(filePath)) { fileResolvePath = filePath; } else { @@ -92,7 +92,7 @@ export default function processImport(node: ts.ImportDeclaration | ts.ImportEqua })), fileResolvePath, log); const sourceFile: ts.SourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS); - visitAllNode(sourceFile, defaultName, asName, pagesDir, log); + visitAllNode(sourceFile, defaultName, asName, path.dirname(fileResolvePath), log); } } catch (e) { // ignore diff --git a/compiler/src/process_ui_syntax.ts b/compiler/src/process_ui_syntax.ts index d2f0d106d..9ab9d87f8 100644 --- a/compiler/src/process_ui_syntax.ts +++ b/compiler/src/process_ui_syntax.ts @@ -26,6 +26,7 @@ import { COMPONENT_BUILD_FUNCTION, COMPONENT_BUILDER_DECORATOR, COMPONENT_EXTEND_DECORATOR, + COMPONENT_STYLES_DECORATOR, RESOURCE, RESOURCE_TYPE, WORKER_OBJECT, @@ -50,9 +51,13 @@ import { } from './process_component_build'; import { BUILDIN_CONTAINER_COMPONENT, + BUILDIN_STYLE_NAMES, CUSTOM_BUILDER_METHOD, EXTEND_ATTRIBUTE, - JS_BIND_COMPONENTS + JS_BIND_COMPONENTS, + INNER_STYLE_FUNCTION, + GLOBAL_STYLE_FUNCTION, + STYLES_ATTRIBUTE } from './component_map'; import { resources } from '../main'; @@ -73,6 +78,11 @@ export function processUISyntax(program: ts.Program, ut = false): Function { validateSourceFileNode(node); node = createEntryNode(node, context); node = ts.visitEachChild(node, processAllNodes, context); + GLOBAL_STYLE_FUNCTION.forEach((block, styleName) => { + BUILDIN_STYLE_NAMES.delete(styleName); + }) + GLOBAL_STYLE_FUNCTION.clear(); + STYLES_ATTRIBUTE.length = 0; return node; } else { return node; @@ -86,6 +96,10 @@ export function processUISyntax(program: ts.Program, ut = false): Function { componentCollection.currentClassName = node.name.getText(); node = processComponentClass(node, context, transformLog.errors, program); componentCollection.currentClassName = null; + INNER_STYLE_FUNCTION.forEach((block, styleName) => { + BUILDIN_STYLE_NAMES.delete(styleName); + }) + INNER_STYLE_FUNCTION.clear(); } else if (ts.isFunctionDeclaration(node)) { if (hasDecorator(node, COMPONENT_EXTEND_DECORATOR)) { node = processExtend(node, transformLog.errors); @@ -95,6 +109,16 @@ export function processUISyntax(program: ts.Program, ut = false): Function { node = ts.factory.updateFunctionDeclaration(node, undefined, node.modifiers, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, processComponentBlock(node.body, false, transformLog.errors)); + } else if (hasDecorator(node, COMPONENT_STYLES_DECORATOR)) { + if (node.parameters.length === 0) { + node = undefined; + } else { + transformLog.errors.push({ + type: LogType.ERROR, + message: `@Styles can't have parameters.`, + pos: node.getStart() + }); + } } } else if (isResource(node)) { node = processResourceData(node as ts.CallExpression); @@ -266,11 +290,11 @@ function isExtendFunction(node: ts.FunctionDeclaration): string { } function createEntryNode(node: ts.SourceFile, context: ts.TransformationContext): ts.SourceFile { - if (componentCollection.entryComponent && !componentCollection.previewComponent) { + if (componentCollection.entryComponent) { const entryNode: ts.ExpressionStatement = createEntryFunction(componentCollection.entryComponent, context); return context.factory.updateSourceFile(node, [...node.statements, entryNode]); - } else if (componentCollection.entryComponent && componentCollection.previewComponent) { + } else if (componentCollection.previewComponent) { const entryNode: ts.ExpressionStatement = createEntryFunction(componentCollection.previewComponent, context); return context.factory.updateSourceFile(node, [...node.statements, entryNode]); diff --git a/compiler/src/utils.ts b/compiler/src/utils.ts index c58d0244e..fdd8cf412 100644 --- a/compiler/src/utils.ts +++ b/compiler/src/utils.ts @@ -126,7 +126,8 @@ export function hasDecorator(node: ts.MethodDeclaration | ts.FunctionDeclaration const STATEMENT_EXPECT: number = 1128; const SEMICOLON_EXPECT: number = 1005; -export const IGNORE_ERROR_CODE: number[] = [STATEMENT_EXPECT, SEMICOLON_EXPECT]; +const STATESTYLES_EXPECT: number = 1003; +export const IGNORE_ERROR_CODE: number[] = [STATEMENT_EXPECT, SEMICOLON_EXPECT, STATESTYLES_EXPECT]; export function readFile(dir: string, utFiles: string[]) { try { @@ -156,3 +157,52 @@ export function createFunction(node: ts.Identifier, attrNode: ts.Identifier, argumentsArr && argumentsArr.length ? argumentsArr : [] ); } + +export function circularFile(inputPath: string, outputPath: string): void { + if ((!inputPath) || (!outputPath)) { + return; + } + fs.readdir(inputPath, function (err, files) { + if (!files) { + return; + } + files.forEach(file => { + const inputFile: string = path.resolve(inputPath, file); + const outputFile: string = path.resolve(outputPath, file); + const fileStat: fs.Stats = fs.statSync(inputFile); + if (fileStat.isFile()) { + copyFile(inputFile, outputFile); + } else { + circularFile(inputFile, outputFile); + } + }); + }); +} + +function copyFile(inputFile: string, outputFile: string): void { + try { + const parent: string = path.join(outputFile, '..'); + if (!(fs.existsSync(parent) && fs.statSync(parent).isDirectory())) { + mkDir(parent); + } + if (fs.existsSync(outputFile)) { + return; + } + const readStream: fs.ReadStream = fs.createReadStream(inputFile); + const writeStream: fs.WriteStream = fs.createWriteStream(outputFile); + readStream.pipe(writeStream); + readStream.on('close', function() { + writeStream.end(); + }); + } catch (err) { + throw err.message; + } +} + +function mkDir(path_: string): void { + const parent: string = path.join(path_, '..'); + if (!(fs.existsSync(parent) && !fs.statSync(parent).isFile())) { + mkDir(parent); + } + fs.mkdirSync(path_); +} \ No newline at end of file diff --git a/compiler/src/validate_ui_syntax.ts b/compiler/src/validate_ui_syntax.ts index e60fcf575..12aa57f8a 100644 --- a/compiler/src/validate_ui_syntax.ts +++ b/compiler/src/validate_ui_syntax.ts @@ -42,7 +42,8 @@ import { COMPONENT_CONSTRUCTOR_PARENT, COMPONENT_CONSTRUCTOR_PARAMS, COMPONENT_EXTEND_DECORATOR, - COMPONENT_OBSERVED_DECORATOR + COMPONENT_OBSERVED_DECORATOR, + STYLES } from './pre_define'; import { INNER_COMPONENT_NAMES, @@ -50,7 +51,9 @@ import { SINGLE_CHILD_COMPONENT, SPECIFIC_CHILD_COMPONENT, BUILDIN_STYLE_NAMES, - EXTEND_ATTRIBUTE + EXTEND_ATTRIBUTE, + GLOBAL_STYLE_FUNCTION, + STYLES_ATTRIBUTE } from './component_map'; import { LogType, @@ -59,6 +62,7 @@ import { addLog, hasDecorator } from './utils'; +import { projectConfig } from '../main'; const parser = require('../syntax_parser/dist/syntax_parser.js'); export interface ComponentCollection { @@ -170,27 +174,55 @@ function checkComponentDecorator(source: string, filePath: string, if (ts.isMissingDeclaration(item)) { const decorators: ts.NodeArray = item.decorators; for (let i = 0; i < decorators.length; i++) { - if (decorators[i] && /struct/.test(item.getText())) { + if (decorators[i] && /struct/.test(decorators[i].getText())) { const message: string = `Please use a valid decorator.`; addLog(LogType.ERROR, message, item.getStart(), log, sourceFile); break; } } } + if (ts.isFunctionDeclaration(item) && item.decorators && item.decorators.length === 1 && + item.decorators[0].expression && item.decorators[0].expression.getText() === STYLES) { + STYLES_ATTRIBUTE.push(item.name.getText()) + GLOBAL_STYLE_FUNCTION.set(item.name.getText(), item.body); + BUILDIN_STYLE_NAMES.add(item.name.getText()); + } }); - validateEntryCount(result, fileQuery, sourceFile.fileName, log); + validateEntryAndPreviewCount(result, fileQuery, sourceFile.fileName, projectConfig.isPreview, log); } return log.length ? log : null; } -function validateEntryCount(result: DecoratorResult, fileQuery: string, - fileName: string, log: LogInfo[]): void { - if (result.entryCount !== 1 && fileQuery === '?entry') { +function validateEntryAndPreviewCount(result: DecoratorResult, fileQuery: string, + fileName: string, isPreview: boolean, log: LogInfo[]): void { + if (result.previewCount > 10 && fileQuery === '?entry') { + log.push({ + type: LogType.ERROR, + message: `A page can contain at most 10 '@Preview' decorators.`, + fileName: fileName + }); + } + if (result.entryCount > 1 && fileQuery === '?entry') { + log.push({ + type: LogType.ERROR, + message: `A page can't contain more than one '@Entry' decorator`, + fileName: fileName + }); + } + if (isPreview && result.previewCount < 1 && result.entryCount !== 1 && + fileQuery === '?entry') { + log.push({ + type: LogType.ERROR, + message: `A page configured in 'config.json' must have one and only one '@Entry' ` + + `decorator, or at least one '@Preview' decorator.`, + fileName: fileName + }); + } else if (!isPreview && result.entryCount !== 1 && fileQuery === '?entry') { log.push({ type: LogType.ERROR, message: `A page configured in 'config.json' must have one and only one '@Entry' ` - + `decorator with a struct.`, + + `decorator.`, fileName: fileName }); } @@ -236,7 +268,7 @@ function checkDecorators(node: ts.MissingDeclaration | ts.ExportAssignment, resu let hasComponentDecorator: boolean = false; const componentName: string = component.getText(); node.decorators.forEach((element) => { - const name: string = element.getText(); + const name: string = element.getText().replace(/\((.|\n)*\)/, '').trim(); if (INNER_COMPONENT_DECORATORS.has(name)) { componentCollection.customComponents.add(componentName); switch (name) { @@ -788,9 +820,10 @@ export function processSystemApi(content: string): string { item = `var ${systemValue} = isSystemplugin('${systemKey}', '${SYSTEM_PLUGIN}') ? ` + `globalThis.systemplugin.${systemKey} : globalThis.requireNapi('${systemKey}')`; } else if (moduleType === OHOS_PLUGIN) { - item = `var ${systemValue} = isSystemplugin('${systemKey}', '${OHOS_PLUGIN}') ? ` + - `globalThis.ohosplugin.${systemKey} : isSystemplugin('${systemKey}', '${SYSTEM_PLUGIN}') ? ` + - `globalThis.systemplugin.${systemKey} : globalThis.requireNapi('${systemKey}')`; + item = `var ${systemValue} = globalThis.requireNapi('${systemKey}') || ` + + `(isSystemplugin('${systemKey}', '${OHOS_PLUGIN}') ? ` + + `globalThis.ohosplugin.${systemKey} : isSystemplugin('${systemKey}', '${SYSTEM_PLUGIN}') ` + + `? globalThis.systemplugin.${systemKey} : undefined)`; } return item; }); diff --git a/compiler/syntax_parser/build_declarations_file.js b/compiler/syntax_parser/build_declarations_file.js new file mode 100644 index 000000000..3b016b636 --- /dev/null +++ b/compiler/syntax_parser/build_declarations_file.js @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +const ts = require('typescript') +const path = require('path') +const fs = require('fs') + +generateTargetFile(process.argv[2], process.argv[3]); +function generateTargetFile(filePath, output) { + const files = []; + const globalTsFile = path.resolve(filePath, '../../global.d.ts'); + if (fs.existsSync(globalTsFile)) { + files.push(globalTsFile); + } + readFile(filePath, files); + if (!fs.existsSync(output)) { + mkDir(output); + } + const license = `/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */`; + files.forEach((item) => { + const content = fs.readFileSync(item, 'utf8'); + const fileName = path.resolve(output, path.basename(item)); + const newContent = license + '\n\n' + processsFile(content, fileName); + fs.writeFile(fileName, newContent, err => { + if (err) { + console.error(err); + return; + } + }); + }); +} + +function readFile(dir, fileDir) { + const files = fs.readdirSync(dir); + files.forEach((element) => { + const filePath = path.join(dir, element); + const status = fs.statSync(filePath); + if (status.isDirectory()) { + readFile(filePath, fileDir); + } else { + fileDir.push(filePath); + } + }); +} + +function mkDir(filePath) { + const parent = path.join(filePath, '..'); + if (!(fs.existsSync(parent) && !fs.statSync(parent).isFile())) { + mkDir(parent); + } + fs.mkdirSync(filePath); +} + +function processsFile(content, fileName) { + let sourceFile = ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS); + const newStatements = []; + if (sourceFile.statements && sourceFile.statements.length) { + sourceFile.statements.forEach((node) => { + if (!ts.isImportDeclaration(node)) { + if (node.modifiers && node.modifiers.length && node.modifiers[0].kind === ts.SyntaxKind.ExportKeyword) { + node.modifiers.splice(0, 1); + } + if (isVariable(node)) { + const name = node.declarationList.declarations[0].name.getText(); + const type = node.declarationList.declarations[0].type.getText(); + if (name.indexOf(type) !== -1) { + const declarationNode = ts.factory.updateVariableDeclaration(node.declarationList.declarations[0], + ts.factory.createIdentifier(type), node.declarationList.declarations[0].exclamationToken, + node.declarationList.declarations[0].type, node.declarationList.declarations[0].initializer); + node.declarationList = ts.factory.updateVariableDeclarationList(node.declarationList, [declarationNode]); + } + } + newStatements.push(node); + } + }); + } + sourceFile = ts.factory.updateSourceFile(sourceFile, newStatements); + const printer = ts.createPrinter({ removeComments: true, newLine: ts.NewLineKind.LineFeed }); + const result = printer.printNode(ts.EmitHint.Unspecified, sourceFile, sourceFile); + return result; +} + +function isVariable(node) { + if (ts.isVariableStatement(node) && node.declarationList && node.declarationList.declarations && + node.declarationList.declarations.length && ts.isVariableDeclaration(node.declarationList.declarations[0]) && + node.declarationList.declarations[0].name && node.declarationList.declarations[0].type) { + return true; + } + return false; +} + +generateComponentConfig(process.argv[4]); +function generateComponentConfig(dir) { + const configFile = path.resolve(dir, 'component_map.js'); + if (fs.existsSync(configFile)) { + const { COMPONENT_MAP } = require(configFile); + try { + fs.writeFileSync(path.resolve(dir, '../component_config.json'), JSON.stringify(COMPONENT_MAP)); + } catch (error) { + console.error(error); + } + } +} diff --git a/compiler/syntax_parser/src/syntax_parser.peg b/compiler/syntax_parser/src/syntax_parser.peg index c77c99afc..309860e41 100644 --- a/compiler/syntax_parser/src/syntax_parser.peg +++ b/compiler/syntax_parser/src/syntax_parser.peg @@ -31,10 +31,18 @@ }; } -start = blocks: block+ +start = blocks: block+ { + let newContent = ""; + for (let item in blocks) { + if (Array.isArray(blocks[item])) { + newContent += blocks[item].join(''); + } else { + newContent += blocks[item]; + } + } return { - content: blocks.join(''), + content: newContent, location: location(), collect_extend: collect_extend, error_otherParsers: error_otherParsers @@ -84,12 +92,11 @@ function_name_tail = $ [a-zA-Z0-9_$]* parameters = $ ([^()]* item* [^()]*) //extract Extend internal attribute SyntaxError -funcBody_extend = body:($[^{}]* item* [^{}]*) +funcBody_extend = body:$([^{}]* item* [^{}]*) { try { - let functionBody = body.join(''); - parse_extend.parse(functionBody); - return functionBody; + parse_extend.parse(body); + return body; } catch (err) { let countLines = location().end.line - location().start.line; if (err.location.start.line === 1) { diff --git a/compiler/test/test.js b/compiler/test/test.js new file mode 100644 index 000000000..0a6506aa0 --- /dev/null +++ b/compiler/test/test.js @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +const ts = require('typescript'); +const path = require('path'); +const chai = require('chai'); +const mocha = require('mocha'); +const expect = chai.expect; + +const { + validateUISyntax, + resetComponentCollection, + sourceReplace, + componentCollection +} = require('../lib/validate_ui_syntax'); +const { processUISyntax } = require('../lib/process_ui_syntax'); +const { + componentInfo, + readFile +} = require('../lib/utils'); +const { BUILD_ON } = require('../lib/pre_define'); + +function expectActual(name, filePath) { + const content = require(filePath); + const source = content.source; + process.env.compiler = BUILD_ON; + const afterProcess = sourceReplace(source); + validateUISyntax(source, afterProcess.content, `${name}.ts`); + const result = ts.transpileModule(afterProcess.content, { + compilerOptions: { + "target": ts.ScriptTarget.ES2017 + }, + fileName: `${name}.ts`, + transformers: { before: [processUISyntax(null, true)] } + }); + componentInfo.id = 0; + componentCollection.customComponents.clear(); + resetComponentCollection(); + expect(result.outputText).eql(content.expectResult); +} + +mocha.describe('compiler', () => { + const utPath = path.resolve(__dirname, './ut'); + const utFiles = []; + readFile(utPath, utFiles); + utFiles.forEach((item) => { + const fileName = path.basename(item, '.ts'); + mocha.it(fileName, () => { + expectActual(fileName, item); + }) + }) +}) diff --git a/compiler/test/ut/animation/animation.ts b/compiler/test/ut/animation/animation.ts index a2cad53be..487a7fee5 100644 --- a/compiler/test/ut/animation/animation.ts +++ b/compiler/test/ut/animation/animation.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct Animation { @@ -58,7 +58,7 @@ struct Animation { } }` -export const expectResult: string = +exports.expectResult = `class Animation extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/build/build.ts b/compiler/test/ut/build/build.ts index 65bb964d4..cd9def872 100644 --- a/compiler/test/ut/build/build.ts +++ b/compiler/test/ut/build/build.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -28,7 +28,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/component/component.ts b/compiler/test/ut/component/component.ts index 9b46eb749..dfbed5caa 100644 --- a/compiler/test/ut/component/component.ts +++ b/compiler/test/ut/component/component.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Component @Entry struct MyComponent { @@ -30,7 +30,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/component/customComponent.ts b/compiler/test/ut/component/customComponent.ts index 6907d09b7..bdf19913b 100644 --- a/compiler/test/ut/component/customComponent.ts +++ b/compiler/test/ut/component/customComponent.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct Parent { @@ -44,7 +44,7 @@ struct Child { } ` -export const expectResult: string = +exports.expectResult = `class Parent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/constructor/id.ts b/compiler/test/ut/constructor/id.ts index 3a7920333..54f547f51 100644 --- a/compiler/test/ut/constructor/id.ts +++ b/compiler/test/ut/constructor/id.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct HomeComponent { @@ -67,7 +67,7 @@ struct Banner { } }` -export const expectResult: string = +exports.expectResult = `class HomeComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/constructor/link.ts b/compiler/test/ut/constructor/link.ts index 117c65802..d2345c6c5 100644 --- a/compiler/test/ut/constructor/link.ts +++ b/compiler/test/ut/constructor/link.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyLinkComponent { @@ -30,7 +30,7 @@ struct MyLinkComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyLinkComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/constructor/observedObjectLink.ts b/compiler/test/ut/constructor/observedObjectLink.ts index 1614e1512..80d965e40 100644 --- a/compiler/test/ut/constructor/observedObjectLink.ts +++ b/compiler/test/ut/constructor/observedObjectLink.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` let NextID : number = 0; @Observed class ClassA { @@ -54,7 +54,7 @@ struct ViewB { } ` -export const expectResult: string = +exports.expectResult = `var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); diff --git a/compiler/test/ut/constructor/prop.ts b/compiler/test/ut/constructor/prop.ts index 8765e74e5..7c3331c6d 100644 --- a/compiler/test/ut/constructor/prop.ts +++ b/compiler/test/ut/constructor/prop.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyPropComponent { @@ -30,7 +30,7 @@ struct MyPropComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyPropComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/constructor/provideConsume.ts b/compiler/test/ut/constructor/provideConsume.ts index a8f884a1e..eada92300 100644 --- a/compiler/test/ut/constructor/provideConsume.ts +++ b/compiler/test/ut/constructor/provideConsume.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Component struct GrandChild { @Consume arr: number[]; @@ -42,7 +42,7 @@ struct Parent { } ` -export const expectResult: string = +exports.expectResult = `class GrandChild extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/constructor/state.ts b/compiler/test/ut/constructor/state.ts index 9f67c7c04..a78778cd8 100644 --- a/compiler/test/ut/constructor/state.ts +++ b/compiler/test/ut/constructor/state.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` class DataModel{ private myData1: number = 0 } @@ -35,7 +35,7 @@ struct MyStateComponent { } }` -export const expectResult: string = +exports.expectResult = `class DataModel { constructor() { this.myData1 = 0; diff --git a/compiler/test/ut/customDialog/customDialog.ts b/compiler/test/ut/customDialog/customDialog.ts index b57f51314..2a0444f2c 100644 --- a/compiler/test/ut/customDialog/customDialog.ts +++ b/compiler/test/ut/customDialog/customDialog.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @CustomDialog struct DialogExample { controller: CustomDialogController; @@ -68,7 +68,7 @@ struct CustomDialogUser { } ` -export const expectResult: string = +exports.expectResult = `class DialogExample extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/decorator/builder.ts b/compiler/test/ut/decorator/builder.ts index 0bf64721d..9b8c506fb 100644 --- a/compiler/test/ut/decorator/builder.ts +++ b/compiler/test/ut/decorator/builder.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Builder function SquareText(label: string, size: number) { Text(label) @@ -44,7 +44,7 @@ struct HomeComponent { } }` -export const expectResult: string = +exports.expectResult = `function SquareText(label, size) { Text.create(label); Text.width(1 * size); diff --git a/compiler/test/ut/decorator/extend.ts b/compiler/test/ut/decorator/extend.ts index a8494672c..3463b321f 100644 --- a/compiler/test/ut/decorator/extend.ts +++ b/compiler/test/ut/decorator/extend.ts @@ -13,10 +13,10 @@ * limitations under the License. */ -export const source: string = ` - @Extend Text.fancy(color:string){ - .backgroundColor(color) - } +exports.source = ` +@Extend Text.fancy(color:string){ + .backgroundColor(color) +} @Extend Text.superFancy(size:number){ @@ -43,7 +43,7 @@ struct FancyText { } }` -export const expectResult: string = +exports.expectResult = `function __Text__fancy(color) { Text.backgroundColor(color); } diff --git a/compiler/test/ut/decorator/watch.ts b/compiler/test/ut/decorator/watch.ts index 90c246194..afafc0a43 100644 --- a/compiler/test/ut/decorator/watch.ts +++ b/compiler/test/ut/decorator/watch.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` class PurchaseItem { static NextId : number = 0; @@ -66,7 +66,7 @@ struct BasketModifier { } }` -export const expectResult: string = +exports.expectResult = `class PurchaseItem { constructor(price) { this.id = PurchaseItem.NextId++; diff --git a/compiler/test/ut/decorator/watchWithAnimateTo.ts b/compiler/test/ut/decorator/watchWithAnimateTo.ts index dc728962d..7744147ba 100644 --- a/compiler/test/ut/decorator/watchWithAnimateTo.ts +++ b/compiler/test/ut/decorator/watchWithAnimateTo.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct ListComponent { @@ -49,7 +49,7 @@ struct DialogView { } ` -export const expectResult: string = +exports.expectResult = `class ListComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/geometryReader/geometryReader.ts b/compiler/test/ut/geometryReader/geometryReader.ts index e8b5b6c4f..bc072834f 100644 --- a/compiler/test/ut/geometryReader/geometryReader.ts +++ b/compiler/test/ut/geometryReader/geometryReader.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct GeometryReaderTest { @@ -30,7 +30,7 @@ struct GeometryReaderTest { } ` -export const expectResult: string = +exports.expectResult = `class GeometryReaderTest extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/gesture/panGestrue.ts b/compiler/test/ut/gesture/panGestrue.ts index f558964a4..36fad83a8 100644 --- a/compiler/test/ut/gesture/panGestrue.ts +++ b/compiler/test/ut/gesture/panGestrue.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` import router from '@system.router' import app from '@system.app' @@ -110,7 +110,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `var router = globalThis.requireNativeModule('system.router'); var app = globalThis.requireNativeModule('system.app'); class MyComponent extends View { diff --git a/compiler/test/ut/gesture/pinchGesture.ts b/compiler/test/ut/gesture/pinchGesture.ts index c85947f2b..751f3d0cf 100644 --- a/compiler/test/ut/gesture/pinchGesture.ts +++ b/compiler/test/ut/gesture/pinchGesture.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` import router from '@system.router' import app from '@system.app' @@ -50,7 +50,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `var router = globalThis.requireNativeModule('system.router'); var app = globalThis.requireNativeModule('system.app'); class MyComponent extends View { diff --git a/compiler/test/ut/gesture/rotationGesture.ts b/compiler/test/ut/gesture/rotationGesture.ts index 87c0b76e9..60cd852e8 100644 --- a/compiler/test/ut/gesture/rotationGesture.ts +++ b/compiler/test/ut/gesture/rotationGesture.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` import router from '@system.router' import app from '@system.app' @@ -51,7 +51,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `var router = globalThis.requireNativeModule('system.router'); var app = globalThis.requireNativeModule('system.app'); class MyComponent extends View { diff --git a/compiler/test/ut/gesture/tapGesture.ts b/compiler/test/ut/gesture/tapGesture.ts index 436553286..556acaee1 100644 --- a/compiler/test/ut/gesture/tapGesture.ts +++ b/compiler/test/ut/gesture/tapGesture.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -86,7 +86,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/import/importEts.ts b/compiler/test/ut/import/importEts.ts index 783eb14a0..031371839 100644 --- a/compiler/test/ut/import/importEts.ts +++ b/compiler/test/ut/import/importEts.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` import LinkComponentDefault, { LinkComponent as LinkComponent1Ref, @@ -134,7 +134,7 @@ struct ImportTest { } ` -export const expectResult: string = +exports.expectResult = `import LinkComponentDefault, { LinkComponent as LinkComponent1Ref, LinkComponent2 as LinkComponent2Ref, LinkComponent3 } from './test/pages/LinkComponent.ets'; import DefaultComponent from "./test/pages/DefaultComponent.ets"; import * as AllComponent from './test/pages/NamespaceComponent'; diff --git a/compiler/test/ut/import/importSystemApi.ts b/compiler/test/ut/import/importSystemApi.ts index 33f1646b1..df5b4058e 100644 --- a/compiler/test/ut/import/importSystemApi.ts +++ b/compiler/test/ut/import/importSystemApi.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` import { router1, router2 } from "@system.router"; import { app } from "@system.router"; import { fetch } from "@system.fetch"; @@ -36,7 +36,7 @@ import hello from 'libhello.so' import world = require('libworld.so') ` -export const expectResult: string = +exports.expectResult = `var { router1, router2 } = globalThis.requireNativeModule('system.router'); var { app } = globalThis.requireNativeModule('system.router'); var { fetch } = isSystemplugin('fetch', 'system') ? globalThis.systemplugin.fetch : globalThis.requireNapi('fetch'); @@ -49,7 +49,7 @@ var fetch = isSystemplugin('fetch', 'system') ? globalThis.systemplugin.fetch : var router = globalThis.requireNativeModule('system.router'); var app = globalThis.requireNativeModule('system.app'); var fetch = isSystemplugin('fetch', 'system') ? globalThis.systemplugin.fetch : globalThis.requireNapi('fetch'); -var fetch = isSystemplugin('net.http', 'ohos') ? globalThis.ohosplugin.net.http : isSystemplugin('net.http', 'system') ? globalThis.systemplugin.net.http : globalThis.requireNapi('net.http'); +var fetch = globalThis.requireNapi('net.http') || (isSystemplugin('net.http', 'ohos') ? globalThis.ohosplugin.net.http : isSystemplugin('net.http', 'system') ? globalThis.systemplugin.net.http : undefined); var hello = globalThis.requireNapi("hello", true); var world = globalThis.requireNapi("world", true); ` diff --git a/compiler/test/ut/import/importTs.ts b/compiler/test/ut/import/importTs.ts index 357302aec..e223e550c 100644 --- a/compiler/test/ut/import/importTs.ts +++ b/compiler/test/ut/import/importTs.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` import { AllStarComponent } from './test/pages/ExportStarComponent' import TsModule from './test/pages/TsModule' @@ -52,7 +52,7 @@ struct ImportTest { } ` -export const expectResult: string = +exports.expectResult = `import { AllStarComponent } from './test/pages/ExportStarComponent'; import TsModule from './test/pages/TsModule'; class ImportTest extends View { diff --git a/compiler/test/ut/link/createLinkReference.ts b/compiler/test/ut/link/createLinkReference.ts index e9562301c..f0924a05e 100644 --- a/compiler/test/ut/link/createLinkReference.ts +++ b/compiler/test/ut/link/createLinkReference.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Component struct MyLinkTestComponent { @Link myLink1?: any @@ -51,7 +51,7 @@ struct LinkTest { } }` -export const expectResult: string = +exports.expectResult = `class MyLinkTestComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/preview/previewDecorator.ts b/compiler/test/ut/preview/previewDecorator.ts index b1adbbbd4..c959b9207 100644 --- a/compiler/test/ut/preview/previewDecorator.ts +++ b/compiler/test/ut/preview/previewDecorator.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct HomePreviewComponent { @@ -56,7 +56,7 @@ struct HomePreviewComponent_Preview { } ` -export const expectResult: string = +exports.expectResult = `class HomePreviewComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); @@ -134,5 +134,5 @@ class HomePreviewComponent_Preview extends View { Column.pop(); } } -loadDocument(new HomePreviewComponent_Preview("1", undefined, {})); +loadDocument(new HomePreviewComponent("1", undefined, {})); ` diff --git a/compiler/test/ut/render/forEach/forEach01.ts b/compiler/test/ut/render/forEach/forEach01.ts index 1f87b8904..0dc49f73f 100644 --- a/compiler/test/ut/render/forEach/forEach01.ts +++ b/compiler/test/ut/render/forEach/forEach01.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -34,7 +34,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/render/forEach/forEach02.ts b/compiler/test/ut/render/forEach/forEach02.ts index 4007051c1..a8e85db6e 100644 --- a/compiler/test/ut/render/forEach/forEach02.ts +++ b/compiler/test/ut/render/forEach/forEach02.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -31,7 +31,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/render/forEach/forEach03.ts b/compiler/test/ut/render/forEach/forEach03.ts index f3122986a..49673c81d 100644 --- a/compiler/test/ut/render/forEach/forEach03.ts +++ b/compiler/test/ut/render/forEach/forEach03.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -40,7 +40,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/render/forEach/forEach04.ts b/compiler/test/ut/render/forEach/forEach04.ts index 586bd7204..f122d727b 100644 --- a/compiler/test/ut/render/forEach/forEach04.ts +++ b/compiler/test/ut/render/forEach/forEach04.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -32,7 +32,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/render/forEach/forEachComplexModel.ts b/compiler/test/ut/render/forEach/forEachComplexModel.ts index 5f5eb56d8..cabea5473 100644 --- a/compiler/test/ut/render/forEach/forEachComplexModel.ts +++ b/compiler/test/ut/render/forEach/forEachComplexModel.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` // class without @Component convert tool will not process. class Month { year: number = 2010; // why add assignment here, TS grammar required, if not it will omit by TSC. @@ -65,7 +65,7 @@ struct Calendar { } }` -export const expectResult: string = +exports.expectResult = `// class without @Component convert tool will not process. class Month { constructor(year, month, days) { diff --git a/compiler/test/ut/render/forEach/forEachSimpleModel.ts b/compiler/test/ut/render/forEach/forEachSimpleModel.ts index 92e66c9c1..5c018d913 100644 --- a/compiler/test/ut/render/forEach/forEachSimpleModel.ts +++ b/compiler/test/ut/render/forEach/forEachSimpleModel.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent2 { @@ -39,7 +39,7 @@ struct MyComponent2 { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent2 extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/render/if/if.ts b/compiler/test/ut/render/if/if.ts index 38e086356..5ca49ed5e 100644 --- a/compiler/test/ut/render/if/if.ts +++ b/compiler/test/ut/render/if/if.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct MyComponent { @@ -76,7 +76,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/render/if/ifIncludeForEach.ts b/compiler/test/ut/render/if/ifIncludeForEach.ts index becd794ee..1da65db28 100644 --- a/compiler/test/ut/render/if/ifIncludeForEach.ts +++ b/compiler/test/ut/render/if/ifIncludeForEach.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct HomeComponent { @@ -49,7 +49,7 @@ struct HomeComponent { } }` -export const expectResult: string = +exports.expectResult = `class HomeComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/struct/struct_01.ts b/compiler/test/ut/struct/struct_01.ts index 04d53f94b..658ddff72 100644 --- a/compiler/test/ut/struct/struct_01.ts +++ b/compiler/test/ut/struct/struct_01.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Component @Entry struct MyComponent { @@ -21,7 +21,7 @@ struct MyComponent { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/test/ut/struct/struct_02.ts b/compiler/test/ut/struct/struct_02.ts index 644ce3bb3..175a1085d 100644 --- a/compiler/test/ut/struct/struct_02.ts +++ b/compiler/test/ut/struct/struct_02.ts @@ -13,13 +13,13 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` struct MyComponent { build() { } }` -export const expectResult: string = +exports.expectResult = `class MyComponent { constructor(compilerAssignedUniqueChildId, parent, params) { } build() { diff --git a/compiler/test/ut/transition/transition.ts b/compiler/test/ut/transition/transition.ts index bae55792b..22b7a279f 100644 --- a/compiler/test/ut/transition/transition.ts +++ b/compiler/test/ut/transition/transition.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -export const source: string = ` +exports.source = ` @Entry @Component struct HomeComponent { @@ -45,7 +45,7 @@ struct HomeComponent { } }` -export const expectResult: string = +exports.expectResult = `class HomeComponent extends View { constructor(compilerAssignedUniqueChildId, parent, params) { super(compilerAssignedUniqueChildId, parent); diff --git a/compiler/webpack.config.js b/compiler/webpack.config.js index 8e0ab7b80..ad57f512d 100644 --- a/compiler/webpack.config.js +++ b/compiler/webpack.config.js @@ -14,10 +14,12 @@ */ const path = require('path'); +const fs = require('fs'); const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const CopyPlugin = require('copy-webpack-plugin'); const Webpack = require('webpack'); const { GenAbcPlugin } = require('./lib/gen_abc_plugin'); +const buildPipeServer = require('./server/build_pipe_server'); const { projectConfig, @@ -30,6 +32,7 @@ const { const { ResultStates } = require('./lib/compile_info'); const { processUISyntax } = require('./lib/process_ui_syntax'); const { IGNORE_ERROR_CODE } = require('./lib/utils'); +const { BUILD_SHARE_PATH } = require('./lib/pre_define'); const watchMode = (process.env.watchMode && process.env.watchMode === 'true') || false; @@ -43,10 +46,32 @@ function initConfig(config) { poll: false, ignored: /node_modules/ }, + optimization: { + splitChunks: { + chunks: "all", + minSize: 0, + cacheGroups: { + vendors: { + test: /[\\/]node_modules[\\/]/, + priority: -10, + name: "vendors", + chunks: 'initial' + }, + commons: { + name: 'commons', + priority: -20, + minChunks: 2, + chunks: 'initial', + reuseExistingChunk: true + } + } + }, + }, output: { path: path.resolve(__dirname, projectConfig.buildPath), filename: '[name].js', - devtoolModuleFilenameTemplate: 'webpack:///[absolute-resource-path]' + devtoolModuleFilenameTemplate: 'webpack:///[absolute-resource-path]', + globalObject: 'globalThis' }, devtool: 'nosources-source-map', mode: 'development', @@ -150,8 +175,28 @@ function setCopyPluginConfig(config) { }, noErrorOnMissing: true }); + const sharePath = path.resolve(__dirname, projectConfig.projectPath, BUILD_SHARE_PATH); + if (fs.existsSync(sharePath)) { + copyPluginPattrens.push({ + from: '**/*', + context: path.resolve(__dirname, projectConfig.projectPath, BUILD_SHARE_PATH), + to: path.resolve(__dirname, projectConfig.buildPath, BUILD_SHARE_PATH), + globOptions: { + ignore: [ + '**/*.ets', + '**/*.ts', + '**/*.js', + ] + }, + noErrorOnMissing: true + }); + } if (abilityConfig.abilityType === 'page') { - copyPluginPattrens.push({ from: projectConfig.manifestFilePath }); + if (fs.existsSync(projectConfig.manifestFilePath)) { + copyPluginPattrens.push({ from: projectConfig.manifestFilePath }); + } else if (fs.existsSync(projectConfig.aceConfigPath)) { + copyPluginPattrens.push({ from: projectConfig.aceConfigPath }); + } } config.plugins.push(new CopyPlugin({ patterns: copyPluginPattrens })); } @@ -170,6 +215,15 @@ module.exports = (env, argv) => { } } else { projectConfig.isPreview = true; + let port; + process.argv.forEach((val, index) => { + if(val.startsWith('port=')){ + port = val.split('=')[1]; + } + }); + if (port) { + buildPipeServer.init(port); + } } if (env.sourceMap === 'none') { diff --git "a/compiler/\345\246\202\344\275\225\346\226\260\345\242\236\346\210\226\344\277\256\346\224\271\347\273\204\344\273\266\346\214\207\345\257\274\350\247\204\350\214\203.md" "b/compiler/\345\246\202\344\275\225\346\226\260\345\242\236\346\210\226\344\277\256\346\224\271\347\273\204\344\273\266\346\214\207\345\257\274\350\247\204\350\214\203.md" new file mode 100644 index 000000000..5024b4dc3 --- /dev/null +++ "b/compiler/\345\246\202\344\275\225\346\226\260\345\242\236\346\210\226\344\277\256\346\224\271\347\273\204\344\273\266\346\214\207\345\257\274\350\247\204\350\214\203.md" @@ -0,0 +1,82 @@ +## 新增或修改组件规则 + +#### 概述: + +当新增或更新组件和属性时,需要在compiler/src/components目录下新增或修改对应的json文件。 + +同时我们将公共属性放入compiler/components/common_attrs.json文件中,若要更新公共属性在该文件下修改即可。 + +组件形式如下: + +```gn +{ + "name": string, + "attrs": [], + "atomic": boolean, + "parents": [], + "children": [], + "single": boolean, + "noDebugLine": boolean +} +``` + +| 参数 | 参数描述 | +| ------------------------------------------------ | ----------------------------------- | +| name(必须) | 组件名称 | +| attrs(组件必须, 若没有私有属性对应value写空数组) | 组件属性 | +| atomic(可选,默认false) | 是否不能有子组件 | +| parents(可选,默认所有组件可用) | 父组件只能是哪些组件 | +| children(可选,默认所有组件可用) | 子组件只能是哪些组件 | +| single(可选,默认false) | 是否只能包含一个子组件 | +| noDebugLine(可选,默认false) | 预览模式下对应组件是否生成debugline | + +#### 模块结构: + +```mermaid +classDiagram + Component_Map <|-- List + Component_Map <|-- TextArea + Component_Map <|-- AlphabetIndexer + Component_Map <|-- Others + class List{ + name, + attrs, + atomic?, + children?, + parents?, + single?, + noDebugLine? + } + class TextArea{ + name, + attrs, + atomic?, + children?, + parents, + single?, + noDebugLine? + } + class AlphabetIndexer{ + name, + attrs, + atomic?, + children?, + parents, + single?, + noDebugLine? + } + +``` + +#### 文件结构: + +```bash +ace_ets2bundle/compiler + ├── src + ├── component_map + ├── components + ├── Option + ├── Line + ├── Gauge + .... +``` diff --git a/generateSysResource.py b/generateSysResource.py index 2a80ebe7b..d678a2a83 100644 --- a/generateSysResource.py +++ b/generateSysResource.py @@ -1,20 +1,18 @@ -# /* -# Copyright (c) 2021 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (c) 2021 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -#!/usr/bin/env python -# -*- coding: utf-8 -*- - import json import os import argparse @@ -49,19 +47,25 @@ class SysResource: self.records[item_type][item_name] = item_id def write_to_file(self, js_file): - context = "module.exports.sys = {\n" + output = open(js_file, 'w+') + output.write("module.exports.sys = {\n") + first_item = True for (item_type, dataset) in self.records.items(): - context += " " + item_type + ": {\n" + if first_item: + first_item = False + output.write(" %s: {\n" % (item_type)) + else: + output.write(",\n %s: {\n" % (item_type)) + first_line = True for (res_name, res_id) in dataset.items(): - context += " " + res_name + ": " + str(res_id) + ",\n" - # 移除最后一个多余的"," - context = context[:-2] + "\n" - context += " },\n" - # 移除最后一个多余的"," - context = context[:-2] + "\n" - context += "}\n" - with open(js_file, 'w+') as fp: - fp.write(context) + if first_line: + first_line = False + output.write(" %s: %d" % (res_name, res_id)) + else: + output.write(",\n %s: %d" % (res_name, res_id)) + output.write("\n }") + output.write("\n}\n") + output.close() if __name__ == "__main__": parser = argparse.ArgumentParser() -- Gitee From 5a044ce5b4ad842048da1930f304234a36b8adc7 Mon Sep 17 00:00:00 2001 From: houhaoyu Date: Tue, 21 Dec 2021 19:36:13 +0800 Subject: [PATCH 3/4] houhaoyu@huawei.com update ets-loader Signed-off-by: houhaoyu Change-Id: Ib21277cd480f64d1fc80bbe5b3fb642d09c22d5a --- compiler/server/build_pipe_server.js | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/compiler/server/build_pipe_server.js b/compiler/server/build_pipe_server.js index 9742d2cb6..a087c32a7 100644 --- a/compiler/server/build_pipe_server.js +++ b/compiler/server/build_pipe_server.js @@ -24,7 +24,7 @@ let pluginSocket = ''; const pluginCommandChannelMessageHandlers = { 'compileComponent': handlePluginCompileComponent, - 'default': handlePluginDefault + 'default': () => {} }; function init(port) { @@ -48,10 +48,6 @@ function handlePluginCommand(jsonData) { : pluginCommandChannelMessageHandlers['default'](jsonData); } -function handlePluginDefault() { - return; -} - function handlePluginCompileComponent(jsonData) { const receivedMsg = jsonData; const sourceNode = ts.createSourceFile @@ -68,9 +64,7 @@ function handlePluginCompileComponent(jsonData) { } function responseToPlugin(jsonData) { - pluginSocket.send(JSON.stringify(jsonData), (err) => { - return; - }); + pluginSocket.send(JSON.stringify(jsonData), (err) => {}); } module.exports = { -- Gitee From 291f9cd51c05ccc30cb6f6c4ac88ab6cce200b77 Mon Sep 17 00:00:00 2001 From: houhaoyu Date: Tue, 21 Dec 2021 21:20:18 +0800 Subject: [PATCH 4/4] houhaoyu fix stateStyles Signed-off-by: houhaoyu Change-Id: I55066b18f7efaa733f91a133bc4a1ab2c6e0b18b --- compiler/src/compile_info.ts | 4 ++-- compiler/src/component_map.ts | 2 +- compiler/src/pre_define.ts | 1 - compiler/src/process_component_build.ts | 12 ++++++------ compiler/src/process_component_class.ts | 2 +- compiler/src/process_ui_syntax.ts | 4 +--- compiler/src/validate_ui_syntax.ts | 2 +- 7 files changed, 12 insertions(+), 15 deletions(-) diff --git a/compiler/src/compile_info.ts b/compiler/src/compile_info.ts index ddeb4fb27..97faaa76d 100644 --- a/compiler/src/compile_info.ts +++ b/compiler/src/compile_info.ts @@ -256,12 +256,12 @@ export class ResultStates { const componentNameReg: RegExp = /'typeof\s*(\$?[_a-zA-Z0-9]+)' is not callable/; const stateInfoReg: RegExp = /Property\s*'(\$[_a-zA-Z0-9]+)' does not exist on type/; const extendInfoReg: RegExp = - /Property\s*'([_a-zA-Z0-9]+)' does not exist on type\s*'([_a-zA-Z0-9]+)(Attribute|Interface)'\./; + /Property\s*'([_a-zA-Z0-9]+)' does not exist on type\s*'([_a-zA-Z0-9]+)'\./; if (this.matchMessage(message, props, propInfoReg) || this.matchMessage(message, [...componentCollection.customComponents], componentNameReg) || this.matchMessage(message, props, stateInfoReg) || this.matchMessage(message, EXTEND_ATTRIBUTE, extendInfoReg, true) || - this.matchMessage(message, STYLES_ATTRIBUTE, extendInfoReg)) { + this.matchMessage(message, [...STYLES_ATTRIBUTE], extendInfoReg)) { return false; } return true; diff --git a/compiler/src/component_map.ts b/compiler/src/component_map.ts index e646acd5e..79f1974da 100644 --- a/compiler/src/component_map.ts +++ b/compiler/src/component_map.ts @@ -75,7 +75,7 @@ export interface ExtendParamterInterfance { parameterCount: number } export const EXTEND_ATTRIBUTE: Map> = new Map(); -export const STYLES_ATTRIBUTE: string[] = []; +export const STYLES_ATTRIBUTE: Set = new Set(); export const JS_BIND_COMPONENTS: Set = new Set([ ...GESTURE_TYPE_NAMES, 'Gesture', diff --git a/compiler/src/pre_define.ts b/compiler/src/pre_define.ts index 02acbdd26..015eae1a2 100644 --- a/compiler/src/pre_define.ts +++ b/compiler/src/pre_define.ts @@ -184,4 +184,3 @@ export const BUILD_SHARE_PATH: string = '../share'; export const THIS: string = 'this'; export const STYLES: string = 'Styles'; export const VISUAL_STATE: string = 'visualState'; -export const VIEW_STACK_PROCESSOR: string = 'ViewStackProcessor'; diff --git a/compiler/src/process_component_build.ts b/compiler/src/process_component_build.ts index e17ceb47e..53bf0603c 100644 --- a/compiler/src/process_component_build.ts +++ b/compiler/src/process_component_build.ts @@ -46,8 +46,7 @@ import { COMPONENT_DEBUGLINE_FUNCTION, ATTRIBUTE_STATESTYLES, THIS, - VISUAL_STATE, - VIEW_STACK_PROCESSOR + VISUAL_STATE } from './pre_define'; import { INNER_COMPONENT_NAMES, @@ -517,9 +516,10 @@ function addComponentAttr(temp: any, node: ts.Identifier, lastStatement: any, validateStateStyleSyntax(temp, log); } } else if (GLOBAL_STYLE_FUNCTION.has(propName) || INNER_STYLE_FUNCTION.has(propName)) { - bindComponentAttr((GLOBAL_STYLE_FUNCTION.get(propName).statements[0] || - INNER_STYLE_FUNCTION.get(propName).statements[0]) as ts.ExpressionStatement, - identifierNode, statements, log, false, true); + const styleBlock: ts.Block = + GLOBAL_STYLE_FUNCTION.get(propName) || INNER_STYLE_FUNCTION.get(propName); + bindComponentAttr(styleBlock.statements[0] as ts.ExpressionStatement, identifierNode, + statements, log, false, true); } else { if (isStylesAttr && !COMMON_ATTRS.has(propName)) { validateStateStyleSyntax(temp, log); @@ -537,7 +537,7 @@ function createViewStackProcessor(item: any, endViewStack: boolean) { } return ts.factory.createExpressionStatement(ts.factory.createCallExpression( ts.factory.createPropertyAccessExpression( - ts.factory.createIdentifier(VIEW_STACK_PROCESSOR), + ts.factory.createIdentifier(GLOBAL_CONTEXT), ts.factory.createIdentifier(VISUAL_STATE) ), undefined, diff --git a/compiler/src/process_component_class.ts b/compiler/src/process_component_class.ts index ab5e98fe0..e01c8728a 100644 --- a/compiler/src/process_component_class.ts +++ b/compiler/src/process_component_class.ts @@ -159,7 +159,7 @@ function processComponentMethod(node: ts.MethodDeclaration, parentComponentName: } else if (hasDecorator(node, COMPONENT_STYLES_DECORATOR)) { if (node.parameters && node.parameters.length === 0) { INNER_STYLE_FUNCTION.set(name, node.body); - STYLES_ATTRIBUTE.push(name); + STYLES_ATTRIBUTE.add(name); BUILDIN_STYLE_NAMES.add(name); decoratorParamSet.add(STYLES); } else { diff --git a/compiler/src/process_ui_syntax.ts b/compiler/src/process_ui_syntax.ts index 9ab9d87f8..a4628675c 100644 --- a/compiler/src/process_ui_syntax.ts +++ b/compiler/src/process_ui_syntax.ts @@ -56,8 +56,7 @@ import { EXTEND_ATTRIBUTE, JS_BIND_COMPONENTS, INNER_STYLE_FUNCTION, - GLOBAL_STYLE_FUNCTION, - STYLES_ATTRIBUTE + GLOBAL_STYLE_FUNCTION } from './component_map'; import { resources } from '../main'; @@ -82,7 +81,6 @@ export function processUISyntax(program: ts.Program, ut = false): Function { BUILDIN_STYLE_NAMES.delete(styleName); }) GLOBAL_STYLE_FUNCTION.clear(); - STYLES_ATTRIBUTE.length = 0; return node; } else { return node; diff --git a/compiler/src/validate_ui_syntax.ts b/compiler/src/validate_ui_syntax.ts index 12aa57f8a..db0f79bb9 100644 --- a/compiler/src/validate_ui_syntax.ts +++ b/compiler/src/validate_ui_syntax.ts @@ -183,7 +183,7 @@ function checkComponentDecorator(source: string, filePath: string, } if (ts.isFunctionDeclaration(item) && item.decorators && item.decorators.length === 1 && item.decorators[0].expression && item.decorators[0].expression.getText() === STYLES) { - STYLES_ATTRIBUTE.push(item.name.getText()) + STYLES_ATTRIBUTE.add(item.name.getText()) GLOBAL_STYLE_FUNCTION.set(item.name.getText(), item.body); BUILDIN_STYLE_NAMES.add(item.name.getText()); } -- Gitee