From 37e49a34fce863c9d017126981ca3e4ad3d54c65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8B=E7=BE=8A?= Date: Thu, 26 Mar 2020 21:24:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E7=BC=96=E8=BE=91=E5=99=A8=E6=A1=86?= =?UTF-8?q?=E6=9E=B6=E4=BB=A3=E7=A0=81=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/designer/package.json | 2 +- .../.eslintignore | 0 .../.eslintrc.js | 0 .../.gitignore | 0 .../.prettierrc | 0 .../README copy.md | 0 .../README.md | 0 .../build.json | 0 .../demo/usage.md | 0 .../es/areaManager.d.ts | 0 .../es/areaManager.js | 0 .../es/context.d.ts | 0 .../es/context.js | 0 .../es/definitions.d.ts | 0 .../es/definitions.js | 0 .../es/editor.d.ts | 2 +- .../es/editor.js | 3 - .../es/index.d.ts | 0 .../es/index.js | 0 .../es/pluginFactory.d.ts | 0 .../es/pluginFactory.js | 0 packages/editor-core/es/request.d.ts | 6 + packages/editor-core/es/request.js | 111 + .../es/style.js | 0 .../es/utils.d.ts | 2 +- .../es/utils.js | 1 + .../package-lock.json | 0 .../package.json | 7 +- .../src/areaManager.ts | 0 .../src/context.ts | 0 .../src/definitions.ts | 0 .../src/editor.ts | 3 +- .../src/index.ts | 0 .../src/pluginFactory.tsx | 0 packages/editor-core/src/request.ts | 125 + .../src/utils.ts | 1 + .../tsconfig.json | 0 .../es/components/LeftPlugin/index.d.ts | 4 +- .../es/components/TopPlugin/index.d.ts | 4 +- .../es/layouts/CenterArea/index.d.ts | 2 +- .../es/layouts/CenterArea/index.js | 2 +- .../es/layouts/LeftArea/nav.d.ts | 7 +- .../es/layouts/LeftArea/nav.js | 2 +- .../es/layouts/LeftArea/panel.d.ts | 2 +- .../es/layouts/LeftArea/panel.js | 2 +- .../es/layouts/RightArea/index.d.ts | 9 +- .../es/layouts/RightArea/index.js | 2 +- .../es/layouts/TopArea/index.d.ts | 5 +- .../es/layouts/TopArea/index.js | 2 +- packages/editor-skeleton/es/skeleton.d.ts | 4 +- packages/editor-skeleton/es/skeleton.js | 5 +- packages/editor-skeleton/es/style.js | 1 - packages/editor-skeleton/package.json | 2 +- .../src/components/LeftPlugin/index.tsx | 4 +- .../src/components/TopPlugin/index.tsx | 4 +- packages/editor-skeleton/src/index.ts | 5 +- .../src/layouts/CenterArea/index.tsx | 2 +- .../src/layouts/LeftArea/nav.tsx | 4 +- .../src/layouts/LeftArea/panel.tsx | 2 +- .../src/layouts/RightArea/index.tsx | 4 +- .../src/layouts/TopArea/index.tsx | 4 +- packages/editor-skeleton/src/skeleton.tsx | 7 +- packages/editor/package.json | 8 +- packages/editor/public/assets.json | 1589 +++++++ packages/editor/public/schema.json | 110 + packages/editor/src/config/assets.js | 458 +- packages/editor/src/config/components.js | 6 +- packages/editor/src/config/skeleton.js | 262 +- packages/editor/src/index.tsx | 4 +- .../editor/src/plugins/designer/index.tsx | 35 +- packages/material-parser/package.json | 2 +- packages/plugin-component-pane/src/index.tsx | 24 + packages/plugin-components-pane/.editorconfig | 12 + packages/plugin-components-pane/.eslintignore | 11 + packages/plugin-components-pane/.eslintrc.js | 16 + packages/plugin-components-pane/.gitignore | 20 + .../plugin-components-pane/.stylelintignore | 7 + .../plugin-components-pane/.stylelintrc.js | 3 + packages/plugin-components-pane/README.md | 1 + packages/plugin-components-pane/abc.json | 4 + packages/plugin-components-pane/build.json | 9 + packages/plugin-components-pane/demo/usage.md | 24 + packages/plugin-components-pane/es/index.d.ts | 9 + packages/plugin-components-pane/es/index.js | 17 + packages/plugin-components-pane/es/index.scss | 13 + packages/plugin-components-pane/es/style.js | 1 + packages/plugin-components-pane/jsconfig.json | 9 + .../plugin-components-pane/package-lock.json | 4179 +++++++++++++++++ packages/plugin-components-pane/package.json | 58 + .../plugin-components-pane/src/index.scss | 25 + packages/plugin-components-pane/src/index.tsx | 189 + .../plugin-components-pane/tests/index.js | 1 + packages/plugin-components-pane/tsconfig.json | 21 + packages/plugin-designer/.editorconfig | 12 + packages/plugin-designer/.eslintignore | 11 + packages/plugin-designer/.eslintrc.js | 16 + packages/plugin-designer/.gitignore | 20 + packages/plugin-designer/.stylelintignore | 7 + packages/plugin-designer/.stylelintrc.js | 3 + packages/plugin-designer/README.md | 1 + packages/plugin-designer/abc.json | 4 + packages/plugin-designer/build.json | 9 + packages/plugin-designer/demo/usage.md | 24 + packages/plugin-designer/es/index.d.ts | 16 + packages/plugin-designer/es/index.js | 195 + packages/plugin-designer/es/index.scss | 4 + packages/plugin-designer/es/style.js | 1 + packages/plugin-designer/jsconfig.json | 9 + packages/plugin-designer/package-lock.json | 4179 +++++++++++++++++ packages/plugin-designer/package.json | 55 + packages/plugin-designer/src/index.scss | 4 + packages/plugin-designer/src/index.tsx | 202 + packages/plugin-designer/tests/index.js | 1 + packages/plugin-designer/tsconfig.json | 21 + packages/plugin-logo/es/index.d.ts | 2 +- packages/plugin-logo/package.json | 2 +- packages/plugin-logo/src/index.tsx | 2 +- packages/plugin-save/es/index.d.ts | 2 +- packages/plugin-save/package.json | 2 +- packages/plugin-save/src/index.scss | 2 +- packages/plugin-save/src/index.tsx | 10 +- packages/plugin-setters/package.json | 2 +- packages/plugin-settings/package.json | 2 +- packages/plugin-undo-redo/es/index.d.ts | 5 +- packages/plugin-undo-redo/es/index.js | 60 +- packages/plugin-undo-redo/package.json | 2 +- packages/plugin-undo-redo/src/index.tsx | 53 +- packages/react-renderer/package.json | 2 +- packages/runtime-framework/package.json | 2 +- packages/utils/package.json | 2 +- 130 files changed, 11839 insertions(+), 588 deletions(-) rename packages/{editor-framework => editor-core}/.eslintignore (100%) rename packages/{editor-framework => editor-core}/.eslintrc.js (100%) rename packages/{editor-framework => editor-core}/.gitignore (100%) rename packages/{editor-framework => editor-core}/.prettierrc (100%) rename packages/{editor-framework => editor-core}/README copy.md (100%) rename packages/{editor-framework => editor-core}/README.md (100%) rename packages/{editor-framework => editor-core}/build.json (100%) rename packages/{editor-framework => editor-core}/demo/usage.md (100%) rename packages/{editor-framework => editor-core}/es/areaManager.d.ts (100%) rename packages/{editor-framework => editor-core}/es/areaManager.js (100%) rename packages/{editor-framework => editor-core}/es/context.d.ts (100%) rename packages/{editor-framework => editor-core}/es/context.js (100%) rename packages/{editor-framework => editor-core}/es/definitions.d.ts (100%) rename packages/{editor-framework => editor-core}/es/definitions.js (100%) rename packages/{editor-framework => editor-core}/es/editor.d.ts (93%) rename packages/{editor-framework => editor-core}/es/editor.js (99%) rename packages/{editor-framework => editor-core}/es/index.d.ts (100%) rename packages/{editor-framework => editor-core}/es/index.js (100%) rename packages/{editor-framework => editor-core}/es/pluginFactory.d.ts (100%) rename packages/{editor-framework => editor-core}/es/pluginFactory.js (100%) create mode 100644 packages/editor-core/es/request.d.ts create mode 100644 packages/editor-core/es/request.js rename packages/{editor-framework => editor-core}/es/style.js (100%) rename packages/{editor-framework => editor-core}/es/utils.d.ts (98%) rename packages/{editor-framework => editor-core}/es/utils.js (99%) rename packages/{editor-framework => editor-core}/package-lock.json (100%) rename packages/{editor-framework => editor-core}/package.json (91%) rename packages/{editor-framework => editor-core}/src/areaManager.ts (100%) rename packages/{editor-framework => editor-core}/src/context.ts (100%) rename packages/{editor-framework => editor-core}/src/definitions.ts (100%) rename packages/{editor-framework => editor-core}/src/editor.ts (98%) rename packages/{editor-framework => editor-core}/src/index.ts (100%) rename packages/{editor-framework => editor-core}/src/pluginFactory.tsx (100%) create mode 100644 packages/editor-core/src/request.ts rename packages/{editor-framework => editor-core}/src/utils.ts (99%) rename packages/{editor-framework => editor-core}/tsconfig.json (100%) create mode 100644 packages/editor/public/assets.json create mode 100644 packages/editor/public/schema.json create mode 100644 packages/plugin-component-pane/src/index.tsx create mode 100644 packages/plugin-components-pane/.editorconfig create mode 100644 packages/plugin-components-pane/.eslintignore create mode 100644 packages/plugin-components-pane/.eslintrc.js create mode 100644 packages/plugin-components-pane/.gitignore create mode 100644 packages/plugin-components-pane/.stylelintignore create mode 100644 packages/plugin-components-pane/.stylelintrc.js create mode 100644 packages/plugin-components-pane/README.md create mode 100644 packages/plugin-components-pane/abc.json create mode 100644 packages/plugin-components-pane/build.json create mode 100644 packages/plugin-components-pane/demo/usage.md create mode 100644 packages/plugin-components-pane/es/index.d.ts create mode 100644 packages/plugin-components-pane/es/index.js create mode 100644 packages/plugin-components-pane/es/index.scss create mode 100644 packages/plugin-components-pane/es/style.js create mode 100644 packages/plugin-components-pane/jsconfig.json create mode 100644 packages/plugin-components-pane/package-lock.json create mode 100644 packages/plugin-components-pane/package.json create mode 100644 packages/plugin-components-pane/src/index.scss create mode 100644 packages/plugin-components-pane/src/index.tsx create mode 100644 packages/plugin-components-pane/tests/index.js create mode 100644 packages/plugin-components-pane/tsconfig.json create mode 100644 packages/plugin-designer/.editorconfig create mode 100644 packages/plugin-designer/.eslintignore create mode 100644 packages/plugin-designer/.eslintrc.js create mode 100644 packages/plugin-designer/.gitignore create mode 100644 packages/plugin-designer/.stylelintignore create mode 100644 packages/plugin-designer/.stylelintrc.js create mode 100644 packages/plugin-designer/README.md create mode 100644 packages/plugin-designer/abc.json create mode 100644 packages/plugin-designer/build.json create mode 100644 packages/plugin-designer/demo/usage.md create mode 100644 packages/plugin-designer/es/index.d.ts create mode 100644 packages/plugin-designer/es/index.js create mode 100644 packages/plugin-designer/es/index.scss create mode 100644 packages/plugin-designer/es/style.js create mode 100644 packages/plugin-designer/jsconfig.json create mode 100644 packages/plugin-designer/package-lock.json create mode 100644 packages/plugin-designer/package.json create mode 100644 packages/plugin-designer/src/index.scss create mode 100644 packages/plugin-designer/src/index.tsx create mode 100644 packages/plugin-designer/tests/index.js create mode 100644 packages/plugin-designer/tsconfig.json diff --git a/packages/designer/package.json b/packages/designer/package.json index b9d63b32d..75d5ca596 100644 --- a/packages/designer/package.json +++ b/packages/designer/package.json @@ -7,7 +7,7 @@ "license": "MIT", "dependencies": { "@ali/iceluna-sdk": "^1.0.5-beta.12", - "@ali/lowcode-editor-framework": "^0.0.1", + "@ali/lowcode-editor-core": "^0.0.1", "@recore/obx": "^1.0.8", "@recore/obx-react": "^1.0.7", "@types/medium-editor": "^5.0.3", diff --git a/packages/editor-framework/.eslintignore b/packages/editor-core/.eslintignore similarity index 100% rename from packages/editor-framework/.eslintignore rename to packages/editor-core/.eslintignore diff --git a/packages/editor-framework/.eslintrc.js b/packages/editor-core/.eslintrc.js similarity index 100% rename from packages/editor-framework/.eslintrc.js rename to packages/editor-core/.eslintrc.js diff --git a/packages/editor-framework/.gitignore b/packages/editor-core/.gitignore similarity index 100% rename from packages/editor-framework/.gitignore rename to packages/editor-core/.gitignore diff --git a/packages/editor-framework/.prettierrc b/packages/editor-core/.prettierrc similarity index 100% rename from packages/editor-framework/.prettierrc rename to packages/editor-core/.prettierrc diff --git a/packages/editor-framework/README copy.md b/packages/editor-core/README copy.md similarity index 100% rename from packages/editor-framework/README copy.md rename to packages/editor-core/README copy.md diff --git a/packages/editor-framework/README.md b/packages/editor-core/README.md similarity index 100% rename from packages/editor-framework/README.md rename to packages/editor-core/README.md diff --git a/packages/editor-framework/build.json b/packages/editor-core/build.json similarity index 100% rename from packages/editor-framework/build.json rename to packages/editor-core/build.json diff --git a/packages/editor-framework/demo/usage.md b/packages/editor-core/demo/usage.md similarity index 100% rename from packages/editor-framework/demo/usage.md rename to packages/editor-core/demo/usage.md diff --git a/packages/editor-framework/es/areaManager.d.ts b/packages/editor-core/es/areaManager.d.ts similarity index 100% rename from packages/editor-framework/es/areaManager.d.ts rename to packages/editor-core/es/areaManager.d.ts diff --git a/packages/editor-framework/es/areaManager.js b/packages/editor-core/es/areaManager.js similarity index 100% rename from packages/editor-framework/es/areaManager.js rename to packages/editor-core/es/areaManager.js diff --git a/packages/editor-framework/es/context.d.ts b/packages/editor-core/es/context.d.ts similarity index 100% rename from packages/editor-framework/es/context.d.ts rename to packages/editor-core/es/context.d.ts diff --git a/packages/editor-framework/es/context.js b/packages/editor-core/es/context.js similarity index 100% rename from packages/editor-framework/es/context.js rename to packages/editor-core/es/context.js diff --git a/packages/editor-framework/es/definitions.d.ts b/packages/editor-core/es/definitions.d.ts similarity index 100% rename from packages/editor-framework/es/definitions.d.ts rename to packages/editor-core/es/definitions.d.ts diff --git a/packages/editor-framework/es/definitions.js b/packages/editor-core/es/definitions.js similarity index 100% rename from packages/editor-framework/es/definitions.js rename to packages/editor-core/es/definitions.js diff --git a/packages/editor-framework/es/editor.d.ts b/packages/editor-core/es/editor.d.ts similarity index 93% rename from packages/editor-framework/es/editor.d.ts rename to packages/editor-core/es/editor.d.ts index 3db69aa66..f0fdfb0c1 100644 --- a/packages/editor-framework/es/editor.d.ts +++ b/packages/editor-core/es/editor.d.ts @@ -8,7 +8,7 @@ declare global { } } export interface HooksFuncs { - [idx: number]: (msg: string, handler: (...args: any[]) => void) => void; + [idx: number]: (msg: string, handler: (...args: []) => void) => void; } export default class Editor extends EventEmitter { static getInstance: (config: EditorConfig, components: PluginClassSet, utils?: Utils) => Editor; diff --git a/packages/editor-framework/es/editor.js b/packages/editor-core/es/editor.js similarity index 99% rename from packages/editor-framework/es/editor.js rename to packages/editor-core/es/editor.js index 4ec0549bc..a70126473 100644 --- a/packages/editor-framework/es/editor.js +++ b/packages/editor-core/es/editor.js @@ -79,9 +79,6 @@ var Editor = /*#__PURE__*/function (_EventEmitter) { _this.components = components; _this.utils = _extends({}, editorUtils, {}, utils); instance = _assertThisInitialized(_this); - - _this.init(); - return _this; } diff --git a/packages/editor-framework/es/index.d.ts b/packages/editor-core/es/index.d.ts similarity index 100% rename from packages/editor-framework/es/index.d.ts rename to packages/editor-core/es/index.d.ts diff --git a/packages/editor-framework/es/index.js b/packages/editor-core/es/index.js similarity index 100% rename from packages/editor-framework/es/index.js rename to packages/editor-core/es/index.js diff --git a/packages/editor-framework/es/pluginFactory.d.ts b/packages/editor-core/es/pluginFactory.d.ts similarity index 100% rename from packages/editor-framework/es/pluginFactory.d.ts rename to packages/editor-core/es/pluginFactory.d.ts diff --git a/packages/editor-framework/es/pluginFactory.js b/packages/editor-core/es/pluginFactory.js similarity index 100% rename from packages/editor-framework/es/pluginFactory.js rename to packages/editor-core/es/pluginFactory.js diff --git a/packages/editor-core/es/request.d.ts b/packages/editor-core/es/request.d.ts new file mode 100644 index 000000000..05b447a25 --- /dev/null +++ b/packages/editor-core/es/request.d.ts @@ -0,0 +1,6 @@ +import 'whatwg-fetch'; +export declare function serialize(obj: object): string; +export declare function buildUrl(dataAPI: string, params: object): string; +export declare function get(dataAPI: string, params?: object, headers?: object, otherProps?: object): Promise; +export declare function post(dataAPI: string, params?: object, headers?: object, otherProps?: object): Promise; +export declare function request(dataAPI: string, method?: string, data?: object | string, headers?: object, otherProps?: object): Promise; diff --git a/packages/editor-core/es/request.js b/packages/editor-core/es/request.js new file mode 100644 index 000000000..6f1eb7bdf --- /dev/null +++ b/packages/editor-core/es/request.js @@ -0,0 +1,111 @@ +import _extends from "@babel/runtime/helpers/extends"; +import 'whatwg-fetch'; +import Debug from 'debug'; +var debug = Debug('request'); +export function serialize(obj) { + var rst = []; + Object.entries(obj || {}).forEach(function (_ref) { + var key = _ref[0], + val = _ref[1]; + if (val === null || val === undefined || val === '') return; + if (typeof val === 'object') rst.push(key + "=" + encodeURIComponent(JSON.stringify(val)));else rst.push(key + "=" + encodeURIComponent(val)); + }); + return rst.join('&'); +} +export function buildUrl(dataAPI, params) { + var paramStr = serialize(params); + + if (paramStr) { + return dataAPI.indexOf('?') > 0 ? dataAPI + "&" + paramStr : dataAPI + "?" + paramStr; + } + + return dataAPI; +} +export function get(dataAPI, params, headers, otherProps) { + var fetchHeaders = _extends({ + Accept: 'application/json' + }, headers); + + return request(buildUrl(dataAPI, params), 'GET', null, fetchHeaders, otherProps); +} +export function post(dataAPI, params, headers, otherProps) { + var fetchHeaders = _extends({ + Accept: 'application/json', + 'Content-Type': 'application/x-www-form-urlencoded' + }, headers); + + return request(dataAPI, 'POST', fetchHeaders['Content-Type'].indexOf('application/json') > -1 || Array.isArray(params) ? JSON.stringify(params) : serialize(params), fetchHeaders, otherProps); +} +export function request(dataAPI, method, data, headers, otherProps) { + if (method === void 0) { + method = 'GET'; + } + + return new Promise(function (resolve, reject) { + if (otherProps && otherProps.timeout) { + setTimeout(function () { + reject(new Error('timeout')); + }, otherProps.timeout); + } + + fetch(dataAPI, _extends({ + method: method, + credentials: 'include', + headers: headers, + body: data + }, otherProps)).then(function (response) { + switch (response.status) { + case 200: + case 201: + case 202: + return response.json(); + + case 204: + if (method === 'DELETE') { + return { + success: true + }; + } else { + return { + __success: false, + code: response.status + }; + } + + case 400: + case 401: + case 403: + case 404: + case 406: + case 410: + case 422: + case 500: + return response.json().then(function (res) { + return { + __success: false, + code: response.status, + data: res + }; + })["catch"](function () { + return { + __success: false, + code: response.status + }; + }); + + default: + return null; + } + }).then(function (json) { + if (json && json.__success !== false) { + resolve(json); + } else { + delete json.__success; + reject(json); + } + })["catch"](function (err) { + debug(err); + reject(err); + }); + }); +} \ No newline at end of file diff --git a/packages/editor-framework/es/style.js b/packages/editor-core/es/style.js similarity index 100% rename from packages/editor-framework/es/style.js rename to packages/editor-core/es/style.js diff --git a/packages/editor-framework/es/utils.d.ts b/packages/editor-core/es/utils.d.ts similarity index 98% rename from packages/editor-framework/es/utils.d.ts rename to packages/editor-core/es/utils.d.ts index c1d4ff1e8..e6d909b4d 100644 --- a/packages/editor-framework/es/utils.d.ts +++ b/packages/editor-core/es/utils.d.ts @@ -1,4 +1,5 @@ /// +export { get, post, request } from './request'; import Editor from './editor'; import { EditorConfig, I18nFunction, I18nMessages, LocaleType, ShortCutsConfig } from './definitions'; export declare const pick: any; @@ -68,4 +69,3 @@ export declare function comboEditorConfig(defaultConfig: EditorConfig, customCon * @param {*} Comp 需要判断的组件 */ export declare function acceptsRef(Comp: React.ReactNode): boolean; -export {}; diff --git a/packages/editor-framework/es/utils.js b/packages/editor-core/es/utils.js similarity index 99% rename from packages/editor-framework/es/utils.js rename to packages/editor-core/es/utils.js index b2a677d4c..fa74c17bd 100644 --- a/packages/editor-framework/es/utils.js +++ b/packages/editor-core/es/utils.js @@ -8,6 +8,7 @@ import _deepEqual from 'lodash/isEqualWith'; import _pick from 'lodash/pick'; import _throttle from 'lodash/throttle'; import _serialize from 'serialize-javascript'; +export { get, post, request } from './request'; export var pick = _pick; export var deepEqual = _deepEqual; export var clone = _clone; diff --git a/packages/editor-framework/package-lock.json b/packages/editor-core/package-lock.json similarity index 100% rename from packages/editor-framework/package-lock.json rename to packages/editor-core/package-lock.json diff --git a/packages/editor-framework/package.json b/packages/editor-core/package.json similarity index 91% rename from packages/editor-framework/package.json rename to packages/editor-core/package.json index f7cecc059..1f50249c7 100644 --- a/packages/editor-framework/package.json +++ b/packages/editor-core/package.json @@ -1,5 +1,5 @@ { - "name": "@ali/lowcode-editor-framework", + "name": "@ali/lowcode-editor-core", "version": "0.0.1", "description": "alibaba lowcode editor core", "files": [ @@ -29,7 +29,8 @@ "intl-messageformat": "^7.8.4", "lodash": "^4.17.15", "prop-types": "^15.5.8", - "store": "^2.0.12" + "store": "^2.0.12", + "whatwg-fetch": "^3.0.0" }, "devDependencies": { "@alib/build-scripts": "^0.1.3", @@ -51,5 +52,5 @@ "@alifd/next": "1.x" }, "license": "MIT", - "homepage": "https://unpkg.alibaba-inc.com/@ali/lowcode-editor-framework@0.0.1/build/index.html" + "homepage": "https://unpkg.alibaba-inc.com/@ali/lowcode-editor-core@0.0.1/build/index.html" } diff --git a/packages/editor-framework/src/areaManager.ts b/packages/editor-core/src/areaManager.ts similarity index 100% rename from packages/editor-framework/src/areaManager.ts rename to packages/editor-core/src/areaManager.ts diff --git a/packages/editor-framework/src/context.ts b/packages/editor-core/src/context.ts similarity index 100% rename from packages/editor-framework/src/context.ts rename to packages/editor-core/src/context.ts diff --git a/packages/editor-framework/src/definitions.ts b/packages/editor-core/src/definitions.ts similarity index 100% rename from packages/editor-framework/src/definitions.ts rename to packages/editor-core/src/definitions.ts diff --git a/packages/editor-framework/src/editor.ts b/packages/editor-core/src/editor.ts similarity index 98% rename from packages/editor-framework/src/editor.ts rename to packages/editor-core/src/editor.ts index 8686fa34a..6a0b938a0 100644 --- a/packages/editor-framework/src/editor.ts +++ b/packages/editor-core/src/editor.ts @@ -64,7 +64,7 @@ const debug = Debug('editor'); EventEmitter.defaultMaxListeners = 100; export interface HooksFuncs { - [idx: number]: (msg: string, handler: (...args) => void) => void; + [idx: number]: (msg: string, handler: (...args: []) => void) => void; } export default class Editor extends EventEmitter { @@ -95,7 +95,6 @@ export default class Editor extends EventEmitter { this.components = components; this.utils = { ...editorUtils, ...utils }; instance = this; - this.init(); } public init(): Promise { diff --git a/packages/editor-framework/src/index.ts b/packages/editor-core/src/index.ts similarity index 100% rename from packages/editor-framework/src/index.ts rename to packages/editor-core/src/index.ts diff --git a/packages/editor-framework/src/pluginFactory.tsx b/packages/editor-core/src/pluginFactory.tsx similarity index 100% rename from packages/editor-framework/src/pluginFactory.tsx rename to packages/editor-core/src/pluginFactory.tsx diff --git a/packages/editor-core/src/request.ts b/packages/editor-core/src/request.ts new file mode 100644 index 000000000..85eafabcf --- /dev/null +++ b/packages/editor-core/src/request.ts @@ -0,0 +1,125 @@ +import 'whatwg-fetch'; +import Debug from 'debug'; +const debug = Debug('request'); + +export function serialize(obj: object): string { + const rst: string[] = []; + Object.entries(obj || {}).forEach(([key, val]): void => { + if (val === null || val === undefined || val === '') return; + if (typeof val === 'object') rst.push(`${key}=${encodeURIComponent(JSON.stringify(val))}`); + else rst.push(`${key}=${encodeURIComponent(val)}`); + }); + return rst.join('&'); +} + +export function buildUrl(dataAPI: string, params: object): string { + const paramStr = serialize(params); + if (paramStr) { + return dataAPI.indexOf('?') > 0 ? `${dataAPI}&${paramStr}` : `${dataAPI}?${paramStr}`; + } + return dataAPI; +} + +export function get(dataAPI: string, params?: object, headers?: object, otherProps?: object): Promise { + const fetchHeaders = { + Accept: 'application/json', + ...headers, + }; + return request(buildUrl(dataAPI, params), 'GET', null, fetchHeaders, otherProps); +} + +export function post(dataAPI: string, params?: object, headers?: object, otherProps?: object): Promise { + const fetchHeaders = { + Accept: 'application/json', + 'Content-Type': 'application/x-www-form-urlencoded', + ...headers, + }; + return request( + dataAPI, + 'POST', + fetchHeaders['Content-Type'].indexOf('application/json') > -1 || Array.isArray(params) + ? JSON.stringify(params) + : serialize(params), + fetchHeaders, + otherProps, + ); +} + +export function request( + dataAPI: string, + method: string = 'GET', + data?: object | string, + headers?: object, + otherProps?: object, +): Promise { + return new Promise((resolve, reject): void => { + if (otherProps && otherProps.timeout) { + setTimeout((): void => { + reject(new Error('timeout')); + }, otherProps.timeout); + } + fetch(dataAPI, { + method, + credentials: 'include', + headers, + body: data, + ...otherProps, + }) + .then((response: Response): any => { + switch (response.status) { + case 200: + case 201: + case 202: + return response.json(); + case 204: + if (method === 'DELETE') { + return { + success: true, + }; + } else { + return { + __success: false, + code: response.status, + }; + } + case 400: + case 401: + case 403: + case 404: + case 406: + case 410: + case 422: + case 500: + return response + .json() + .then((res: object): any => { + return { + __success: false, + code: response.status, + data: res, + }; + }) + .catch((): object => { + return { + __success: false, + code: response.status, + }; + }); + default: + return null; + } + }) + .then((json: object): void => { + if (json && json.__success !== false) { + resolve(json); + } else { + delete json.__success; + reject(json); + } + }) + .catch((err: Error): void => { + debug(err); + reject(err); + }); + }); +} diff --git a/packages/editor-framework/src/utils.ts b/packages/editor-core/src/utils.ts similarity index 99% rename from packages/editor-framework/src/utils.ts rename to packages/editor-core/src/utils.ts index 4a672f020..dd6d6d251 100644 --- a/packages/editor-framework/src/utils.ts +++ b/packages/editor-core/src/utils.ts @@ -9,6 +9,7 @@ import _pick from 'lodash/pick'; import _throttle from 'lodash/throttle'; import _serialize from 'serialize-javascript'; +export { get, post, request } from './request'; import Editor from './editor'; import { EditorConfig, I18nFunction, I18nMessages, LocaleType, ShortCutsConfig } from './definitions'; diff --git a/packages/editor-framework/tsconfig.json b/packages/editor-core/tsconfig.json similarity index 100% rename from packages/editor-framework/tsconfig.json rename to packages/editor-core/tsconfig.json diff --git a/packages/editor-skeleton/es/components/LeftPlugin/index.d.ts b/packages/editor-skeleton/es/components/LeftPlugin/index.d.ts index b503d9bae..fb8f8e0e8 100644 --- a/packages/editor-skeleton/es/components/LeftPlugin/index.d.ts +++ b/packages/editor-skeleton/es/components/LeftPlugin/index.d.ts @@ -1,6 +1,6 @@ import React, { PureComponent } from 'react'; -import Editor from '@ali/lowcode-editor-framework'; -import { PluginConfig, PluginClass } from '@ali/lowcode-editor-framework/lib/definitions'; +import Editor from '@ali/lowcode-editor-core'; +import { PluginConfig, PluginClass } from '@ali/lowcode-editor-core/lib/definitions'; import './index.scss'; export interface LeftPluginProps { active?: boolean; diff --git a/packages/editor-skeleton/es/components/TopPlugin/index.d.ts b/packages/editor-skeleton/es/components/TopPlugin/index.d.ts index 2ef80c825..3bebaaa16 100644 --- a/packages/editor-skeleton/es/components/TopPlugin/index.d.ts +++ b/packages/editor-skeleton/es/components/TopPlugin/index.d.ts @@ -1,6 +1,6 @@ import React, { PureComponent } from 'react'; -import Editor from '@ali/lowcode-editor-framework'; -import { PluginConfig, PluginClass } from '@ali/lowcode-editor-framework/lib/definitions'; +import Editor from '@ali/lowcode-editor-core'; +import { PluginConfig, PluginClass } from '@ali/lowcode-editor-core/lib/definitions'; import './index.scss'; export interface TopPluginProps { active?: boolean; diff --git a/packages/editor-skeleton/es/layouts/CenterArea/index.d.ts b/packages/editor-skeleton/es/layouts/CenterArea/index.d.ts index 17fc0df75..c53938fe1 100644 --- a/packages/editor-skeleton/es/layouts/CenterArea/index.d.ts +++ b/packages/editor-skeleton/es/layouts/CenterArea/index.d.ts @@ -1,5 +1,5 @@ import React, { PureComponent } from 'react'; -import Editor from '@ali/lowcode-editor-framework'; +import Editor from '@ali/lowcode-editor-core'; import './index.scss'; export interface CenterAreaProps { editor: Editor; diff --git a/packages/editor-skeleton/es/layouts/CenterArea/index.js b/packages/editor-skeleton/es/layouts/CenterArea/index.js index bc7c3f2c1..a71ebf30b 100644 --- a/packages/editor-skeleton/es/layouts/CenterArea/index.js +++ b/packages/editor-skeleton/es/layouts/CenterArea/index.js @@ -1,7 +1,7 @@ import _extends from "@babel/runtime/helpers/extends"; import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose"; import React, { PureComponent } from 'react'; -import { AreaManager } from '@ali/lowcode-editor-framework'; +import { AreaManager } from '@ali/lowcode-editor-core'; import './index.scss'; var CenterArea = /*#__PURE__*/function (_PureComponent) { diff --git a/packages/editor-skeleton/es/layouts/LeftArea/nav.d.ts b/packages/editor-skeleton/es/layouts/LeftArea/nav.d.ts index e12b41c0e..ed4d30613 100644 --- a/packages/editor-skeleton/es/layouts/LeftArea/nav.d.ts +++ b/packages/editor-skeleton/es/layouts/LeftArea/nav.d.ts @@ -1,6 +1,5 @@ import React, { PureComponent } from 'react'; -import Editor from '@ali/lowcode-editor-framework'; -import { PluginConfig } from '@ali/lowcode-editor-framework/lib/definitions'; +import Editor from '@ali/lowcode-editor-core'; import './index.scss'; export interface LeftAreaNavProps { editor: Editor; @@ -17,8 +16,8 @@ export default class LeftAreaNav extends PureComponent void; handlePluginChange: (key: string) => void; - handlePluginClick: (item: PluginConfig) => void; + handlePluginClick: (item: any) => void; updateActiveKey: (key: string) => void; - renderPluginList: (list?: PluginConfig[]) => any[]; + renderPluginList: (list?: any[]) => any[]; render(): React.ReactNode; } diff --git a/packages/editor-skeleton/es/layouts/LeftArea/nav.js b/packages/editor-skeleton/es/layouts/LeftArea/nav.js index 5401ced91..66fc08e54 100644 --- a/packages/editor-skeleton/es/layouts/LeftArea/nav.js +++ b/packages/editor-skeleton/es/layouts/LeftArea/nav.js @@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends"; import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose"; import React, { PureComponent } from 'react'; import LeftPlugin from '../../components/LeftPlugin'; -import { utils, AreaManager } from '@ali/lowcode-editor-framework'; +import { utils, AreaManager } from '@ali/lowcode-editor-core'; import './index.scss'; var isEmpty = utils.isEmpty; diff --git a/packages/editor-skeleton/es/layouts/LeftArea/panel.d.ts b/packages/editor-skeleton/es/layouts/LeftArea/panel.d.ts index c9320350c..2d9e3e72d 100644 --- a/packages/editor-skeleton/es/layouts/LeftArea/panel.d.ts +++ b/packages/editor-skeleton/es/layouts/LeftArea/panel.d.ts @@ -1,5 +1,5 @@ import React, { PureComponent } from 'react'; -import Editor from '@ali/lowcode-editor-framework'; +import Editor from '@ali/lowcode-editor-core'; import './index.scss'; export interface LeftAreaPanelProps { editor: Editor; diff --git a/packages/editor-skeleton/es/layouts/LeftArea/panel.js b/packages/editor-skeleton/es/layouts/LeftArea/panel.js index 2104ab096..1ab2bd462 100644 --- a/packages/editor-skeleton/es/layouts/LeftArea/panel.js +++ b/packages/editor-skeleton/es/layouts/LeftArea/panel.js @@ -1,7 +1,7 @@ import _extends from "@babel/runtime/helpers/extends"; import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose"; import React, { PureComponent, Fragment } from 'react'; -import { AreaManager } from '@ali/lowcode-editor-framework'; +import { AreaManager } from '@ali/lowcode-editor-core'; import Panel from '../../components/Panel'; import './index.scss'; diff --git a/packages/editor-skeleton/es/layouts/RightArea/index.d.ts b/packages/editor-skeleton/es/layouts/RightArea/index.d.ts index 8ecf5b466..39edb210b 100644 --- a/packages/editor-skeleton/es/layouts/RightArea/index.d.ts +++ b/packages/editor-skeleton/es/layouts/RightArea/index.d.ts @@ -1,6 +1,5 @@ import React, { PureComponent } from 'react'; -import Editor from '@ali/lowcode-editor-framework'; -import { PluginConfig } from '@ali/lowcode-editor-framework/lib/definitions'; +import Editor from '@ali/lowcode-editor-core'; import './index.scss'; export interface RightAreaProps { editor: Editor; @@ -17,8 +16,8 @@ export default class RightArea extends PureComponent void; handlePluginChange: (key: string, isinit?: boolean) => void; - renderTabTitle: (config: PluginConfig) => any; - renderTabPanels: (list: PluginConfig[], height: string) => any; - renderPanels: (list: PluginConfig[], height: string) => any; + renderTabTitle: (config: any) => any; + renderTabPanels: (list: any[], height: string) => any; + renderPanels: (list: any[], height: string) => any; render(): React.ReactNode; } diff --git a/packages/editor-skeleton/es/layouts/RightArea/index.js b/packages/editor-skeleton/es/layouts/RightArea/index.js index f66672d48..2849ed19e 100644 --- a/packages/editor-skeleton/es/layouts/RightArea/index.js +++ b/packages/editor-skeleton/es/layouts/RightArea/index.js @@ -5,7 +5,7 @@ import _Icon from "@alifd/next/es/icon"; import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose"; import React, { PureComponent } from 'react'; import classNames from 'classnames'; -import { AreaManager, utils } from '@ali/lowcode-editor-framework'; +import { AreaManager, utils } from '@ali/lowcode-editor-core'; import './index.scss'; var isEmpty = utils.isEmpty; diff --git a/packages/editor-skeleton/es/layouts/TopArea/index.d.ts b/packages/editor-skeleton/es/layouts/TopArea/index.d.ts index 658aea93d..7084aea26 100644 --- a/packages/editor-skeleton/es/layouts/TopArea/index.d.ts +++ b/packages/editor-skeleton/es/layouts/TopArea/index.d.ts @@ -1,6 +1,5 @@ import React, { PureComponent } from 'react'; -import Editor from '@ali/lowcode-editor-framework'; -import { PluginConfig } from '@ali/lowcode-editor-framework/lib/definitions'; +import Editor from '@ali/lowcode-editor-core'; import './index.scss'; export interface TopAreaProps { editor: Editor; @@ -13,6 +12,6 @@ export default class TopArea extends PureComponent { componentDidMount(): void; componentWillUnmount(): void; handleSkeletonUpdate: () => void; - renderPluginList: (list?: PluginConfig[]) => any[]; + renderPluginList: (list?: any[]) => any[]; render(): React.ReactNode; } diff --git a/packages/editor-skeleton/es/layouts/TopArea/index.js b/packages/editor-skeleton/es/layouts/TopArea/index.js index edc1e793a..56309e5af 100644 --- a/packages/editor-skeleton/es/layouts/TopArea/index.js +++ b/packages/editor-skeleton/es/layouts/TopArea/index.js @@ -1,7 +1,7 @@ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose"; import _Grid from "@alifd/next/es/grid"; import React, { PureComponent } from 'react'; -import { AreaManager } from '@ali/lowcode-editor-framework'; +import { AreaManager } from '@ali/lowcode-editor-core'; import TopPlugin from '../../components/TopPlugin'; import './index.scss'; var Row = _Grid.Row, diff --git a/packages/editor-skeleton/es/skeleton.d.ts b/packages/editor-skeleton/es/skeleton.d.ts index 66a91524c..8ba4463d8 100644 --- a/packages/editor-skeleton/es/skeleton.d.ts +++ b/packages/editor-skeleton/es/skeleton.d.ts @@ -1,6 +1,6 @@ import React, { PureComponent } from 'react'; -import Editor from '@ali/lowcode-editor-framework'; -import { EditorConfig, Utils, PluginClassSet } from '@ali/lowcode-editor-framework/lib/definitions'; +import Editor from '@ali/lowcode-editor-core'; +import { EditorConfig, Utils, PluginClassSet } from '@ali/lowcode-editor-core/lib/definitions'; import './global.scss'; declare global { interface Window { diff --git a/packages/editor-skeleton/es/skeleton.js b/packages/editor-skeleton/es/skeleton.js index 9d62bcc23..69ab79b6f 100644 --- a/packages/editor-skeleton/es/skeleton.js +++ b/packages/editor-skeleton/es/skeleton.js @@ -5,7 +5,7 @@ import _extends from "@babel/runtime/helpers/extends"; import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose"; import React, { PureComponent } from 'react'; import { HashRouter as Router, Route } from 'react-router-dom'; -import Editor, { utils } from '@ali/lowcode-editor-framework'; +import Editor, { utils } from '@ali/lowcode-editor-core'; import defaultConfig from './config/skeleton'; import skeletonUtils from './config/utils'; import TopArea from './layouts/TopArea'; @@ -68,8 +68,7 @@ export var Skeleton = /*#__PURE__*/function (_PureComponent) { skeletonKey: isReset ? "skeleton" + ++renderIdx : _this.state.skeletonKey }, function () { editor.emit('editor.ready'); - editor.emit('ide.ready'); - isReset && editor.emit('ide.afterReset'); + isReset && editor.emit('editor.afterReset'); }); }); }; diff --git a/packages/editor-skeleton/es/style.js b/packages/editor-skeleton/es/style.js index 36f598306..5388cdbd8 100644 --- a/packages/editor-skeleton/es/style.js +++ b/packages/editor-skeleton/es/style.js @@ -1,6 +1,5 @@ import '@alifd/next/es/config-provider/style'; import '@alifd/next/es/loading/style'; -import '@ali/lowcode-editor-framework/es/style'; import '@alifd/next/es/grid/style'; import '@alifd/next/es/balloon/style'; import '@alifd/next/es/dialog/style'; diff --git a/packages/editor-skeleton/package.json b/packages/editor-skeleton/package.json index 4fa9dfb69..d3b4976db 100644 --- a/packages/editor-skeleton/package.json +++ b/packages/editor-skeleton/package.json @@ -24,7 +24,7 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-editor-framework": "0.0.1", + "@ali/lowcode-editor-core": "0.0.1", "@alifd/next": "^1.x", "prop-types": "^15.5.8", "react": "^16.8.1", diff --git a/packages/editor-skeleton/src/components/LeftPlugin/index.tsx b/packages/editor-skeleton/src/components/LeftPlugin/index.tsx index 66b718226..7770c942c 100644 --- a/packages/editor-skeleton/src/components/LeftPlugin/index.tsx +++ b/packages/editor-skeleton/src/components/LeftPlugin/index.tsx @@ -1,11 +1,11 @@ import React, { PureComponent, Fragment } from 'react'; import classNames from 'classnames'; import { Balloon, Dialog, Icon, Badge } from '@alifd/next'; -import Editor from '@ali/lowcode-editor-framework'; +import Editor from '@ali/lowcode-editor-core'; import { PluginConfig, PluginClass, -} from '@ali/lowcode-editor-framework/lib/definitions'; +} from '@ali/lowcode-editor-core/lib/definitions'; import './index.scss'; export interface LeftPluginProps { diff --git a/packages/editor-skeleton/src/components/TopPlugin/index.tsx b/packages/editor-skeleton/src/components/TopPlugin/index.tsx index 2f00402d5..71eccf28a 100644 --- a/packages/editor-skeleton/src/components/TopPlugin/index.tsx +++ b/packages/editor-skeleton/src/components/TopPlugin/index.tsx @@ -1,11 +1,11 @@ import React, { PureComponent, Fragment } from 'react'; import { Balloon, Badge, Dialog } from '@alifd/next'; -import Editor from '@ali/lowcode-editor-framework'; +import Editor from '@ali/lowcode-editor-core'; import { PluginConfig, PluginClass, -} from '@ali/lowcode-editor-framework/lib/definitions'; +} from '@ali/lowcode-editor-core/lib/definitions'; import TopIcon from '../TopIcon'; import './index.scss'; diff --git a/packages/editor-skeleton/src/index.ts b/packages/editor-skeleton/src/index.ts index 3c1996ea9..c519f0552 100644 --- a/packages/editor-skeleton/src/index.ts +++ b/packages/editor-skeleton/src/index.ts @@ -4,7 +4,4 @@ import TopIcon from './components/TopIcon'; export default Skeleton; -export { - Panel, - TopIcon -}; +export { Panel, TopIcon }; diff --git a/packages/editor-skeleton/src/layouts/CenterArea/index.tsx b/packages/editor-skeleton/src/layouts/CenterArea/index.tsx index 2736b9005..3261b4bbe 100644 --- a/packages/editor-skeleton/src/layouts/CenterArea/index.tsx +++ b/packages/editor-skeleton/src/layouts/CenterArea/index.tsx @@ -1,5 +1,5 @@ import React, { PureComponent } from 'react'; -import Editor, { AreaManager } from '@ali/lowcode-editor-framework'; +import Editor, { AreaManager } from '@ali/lowcode-editor-core'; import './index.scss'; export interface CenterAreaProps { diff --git a/packages/editor-skeleton/src/layouts/LeftArea/nav.tsx b/packages/editor-skeleton/src/layouts/LeftArea/nav.tsx index 3777fc57a..735b77a27 100644 --- a/packages/editor-skeleton/src/layouts/LeftArea/nav.tsx +++ b/packages/editor-skeleton/src/layouts/LeftArea/nav.tsx @@ -1,7 +1,7 @@ import React, { PureComponent } from 'react'; import LeftPlugin from '../../components/LeftPlugin'; -import Editor, { utils, AreaManager } from '@ali/lowcode-editor-framework'; -import { PluginConfig } from '@ali/lowcode-editor-framework/lib/definitions'; +import Editor, { utils, AreaManager } from '@ali/lowcode-editor-core'; +import { PluginConfig } from '@ali/lowcode-editor-core/lib/definitions'; import './index.scss'; diff --git a/packages/editor-skeleton/src/layouts/LeftArea/panel.tsx b/packages/editor-skeleton/src/layouts/LeftArea/panel.tsx index 0c62f07b2..ccb81cfe0 100644 --- a/packages/editor-skeleton/src/layouts/LeftArea/panel.tsx +++ b/packages/editor-skeleton/src/layouts/LeftArea/panel.tsx @@ -1,5 +1,5 @@ import React, { PureComponent, Fragment } from 'react'; -import Editor, { AreaManager } from '@ali/lowcode-editor-framework'; +import Editor, { AreaManager } from '@ali/lowcode-editor-core'; import Panel from '../../components/Panel'; import './index.scss'; diff --git a/packages/editor-skeleton/src/layouts/RightArea/index.tsx b/packages/editor-skeleton/src/layouts/RightArea/index.tsx index 40a6d9ad0..5925284da 100644 --- a/packages/editor-skeleton/src/layouts/RightArea/index.tsx +++ b/packages/editor-skeleton/src/layouts/RightArea/index.tsx @@ -1,8 +1,8 @@ import React, { PureComponent } from 'react'; import { Tab, Badge, Icon } from '@alifd/next'; import classNames from 'classnames'; -import Editor, { AreaManager, utils } from '@ali/lowcode-editor-framework'; -import { PluginConfig } from '@ali/lowcode-editor-framework/lib/definitions'; +import Editor, { AreaManager, utils } from '@ali/lowcode-editor-core'; +import { PluginConfig } from '@ali/lowcode-editor-core/lib/definitions'; import './index.scss'; const { isEmpty } = utils; diff --git a/packages/editor-skeleton/src/layouts/TopArea/index.tsx b/packages/editor-skeleton/src/layouts/TopArea/index.tsx index 434e12d60..68c73f202 100644 --- a/packages/editor-skeleton/src/layouts/TopArea/index.tsx +++ b/packages/editor-skeleton/src/layouts/TopArea/index.tsx @@ -1,7 +1,7 @@ import React, { PureComponent } from 'react'; import { Grid } from '@alifd/next'; -import Editor, { AreaManager } from '@ali/lowcode-editor-framework'; -import { PluginConfig } from '@ali/lowcode-editor-framework/lib/definitions'; +import Editor, { AreaManager } from '@ali/lowcode-editor-core'; +import { PluginConfig } from '@ali/lowcode-editor-core/lib/definitions'; import TopPlugin from '../../components/TopPlugin'; import './index.scss'; diff --git a/packages/editor-skeleton/src/skeleton.tsx b/packages/editor-skeleton/src/skeleton.tsx index b4a32480e..cf04022ec 100644 --- a/packages/editor-skeleton/src/skeleton.tsx +++ b/packages/editor-skeleton/src/skeleton.tsx @@ -2,12 +2,12 @@ import React, { PureComponent } from 'react'; import { Loading, ConfigProvider } from '@alifd/next'; import { HashRouter as Router, Route } from 'react-router-dom'; -import Editor, { utils } from '@ali/lowcode-editor-framework'; +import Editor, { utils } from '@ali/lowcode-editor-core'; import { EditorConfig, Utils, PluginClassSet, -} from '@ali/lowcode-editor-framework/lib/definitions'; +} from '@ali/lowcode-editor-core/lib/definitions'; import defaultConfig from './config/skeleton'; import skeletonUtils from './config/utils'; @@ -113,8 +113,7 @@ export class Skeleton extends PureComponent { }, (): void => { editor.emit('editor.ready'); - editor.emit('ide.ready'); - isReset && editor.emit('ide.afterReset'); + isReset && editor.emit('editor.afterReset'); }, ); }); diff --git a/packages/editor/package.json b/packages/editor/package.json index b80f50a7f..6f0040a6e 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -3,16 +3,14 @@ "version": "0.0.1", "description": "低代码编辑器", "dependencies": { - "@ali/lowcode-editor-framework": "0.0.1", + "@ali/lowcode-editor-core": "0.0.1", "@ali/lowcode-editor-skeleton": "0.0.1", "@ali/lowcode-plugin-logo": "0.0.1", "@ali/lowcode-plugin-undo-redo": "0.0.1", "@ali/lowcode-plugin-save": "0.0.1", - "@ali/iceluna-addon-2": "^1.0.3", - "@ali/iceluna-addon-component-list": "^1.0.11", - "@ali/iceluna-sdk": "^1.0.5-beta.26", + "@ali/lowcode-plugin-designer": "0.0.1", + "@ali/lowcode-plugin-components-pane": "^1.0.11", "@alifd/next": "^1.x", - "@alife/dpl-iceluna": "^2.3.2", "@alife/theme-lowcode-dark": "^0.1.0", "@alife/theme-lowcode-light": "^0.1.0", "@icedesign/theme": "^1.x", diff --git a/packages/editor/public/assets.json b/packages/editor/public/assets.json new file mode 100644 index 000000000..7d86b9ed3 --- /dev/null +++ b/packages/editor/public/assets.json @@ -0,0 +1,1589 @@ +{ + "version": "1.0.0", + "packages": { + "@alifd/next": { + "title": "fusion组件库", + "package": "@alifd/next", + "version": "1.19.18", + "urls": ["https://unpkg.antfin-inc.com/@alife/next@1.19.18/dist/next.js", "https://unpkg.antfin-inc.com/@alife/next@1.19.18/dist/next.css"], + "library": "Next" + } + }, + "components": { + "Page": { + "componentName": "Page", + "title": "页面", + "configure": { + "events": { + "supportedLifecycles": [{ + "description": "初始化时", + "name": "constructor" + }, { + "description": "装载后", + "name": "componentDidMount" + }, { + "description": "更新时", + "name": "componentDidMount" + }, { + "description": "卸载时", + "name": "componentWillUnmount" + }] + }, + "component": { + "isContainer": true + } + } + }, + "Div": { + "componentName": "Div", + "title": "容器", + "configure": { + "component": { + "isContainer": true + } + } + }, + "Button": { + "componentName": "Button", + "title": "按钮", + "devMode": "proCode", + "npm": { + "package": "@alifd/next", + "version": "1.19.18", + "destructuring": true, + "exportName": "Button" + }, + "props": [{ + "name": "prefix", + "propType": "string", + "defaultValue": "next-" + }, { + "name": "rtl", + "propType": "bool" + }, { + "name": "type", + "propType": { + "type": "oneOf", + "value": ["primary", "secondary", "normal"] + }, + "description": "按钮的类型", + "defaultValue": "normal" + }, { + "name": "size", + "propType": { + "type": "oneOf", + "value": ["small", "medium", "large"] + }, + "description": "按钮的尺寸", + "defaultValue": "medium" + }, { + "name": "iconSize", + "propType": { + "type": "oneOf", + "value": ["xxs", "xs", "small", "medium", "large", "xl", "xxl", "xxxl"] + }, + "description": "按钮中 Icon 的尺寸,用于替代 Icon 的默认大小" + }, { + "name": "htmlType", + "propType": { + "type": "oneOf", + "value": ["submit", "reset", "button"] + }, + "description": "当 component = 'button' 时,设置 button 标签的 type 值", + "defaultValue": "button" + }, { + "name": "component", + "propType": { + "type": "oneOf", + "value": ["button", "a", "div", "span"] + }, + "description": "设置标签类型", + "defaultValue": "button" + }, { + "name": "loading", + "propType": "bool", + "description": "设置按钮的载入状态", + "defaultValue": false + }, { + "name": "ghost", + "propType": { + "type": "oneOf", + "value": [true, false, "light", "dark"] + }, + "description": "是否为幽灵按钮", + "defaultValue": false + }, { + "name": "text", + "propType": "bool", + "description": "是否为文本按钮", + "defaultValue": false + }, { + "name": "warning", + "propType": "bool", + "description": "是否为警告按钮", + "defaultValue": false + }, { + "name": "disabled", + "propType": "bool", + "description": "是否禁用", + "defaultValue": false + }, { + "name": "onClick", + "propType": "func", + "description": "点击按钮的回调\n@param {Object} e Event Object" + }, { + "name": "className", + "propType": "string" + }, { + "name": "onMouseUp", + "propType": "func" + }, { + "name": "children", + "propType": "node" + }] + }, + "Button.Group": { + "componentName": "Button.Group", + "title": "按钮组", + "devMode": "proCode", + "npm": { + "package": "@alifd/next", + "version": "1.19.18", + "destructuring": true, + "exportName": "Button", + "subName": "Group" + }, + "props": [{ + "name": "rtl", + "propType": "bool" + }, { + "name": "prefix", + "propType": "string", + "defaultValue": "next-" + }, { + "name": "size", + "propType": "string", + "description": "统一设置 Button 组件的按钮大小", + "defaultValue": "medium" + }, { + "name": "className", + "propType": "string" + }, { + "name": "children", + "propType": "node" + }], + "configure": { + "component": { + "isContainer": true, + "nestingRule": { + "childWhitelist": "Button" + } + } + } + }, + "Input": { + "componentName": "Input", + "title": "输入框", + "devMode": "proCode", + "npm": { + "package": "@alifd/next", + "version": "1.19.18", + "destructuring": true, + "exportName": "Input" + }, + "props": [{ + "name": "label", + "propType": "node", + "description": "label" + }, { + "name": "hasClear", + "propType": "bool", + "description": "是否出现clear按钮" + }, { + "name": "hasBorder", + "propType": "bool", + "description": "是否有边框", + "defaultValue": "true" + }, { + "name": "state", + "propType": { + "type": "oneOf", + "value": ["error", "loading", "success", "warning"] + }, + "description": "状态\n@enumdesc 错误, 校验中, 成功, 警告" + }, { + "name": "size", + "propType": { + "type": "oneOf", + "value": ["small", "medium", "large"] + }, + "description": "尺寸\n@enumdesc 小, 中, 大", + "defaultValue": "medium" + }, { + "name": "onPressEnter", + "propType": "func", + "description": "按下回车的回调", + "defaultValue": "func.noop" + }, { + "name": "onClear", + "propType": "func" + }, { + "name": "htmlType", + "propType": "string", + "description": "原生type" + }, { + "name": "htmlSize", + "propType": "string" + }, { + "name": "hint", + "propType": "string", + "description": "水印 (Icon的type类型,和hasClear占用一个地方)" + }, { + "name": "innerBefore", + "propType": "node", + "description": "文字前附加内容" + }, { + "name": "innerAfter", + "propType": "node", + "description": "文字后附加内容" + }, { + "name": "addonBefore", + "propType": "node", + "description": "输入框前附加内容" + }, { + "name": "addonAfter", + "propType": "node", + "description": "输入框后附加内容" + }, { + "name": "addonTextBefore", + "propType": "node", + "description": "输入框前附加文字" + }, { + "name": "addonTextAfter", + "propType": "node", + "description": "输入框后附加文字" + }, { + "name": "autoComplete", + "propType": "string", + "description": "(原生input支持)", + "defaultValue": "off" + }, { + "name": "autoFocus", + "propType": "bool", + "description": "自动聚焦(原生input支持)" + }, { + "name": "inputRender", + "propType": "func", + "defaultValue": "el => el" + }, { + "name": "extra", + "propType": "node" + }, { + "name": "innerBeforeClassName", + "propType": "string" + }, { + "name": "innerAfterClassName", + "propType": "string" + }, { + "name": "isPreview", + "propType": "bool", + "description": "是否为预览态", + "defaultValue": "false" + }, { + "name": "renderPreview", + "propType": "func", + "description": "预览态模式下渲染的内容\n@param {number} value 评分值" + }] + }, + "Form": { + "componentName": "Form", + "title": "表单容器", + "devMode": "proCode", + "npm": { + "package": "@alifd/next", + "version": "1.19.18", + "destructuring": true, + "exportName": "Form" + }, + "props": [{ + "name": "prefix", + "propType": "string", + "description": "样式前缀", + "defaultValue": "next-" + }, { + "name": "inline", + "propType": "bool", + "description": "内联表单" + }, { + "name": "size", + "propType": { + "type": "oneOf", + "value": ["large", "medium", "small"] + }, + "description": "单个 Item 的 size 自定义,优先级高于 Form 的 size, 并且当组件与 Item 一起使用时,组件自身设置 size 属性无效。\n@enumdesc 大, 中, 小", + "defaultValue": "medium" + }, { + "name": "fullWidth", + "propType": "bool", + "description": "单个 Item 中表单类组件宽度是否是100%" + }, { + "name": "labelAlign", + "propType": { + "type": "oneOf", + "value": ["top", "left", "inset"] + }, + "description": "标签的位置\n@enumdesc 上, 左, 内", + "defaultValue": "left" + }, { + "name": "labelTextAlign", + "propType": { + "type": "oneOf", + "value": ["left", "right"] + }, + "description": "标签的左右对齐方式\n@enumdesc 左, 右" + }, { + "name": "field", + "propType": "any", + "description": "field 实例, 传 false 会禁用 field" + }, { + "name": "saveField", + "propType": "func", + "description": "保存 Form 自动生成的 field 对象" + }, { + "name": "labelCol", + "propType": "object", + "description": "控制第一级 Item 的 labelCol" + }, { + "name": "wrapperCol", + "propType": "object", + "description": "控制第一级 Item 的 wrapperCol" + }, { + "name": "onSubmit", + "propType": "func", + "description": "form内有 `htmlType=\"submit\"` 的元素的时候会触发" + }, { + "name": "children", + "propType": "any", + "description": "子元素" + }, { + "name": "className", + "propType": "string", + "description": "扩展class" + }, { + "name": "style", + "propType": "object", + "description": "自定义内联样式" + }, { + "name": "value", + "propType": "object", + "description": "表单数值" + }, { + "name": "onChange", + "propType": "func", + "description": "表单变化回调\n@param {Object} values 表单数据\n@param {Object} item 详细\n@param {String} item.name 变化的组件名\n@param {String} item.value 变化的数据\n@param {Object} item.field field 实例" + }, { + "name": "component", + "propType": { + "type": "oneOfType", + "value": ["string", "func"] + }, + "description": "设置标签类型", + "defaultValue": "form" + }, { + "name": "fieldOptions", + "propType": "object" + }, { + "name": "rtl", + "propType": "bool" + }, { + "name": "device", + "propType": { + "type": "oneOf", + "value": ["phone", "tablet", "desktop"] + }, + "description": "预设屏幕宽度", + "defaultValue": "desktop" + }, { + "name": "responsive", + "propType": "bool", + "description": "是否开启内置的响应式布局 (使用ResponsiveGrid)" + }, { + "name": "isPreview", + "propType": "bool", + "description": "是否开启预览态" + }], + "configure": { + "component": { + "isContainer": true + } + } + }, + "Form.Item": { + "componentName": "Form.Item", + "title": "表单项", + "devMode": "proCode", + "npm": { + "package": "@alifd/next", + "version": "1.19.18", + "destructuring": true, + "exportName": "Form", + "subName": "Item" + }, + "props": [{ + "name": "prefix", + "propType": "string", + "description": "样式前缀", + "defaultValue": "next-" + }, { + "name": "rtl", + "propType": "bool" + }, { + "name": "label", + "propType": "node", + "description": "label 标签的文本" + }, { + "name": "labelCol", + "propType": "object", + "description": "label 标签布局,通 `` 组件,设置 span offset 值,如 {span: 8, offset: 16},该项仅在垂直表单有效" + }, { + "name": "wrapperCol", + "propType": "object", + "description": "需要为输入控件设置布局样式时,使用该属性,用法同 labelCol" + }, { + "name": "help", + "propType": "node", + "description": "自定义提示信息,如不设置,则会根据校验规则自动生成." + }, { + "name": "extra", + "propType": "node", + "description": "额外的提示信息,和 help 类似,当需要错误信息和提示文案同时出现时,可以使用这个。 位于错误信息后面" + }, { + "name": "validateState", + "propType": { + "type": "oneOf", + "value": ["error", "success", "loading", "warning"] + }, + "description": "校验状态,如不设置,则会根据校验规则自动生成\n@enumdesc 失败, 成功, 校验中, 警告" + }, { + "name": "hasFeedback", + "propType": "bool", + "description": "配合 validateState 属性使用,是否展示 success/loading 的校验状态图标, 目前只有Input支持", + "defaultValue": false + }, { + "name": "style", + "propType": "object", + "description": "自定义内联样式" + }, { + "name": "id", + "propType": "string" + }, { + "name": "children", + "propType": { + "type": "oneOfType", + "value": ["node", "func"] + }, + "description": "node 或者 function(values)" + }, { + "name": "size", + "propType": { + "type": "oneOf", + "value": ["large", "small", "medium"] + }, + "description": "单个 Item 的 size 自定义,优先级高于 Form 的 size, 并且当组件与 Item 一起使用时,组件自身设置 size 属性无效。" + }, { + "name": "fullWidth", + "propType": "bool", + "description": "单个 Item 中表单类组件宽度是否是100%" + }, { + "name": "labelAlign", + "propType": { + "type": "oneOf", + "value": ["top", "left", "inset"] + }, + "description": "标签的位置\n@enumdesc 上, 左, 内" + }, { + "name": "labelTextAlign", + "propType": { + "type": "oneOf", + "value": ["left", "right"] + }, + "description": "标签的左右对齐方式\n@enumdesc 左, 右" + }, { + "name": "className", + "propType": "string", + "description": "扩展class" + }, { + "name": "required", + "propType": "bool", + "description": "[表单校验] 不能为空" + }, { + "name": "asterisk", + "propType": "bool", + "description": "required 的星号是否显示" + }, { + "name": "requiredMessage", + "propType": "string", + "description": "required 自定义错误信息" + }, { + "name": "requiredTrigger", + "propType": { + "type": "oneOfType", + "value": ["string", "array"] + }, + "description": "required 自定义触发方式" + }, { + "name": "min", + "propType": "number", + "description": "[表单校验] 最小值" + }, { + "name": "max", + "propType": "number", + "description": "[表单校验] 最大值" + }, { + "name": "minmaxMessage", + "propType": "string", + "description": "min/max 自定义错误信息" + }, { + "name": "minmaxTrigger", + "propType": { + "type": "oneOfType", + "value": ["string", "array"] + }, + "description": "min/max 自定义触发方式" + }, { + "name": "minLength", + "propType": "number", + "description": "[表单校验] 字符串最小长度 / 数组最小个数" + }, { + "name": "maxLength", + "propType": "number", + "description": "[表单校验] 字符串最大长度 / 数组最大个数" + }, { + "name": "minmaxLengthMessage", + "propType": "string", + "description": "minLength/maxLength 自定义错误信息" + }, { + "name": "minmaxLengthTrigger", + "propType": { + "type": "oneOfType", + "value": ["string", "array"] + }, + "description": "minLength/maxLength 自定义触发方式" + }, { + "name": "length", + "propType": "number", + "description": "[表单校验] 字符串精确长度 / 数组精确个数" + }, { + "name": "lengthMessage", + "propType": "string", + "description": "length 自定义错误信息" + }, { + "name": "lengthTrigger", + "propType": { + "type": "oneOfType", + "value": ["string", "array"] + }, + "description": "length 自定义触发方式" + }, { + "name": "pattern", + "propType": "any", + "description": "正则校验" + }, { + "name": "patternMessage", + "propType": "string", + "description": "pattern 自定义错误信息" + }, { + "name": "patternTrigger", + "propType": { + "type": "oneOfType", + "value": ["string", "array"] + }, + "description": "pattern 自定义触发方式" + }, { + "name": "format", + "propType": { + "type": "oneOf", + "value": ["number", "email", "url", "tel"] + }, + "description": "[表单校验] 四种常用的 pattern" + }, { + "name": "formatMessage", + "propType": "string", + "description": "format 自定义错误信息" + }, { + "name": "formatTrigger", + "propType": { + "type": "oneOfType", + "value": ["string", "array"] + }, + "description": "format 自定义触发方式" + }, { + "name": "validator", + "propType": "func", + "description": "[表单校验] 自定义校验函数" + }, { + "name": "validatorTrigger", + "propType": { + "type": "oneOfType", + "value": ["string", "array"] + }, + "description": "validator 自定义触发方式" + }, { + "name": "autoValidate", + "propType": "bool", + "description": "是否修改数据时自动触发校验" + }, { + "name": "device", + "propType": { + "type": "oneOf", + "value": ["phone", "tablet", "desktop"] + }, + "description": "预设屏幕宽度" + }, { + "name": "responsive", + "propType": "bool" + }, { + "name": "colSpan", + "propType": "number", + "description": "在响应式布局模式下,表单项占多少列" + }, { + "name": "labelWidth", + "propType": { + "type": "oneOfType", + "value": ["string", "number"] + }, + "description": "在响应式布局下,且label在左边时,label的宽度是多少", + "defaultValue": 100 + }, { + "name": "isPreview", + "propType": "bool", + "description": "是否开启预览态" + }, { + "name": "renderPreview", + "propType": "func", + "description": "预览态模式下渲染的内容\n@param {any} value 根据包裹的组件的 value 类型而决定" + }], + "configure": { + "component": { + "isContainer": true, + "nestingRule": { + "parentWhitelist": "Form" + } + } + } + }, + "NumberPicker": { + "componentName": "NumberPicker", + "title": "数字输入", + "devMode": "proCode", + "npm": { + "package": "@alifd/next", + "version": "1.19.18", + "destructuring": true, + "exportName": "NumberPicker" + }, + "props": [{ + "name": "prefix", + "propType": "string", + "description": "样式前缀", + "defaultValue": "next-" + }, { + "name": "type", + "propType": { + "type": "oneOf", + "value": ["normal", "inline"] + }, + "description": "设置类型\n@enumdesc 普通, 内联", + "defaultValue": "normal" + }, { + "name": "size", + "propType": { + "type": "oneOf", + "value": ["large", "medium"] + }, + "description": "大小", + "defaultValue": "medium" + }, { + "name": "value", + "propType": "number", + "description": "当前值" + }, { + "name": "defaultValue", + "propType": "number", + "description": "默认值" + }, { + "name": "disabled", + "propType": "bool", + "description": "是否禁用" + }, { + "name": "step", + "propType": { + "type": "oneOfType", + "value": ["number", "string"] + }, + "description": "步长", + "defaultValue": 1 + }, { + "name": "precision", + "propType": "number", + "description": "保留小数点后位数", + "defaultValue": 0 + }, { + "name": "editable", + "propType": "bool", + "description": "用户是否可以输入", + "defaultValue": true + }, { + "name": "autoFocus", + "propType": "bool", + "description": "自动焦点" + }, { + "name": "onChange", + "propType": "func", + "description": "数值被改变的事件\n@param {Number} value 数据\n@param {Event} e DOM事件对象" + }, { + "name": "onKeyDown", + "propType": "func", + "description": "键盘按下" + }, { + "name": "onFocus", + "propType": "func", + "description": "焦点获得" + }, { + "name": "onBlur", + "propType": "func", + "description": "焦点失去" + }, { + "name": "onCorrect", + "propType": "func", + "description": "数值订正后的回调\n@param {Object} obj {currentValue,oldValue:String}" + }, { + "name": "onDisabled", + "propType": "func" + }, { + "name": "max", + "propType": "number", + "description": "最大值", + "defaultValue": null + }, { + "name": "min", + "propType": "number", + "description": "最小值", + "defaultValue": null + }, { + "name": "className", + "propType": "string", + "description": "自定义class" + }, { + "name": "style", + "propType": "object", + "description": "自定义内联样式" + }, { + "name": "state", + "propType": { + "type": "oneOf", + "value": ["error"] + } + }, { + "name": "format", + "propType": "func", + "description": "格式化当前值\n@param {Number} value\n@return {String|Number}" + }, { + "name": "upBtnProps", + "propType": "object", + "description": "增加按钮的props" + }, { + "name": "downBtnProps", + "propType": "object", + "description": "减少按钮的props" + }, { + "name": "label", + "propType": "node", + "description": "内联 label" + }, { + "name": "innerAfter", + "propType": "node", + "description": "inner after" + }, { + "name": "rtl", + "propType": "bool" + }, { + "name": "isPreview", + "propType": "bool", + "description": "是否为预览态" + }, { + "name": "renderPreview", + "propType": "func", + "description": "预览态模式下渲染的内容\n@param {number} value 评分值" + }, { + "name": "device", + "propType": { + "type": "oneOf", + "value": ["phone", "tablet", "desktop"] + }, + "description": "预设屏幕宽度" + }] + }, + "Select": { + "componentName": "Select", + "title": "下拉", + "devMode": "proCode", + "npm": { + "package": "@alifd/next", + "version": "1.19.18", + "destructuring": true, + "exportName": "Select" + }, + "props": [{ + "name": "mode", + "propType": { + "type": "oneOf", + "value": ["single", "multiple", "tag"] + }, + "description": "选择器模式", + "defaultValue": "single" + }, { + "name": "value", + "propType": "any", + "description": "当前值,用于受控模式" + }, { + "name": "defaultValue", + "propType": "any", + "description": "初始的默认值" + }, { + "name": "onChange", + "propType": "func", + "description": "Select发生改变时触发的回调\n@param {*} value 选中的值\n@param {String} actionType 触发的方式, 'itemClick', 'enter', 'tag'\n@param {*} item 选中的值的对象数据 (useDetailValue=false有效)" + }, { + "name": "dataSource", + "propType": { + "type": "arrayOf", + "value": { + "type": "oneOfType", + "value": [{ + "type": "shape", + "value": [{ + "name": "value", + "propType": "any" + }, { + "name": "label", + "propType": "any" + }, { + "name": "disabled", + "propType": "bool" + }, { + "name": "children", + "propType": "array" + }] + }, "bool", "number", "string"] + } + }, + "description": "传入的数据源,可以动态渲染子项,详见 [dataSource的使用](#dataSource的使用)" + }, { + "name": "hasBorder", + "propType": "bool", + "description": "是否有边框" + }, { + "name": "hasArrow", + "propType": "bool", + "description": "是否有下拉箭头", + "defaultValue": true + }, { + "name": "showSearch", + "propType": "bool", + "description": "展开后是否能搜索(tag 模式下固定为true)", + "defaultValue": false + }, { + "name": "onSearch", + "propType": "func", + "description": "当搜索框值变化时回调\n@param {String} value 数据" + }, { + "name": "onSearchClear", + "propType": "func", + "description": "当搜索框值被清空时候的回调\n@param {String} actionType 触发的方式, 'select'(选择清空), 'popupClose'(弹窗关闭清空)" + }, { + "name": "hasSelectAll", + "propType": { + "type": "oneOfType", + "value": ["bool", "string"] + }, + "description": "多选模式下是否有全选功能" + }, { + "name": "fillProps", + "propType": "string", + "description": "填充到选择框里的值的 key\b\b" + }, { + "name": "useDetailValue", + "propType": "bool", + "description": "onChange 返回的 value 使用 dataSource 的对象" + }, { + "name": "cacheValue", + "propType": "bool", + "description": "dataSource 变化的时是否保留已选的内容", + "defaultValue": true + }, { + "name": "valueRender", + "propType": "func", + "description": "渲染 Select 展现内容的方法\n@param {Object} item 渲染节点的item\n@return {ReactNode} 展现内容\n@default item => item.label \\|\\| item.value" + }, { + "name": "itemRender", + "propType": "func", + "description": "渲染 MenuItem 内容的方法\n@param {Object} item 渲染节点的item\n@param {String} searchValue 搜索关键字(如果开启搜索)\n@return {ReactNode} item node" + }, { + "name": "notFoundContent", + "propType": "node", + "description": "弹层内容为空的文案" + }, { + "name": "style", + "propType": "object" + }, { + "name": "searchValue", + "propType": "string", + "description": "受控搜索值,一般不需要设置\n@type {[type]}" + }, { + "name": "tagInline", + "propType": "bool", + "description": "是否一行显示,仅在 mode 为 multiple 的时候生效", + "defaultValue": false + }, { + "name": "maxTagCount", + "propType": "number", + "description": "最多显示多少个 tag" + }, { + "name": "maxTagPlaceholder", + "propType": "func", + "description": "隐藏多余 tag 时显示的内容,在 maxTagCount 生效时起作用\n@param {number} selectedValues 当前已选中的元素\n@param {number} totalValues 总待选元素" + }, { + "name": "hiddenSelected", + "propType": "bool", + "description": "选择后是否立即隐藏菜单 (mode=multiple/tag 模式生效)" + }, { + "name": "onRemove", + "propType": "func", + "description": "tag 删除回调\n@param {object} item 渲染节点的item" + }, { + "name": "onFocus", + "propType": "func", + "description": "焦点事件" + }, { + "name": "onBlur", + "propType": "func", + "description": "失去焦点事件" + }, { + "name": "onMouseEnter", + "propType": "func" + }, { + "name": "onMouseLeave", + "propType": "func" + }, { + "name": "onKeyDown", + "propType": "func" + }, { + "name": "locale", + "propType": "object" + }], + "configure": { + "component": { + "isContainer": true, + "nestingRule": { + "childWhitelist": "Select.Option" + } + }, + "props": [{ + "name": "mode", + "title": "选择器模式", + "setter": { + "componentName": "RadioGroupSetter", + "props": { + "defaultValue": "single", + "dataSource": [{ + "value": "single", + "label": "single" + }, { + "value": "multiple", + "label": "multiple" + }, { + "value": "tag", + "label": "tag" + }] + } + } + }, { + "name": "mode", + "title": "选择器模式", + "setter": { + "componentName": "SelectSetter", + "props": { + "defaultValue": "single", + "dataSource": [{ + "value": "single", + "label": "single" + }, { + "value": "multiple", + "label": "multiple" + }, { + "value": "tag", + "label": "tag" + }] + } + } + }, { + "name": "value", + "title": "受控值", + "setter": "StringSetter" + }, { + "name": "hasBorder", + "title": "是否有边框", + "setter": { + "componentName": "BoolSetter", + "props": { + "defaultValue": true + } + } + }, { + "name": "maxTagCount", + "title": "最多显示多少个 tag", + "setter": "NumberSetter" + }, { + "name": "maxTagCount", + "title": "最多显示多少个 tag", + "setter": "ExpressionSetter" + }, { + "name": "MixinSetter", + "placeholder": "混合", + "setter": { + "componentName": "MixinSetter", + "props": { + "types": [{ + "name": "StringSetter", + "props": {} + }, { + "name": "TextAreaSetter", + "props": {} + }, { + "name": "SelectSetter", + "props": { + "hasClear": true, + "dataSource": [{ + "label": "上", + "value": "t" + }, { + "label": "右", + "value": "r" + }, { + "label": "下", + "value": "b" + }, { + "label": "左", + "value": "l" + }] + } + }, { + "name": "NumberSetter", + "props": {} + }, { + "name": "BoolSetter", + "props": {} + }], + "defaultType": "SelectSetter" + } + } + }, { + "type": "group", + "name": "扩展 Setter", + "items": [{ + "name": "TextAreaSetter", + "setter": "TextAreaSetter" + }, { + "name": "date", + "title": "测试日期", + "setter": "DateSetter" + }, { + "name": "date", + "title": "测试日期-年", + "setter": "DateYearSetter" + }, { + "name": "date", + "title": "测试日期-月", + "setter": "DateMonthSetter" + }, { + "name": "date", + "title": "测试日期-区间", + "setter": "DateRangeSetter" + }] + }, { + "type": "group", + "name": "ArraySetter", + "items": [{ + "name": "arrayValue1", + "title": "字符数组", + "setter": { + "componentName": "ArraySetter", + "props": { + "itemSetter": { + "componentName": "StringSetter", + "initialValue": "" + } + } + } + }, { + "name": "arrayValue2", + "title": "数字数组", + "setter": { + "componentName": "ArraySetter", + "props": { + "itemSetter": { + "componentName": "NumberSetter", + "initialValue": 0 + } + } + } + }, { + "name": "arrayValue3", + "title": "混合数组", + "setter": { + "componentName": "ArraySetter", + "props": { + "itemSetter": { + "componentName": "MixinSetter", + "props": { + "types": [{ + "name": "StringSetter", + "props": {} + }, { + "name": "ExpressionSetter", + "props": {} + }, { + "name": "RadioGroupSetter", + "props": { + "hasClear": true, + "dataSource": [{ + "label": "上", + "value": "t" + }, { + "label": "右", + "value": "r" + }, { + "label": "下", + "value": "b" + }, { + "label": "左", + "value": "l" + }] + } + }], + "defaultType": "SelectSetter" + } + } + } + } + }, { + "name": "arrayValue4", + "title": "对象数组", + "setter": { + "componentName": "ArraySetter", + "props": { + "itemSetter": { + "componentName": "ObjectSetter", + "props": { + "config": { + "items": [{ + "name": "username", + "title": "姓名", + "setter": "StringSetter", + "important": true + }, { + "name": "phone", + "title": "电话", + "setter": "StringSetter", + "important": true + }, { + "name": "age", + "title": "年龄", + "setter": "NumberSetter" + }, { + "name": "married", + "title": "婚否", + "setter": "BoolSetter" + }, { + "type": "group", + "title": "work", + "items": [{ + "name": "job", + "title": "工作岗位", + "setter": { + "componentName": "SelectSetter", + "props": { + "dataSource": [{ + "label": "工程师", + "value": 1 + }, { + "label": "高级工程师", + "value": 2 + }, { + "label": "资深工程师", + "value": 3 + }] + } + } + }, { + "name": "address", + "title": "工作地点", + "setter": "TextAreaSetter" + }] + }] + } + }, + "initialValue": {} + } + } + } + }, { + "name": "arrayValue5", + "title": "对象数组", + "setter": { + "componentName": "ArraySetter", + "props": { + "itemSetter": { + "componentName": "ObjectSetter", + "props": { + "config": { + "items": [{ + "name": "username", + "title": "姓名", + "setter": "StringSetter", + "important": true + }, { + "name": "age", + "title": "年龄", + "setter": "NumberSetter", + "important": true + }, { + "name": "married", + "title": "婚否", + "setter": "BoolSetter", + "important": true + }, { + "name": "log", + "title": "到访记录", + "setter": { + "componentName": "ArraySetter", + "props": { + "itemSetter": "StringSetter" + } + }, + "important": true + }, { + "type": "group", + "title": "work", + "items": [{ + "name": "job", + "title": "工作岗位", + "setter": { + "componentName": "SelectSetter", + "props": { + "dataSource": [{ + "label": "工程师", + "value": 1 + }, { + "label": "高级工程师", + "value": 2 + }, { + "label": "资深工程师", + "value": 3 + }] + } + } + }, { + "name": "address", + "title": "工作地点", + "setter": "TextAreaSetter" + }] + }] + } + }, + "initialValue": {} + }, + "mode": "popup" + } + } + }], + "extraProps": { + "defaultCollapsed": false + } + }, { + "type": "group", + "name": "ObjectSetter", + "items": [{ + "name": "objectValue1", + "title": "对象数据1", + "setter": { + "componentName": "ObjectSetter", + "props": { + "config": { + "items": [{ + "name": "username", + "title": "姓名", + "setter": "StringSetter", + "important": true + }, { + "name": "age", + "title": "年龄", + "setter": "NumberSetter", + "important": true + }, { + "name": "married", + "title": "婚否", + "setter": "BoolSetter", + "important": true + }, { + "name": "log", + "title": "到访记录", + "setter": { + "componentName": "ArraySetter", + "props": { + "itemSetter": "StringSetter" + } + }, + "important": true + }, { + "type": "group", + "title": "work", + "items": [{ + "name": "job", + "title": "工作岗位", + "setter": { + "componentName": "SelectSetter", + "props": { + "dataSource": [{ + "label": "工程师", + "value": 1 + }, { + "label": "高级工程师", + "value": 2 + }, { + "label": "资深工程师", + "value": 3 + }] + } + } + }, { + "name": "address", + "title": "工作地点", + "setter": "TextAreaSetter" + }] + }] + } + }, + "initialValue": {} + } + }, { + "name": "objectValue2", + "title": "对象数据2", + "setter": { + "componentName": "ObjectSetter", + "props": { + "mode": "popup", + "config": { + "items": [{ + "name": "username", + "title": "姓名", + "setter": "StringSetter", + "important": true + }, { + "name": "age", + "title": "年龄", + "setter": "NumberSetter", + "important": true + }, { + "name": "married", + "title": "婚否", + "setter": "BoolSetter", + "important": true + }, { + "name": "log", + "title": "到访记录", + "setter": { + "componentName": "ArraySetter", + "props": { + "itemSetter": "StringSetter" + } + }, + "important": true + }, { + "type": "group", + "title": "work", + "items": [{ + "name": "job", + "title": "工作岗位", + "setter": { + "componentName": "SelectSetter", + "props": { + "dataSource": [{ + "label": "工程师", + "value": 1 + }, { + "label": "高级工程师", + "value": 2 + }, { + "label": "资深工程师", + "value": 3 + }] + } + } + }, { + "name": "address", + "title": "工作地点", + "setter": "TextAreaSetter" + }] + }] + } + }, + "initialValue": {} + } + }] + }] + } + }, + "Select.Option": { + "componentName": "Select.Option", + "title": "选择项", + "devMode": "proCode", + "npm": { + "package": "@alifd/next", + "version": "1.19.18", + "destructuring": true, + "exportName": "Select", + "subName": "Option" + }, + "props": [{ + "name": "value", + "propType": { + "type": "any", + "isRequired": true + }, + "description": "选项值" + }, { + "name": "disabled", + "propType": "bool", + "description": "是否禁用" + }, { + "name": "children", + "propType": "any" + }], + "configure": { + "component": { + "isContainer": true, + "nestingRule": { + "parentWhitelist": "Select" + } + } + } + } + }, + "componentList": [{ + "title": "基础", + "icon": "", + "children": [{ + "componentName": "Button", + "title": "按钮", + "icon": "", + "package": "@alife/next", + "library": "Next", + "snippets": [{ + "title": "private", + "screenshot": "https://img.alicdn.com/tfs/TB16gZhi.H1gK0jSZSyXXXtlpXa-192-144.png", + "schema": { + "componentName": "Button", + "props": { + "type": "primary" + }, + "children": "Primary" + } + }, { + "title": "secondary", + "screenshot": "https://img.alicdn.com/tfs/TB11Hkji1H2gK0jSZFEXXcqMpXa-192-144.png", + "schema": { + "componentName": "Button", + "props": { + "type": "secondary" + }, + "children": "secondary" + } + }, { + "title": "normal", + "screenshot": "", + "schema": { + "componentName": "Button", + "props": { + "type": "normal" + }, + "children": "normal" + } + }] + }] + }, { + "title": "表单", + "icon": "", + "children": [{ + "componentName": "Input", + "library": "Next", + "title": "输入框", + "icon": "", + "package": "@alife/next", + "snippets": [{ + "title": "普通", + "screenshot": "", + "schema": { + "componentName": "Input", + "props": {} + } + }] + }, { + "componentName": "Select", + "library": "Next", + "title": "选择框", + "icon": "", + "package": "@alife/next", + "snippets": [{ + "title": "默认", + "screenshot": "", + "schema": { + "componentName": "Select", + "props": {} + } + }] + }, { + "componentName": "NumberPicker", + "library": "Next", + "title": "数字", + "icon": "", + "package": "@alife/next", + "snippets": [{ + "title": "默认", + "screenshot": "", + "schema": { + "componentName": "NumberPicker", + "props": {} + } + }] + }] + }, { + "title": "其他", + "icon": "", + "children": [{ + "componentName": "Div", + "library": "Next", + "title": "容器", + "icon": "", + "snippets": [{ + "title": "默认", + "screenshot": "", + "schema": { + "componentName": "Div", + "props": {} + } + }] + }] + }] +} diff --git a/packages/editor/public/schema.json b/packages/editor/public/schema.json new file mode 100644 index 000000000..424628106 --- /dev/null +++ b/packages/editor/public/schema.json @@ -0,0 +1,110 @@ +{ + "componentName": "Page", + "fileName": "test", + "dataSource": { + "list": [] + }, + "state": { + "text": "outter" + }, + "props": { + "ref": "outterView", + "autoLoading": true, + "style": { + "padding": 20 + } + }, + "children": [{ + "componentName": "Form", + "props": { + "labelCol": 3, + "style": {}, + "ref": "testForm" + }, + "children": [{ + "componentName": "Form.Item", + "props": { + "label": "姓名:", + "name": "name", + "initValue": "李雷" + }, + "children": [{ + "componentName": "Input", + "props": { + "placeholder": "请输入", + "size": "medium", + "style": { + "width": 320 + } + } + }] + }, { + "componentName": "Form.Item", + "props": { + "label": "年龄:", + "name": "age", + "initValue": "22" + }, + "children": [{ + "componentName": "NumberPicker", + "props": { + "size": "medium", + "type": "normal" + } + }] + }, { + "componentName": "Form.Item", + "props": { + "label": "职业:", + "name": "profession" + }, + "children": [{ + "componentName": "Select", + "props": { + "dataSource": [{ + "label": "教师", + "value": "t" + }, { + "label": "医生", + "value": "d" + }, { + "label": "歌手", + "value": "s" + }] + } + }] + }, { + "componentName": "Div", + "props": { + "style": { + "textAlign": "center" + } + }, + "children": [{ + "componentName": "Button.Group", + "props": {}, + "children": [{ + "componentName": "Button", + "props": { + "type": "primary", + "style": { + "margin": "0 5px 0 5px" + }, + "htmlType": "submit" + }, + "children": "提交" + }, { + "componentName": "Button", + "props": { + "type": "normal", + "style": { + "margin": "0 5px 0 5px" + }, + "htmlType": "reset" + }, + "children": "重置" + }] + }] + }] + }] +} \ No newline at end of file diff --git a/packages/editor/src/config/assets.js b/packages/editor/src/config/assets.js index ce83e3438..19c509860 100644 --- a/packages/editor/src/config/assets.js +++ b/packages/editor/src/config/assets.js @@ -1250,7 +1250,7 @@ export default { { name: 'value', title: '受控值', - setter: 'StringSetter', + setter: 'StringSetter' }, { name: 'hasBorder', @@ -1447,57 +1447,67 @@ export default { componentName: 'ObjectSetter', props: { config: { - items: [{ - name: 'username', - title: '姓名', - setter: 'StringSetter', - important: true, - }, { - name: 'phone', - title: '电话', - setter: 'StringSetter', - important: true, - }, { - name: 'age', - title: '年龄', - setter: 'NumberSetter' - }, { - name: 'married', - title: '婚否', - setter: 'BoolSetter' - }, { - type: 'group', - title: 'work', - items: [ - { - name: 'job', - title: '工作岗位', - setter: { - componentName: 'SelectSetter', - props: { - dataSource: [{ - label: '工程师', - value: 1 - }, { - label: '高级工程师', - value: 2 - }, { - label: '资深工程师', - value: 3 - }] + items: [ + { + name: 'username', + title: '姓名', + setter: 'StringSetter', + important: true + }, + { + name: 'phone', + title: '电话', + setter: 'StringSetter', + important: true + }, + { + name: 'age', + title: '年龄', + setter: 'NumberSetter' + }, + { + name: 'married', + title: '婚否', + setter: 'BoolSetter' + }, + { + type: 'group', + title: 'work', + items: [ + { + name: 'job', + title: '工作岗位', + setter: { + componentName: 'SelectSetter', + props: { + dataSource: [ + { + label: '工程师', + value: 1 + }, + { + label: '高级工程师', + value: 2 + }, + { + label: '资深工程师', + value: 3 + } + ] + } } + }, + { + name: 'address', + title: '工作地点', + setter: 'TextAreaSetter' } - }, - { - name: 'address', - title: '工作地点', - setter: 'TextAreaSetter' - } - ] - }], + ] + } + ] } }, - initialValue: {}, + initialValue: {} } } } @@ -1512,72 +1522,82 @@ export default { componentName: 'ObjectSetter', props: { config: { - items: [{ - name: 'username', - title: '姓名', - setter: 'StringSetter', - important: true, - }, { - name: 'age', - title: '年龄', - setter: 'NumberSetter', - important: true, - }, { - name: 'married', - title: '婚否', - setter: 'BoolSetter', - important: true, - }, { - name: 'log', - title: '到访记录', - setter: { - componentName: 'ArraySetter', - props: { - itemSetter: 'StringSetter' - } + items: [ + { + name: 'username', + title: '姓名', + setter: 'StringSetter', + important: true }, - important: true, - }, { - type: 'group', - title: 'work', - items: [ - { - name: 'job', - title: '工作岗位', - setter: { - componentName: 'SelectSetter', - props: { - dataSource: [{ - label: '工程师', - value: 1 - }, { - label: '高级工程师', - value: 2 - }, { - label: '资深工程师', - value: 3 - }] - } + { + name: 'age', + title: '年龄', + setter: 'NumberSetter', + important: true + }, + { + name: 'married', + title: '婚否', + setter: 'BoolSetter', + important: true + }, + { + name: 'log', + title: '到访记录', + setter: { + componentName: 'ArraySetter', + props: { + itemSetter: 'StringSetter' } }, - { - name: 'address', - title: '工作地点', - setter: 'TextAreaSetter' - } - ] - }], + important: true + }, + { + type: 'group', + title: 'work', + items: [ + { + name: 'job', + title: '工作岗位', + setter: { + componentName: 'SelectSetter', + props: { + dataSource: [ + { + label: '工程师', + value: 1 + }, + { + label: '高级工程师', + value: 2 + }, + { + label: '资深工程师', + value: 3 + } + ] + } + } + }, + { + name: 'address', + title: '工作地点', + setter: 'TextAreaSetter' + } + ] + } + ] } }, - initialValue: {}, + initialValue: {} }, mode: 'popup' } } - }, + } ], extraProps: { - defaultCollapsed: false, + defaultCollapsed: false } }, { @@ -1591,64 +1611,74 @@ export default { componentName: 'ObjectSetter', props: { config: { - items: [{ - name: 'username', - title: '姓名', - setter: 'StringSetter', - important: true, - }, { - name: 'age', - title: '年龄', - setter: 'NumberSetter', - important: true, - }, { - name: 'married', - title: '婚否', - setter: 'BoolSetter', - important: true, - }, { - name: 'log', - title: '到访记录', - setter: { - componentName: 'ArraySetter', - props: { - itemSetter: 'StringSetter' - } + items: [ + { + name: 'username', + title: '姓名', + setter: 'StringSetter', + important: true }, - important: true, - }, { - type: 'group', - title: 'work', - items: [ - { - name: 'job', - title: '工作岗位', - setter: { - componentName: 'SelectSetter', - props: { - dataSource: [{ - label: '工程师', - value: 1 - }, { - label: '高级工程师', - value: 2 - }, { - label: '资深工程师', - value: 3 - }] - } + { + name: 'age', + title: '年龄', + setter: 'NumberSetter', + important: true + }, + { + name: 'married', + title: '婚否', + setter: 'BoolSetter', + important: true + }, + { + name: 'log', + title: '到访记录', + setter: { + componentName: 'ArraySetter', + props: { + itemSetter: 'StringSetter' } }, - { - name: 'address', - title: '工作地点', - setter: 'TextAreaSetter' - } - ] - }], + important: true + }, + { + type: 'group', + title: 'work', + items: [ + { + name: 'job', + title: '工作岗位', + setter: { + componentName: 'SelectSetter', + props: { + dataSource: [ + { + label: '工程师', + value: 1 + }, + { + label: '高级工程师', + value: 2 + }, + { + label: '资深工程师', + value: 3 + } + ] + } + } + }, + { + name: 'address', + title: '工作地点', + setter: 'TextAreaSetter' + } + ] + } + ] } }, - initialValue: {}, + initialValue: {} } }, { @@ -1659,64 +1689,74 @@ export default { props: { mode: 'popup', config: { - items: [{ - name: 'username', - title: '姓名', - setter: 'StringSetter', - important: true, - }, { - name: 'age', - title: '年龄', - setter: 'NumberSetter', - important: true, - }, { - name: 'married', - title: '婚否', - setter: 'BoolSetter', - important: true, - }, { - name: 'log', - title: '到访记录', - setter: { - componentName: 'ArraySetter', - props: { - itemSetter: 'StringSetter' - } + items: [ + { + name: 'username', + title: '姓名', + setter: 'StringSetter', + important: true }, - important: true, - }, { - type: 'group', - title: 'work', - items: [ - { - name: 'job', - title: '工作岗位', - setter: { - componentName: 'SelectSetter', - props: { - dataSource: [{ - label: '工程师', - value: 1 - }, { - label: '高级工程师', - value: 2 - }, { - label: '资深工程师', - value: 3 - }] - } + { + name: 'age', + title: '年龄', + setter: 'NumberSetter', + important: true + }, + { + name: 'married', + title: '婚否', + setter: 'BoolSetter', + important: true + }, + { + name: 'log', + title: '到访记录', + setter: { + componentName: 'ArraySetter', + props: { + itemSetter: 'StringSetter' } }, - { - name: 'address', - title: '工作地点', - setter: 'TextAreaSetter' - } - ] - }], + important: true + }, + { + type: 'group', + title: 'work', + items: [ + { + name: 'job', + title: '工作岗位', + setter: { + componentName: 'SelectSetter', + props: { + dataSource: [ + { + label: '工程师', + value: 1 + }, + { + label: '高级工程师', + value: 2 + }, + { + label: '资深工程师', + value: 3 + } + ] + } + } + }, + { + name: 'address', + title: '工作地点', + setter: 'TextAreaSetter' + } + ] + } + ] } }, - initialValue: {}, + initialValue: {} } } ] diff --git a/packages/editor/src/config/components.js b/packages/editor/src/config/components.js index 3320dd909..fac4759f7 100644 --- a/packages/editor/src/config/components.js +++ b/packages/editor/src/config/components.js @@ -8,14 +8,14 @@ import rightPanel1 from '@ali/iceluna-addon-2'; import rightPanel2 from '@ali/iceluna-addon-2'; import rightPanel3 from '@ali/iceluna-addon-2'; import rightPanel4 from '@ali/iceluna-addon-2'; -import componentList from '@ali/iceluna-addon-component-list'; +import componentsPane from '@ali/lowcode-plugin-components-pane'; import Settings from '../../../plugin-settings'; import undoRedo from '@ali/lowcode-plugin-undo-redo'; import Designer from '../plugins/designer'; import logo from '@ali/lowcode-plugin-logo'; import save from '@ali/lowcode-plugin-save'; -import {PluginFactory} from '@ali/lowcode-editor-framework'; +import { PluginFactory } from '@ali/lowcode-editor-core'; export default { logo: PluginFactory(logo), @@ -33,5 +33,5 @@ export default { rightPanel2: PluginFactory(rightPanel2), rightPanel3: PluginFactory(rightPanel3), rightPanel4: PluginFactory(rightPanel4), - componentList: PluginFactory(componentList) + componentsPane: PluginFactory(componentsPane) }; diff --git a/packages/editor/src/config/skeleton.js b/packages/editor/src/config/skeleton.js index 2e9012768..7f16bf2d1 100644 --- a/packages/editor/src/config/skeleton.js +++ b/packages/editor/src/config/skeleton.js @@ -1,5 +1,3 @@ -import assets from './assets'; - export default { version: '^1.0.2', theme: { @@ -31,73 +29,6 @@ export default { href: '/' } }, - { - pluginKey: 'topBalloonIcon', - type: 'BalloonIcon', - props: { - align: 'left', - title: 'balloon', - icon: 'dengpao', - balloonProps: { - triggerType: 'click' - } - }, - config: { - package: '@ali/iceluna-addon-2', - version: '^1.0.0' - }, - pluginProps: {} - }, - { - pluginKey: 'divider', - type: 'Divider', - props: { - align: 'left' - } - }, - { - pluginKey: 'topDialogIcon', - type: 'DialogIcon', - props: { - align: 'left', - title: 'dialog', - icon: 'dengpao' - }, - config: { - package: '@ali/iceluna-addon-2', - version: '^1.0.0' - }, - pluginProps: {} - }, - { - pluginKey: 'topLinkIcon', - type: 'LinkIcon', - props: { - align: 'left', - title: 'link', - icon: 'dengpao', - linkProps: { - href: '//www.taobao.com', - target: 'blank' - } - }, - config: {}, - pluginProps: {} - }, - { - pluginKey: 'topIcon', - type: 'Icon', - props: { - align: 'left', - title: 'icon', - icon: 'dengpao', - onClick(editor) { - alert(`icon addon invoke, current activeKey: ${editor.activeKey}`); - } - }, - config: {}, - pluginProps: {} - }, { pluginKey: 'undoRedo', type: 'Custom', @@ -132,7 +63,7 @@ export default { ], leftArea: [ { - pluginKey: 'componentList', + pluginKey: 'componentsPane', type: 'PanelIcon', props: { align: 'top', @@ -140,101 +71,12 @@ export default { title: '组件库' }, config: { - package: '@ali/iceluna-addon-component-list', + package: '@ali/iceluna-plugin-components-pane', version: '^1.0.4' }, pluginProps: { disableAppComponent: true } - }, - { - pluginKey: 'leftPanelIcon', - type: 'PanelIcon', - props: { - align: 'top', - title: 'panel', - icon: 'dengpao' - }, - config: { - package: '@ali/iceluna-addon-2', - version: '^1.0.0' - }, - pluginProps: {} - }, - { - pluginKey: 'leftBalloonIcon', - type: 'BalloonIcon', - props: { - align: 'top', - title: 'balloon', - icon: 'dengpao' - }, - config: { - package: '@ali/iceluna-addon-2', - version: '^1.0.0' - }, - pluginProps: {} - }, - { - pluginKey: 'leftPanelIcon2', - type: 'PanelIcon', - props: { - align: 'top', - title: 'panel2', - icon: 'dengpao', - panelProps: { - defaultWidth: 400, - floatable: true - } - }, - config: { - package: '@ali/iceluna-addon-2', - version: '^1.0.0' - }, - pluginProps: {} - }, - { - pluginKey: 'leftDialogIcon', - type: 'DialogIcon', - props: { - align: 'bottom', - title: 'dialog', - icon: 'dengpao' - }, - config: { - package: '@ali/iceluna-addon-2', - version: '^1.0.0' - }, - pluginProps: {} - }, - { - pluginKey: 'leftLinkIcon', - type: 'LinkIcon', - props: { - align: 'bottom', - title: 'link', - icon: 'dengpao', - linkProps: { - href: '//www.taobao.com', - target: 'blank' - } - }, - config: {}, - pluginProps: {} - }, - { - pluginKey: 'leftIcon', - type: 'Icon', - props: { - align: 'bottom', - title: 'icon', - icon: 'dengpao', - onClick(editor) { - alert(`icon addon invoke, current activeKey: ${editor.activeKey}`); - } - }, - config: {}, - pluginProps: {} } ], rightArea: [ @@ -243,55 +85,11 @@ export default { type: 'Panel', props: {}, config: { + package: '@ali/lowcode-plugin-settings-pane', version: '^1.0.0' }, pluginProps: {} } - // { - // pluginKey: 'rightPanel1', - // type: 'TabPanel', - // props: { - // title: '样式' - // }, - // config: { - // version: '^1.0.0' - // }, - // pluginProps: {} - // }, - // { - // pluginKey: 'rightPanel2', - // type: 'TabPanel', - // props: { - // title: '属性', - // icon: 'dengpao' - // }, - // config: { - // version: '^1.0.0' - // }, - // pluginProps: {} - // }, - // { - // pluginKey: 'rightPanel3', - // type: 'TabPanel', - // props: { - // title: '事件' - // }, - // config: { - // version: '^1.0.0' - // }, - // pluginProps: {} - // }, - // { - // pluginKey: 'rightPanel4', - // type: 'TabPanel', - // props: { - // title: '数据' - // }, - // config: { - // version: '^1.0.0' - // }, - // pluginProps: {} - // } ], centerArea: [ { @@ -306,57 +104,15 @@ export default { hooks: [], shortCuts: [], lifeCycles: { - init: function init(editor) { - const transformMaterial = componentList => { - return componentList.map(category => { - return { - name: category.title, - items: category.children.map(comp => { - return { - ...comp, - name: comp.componentName, - snippets: comp.snippets.map(snippet => { - return { - name: snippet.title, - screenshot: snippet.screenshot, - code: JSON.stringify(snippet.schema) - }; - }) - }; - }) - }; - }); - }; - - const list = transformMaterial(assets.componentList); - console.log('++++', list); + init: async function init(editor) { + const assets = await editor.utils.get('/assets.json'); editor.set({ - componentsMap: assets.components, - componentMaterial: { - library: [ - { - name: 'Fusion组件库', - id: '2' - }, { - name: '其他', - id: '3' - } - ], - list - } + assets, + componentsMap: assets.components }); - editor.set('dndHelper', { - handleResourceDragStart: function(ev, tagName, schema) { - // 物料面板中组件snippet的dragStart回调 - // ev: 原始的domEvent;tagName: 组件的描述文案;schema: snippet的schema - if (editor.designer) { - editor.designer.dragon.boost({ - type: 'nodedata', - data: schema - }, ev.nativeEvent); - } - } + editor.utils.get('/schema.json').then(res => { + editor.emit('schema.reset', res); }); } } diff --git a/packages/editor/src/index.tsx b/packages/editor/src/index.tsx index 23dbb8f92..bf52abd6d 100644 --- a/packages/editor/src/index.tsx +++ b/packages/editor/src/index.tsx @@ -16,6 +16,4 @@ if (!ICE_CONTAINER) { throw new Error('当前页面不存在
节点.'); } -ReactDOM.render(, - ICE_CONTAINER -); +ReactDOM.render(, ICE_CONTAINER); diff --git a/packages/editor/src/plugins/designer/index.tsx b/packages/editor/src/plugins/designer/index.tsx index 2e98d0364..713073880 100644 --- a/packages/editor/src/plugins/designer/index.tsx +++ b/packages/editor/src/plugins/designer/index.tsx @@ -1,13 +1,11 @@ import React, { PureComponent } from 'react'; -import Editor from '../../framework/index'; -import { PluginConfig } from '../../framework/definitions'; - +import Editor from '@ali/lowcode-editor-core'; +import { PluginConfig } from '@ali/lowcode-editor-core/lib/definitions'; +import assets from '../../config/assets'; // @ts-ignore import Designer from '../../../../designer'; -import assets from '../../config/assets'; - import './index.scss'; export interface PluginProps { @@ -157,23 +155,46 @@ const SCHEMA = { export default class DesignerPlugin extends PureComponent { displayName: 'LowcodePluginDesigner'; + componentDidMount(): void { + const { editor } = this.props; + editor.on('schema.reset', this.handleSchemaReset); + } + + componentWillUmount(): void { + const { editor } = this.props; + editor.off('schema.reset', this.handleSchemaReset); + } + + handleSchemaReset = (schema: object): void => { + // const {editor} = this.props; + // if (this.designer) { + // this.designer.setSchema(schema); + // } else { + // editor.once('designer.ready', (designer): void => { + // designer.setSchema(schema); + // }); + // } + }; + handleDesignerMount = (designer): void => { const { editor } = this.props; + this.designer = designer; editor.set('designer', designer); editor.emit('designer.ready', designer); }; render(): React.ReactNode { const { editor } = this.props; + // const assets = editor.get('assets') || {}; return ( ); diff --git a/packages/material-parser/package.json b/packages/material-parser/package.json index 0966e5681..ab1a8387c 100644 --- a/packages/material-parser/package.json +++ b/packages/material-parser/package.json @@ -42,7 +42,7 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-editor-framework": "^0.0.1", + "@ali/lowcode-editor-core": "^0.0.1", "@babel/generator": "^7.8.4", "@babel/parser": "^7.8.4", "@babel/traverse": "^7.8.4", diff --git a/packages/plugin-component-pane/src/index.tsx b/packages/plugin-component-pane/src/index.tsx new file mode 100644 index 000000000..8dd9e114f --- /dev/null +++ b/packages/plugin-component-pane/src/index.tsx @@ -0,0 +1,24 @@ +import React, {PureComponent} from '../node_modules/_@types_react@16.9.25@@types/react'; +import { + Search, + Select +} from '../node_modules/_@alifd_next@1.19.19@@alifd/next/types'; +import './index.scss'; +import ComponentList from '../node_modules/_@ali_iceluna-addon-component-list@1.0.12@@ali/iceluna-addon-component-list/lib'; +import { PluginProps } from './node_modules/@ali/lowcode-editor-core/lib/definitions'; + +export default class ComponentListPlugin extends PureComponent { + static displayName = 'LowcodeComponentListPlugin'; + + + + render(): React.ReactNode { + return ( +
+ +
+ ) + } + + +} diff --git a/packages/plugin-components-pane/.editorconfig b/packages/plugin-components-pane/.editorconfig new file mode 100644 index 000000000..5760be583 --- /dev/null +++ b/packages/plugin-components-pane/.editorconfig @@ -0,0 +1,12 @@ +# http://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/packages/plugin-components-pane/.eslintignore b/packages/plugin-components-pane/.eslintignore new file mode 100644 index 000000000..3b437e614 --- /dev/null +++ b/packages/plugin-components-pane/.eslintignore @@ -0,0 +1,11 @@ +# 忽略目录 +build/ +tests/ +demo/ + +# node 覆盖率文件 +coverage/ + +# 忽略文件 +**/*-min.js +**/*.min.js diff --git a/packages/plugin-components-pane/.eslintrc.js b/packages/plugin-components-pane/.eslintrc.js new file mode 100644 index 000000000..4d6be3c66 --- /dev/null +++ b/packages/plugin-components-pane/.eslintrc.js @@ -0,0 +1,16 @@ +const { tslint, deepmerge } = require('@ice/spec'); + +module.exports = deepmerge(tslint, { + rules: { + "global-require": 0, + "comma-dangle": 0, + "no-unused-expressions": 0, + "object-shorthand": 0, + "jsx-a11y/anchor-has-content": 0, + "react/sort-comp": 0, + "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx", ".tsx", "ts"] }], + "@typescript-eslint/interface-name-prefix": 0, + "@typescript-eslint/no-explicit-any": 0, + "@typescript-eslint/explicit-member-accessibility": 0 + }, +}); diff --git a/packages/plugin-components-pane/.gitignore b/packages/plugin-components-pane/.gitignore new file mode 100644 index 000000000..c590da5b0 --- /dev/null +++ b/packages/plugin-components-pane/.gitignore @@ -0,0 +1,20 @@ +# See https://help.github.com/ignore-files/ for more about ignoring files. + +# dependencies +/node_modules + +# production +/build +/dist + +# misc +.idea/ +.happypack +.DS_Store + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# ignore d.ts auto generated by css-modules-typescript-loader +*.module.scss.d.ts \ No newline at end of file diff --git a/packages/plugin-components-pane/.stylelintignore b/packages/plugin-components-pane/.stylelintignore new file mode 100644 index 000000000..82af6f60d --- /dev/null +++ b/packages/plugin-components-pane/.stylelintignore @@ -0,0 +1,7 @@ +# 忽略目录 +build/ +tests/ +demo/ + +# node 覆盖率文件 +coverage/ diff --git a/packages/plugin-components-pane/.stylelintrc.js b/packages/plugin-components-pane/.stylelintrc.js new file mode 100644 index 000000000..eeb605b33 --- /dev/null +++ b/packages/plugin-components-pane/.stylelintrc.js @@ -0,0 +1,3 @@ +const { stylelint } = require('@ice/spec'); + +module.exports = stylelint; diff --git a/packages/plugin-components-pane/README.md b/packages/plugin-components-pane/README.md new file mode 100644 index 000000000..8a6fb13f0 --- /dev/null +++ b/packages/plugin-components-pane/README.md @@ -0,0 +1 @@ +## todo diff --git a/packages/plugin-components-pane/abc.json b/packages/plugin-components-pane/abc.json new file mode 100644 index 000000000..dce1f92ed --- /dev/null +++ b/packages/plugin-components-pane/abc.json @@ -0,0 +1,4 @@ +{ + "type": "ice-scripts", + "builder": "@ali/builder-ice-scripts" +} diff --git a/packages/plugin-components-pane/build.json b/packages/plugin-components-pane/build.json new file mode 100644 index 000000000..77627cdf9 --- /dev/null +++ b/packages/plugin-components-pane/build.json @@ -0,0 +1,9 @@ +{ + "plugins": [ + "build-plugin-component", + "build-plugin-fusion", + ["build-plugin-moment-locales", { + "locales": ["zh-cn"] + }] + ] +} \ No newline at end of file diff --git a/packages/plugin-components-pane/demo/usage.md b/packages/plugin-components-pane/demo/usage.md new file mode 100644 index 000000000..9f19eae0b --- /dev/null +++ b/packages/plugin-components-pane/demo/usage.md @@ -0,0 +1,24 @@ +--- +title: Simple Usage +order: 1 +--- + +本 Demo 演示一行文字的用法。 + +````jsx +import React, { Component } from 'react'; +import ReactDOM from 'react-dom'; + +class App extends Component { + render() { + return ( +
+
+ ); + } +} + +ReactDOM.render(( + +), mountNode); +```` diff --git a/packages/plugin-components-pane/es/index.d.ts b/packages/plugin-components-pane/es/index.d.ts new file mode 100644 index 000000000..4ca4e9ee3 --- /dev/null +++ b/packages/plugin-components-pane/es/index.d.ts @@ -0,0 +1,9 @@ +import React from 'react'; +import './index.scss'; +import { PluginProps } from '@ali/lowcode-editor-core/lib/definitions'; +export interface IProps { + logo?: string; + href?: string; +} +declare const Logo: React.FC; +export default Logo; diff --git a/packages/plugin-components-pane/es/index.js b/packages/plugin-components-pane/es/index.js new file mode 100644 index 000000000..1b43f6c70 --- /dev/null +++ b/packages/plugin-components-pane/es/index.js @@ -0,0 +1,17 @@ +import React from 'react'; +import './index.scss'; + +var Logo = function Logo(props) { + return /*#__PURE__*/React.createElement("div", { + className: "lowcode-plugin-logo" + }, /*#__PURE__*/React.createElement("a", { + className: "logo", + target: "blank", + href: props.href || '/', + style: { + backgroundImage: "url(" + props.logo + ")" + } + })); +}; + +export default Logo; \ No newline at end of file diff --git a/packages/plugin-components-pane/es/index.scss b/packages/plugin-components-pane/es/index.scss new file mode 100644 index 000000000..338b4c58a --- /dev/null +++ b/packages/plugin-components-pane/es/index.scss @@ -0,0 +1,13 @@ +.lowcode-plugin-logo { + padding: 14px 8px; + padding-left: 8px; + .logo { + display: block; + width: 56px; + height: 20px; + cursor: pointer; + background-size: contain; + background-position: center; + background-repeat: no-repeat; + } +} diff --git a/packages/plugin-components-pane/es/style.js b/packages/plugin-components-pane/es/style.js new file mode 100644 index 000000000..bf3c23acb --- /dev/null +++ b/packages/plugin-components-pane/es/style.js @@ -0,0 +1 @@ +import './index.scss'; \ No newline at end of file diff --git a/packages/plugin-components-pane/jsconfig.json b/packages/plugin-components-pane/jsconfig.json new file mode 100644 index 000000000..9e0f3c03d --- /dev/null +++ b/packages/plugin-components-pane/jsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "jsx": "react", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/packages/plugin-components-pane/package-lock.json b/packages/plugin-components-pane/package-lock.json new file mode 100644 index 000000000..3422fc790 --- /dev/null +++ b/packages/plugin-components-pane/package-lock.json @@ -0,0 +1,4179 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@alifd/next": { + "version": "1.19.18", + "resolved": "https://registry.npm.alibaba-inc.com/@alifd/next/download/@alifd/next-1.19.18.tgz", + "integrity": "sha1-grGCFS+qjXvfwJRk6tKGZWyr+nM=", + "requires": { + "@alifd/field": "~1.3.3", + "@alifd/validate": "~1.1.4", + "babel-runtime": "^6.26.0", + "classnames": "^2.2.3", + "hoist-non-react-statics": "^2.1.0", + "prop-types": "^15.6.0", + "react-lifecycles-compat": "^3.0.4", + "react-transition-group": "^2.2.1", + "shallow-element-equals": "^1.0.1" + }, + "dependencies": { + "@alifd/field": { + "version": "1.3.5", + "resolved": "https://registry.npm.alibaba-inc.com/@alifd/field/download/@alifd/field-1.3.5.tgz", + "integrity": "sha1-uPNwuNnbwquirIX2pZiezVHzZnM=", + "requires": { + "@alifd/validate": "^1.1.3", + "prop-types": "^15.5.8" + } + }, + "@alifd/validate": { + "version": "1.1.5", + "resolved": "https://registry.npm.alibaba-inc.com/@alifd/validate/download/@alifd/validate-1.1.5.tgz", + "integrity": "sha1-5EiWeFBRGCy5TbfsKzOpm0yGlDo=" + }, + "@babel/runtime": { + "version": "7.8.7", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/runtime/download/@babel/runtime-7.8.7.tgz", + "integrity": "sha1-j+/OmALbVIgbpZ+Quyhxm0mWMk0=", + "requires": { + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npm.alibaba-inc.com/regenerator-runtime/download/regenerator-runtime-0.13.5.tgz", + "integrity": "sha1-2Hih0JS0MG0QuQlkhLM+vVXiZpc=" + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npm.alibaba-inc.com/babel-runtime/download/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npm.alibaba-inc.com/classnames/download/classnames-2.2.6.tgz", + "integrity": "sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4=" + }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npm.alibaba-inc.com/core-js/download/core-js-2.6.11.tgz", + "integrity": "sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw=" + }, + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/dom-helpers/download/dom-helpers-3.4.0.tgz", + "integrity": "sha1-6bNpcA+Vn2Ls3lprq95LzNkWmvg=", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npm.alibaba-inc.com/hoist-non-react-statics/download/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha1-xZA89AnA39kI84jmGdhrnBF0y0c=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/js-tokens/download/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/loose-envify/download/loose-envify-1.4.0.tgz", + "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/object-assign/download/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npm.alibaba-inc.com/prop-types/download/prop-types-15.7.2.tgz", + "integrity": "sha1-UsQedbjIfnK52TYOAga5ncv/psU=", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "react-is": { + "version": "16.13.0", + "resolved": "https://registry.npm.alibaba-inc.com/react-is/download/react-is-16.13.0.tgz", + "integrity": "sha1-DzfDYTw0/ms3zX92Og1ik6sVxSc=" + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/react-lifecycles-compat/download/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha1-TxonOv38jzSIqMUWv9p4+HI1I2I=" + }, + "react-transition-group": { + "version": "2.9.0", + "resolved": "https://registry.npm.alibaba-inc.com/react-transition-group/download/react-transition-group-2.9.0.tgz", + "integrity": "sha1-35zbAleWIRFRpDbGmo87l7WwfI0=", + "requires": { + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npm.alibaba-inc.com/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz", + "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=" + }, + "shallow-element-equals": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/shallow-element-equals/download/shallow-element-equals-1.0.1.tgz", + "integrity": "sha1-UHObfZStdWehNBc9P0QiOH7VfOY=", + "requires": { + "style-equal": "^1.0.0" + } + }, + "style-equal": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/style-equal/download/style-equal-1.0.0.tgz", + "integrity": "sha1-mKHFkiImv+E8GW5z8ZQOkbjmZZU=" + } + } + }, + "@ice/spec": { + "version": "0.1.9", + "resolved": "https://registry.npm.alibaba-inc.com/@ice/spec/download/@ice/spec-0.1.9.tgz", + "integrity": "sha1-pVjNIibD7f+wXNLGBzhbceXQZ7A=", + "requires": { + "@commitlint/config-conventional": "^8.1.0", + "@typescript-eslint/eslint-plugin": "^1.11.0", + "@typescript-eslint/parser": "^1.11.0", + "babel-eslint": "^10.0.2", + "eslint-config-airbnb": "^17.1.1", + "eslint-config-prettier": "^6.0.0", + "eslint-plugin-import": "^2.18.0", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-react": "^7.14.2", + "eslint-plugin-react-hooks": "^1.6.1", + "stylelint-config-css-modules": "^1.4.0", + "stylelint-config-prettier": "^5.2.0", + "stylelint-config-rational-order": "^0.1.2", + "stylelint-config-standard": "^18.3.0", + "stylelint-order": "^3.0.0", + "stylelint-scss": "^3.8.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/code-frame/download/@babel/code-frame-7.8.3.tgz", + "integrity": "sha1-M+JZA9dIEYFTThLsCiXxa2/PQZ4=", + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/core": { + "version": "7.8.7", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/core/download/@babel/core-7.8.7.tgz", + "integrity": "sha1-tpAX0iHM3rIDFFrp2iadcs8QLzs=", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.7", + "@babel/helpers": "^7.8.4", + "@babel/parser": "^7.8.7", + "@babel/template": "^7.8.6", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.8.8", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/generator/download/@babel/generator-7.8.8.tgz", + "integrity": "sha1-zc1YyqtzCDTO6e6ttynoM7Yl2j4=", + "requires": { + "@babel/types": "^7.8.7", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/helper-function-name/download/@babel/helper-function-name-7.8.3.tgz", + "integrity": "sha1-7utmWgGx8RBo6fuGrVahyxqCTMo=", + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha1-uJS5R70AQ4HOY+odufCFR+kgq9U=", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha1-ManzAHD5E2inGCzwX4MXgQZfx6k=", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helpers": { + "version": "7.8.4", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/helpers/download/@babel/helpers-7.8.4.tgz", + "integrity": "sha1-dU6z7nJ8Fl4KJA1sIH3nxFXzb3M=", + "requires": { + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.4", + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/highlight/download/@babel/highlight-7.8.3.tgz", + "integrity": "sha1-KPFz0EIj6qpZvB1Dmjg25tEmV5c=", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.8", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/parser/download/@babel/parser-7.8.8.tgz", + "integrity": "sha1-TDt8422zfgYpvh8NUKVx0vhvbNQ=" + }, + "@babel/runtime": { + "version": "7.8.7", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/runtime/download/@babel/runtime-7.8.7.tgz", + "integrity": "sha1-j+/OmALbVIgbpZ+Quyhxm0mWMk0=", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs3": { + "version": "7.8.7", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/runtime-corejs3/download/@babel/runtime-corejs3-7.8.7.tgz", + "integrity": "sha1-ggnZ3/LzOqJhbLMZyD/hWf+we4w=", + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/template/download/@babel/template-7.8.6.tgz", + "integrity": "sha1-hrIq8V+CjfsIZHT5ZNzD45xDzis=", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/traverse": { + "version": "7.8.6", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/traverse/download/@babel/traverse-7.8.6.tgz", + "integrity": "sha1-rP4MZOHNmRs+MuroE6brVklUtf8=", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.6", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/types/download/@babel/types-7.8.7.tgz", + "integrity": "sha1-H8lynhrLsjN9W2l3pjl5tIGfXR0=", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@commitlint/config-conventional": { + "version": "8.3.4", + "resolved": "https://registry.npm.alibaba-inc.com/@commitlint/config-conventional/download/@commitlint/config-conventional-8.3.4.tgz", + "integrity": "sha1-/tE7NxFpBmOxdsH2s5wgWlZWGNI=", + "requires": { + "conventional-changelog-conventionalcommits": "4.2.1" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz", + "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=", + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz", + "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=" + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha1-HuMNeVRMqE1o1LPNsK9PIFZj3S0=" + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/@types/events/download/@types/events-3.0.0.tgz", + "integrity": "sha1-KGLz9Yqaf3w+eNefEw3U1xwlwqc=" + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/@types/glob/download/@types/glob-7.1.1.tgz", + "integrity": "sha1-qlmhxuP7xCHgfM0xqUTDDrpSFXU=", + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/@types/json-schema/download/@types/json-schema-7.0.4.tgz", + "integrity": "sha1-OP1z3f2bVaux4bLtV4y1W9e30zk=" + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/@types/minimatch/download/@types/minimatch-3.0.3.tgz", + "integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=" + }, + "@types/node": { + "version": "13.9.1", + "resolved": "https://registry.npm.alibaba-inc.com/@types/node/download/@types/node-13.9.1.tgz", + "integrity": "sha1-lvYG+M1n+wGIR9m2HpOZfave/HI=" + }, + "@types/unist": { + "version": "2.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/@types/unist/download/@types/unist-2.0.3.tgz", + "integrity": "sha1-nAiGeYdvN061mD8VDUeHqm+zLX4=" + }, + "@types/vfile": { + "version": "3.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/@types/vfile/download/@types/vfile-3.0.2.tgz", + "integrity": "sha1-GcGM0jLfEc5vpq2AJZvIbDZrCbk=", + "requires": { + "@types/node": "*", + "@types/unist": "*", + "@types/vfile-message": "*" + } + }, + "@types/vfile-message": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/@types/vfile-message/download/@types/vfile-message-2.0.0.tgz", + "integrity": "sha1-aQ5Grw/fwfn6rgDNBJzIiJV5J9U=", + "requires": { + "vfile-message": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "1.13.0", + "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-1.13.0.tgz", + "integrity": "sha1-Iv7ZsW3f60Av17zeVjB4IPbrxJ8=", + "requires": { + "@typescript-eslint/experimental-utils": "1.13.0", + "eslint-utils": "^1.3.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^2.0.1", + "tsutils": "^3.7.0" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "1.13.0", + "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-1.13.0.tgz", + "integrity": "sha1-sIxg14DABn3i+0SwS0MvVAE4MB4=", + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "1.13.0", + "eslint-scope": "^4.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "1.13.0", + "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/parser/download/@typescript-eslint/parser-1.13.0.tgz", + "integrity": "sha1-Yax4EepSeRxH3J/U3UoYT66aw1U=", + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "1.13.0", + "@typescript-eslint/typescript-estree": "1.13.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "1.13.0", + "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-1.13.0.tgz", + "integrity": "sha1-gUDxfQ9gwDYZeY8dYouENJE9wy4=", + "requires": { + "lodash.unescape": "4.0.1", + "semver": "5.5.0" + } + }, + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npm.alibaba-inc.com/ajv/download/ajv-6.12.0.tgz", + "integrity": "sha1-BtYLlth7hFSlrauobnhU2mKdtLc=", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npm.alibaba-inc.com/argparse/download/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/aria-query/download/aria-query-3.0.0.tgz", + "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "requires": { + "ast-types-flow": "0.0.7", + "commander": "^2.11.0" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/arr-diff/download/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/arr-flatten/download/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/arr-union/download/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/array-find-index/download/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/array-ify/download/array-ify-1.0.0.tgz", + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=" + }, + "array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/array-includes/download/array-includes-3.1.1.tgz", + "integrity": "sha1-zdZ+aFK9+cEhVGB4ZzIlXtJFk0g=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/array-uniq/download/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npm.alibaba-inc.com/array-unique/download/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npm.alibaba-inc.com/array.prototype.flat/download/array.prototype.flat-1.2.3.tgz", + "integrity": "sha1-DegrQmsDGNv9uUAInjiwQ9N/bHs=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/arrify/download/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/assign-symbols/download/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npm.alibaba-inc.com/ast-types-flow/download/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/astral-regex/download/astral-regex-1.0.0.tgz", + "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=" + }, + "autoprefixer": { + "version": "9.7.4", + "resolved": "https://registry.npm.alibaba-inc.com/autoprefixer/download/autoprefixer-9.7.4.tgz", + "integrity": "sha1-+L8+BnB9BH8GQdh67oz7F0sqU3g=", + "requires": { + "browserslist": "^4.8.3", + "caniuse-lite": "^1.0.30001020", + "chalk": "^2.4.2", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.26", + "postcss-value-parser": "^4.0.2" + }, + "dependencies": { + "postcss-value-parser": { + "version": "4.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-value-parser/download/postcss-value-parser-4.0.3.tgz", + "integrity": "sha1-ZR/0WTqp7ajV0NZlk6JBeurrMl0=" + } + } + }, + "axobject-query": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/axobject-query/download/axobject-query-2.1.2.tgz", + "integrity": "sha1-K9/8A3HmQ+XwO6mQZdUXm5ynl5k=" + }, + "babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/babel-eslint/download/babel-eslint-10.1.0.tgz", + "integrity": "sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI=", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/bail/download/bail-1.0.5.tgz", + "integrity": "sha1-tvoTNASjksvB+MS/Y/WVM1Hnp3Y=" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/balanced-match/download/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npm.alibaba-inc.com/base/download/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "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.npm.alibaba-inc.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npm.alibaba-inc.com/brace-expansion/download/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npm.alibaba-inc.com/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "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.npm.alibaba-inc.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "browserslist": { + "version": "4.9.1", + "resolved": "https://registry.npm.alibaba-inc.com/browserslist/download/browserslist-4.9.1.tgz", + "integrity": "sha1-Af+5yjGhrvdngSj8aiJTMWqnKHw=", + "requires": { + "caniuse-lite": "^1.0.30001030", + "electron-to-chromium": "^1.3.363", + "node-releases": "^1.1.50" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/cache-base/download/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "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-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/call-me-maybe/download/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/caller-callsite/download/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/caller-path/download/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/callsites/download/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/camelcase/download/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/camelcase-keys/download/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001035", + "resolved": "https://registry.npm.alibaba-inc.com/caniuse-lite/download/caniuse-lite-1.0.30001035.tgz", + "integrity": "sha1-K7U7iqRxay7QjgiNTcgWpf4Imh4=" + }, + "ccount": { + "version": "1.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/ccount/download/ccount-1.0.5.tgz", + "integrity": "sha1-rIKpRJBaZc4gTrAwIxV+3ylCXBc=" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.alibaba-inc.com/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npm.alibaba-inc.com/character-entities/download/character-entities-1.2.4.tgz", + "integrity": "sha1-4Sw5Obfq9OWxXnrUxeKOHUjFsWs=" + }, + "character-entities-html4": { + "version": "1.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/character-entities-html4/download/character-entities-html4-1.1.4.tgz", + "integrity": "sha1-DmSwo3U92/H9wETF/QHQGZoC4SU=" + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/character-entities-legacy/download/character-entities-legacy-1.1.4.tgz", + "integrity": "sha1-lLwYRdznClu50uzHSHJWYSk9j8E=" + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/character-reference-invalid/download/character-reference-invalid-1.1.4.tgz", + "integrity": "sha1-CDMpzaDq4nKrPbvzfpo4LBOvFWA=" + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npm.alibaba-inc.com/class-utils/download/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "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.npm.alibaba-inc.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clone-regexp": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/clone-regexp/download/clone-regexp-1.0.1.tgz", + "integrity": "sha1-BRgFzTMXM3XYIRj8CRhgbaOf1g8=", + "requires": { + "is-regexp": "^1.0.0", + "is-supported-regexp-flag": "^1.0.0" + } + }, + "collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npm.alibaba-inc.com/collapse-white-space/download/collapse-white-space-1.0.6.tgz", + "integrity": "sha1-5jYpwAFmZXkgYNu+t5xCI50sUoc=" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/collection-visit/download/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npm.alibaba-inc.com/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npm.alibaba-inc.com/commander/download/commander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=" + }, + "compare-func": { + "version": "1.3.2", + "resolved": "https://registry.npm.alibaba-inc.com/compare-func/download/compare-func-1.3.2.tgz", + "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^3.0.0" + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/component-emitter/download/component-emitter-1.3.0.tgz", + "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "confusing-browser-globals": { + "version": "1.0.9", + "resolved": "https://registry.npm.alibaba-inc.com/confusing-browser-globals/download/confusing-browser-globals-1.0.9.tgz", + "integrity": "sha1-crwTtIPAJ2gBaBhx1ImFFvj1T90=" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/contains-path/download/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=" + }, + "conventional-changelog-conventionalcommits": { + "version": "4.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/conventional-changelog-conventionalcommits/download/conventional-changelog-conventionalcommits-4.2.1.tgz", + "integrity": "sha1-1ssuLF17/KBEoIuduoS0CC4aG9k=", + "requires": { + "compare-func": "^1.3.1", + "lodash": "^4.2.1", + "q": "^1.5.1" + } + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npm.alibaba-inc.com/convert-source-map/download/convert-source-map-1.7.0.tgz", + "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/copy-descriptor/download/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-js-pure": { + "version": "3.6.4", + "resolved": "https://registry.npm.alibaba-inc.com/core-js-pure/download/core-js-pure-3.6.4.tgz", + "integrity": "sha1-S/G6hm4lgU8UnU6aqgjDYXNQbjo=" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/cosmiconfig/download/cosmiconfig-5.2.1.tgz", + "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/parse-json/download/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/cssesc/download/cssesc-3.0.0.tgz", + "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npm.alibaba-inc.com/currently-unhandled/download/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "requires": { + "array-find-index": "^1.0.1" + } + }, + "damerau-levenshtein": { + "version": "1.0.6", + "resolved": "https://registry.npm.alibaba-inc.com/damerau-levenshtein/download/damerau-levenshtein-1.0.6.tgz", + "integrity": "sha1-FDwWQcs9hcYMMjKeJoma3qhwF5E=" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/debug/download/debug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/decamelize/download/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/decamelize-keys/download/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/map-obj/download/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + } + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/decode-uri-component/download/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/define-property/download/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/dir-glob/download/dir-glob-2.2.2.tgz", + "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=", + "requires": { + "path-type": "^3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/path-type/download/path-type-3.0.0.tgz", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npm.alibaba-inc.com/doctrine/download/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/dom-serializer/download/dom-serializer-0.2.2.tgz", + "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/domelementtype/download/domelementtype-2.0.1.tgz", + "integrity": "sha1-H4vf6R9aeAYydOgDtL3O326U+U0=" + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/entities/download/entities-2.0.0.tgz", + "integrity": "sha1-aNYITKsbB5dnVA2A5Wo5tCPkq/Q=" + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npm.alibaba-inc.com/domelementtype/download/domelementtype-1.3.1.tgz", + "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=" + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npm.alibaba-inc.com/domhandler/download/domhandler-2.4.2.tgz", + "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npm.alibaba-inc.com/domutils/download/domutils-1.7.0.tgz", + "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/dot-prop/download/dot-prop-3.0.0.tgz", + "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "requires": { + "is-obj": "^1.0.0" + } + }, + "electron-to-chromium": { + "version": "1.3.377", + "resolved": "https://registry.npm.alibaba-inc.com/electron-to-chromium/download/electron-to-chromium-1.3.377.tgz", + "integrity": "sha1-tJ1CCzbubEiwzTE3v8f+x182my4=" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/emoji-regex/download/emoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=" + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/entities/download/entities-1.1.2.tgz", + "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npm.alibaba-inc.com/error-ex/download/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.4", + "resolved": "https://registry.npm.alibaba-inc.com/es-abstract/download/es-abstract-1.17.4.tgz", + "integrity": "sha1-467fGXBrIOfCWUw1/A1XYFp54YQ=", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz", + "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eslint-config-airbnb": { + "version": "17.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-config-airbnb/download/eslint-config-airbnb-17.1.1.tgz", + "integrity": "sha1-InLguGux4rE4zfiNB6O29M2j1iY=", + "requires": { + "eslint-config-airbnb-base": "^13.2.0", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0" + } + }, + "eslint-config-airbnb-base": { + "version": "13.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-config-airbnb-base/download/eslint-config-airbnb-base-13.2.0.tgz", + "integrity": "sha1-9uqBRZ/03sLdogDDXx2PdBnVeUM=", + "requires": { + "confusing-browser-globals": "^1.0.5", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0" + } + }, + "eslint-config-prettier": { + "version": "6.10.0", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-config-prettier/download/eslint-config-prettier-6.10.0.tgz", + "integrity": "sha1-exXjA7+clWh1yUj2shUA5I3tan8=", + "requires": { + "get-stdin": "^6.0.0" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.3", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.3.tgz", + "integrity": "sha1-26pStrKBa1C8ZxGvdUIt6AjphAQ=", + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.alibaba-inc.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "eslint-module-utils": { + "version": "2.5.2", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-module-utils/download/eslint-module-utils-2.5.2.tgz", + "integrity": "sha1-eHj3UEgk4bhX3SUFtZqOXtompwg=", + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.alibaba-inc.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "eslint-plugin-import": { + "version": "2.20.1", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-plugin-import/download/eslint-plugin-import-2.20.1.tgz", + "integrity": "sha1-gCQjGW3LEdnOhDWl/AKm07RpObM=", + "requires": { + "array-includes": "^3.0.3", + "array.prototype.flat": "^1.2.1", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.2", + "eslint-module-utils": "^2.4.1", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.alibaba-inc.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.2.3", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.2.3.tgz", + "integrity": "sha1-uHKgnV3lGvcKl9se6n3JMwQ3CKo=", + "requires": { + "@babel/runtime": "^7.4.5", + "aria-query": "^3.0.0", + "array-includes": "^3.0.3", + "ast-types-flow": "^0.0.7", + "axobject-query": "^2.0.2", + "damerau-levenshtein": "^1.0.4", + "emoji-regex": "^7.0.2", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.1" + } + }, + "eslint-plugin-react": { + "version": "7.19.0", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-plugin-react/download/eslint-plugin-react-7.19.0.tgz", + "integrity": "sha1-bQj5ZzYoqmnFVZ0zSJ6FXYNVFmY=", + "requires": { + "array-includes": "^3.1.1", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.3", + "object.entries": "^1.1.1", + "object.fromentries": "^2.0.2", + "object.values": "^1.1.1", + "prop-types": "^15.7.2", + "resolve": "^1.15.1", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.2", + "xregexp": "^4.3.0" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/doctrine/download/doctrine-2.1.0.tgz", + "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=", + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" + } + } + }, + "eslint-plugin-react-hooks": { + "version": "1.7.0", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-1.7.0.tgz", + "integrity": "sha1-YhC21aNyBfC5KFj4laToJwIKfQQ=" + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-scope/download/eslint-scope-4.0.3.tgz", + "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-utils/download/eslint-utils-1.4.3.tgz", + "integrity": "sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8=", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI=" + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/esrecurse/download/esrecurse-4.2.1.tgz", + "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=", + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/estraverse/download/estraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/esutils/download/esutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=" + }, + "execall": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/execall/download/execall-1.0.0.tgz", + "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=", + "requires": { + "clone-regexp": "^1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/expand-brackets/download/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "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.npm.alibaba-inc.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.alibaba-inc.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/extend/download/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/extend-shallow/download/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/extglob/download/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "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.npm.alibaba-inc.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/fast-deep-equal/download/fast-deep-equal-3.1.1.tgz", + "integrity": "sha1-VFFFB3xQFJHjOxXsQIwpQ3bpSuQ=" + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npm.alibaba-inc.com/fast-glob/download/fast-glob-2.2.7.tgz", + "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=", + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=" + }, + "file-entry-cache": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/file-entry-cache/download/file-entry-cache-4.0.0.tgz", + "integrity": "sha1-YzVn0VNkrv4LKZ4eIXc16POp9ug=", + "requires": { + "flat-cache": "^2.0.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/fill-range/download/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "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.npm.alibaba-inc.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/find-up/download/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/flat-cache/download/flat-cache-2.0.1.tgz", + "integrity": "sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=", + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/flatted/download/flatted-2.0.1.tgz", + "integrity": "sha1-aeV8qo8OrLwoHS4stFjUb9tEngg=" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/for-in/download/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/fragment-cache/download/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npm.alibaba-inc.com/gensync/download/gensync-1.0.0-beta.1.tgz", + "integrity": "sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk=" + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/get-stdin/download/get-stdin-6.0.0.tgz", + "integrity": "sha1-ngm/cSs2CrkiXoEgSPcf3pyJZXs=" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npm.alibaba-inc.com/get-value/download/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npm.alibaba-inc.com/glob/download/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/global-modules/download/global-modules-2.0.0.tgz", + "integrity": "sha1-mXYFrSNF8n9RU5vqJldEISFcd4A=", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/global-prefix/download/global-prefix-3.0.0.tgz", + "integrity": "sha1-/IX3MGTfafUEIfR/iD/luRO6m5c=", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npm.alibaba-inc.com/globals/download/globals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=" + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/globby/download/globby-9.2.0.tgz", + "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=", + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npm.alibaba-inc.com/ignore/download/ignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/pify/download/pify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=" + } + } + }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/globjoin/download/globjoin-0.1.4.tgz", + "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=" + }, + "gonzales-pe": { + "version": "4.2.4", + "resolved": "https://registry.npm.alibaba-inc.com/gonzales-pe/download/gonzales-pe-4.2.4.tgz", + "integrity": "sha1-NWrjajEsRv4PECbdbLU5A5+FANI=", + "requires": { + "minimist": "1.1.x" + }, + "dependencies": { + "minimist": { + "version": "1.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/minimist/download/minimist-1.1.3.tgz", + "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=" + } + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npm.alibaba-inc.com/graceful-fs/download/graceful-fs-4.2.3.tgz", + "integrity": "sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM=" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/has-flag/download/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/has-symbols/download/has-symbols-1.0.1.tgz", + "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/has-value/download/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/has-values/download/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/kind-of/download/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npm.alibaba-inc.com/hosted-git-info/download/hosted-git-info-2.8.8.tgz", + "integrity": "sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg=" + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/html-tags/download/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=" + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npm.alibaba-inc.com/htmlparser2/download/htmlparser2-3.10.1.tgz", + "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/ignore/download/ignore-5.1.4.tgz", + "integrity": "sha1-hLez2+ZFUrbvDsqZ9nQ9vsbZet8=" + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/import-fresh/download/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } + } + }, + "import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/import-lazy/download/import-lazy-3.1.0.tgz", + "integrity": "sha1-iRJ5ICyKIoD9vWZ029jaGh38Z8w=" + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/indent-string/download/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/indexes-of/download/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npm.alibaba-inc.com/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/inherits/download/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npm.alibaba-inc.com/ini/download/ini-1.3.5.tgz", + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=" + }, + "internal-slot": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/internal-slot/download/internal-slot-1.0.2.tgz", + "integrity": "sha1-nC6fs82OXkJWxvRf4xAGf8+jeKM=", + "requires": { + "es-abstract": "^1.17.0-next.1", + "has": "^1.0.3", + "side-channel": "^1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.alibaba-inc.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/is-alphabetical/download/is-alphabetical-1.0.4.tgz", + "integrity": "sha1-nn1rlJFr4iFTdF0YTCmMv5hqaG0=" + }, + "is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-alphanumeric/download/is-alphanumeric-1.0.0.tgz", + "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=" + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/is-alphanumerical/download/is-alphanumerical-1.0.4.tgz", + "integrity": "sha1-frmiQx+FX2se8aeOMm31FWlsTb8=", + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.alibaba-inc.com/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npm.alibaba-inc.com/is-callable/download/is-callable-1.1.5.tgz", + "integrity": "sha1-9+RrWWiQRW23Tn9ul2yzJz0G+qs=" + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/is-date-object/download/is-date-object-1.0.2.tgz", + "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=" + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/is-decimal/download/is-decimal-1.0.4.tgz", + "integrity": "sha1-ZaOllYocW2OnBuGzM9fNn2MNP6U=" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.alibaba-inc.com/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "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.npm.alibaba-inc.com/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npm.alibaba-inc.com/is-directory/download/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/is-glob/download/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/is-hexadecimal/download/is-hexadecimal-1.0.4.tgz", + "integrity": "sha1-zDXJdYjaS9Saju3WvECC1E3LI6c=" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/is-obj/download/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-plain-obj/download/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/is-plain-object/download/is-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/is-regex/download/is-regex-1.0.5.tgz", + "integrity": "sha1-OdWJo1i/GJZ/cmlnEguPwa7XTq4=", + "requires": { + "has": "^1.0.3" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-regexp/download/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/is-string/download/is-string-1.0.5.tgz", + "integrity": "sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y=" + }, + "is-supported-regexp-flag": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/is-supported-regexp-flag/download/is-supported-regexp-flag-1.0.1.tgz", + "integrity": "sha1-Ie4WUY0sHdPt0+mg1X5QIHrDZMo=" + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/is-symbol/download/is-symbol-1.0.3.tgz", + "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/is-whitespace-character/download/is-whitespace-character-1.0.4.tgz", + "integrity": "sha1-CFjt2UqVWUx8ndC1wXTsbkXuSqc=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=" + }, + "is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/is-word-character/download/is-word-character-1.0.4.tgz", + "integrity": "sha1-zg5zIW+YWZBgWS9i/zE1TdvrAjA=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/js-tokens/download/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npm.alibaba-inc.com/js-yaml/download/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npm.alibaba-inc.com/jsesc/download/jsesc-2.5.2.tgz", + "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.alibaba-inc.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=" + }, + "json5": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/json5/download/json5-2.1.2.tgz", + "integrity": "sha1-Q+8fCvmDXdYkdRprf6SIdPstYI4=", + "requires": { + "minimist": "^1.2.5" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npm.alibaba-inc.com/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" + } + } + }, + "jsx-ast-utils": { + "version": "2.2.3", + "resolved": "https://registry.npm.alibaba-inc.com/jsx-ast-utils/download/jsx-ast-utils-2.2.3.tgz", + "integrity": "sha1-ipNk5AJEijzn8U01dzgxDZJIBU8=", + "requires": { + "array-includes": "^3.0.3", + "object.assign": "^4.1.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=" + }, + "known-css-properties": { + "version": "0.11.0", + "resolved": "https://registry.npm.alibaba-inc.com/known-css-properties/download/known-css-properties-0.11.0.tgz", + "integrity": "sha1-DaeE8RXqd8drgVNtcFLpDubIaoo=" + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/leven/download/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=" + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/load-json-file/download/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/locate-path/download/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npm.alibaba-inc.com/lodash/download/lodash-4.17.15.tgz", + "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=" + }, + "lodash.unescape": { + "version": "4.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/lodash.unescape/download/lodash.unescape-4.0.1.tgz", + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=" + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/log-symbols/download/log-symbols-2.2.0.tgz", + "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", + "requires": { + "chalk": "^2.0.1" + } + }, + "longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/longest-streak/download/longest-streak-2.0.4.tgz", + "integrity": "sha1-uFmZV9pbXatk3uP+MW+ndFl9kOQ=" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/loose-envify/download/loose-envify-1.4.0.tgz", + "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/loud-rejection/download/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/map-cache/download/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/map-obj/download/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/map-visit/download/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/markdown-escapes/download/markdown-escapes-1.0.4.tgz", + "integrity": "sha1-yVQV70UUmddgK5EJXzyOiXX3hTU=" + }, + "markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/markdown-table/download/markdown-table-1.1.3.tgz", + "integrity": "sha1-n8tpvP24cXv9A5jG7C2TA2743mA=" + }, + "mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/mathml-tag-names/download/mathml-tag-names-2.1.3.tgz", + "integrity": "sha1-TdrdZzCOeAzxakdoWHjuJ7c2oKM=" + }, + "mdast-util-compact": { + "version": "1.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/mdast-util-compact/download/mdast-util-compact-1.0.4.tgz", + "integrity": "sha1-1TG7dme1Ejq/IIWb4IbE0GyJRZM=", + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/meow/download/meow-5.0.0.tgz", + "integrity": "sha1-38c9Y6mvxxSl43F2DrXIi5EHiqQ=", + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0", + "yargs-parser": "^10.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/load-json-file/download/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/parse-json/download/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/path-type/download/path-type-3.0.0.tgz", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/read-pkg/download/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/read-pkg-up/download/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + } + } + }, + "merge2": { + "version": "1.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/merge2/download/merge2-1.3.0.tgz", + "integrity": "sha1-WzZu6DsvFYLEj4fkfPGpNSEDyoE=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npm.alibaba-inc.com/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "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" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npm.alibaba-inc.com/minimist/download/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/minimist-options/download/minimist-options-3.0.2.tgz", + "integrity": "sha1-+6TIGRM54T7PTWG+sD8HAQPz2VQ=", + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npm.alibaba-inc.com/mixin-deep/download/mixin-deep-1.3.2.tgz", + "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npm.alibaba-inc.com/mkdirp/download/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npm.alibaba-inc.com/nanomatch/download/nanomatch-1.2.13.tgz", + "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "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" + } + }, + "node-releases": { + "version": "1.1.52", + "resolved": "https://registry.npm.alibaba-inc.com/node-releases/download/node-releases-1.1.52.tgz", + "integrity": "sha1-vP/uPgp1jpLkTs+uzQpHVUsLy6k=", + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" + } + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npm.alibaba-inc.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/normalize-range/download/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "normalize-selector": { + "version": "0.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/normalize-selector/download/normalize-selector-0.2.0.tgz", + "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=" + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/num2fraction/download/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/object-assign/download/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/object-copy/download/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "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.npm.alibaba-inc.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npm.alibaba-inc.com/object-inspect/download/object-inspect-1.7.0.tgz", + "integrity": "sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc=" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/object-visit/download/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/object.assign/download/object.assign-4.1.0.tgz", + "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.entries": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/object.entries/download/object.entries-1.1.1.tgz", + "integrity": "sha1-7hzwQVPeArsJP+wzaDkA9XzlOZs=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.fromentries": { + "version": "2.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/object.fromentries/download/object.fromentries-2.0.2.tgz", + "integrity": "sha1-SgnJubs4Q90PiazbUXp5TU81Wsk=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/object.pick/download/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/object.values/download/object.values-1.1.1.tgz", + "integrity": "sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-limit/download/p-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-try/download/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "parse-entities": { + "version": "1.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/parse-entities/download/parse-entities-1.2.2.tgz", + "integrity": "sha1-wxvw9lO2ZhNU+Jc1WcuG3R1e31A=", + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/parse-json/download/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/pascalcase/download/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/path-dirname/download/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npm.alibaba-inc.com/path-parse/download/path-parse-1.0.6.tgz", + "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=" + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/path-type/download/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/pkg-dir/download/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "^2.1.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "7.0.27", + "resolved": "https://registry.npm.alibaba-inc.com/postcss/download/postcss-7.0.27.tgz", + "integrity": "sha1-zGfNxrDao3UQW3xCSoVWc0X8VNk=", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.alibaba-inc.com/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/supports-color/download/supports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-html": { + "version": "0.36.0", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-html/download/postcss-html-0.36.0.tgz", + "integrity": "sha1-tAkT+U6qzCRT/TChMnrW7h+IsgQ=", + "requires": { + "htmlparser2": "^3.10.0" + } + }, + "postcss-jsx": { + "version": "0.36.4", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-jsx/download/postcss-jsx-0.36.4.tgz", + "integrity": "sha1-N6aPMAo55XSNVH8Zp0ezJXJAvVA=", + "requires": { + "@babel/core": ">=7.2.2" + } + }, + "postcss-less": { + "version": "3.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-less/download/postcss-less-3.1.4.tgz", + "integrity": "sha1-Np9YZCtZKO+Jj/vBpuk8lYMExa0=", + "requires": { + "postcss": "^7.0.14" + } + }, + "postcss-markdown": { + "version": "0.36.0", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-markdown/download/postcss-markdown-0.36.0.tgz", + "integrity": "sha1-fyKEmuDj2xiCC3sNXngz8TpEdWA=", + "requires": { + "remark": "^10.0.1", + "unist-util-find-all-after": "^1.0.2" + } + }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-media-query-parser/download/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=" + }, + "postcss-reporter": { + "version": "6.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-reporter/download/postcss-reporter-6.0.1.tgz", + "integrity": "sha1-fAVRIAYKl8iDe05IIVZhqvt0JF8=", + "requires": { + "chalk": "^2.4.1", + "lodash": "^4.17.11", + "log-symbols": "^2.2.0", + "postcss": "^7.0.7" + } + }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-resolve-nested-selector/download/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=" + }, + "postcss-safe-parser": { + "version": "4.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-safe-parser/download/postcss-safe-parser-4.0.2.tgz", + "integrity": "sha1-ptTkjw832ffBGypYG/APi6SHC5Y=", + "requires": { + "postcss": "^7.0.26" + } + }, + "postcss-sass": { + "version": "0.3.5", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-sass/download/postcss-sass-0.3.5.tgz", + "integrity": "sha1-bT458QGlPS76CR+VNJMRbTK+tow=", + "requires": { + "gonzales-pe": "^4.2.3", + "postcss": "^7.0.1" + } + }, + "postcss-scss": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-scss/download/postcss-scss-2.0.0.tgz", + "integrity": "sha1-JIsKKK936nsysQEaug9zi9on3qE=", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "dependencies": { + "dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/dot-prop/download/dot-prop-5.2.0.tgz", + "integrity": "sha1-w07MKVVtxF8fTCJpe29JBODMT8s=", + "requires": { + "is-obj": "^2.0.0" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-obj/download/is-obj-2.0.0.tgz", + "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=" + } + } + }, + "postcss-sorting": { + "version": "4.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-sorting/download/postcss-sorting-4.1.0.tgz", + "integrity": "sha1-oQfwvzhSl3+mTkRCvDQMiNWqzbM=", + "requires": { + "lodash": "^4.17.4", + "postcss": "^7.0.0" + } + }, + "postcss-syntax": { + "version": "0.36.2", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-syntax/download/postcss-syntax-0.36.2.tgz", + "integrity": "sha1-8IV4x9lYNFdOVZOoLfv6ivrjtRw=" + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npm.alibaba-inc.com/prop-types/download/prop-types-15.7.2.tgz", + "integrity": "sha1-UsQedbjIfnK52TYOAga5ncv/psU=", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npm.alibaba-inc.com/q/download/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/quick-lru/download/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=" + }, + "react-is": { + "version": "16.13.0", + "resolved": "https://registry.npm.alibaba-inc.com/react-is/download/react-is-16.13.0.tgz", + "integrity": "sha1-DzfDYTw0/ms3zX92Og1ik6sVxSc=" + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/read-pkg/download/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/read-pkg-up/download/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/redent/download/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npm.alibaba-inc.com/regenerator-runtime/download/regenerator-runtime-0.13.5.tgz", + "integrity": "sha1-2Hih0JS0MG0QuQlkhLM+vVXiZpc=" + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/regex-not/download/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha1-erqJs8E6ZFCdq888qNn7ub31y3U=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/regexpp/download/regexpp-2.0.1.tgz", + "integrity": "sha1-jRnTHPYySCtYkEn4KB+T28uk0H8=" + }, + "remark": { + "version": "10.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/remark/download/remark-10.0.1.tgz", + "integrity": "sha1-MFgHbcQXgb9QXYl4wpFIX+R2Z98=", + "requires": { + "remark-parse": "^6.0.0", + "remark-stringify": "^6.0.0", + "unified": "^7.0.0" + } + }, + "remark-parse": { + "version": "6.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/remark-parse/download/remark-parse-6.0.3.tgz", + "integrity": "sha1-yZExBSgJ2kghCEE/h7Duf1IYCjo=", + "requires": { + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^1.1.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^1.0.0", + "vfile-location": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "remark-stringify": { + "version": "6.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/remark-stringify/download/remark-stringify-6.0.4.tgz", + "integrity": "sha1-FqwinU0VkySQGGY8e93yiq/E4Ig=", + "requires": { + "ccount": "^1.0.0", + "is-alphanumeric": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "longest-streak": "^2.0.1", + "markdown-escapes": "^1.0.0", + "markdown-table": "^1.1.0", + "mdast-util-compact": "^1.0.0", + "parse-entities": "^1.0.2", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "stringify-entities": "^1.0.1", + "unherit": "^1.0.4", + "xtend": "^4.0.1" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/repeat-element/download/repeat-element-1.1.3.tgz", + "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npm.alibaba-inc.com/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/replace-ext/download/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" + }, + "resolve": { + "version": "1.15.1", + "resolved": "https://registry.npm.alibaba-inc.com/resolve/download/resolve-1.15.1.tgz", + "integrity": "sha1-J73N7/6vLWJEuVuw+fS0ZTRR8+g=", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/resolve-from/download/resolve-from-4.0.0.tgz", + "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/resolve-url/download/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npm.alibaba-inc.com/ret/download/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=" + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npm.alibaba-inc.com/rimraf/download/rimraf-2.6.3.tgz", + "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/safe-buffer/download/safe-buffer-5.2.0.tgz", + "integrity": "sha1-t02uxJsRSPiMZLaNSbHoFcHy9Rk=" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/safe-regex/download/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-5.5.0.tgz", + "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/set-value/download/set-value-2.0.1.tgz", + "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", + "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.npm.alibaba-inc.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "side-channel": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/side-channel/download/side-channel-1.0.2.tgz", + "integrity": "sha1-310auttOS/SvHNiFK/Ey0veHaUc=", + "requires": { + "es-abstract": "^1.17.0-next.1", + "object-inspect": "^1.7.0" + } + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/signal-exit/download/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/slash/download/slash-2.0.0.tgz", + "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/slice-ansi/download/slice-ansi-2.1.0.tgz", + "integrity": "sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npm.alibaba-inc.com/snapdragon/download/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "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.npm.alibaba-inc.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.alibaba-inc.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/snapdragon-node/download/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "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.npm.alibaba-inc.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "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.npm.alibaba-inc.com/snapdragon-util/download/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.alibaba-inc.com/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npm.alibaba-inc.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz", + "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", + "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-url": { + "version": "0.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/source-map-url/download/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/spdx-correct/download/spdx-correct-3.1.0.tgz", + "integrity": "sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ=", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/spdx-exceptions/download/spdx-exceptions-2.2.0.tgz", + "integrity": "sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc=" + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz", + "integrity": "sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ=" + }, + "specificity": { + "version": "0.4.1", + "resolved": "https://registry.npm.alibaba-inc.com/specificity/download/specificity-0.4.1.tgz", + "integrity": "sha1-qrXmRQEtsIuhguFRFlc40AiHsBk=" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/split-string/download/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/sprintf-js/download/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/state-toggle/download/state-toggle-1.0.3.tgz", + "integrity": "sha1-4SOxaojhQxObCcaFIiG8mBWRff4=" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/static-extend/download/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.alibaba-inc.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "string.prototype.matchall": { + "version": "4.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/string.prototype.matchall/download/string.prototype.matchall-4.0.2.tgz", + "integrity": "sha1-SLtRAyb7n962ozzqqBpuoE73ZI4=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "has-symbols": "^1.0.1", + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.2" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/string.prototype.trimleft/download/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha1-m9uKxqvW1gKxek7TIYcNL43O/HQ=", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/string.prototype.trimright/download/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha1-RAMUsVmWyGbOigNBiU1FGGIAxdk=", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/string_decoder/download/string_decoder-1.3.0.tgz", + "integrity": "sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "stringify-entities": { + "version": "1.3.2", + "resolved": "https://registry.npm.alibaba-inc.com/stringify-entities/download/stringify-entities-1.3.2.tgz", + "integrity": "sha1-qYQX5Ucf0iez5F09sYYcEcr2aPc=", + "requires": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/strip-bom/download/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/strip-indent/download/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=" + }, + "style-search": { + "version": "0.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/style-search/download/style-search-0.1.0.tgz", + "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=" + }, + "stylelint": { + "version": "9.10.1", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint/download/stylelint-9.10.1.tgz", + "integrity": "sha1-Xw7jcBRh3/HWgoThOG7+jwZ3p10=", + "requires": { + "autoprefixer": "^9.0.0", + "balanced-match": "^1.0.0", + "chalk": "^2.4.1", + "cosmiconfig": "^5.0.0", + "debug": "^4.0.0", + "execall": "^1.0.0", + "file-entry-cache": "^4.0.0", + "get-stdin": "^6.0.0", + "global-modules": "^2.0.0", + "globby": "^9.0.0", + "globjoin": "^0.1.4", + "html-tags": "^2.0.0", + "ignore": "^5.0.4", + "import-lazy": "^3.1.0", + "imurmurhash": "^0.1.4", + "known-css-properties": "^0.11.0", + "leven": "^2.1.0", + "lodash": "^4.17.4", + "log-symbols": "^2.0.0", + "mathml-tag-names": "^2.0.1", + "meow": "^5.0.0", + "micromatch": "^3.1.10", + "normalize-selector": "^0.2.0", + "pify": "^4.0.0", + "postcss": "^7.0.13", + "postcss-html": "^0.36.0", + "postcss-jsx": "^0.36.0", + "postcss-less": "^3.1.0", + "postcss-markdown": "^0.36.0", + "postcss-media-query-parser": "^0.2.3", + "postcss-reporter": "^6.0.0", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^4.0.0", + "postcss-sass": "^0.3.5", + "postcss-scss": "^2.0.0", + "postcss-selector-parser": "^3.1.0", + "postcss-syntax": "^0.36.2", + "postcss-value-parser": "^3.3.0", + "resolve-from": "^4.0.0", + "signal-exit": "^3.0.2", + "slash": "^2.0.0", + "specificity": "^0.4.1", + "string-width": "^3.0.0", + "style-search": "^0.1.0", + "sugarss": "^2.0.0", + "svg-tags": "^1.0.0", + "table": "^5.0.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/pify/download/pify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=" + } + } + }, + "stylelint-config-css-modules": { + "version": "1.5.0", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint-config-css-modules/download/stylelint-config-css-modules-1.5.0.tgz", + "integrity": "sha1-x9kB2wUvWi7jE13eUUkNNMKBrdM=" + }, + "stylelint-config-prettier": { + "version": "5.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint-config-prettier/download/stylelint-config-prettier-5.3.0.tgz", + "integrity": "sha1-ptpibC7auyxSB7z2P+RJwW9aJOw=" + }, + "stylelint-config-rational-order": { + "version": "0.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint-config-rational-order/download/stylelint-config-rational-order-0.1.2.tgz", + "integrity": "sha1-TpjjkHg9Q38OxB+3O8QZkueNAqA=", + "requires": { + "stylelint": "^9.10.1", + "stylelint-order": "^2.2.1" + }, + "dependencies": { + "stylelint-order": { + "version": "2.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint-order/download/stylelint-order-2.2.1.tgz", + "integrity": "sha1-zS1KDYHZHHBfHSdaWEh+WtWqWCg=", + "requires": { + "lodash": "^4.17.10", + "postcss": "^7.0.2", + "postcss-sorting": "^4.1.0" + } + } + } + }, + "stylelint-config-recommended": { + "version": "2.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint-config-recommended/download/stylelint-config-recommended-2.2.0.tgz", + "integrity": "sha1-RqsTnbSg5xUf1flK8VVRKIbJbT8=" + }, + "stylelint-config-standard": { + "version": "18.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint-config-standard/download/stylelint-config-standard-18.3.0.tgz", + "integrity": "sha1-oqG3iNLPh2wBP+r/iuJ2EXob76c=", + "requires": { + "stylelint-config-recommended": "^2.2.0" + } + }, + "stylelint-order": { + "version": "3.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint-order/download/stylelint-order-3.1.1.tgz", + "integrity": "sha1-up6mhE0Ugvl/MSBOfJYFx7eSwpQ=", + "requires": { + "lodash": "^4.17.15", + "postcss": "^7.0.17", + "postcss-sorting": "^5.0.1" + }, + "dependencies": { + "postcss-sorting": { + "version": "5.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-sorting/download/postcss-sorting-5.0.1.tgz", + "integrity": "sha1-ENXQBZ7qgzTazIIMASGGQDW8PxE=", + "requires": { + "lodash": "^4.17.14", + "postcss": "^7.0.17" + } + } + } + }, + "stylelint-scss": { + "version": "3.15.0", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint-scss/download/stylelint-scss-3.15.0.tgz", + "integrity": "sha1-34c6EWO1kuy/mFqE1ZhWkiLWcEM=", + "requires": { + "lodash": "^4.17.15", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-selector-parser/download/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha1-k0z3mdAWyDQRhZ4J3Oyt4BKG7Fw=", + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-value-parser": { + "version": "4.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/postcss-value-parser/download/postcss-value-parser-4.0.3.tgz", + "integrity": "sha1-ZR/0WTqp7ajV0NZlk6JBeurrMl0=" + } + } + }, + "sugarss": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/sugarss/download/sugarss-2.0.0.tgz", + "integrity": "sha1-3dduASSyl9QL88yjHIsi7LQ7xh0=", + "requires": { + "postcss": "^7.0.2" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.alibaba-inc.com/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/svg-tags/download/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=" + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npm.alibaba-inc.com/table/download/table-5.4.6.tgz", + "integrity": "sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=", + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/to-object-path/download/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/to-regex/download/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "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": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/to-regex-range/download/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/trim/download/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/trim-newlines/download/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=" + }, + "trim-trailing-lines": { + "version": "1.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/trim-trailing-lines/download/trim-trailing-lines-1.1.3.tgz", + "integrity": "sha1-fwc5iB/3Zle3d24Qh0EoAEtiWpQ=" + }, + "trough": { + "version": "1.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/trough/download/trough-1.0.5.tgz", + "integrity": "sha1-uLY5zvrX0LsqvTfUM/+Ck++l9AY=" + }, + "tslib": { + "version": "1.11.1", + "resolved": "https://registry.npm.alibaba-inc.com/tslib/download/tslib-1.11.1.tgz", + "integrity": "sha1-6xXRKIJ/vuKEFUnhcfRe0zisfjU=" + }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npm.alibaba-inc.com/tsutils/download/tsutils-3.17.1.tgz", + "integrity": "sha1-7XGZF/EcoN7lhicrKsSeAVot11k=", + "requires": { + "tslib": "^1.8.1" + } + }, + "unherit": { + "version": "1.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/unherit/download/unherit-1.1.3.tgz", + "integrity": "sha1-bJtQPytBsmIzDIDpHIYUq9qmnCI=", + "requires": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "unified": { + "version": "7.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/unified/download/unified-7.1.0.tgz", + "integrity": "sha1-UDLxwe4zZL0J2hLif91KdVPHvhM=", + "requires": { + "@types/unist": "^2.0.0", + "@types/vfile": "^3.0.0", + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^1.1.0", + "trough": "^1.0.0", + "vfile": "^3.0.0", + "x-is-string": "^0.1.0" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/union-value/download/union-value-1.0.1.tgz", + "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/uniq/download/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "unist-util-find-all-after": { + "version": "1.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/unist-util-find-all-after/download/unist-util-find-all-after-1.0.5.tgz", + "integrity": "sha1-V1GoYIg09B0RetnFd3cMXy8bKJk=", + "requires": { + "unist-util-is": "^3.0.0" + } + }, + "unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/unist-util-is/download/unist-util-is-3.0.0.tgz", + "integrity": "sha1-2ehDgcJGjoJinkpb6dfQWi3TJM0=" + }, + "unist-util-remove-position": { + "version": "1.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/unist-util-remove-position/download/unist-util-remove-position-1.1.4.tgz", + "integrity": "sha1-7ANzSLYQLIl3A+7m0ClMpHVaICA=", + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/unist-util-stringify-position/download/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha1-zOO/oc34W6c3XR1bF73Eytqb2do=", + "requires": { + "@types/unist": "^2.0.2" + } + }, + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npm.alibaba-inc.com/unist-util-visit/download/unist-util-visit-1.4.1.tgz", + "integrity": "sha1-RySqqEhububibX/zyGhZYNVgseM=", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + }, + "unist-util-visit-parents": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/unist-util-visit-parents/download/unist-util-visit-parents-2.1.2.tgz", + "integrity": "sha1-JeQ+VTEhZvM0jK5nQ1iHgdESwek=", + "requires": { + "unist-util-is": "^3.0.0" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/unset-value/download/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npm.alibaba-inc.com/has-value/download/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/has-values/download/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/uri-js/download/uri-js-4.2.2.tgz", + "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/urix/download/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/use/download/use-3.1.1.tgz", + "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vfile": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/vfile/download/vfile-3.0.1.tgz", + "integrity": "sha1-RzMdKr4ygkJPSku2rNIKRMQSGAM=", + "requires": { + "is-buffer": "^2.0.0", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^1.0.0", + "vfile-message": "^1.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/is-buffer/download/is-buffer-2.0.4.tgz", + "integrity": "sha1-PlcvI8hBGlz9lVfISeNmXgspBiM=" + }, + "unist-util-stringify-position": { + "version": "1.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/unist-util-stringify-position/download/unist-util-stringify-position-1.1.2.tgz", + "integrity": "sha1-Pzf881EnncvKdICrWIm7ioMu4cY=" + }, + "vfile-message": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/vfile-message/download/vfile-message-1.1.1.tgz", + "integrity": "sha1-WDOuB4od+i2W6WR4hs0ymTqzE+E=", + "requires": { + "unist-util-stringify-position": "^1.1.1" + } + } + } + }, + "vfile-location": { + "version": "2.0.6", + "resolved": "https://registry.npm.alibaba-inc.com/vfile-location/download/vfile-location-2.0.6.tgz", + "integrity": "sha1-iidPOUEbhxnqVyiALhDZ4N/xUZ4=" + }, + "vfile-message": { + "version": "2.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/vfile-message/download/vfile-message-2.0.3.tgz", + "integrity": "sha1-DdT2h5+yQKgJmyK9N1VTbJLlm6U=", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npm.alibaba-inc.com/which/download/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "requires": { + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/wrappy/download/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/write/download/write-1.0.3.tgz", + "integrity": "sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=", + "requires": { + "mkdirp": "^0.5.1" + } + }, + "x-is-string": { + "version": "0.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/x-is-string/download/x-is-string-0.1.0.tgz", + "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=" + }, + "xregexp": { + "version": "4.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/xregexp/download/xregexp-4.3.0.tgz", + "integrity": "sha1-fpLnPZF0qZpZdD9npM6HmgS1rlA=", + "requires": { + "@babel/runtime-corejs3": "^7.8.3" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/xtend/download/xtend-4.0.2.tgz", + "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=" + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/yargs-parser/download/yargs-parser-10.1.0.tgz", + "integrity": "sha1-cgImW4n36eny5XZeD+c1qQXtuqg=", + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npm.alibaba-inc.com/prettier/download/prettier-1.19.1.tgz", + "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=" + }, + "react": { + "version": "16.13.0", + "resolved": "https://registry.npm.alibaba-inc.com/react/download/react-16.13.0.tgz", + "integrity": "sha1-0EbqvN9k5Fe77tHnkuI14bmTTPc=", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "dependencies": { + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/js-tokens/download/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/loose-envify/download/loose-envify-1.4.0.tgz", + "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/object-assign/download/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npm.alibaba-inc.com/prop-types/download/prop-types-15.7.2.tgz", + "integrity": "sha1-UsQedbjIfnK52TYOAga5ncv/psU=", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "react-is": { + "version": "16.13.0", + "resolved": "https://registry.npm.alibaba-inc.com/react-is/download/react-is-16.13.0.tgz", + "integrity": "sha1-DzfDYTw0/ms3zX92Og1ik6sVxSc=" + } + } + }, + "react-dom": { + "version": "16.13.0", + "resolved": "https://registry.npm.alibaba-inc.com/react-dom/download/react-dom-16.13.0.tgz", + "integrity": "sha1-zd5UtI656KDKGz3JlD2btAm4GGY=", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.0" + }, + "dependencies": { + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/js-tokens/download/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/loose-envify/download/loose-envify-1.4.0.tgz", + "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/object-assign/download/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npm.alibaba-inc.com/prop-types/download/prop-types-15.7.2.tgz", + "integrity": "sha1-UsQedbjIfnK52TYOAga5ncv/psU=", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "react-is": { + "version": "16.13.0", + "resolved": "https://registry.npm.alibaba-inc.com/react-is/download/react-is-16.13.0.tgz", + "integrity": "sha1-DzfDYTw0/ms3zX92Og1ik6sVxSc=" + }, + "scheduler": { + "version": "0.19.0", + "resolved": "https://registry.npm.alibaba-inc.com/scheduler/download/scheduler-0.19.0.tgz", + "integrity": "sha1-pxXVYwLeQD33QvSpvhGXWzL1aY0=", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, + "react-router-dom": { + "version": "5.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/react-router-dom/download/react-router-dom-5.1.2.tgz", + "integrity": "sha1-BnAbg0NS9E03+7YxH4cPhMdrnBg=", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.1.2", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.8.7", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/runtime/download/@babel/runtime-7.8.7.tgz", + "integrity": "sha1-j+/OmALbVIgbpZ+Quyhxm0mWMk0=", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/gud/download/gud-1.0.0.tgz", + "integrity": "sha1-pIlYGxfmpwvsqavjrlfeekmYUsA=" + }, + "history": { + "version": "4.10.1", + "resolved": "https://registry.npm.alibaba-inc.com/history/download/history-4.10.1.tgz", + "integrity": "sha1-MzcaZeOoOyZ0NOKz87G0xYqtTPM=", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npm.alibaba-inc.com/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U=", + "requires": { + "react-is": "^16.7.0" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isarray/download/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/js-tokens/download/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/loose-envify/download/loose-envify-1.4.0.tgz", + "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "mini-create-react-context": { + "version": "0.3.2", + "resolved": "https://registry.npm.alibaba-inc.com/mini-create-react-context/download/mini-create-react-context-0.3.2.tgz", + "integrity": "sha1-efxZjyg91iPajgiLBduM3aslAYk=", + "requires": { + "@babel/runtime": "^7.4.0", + "gud": "^1.0.0", + "tiny-warning": "^1.0.2" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/object-assign/download/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npm.alibaba-inc.com/path-to-regexp/download/path-to-regexp-1.8.0.tgz", + "integrity": "sha1-iHs7qdhDk+h6CgufTLdWGYtTVIo=", + "requires": { + "isarray": "0.0.1" + } + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npm.alibaba-inc.com/prop-types/download/prop-types-15.7.2.tgz", + "integrity": "sha1-UsQedbjIfnK52TYOAga5ncv/psU=", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "react-is": { + "version": "16.13.0", + "resolved": "https://registry.npm.alibaba-inc.com/react-is/download/react-is-16.13.0.tgz", + "integrity": "sha1-DzfDYTw0/ms3zX92Og1ik6sVxSc=" + }, + "react-router": { + "version": "5.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/react-router/download/react-router-5.1.2.tgz", + "integrity": "sha1-bqUdeJyzamvhul98DUjdnoF9NBg=", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.3.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + } + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npm.alibaba-inc.com/regenerator-runtime/download/regenerator-runtime-0.13.5.tgz", + "integrity": "sha1-2Hih0JS0MG0QuQlkhLM+vVXiZpc=" + }, + "resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/resolve-pathname/download/resolve-pathname-3.0.0.tgz", + "integrity": "sha1-mdAiJNPPJjaJvsuzk7xWAxMCXc0=" + }, + "tiny-invariant": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/tiny-invariant/download/tiny-invariant-1.1.0.tgz", + "integrity": "sha1-Y0xfjv3CdxS384bDXmdgmR0jCHU=" + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/tiny-warning/download/tiny-warning-1.0.3.tgz", + "integrity": "sha1-lKMNtFPfTGQ9D9VmBg1gqHXYR1Q=" + }, + "value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/value-equal/download/value-equal-1.0.1.tgz", + "integrity": "sha1-Hgt5THNMXAyt4XnEN9NW2TGjTWw=" + } + } + } + } +} diff --git a/packages/plugin-components-pane/package.json b/packages/plugin-components-pane/package.json new file mode 100644 index 000000000..a42d14d91 --- /dev/null +++ b/packages/plugin-components-pane/package.json @@ -0,0 +1,58 @@ +{ + "name": "@ali/lowcode-plugin-components-pane", + "version": "0.0.1", + "description": "alibaba lowcode editor component-list plugin", + "files": [ + "demo/", + "es/", + "lib/", + "build/" + ], + "main": "lib/index.tsx", + "module": "es/index.js", + "stylePath": "style.js", + "scripts": { + "start": "build-scripts start", + "build": "build-scripts build --skip-demo", + "prepublishOnly": "npm run prettier && npm run build", + "lint": "eslint --cache --ext .js,.jsx ./", + "prettier": "prettier --write \"./src/**/*.{ts,tsx,js,jsx,ejs,less,css,scss,json}\" " + }, + "keywords": [ + "lowcode", + "editor" + ], + "author": "xiayang.xy", + "dependencies": { + "@ali/iceluna-addon-component-list": "^1.0.11", + "@ali/iceluna-comp-material-show": "^1.0.10", + "@alifd/next": "^1.19.19", + "prop-types": "^15.5.8", + "react": "^16.8.1", + "react-dom": "^16.8.1", + "react-router-dom": "^5.1.2" + }, + "peerDependencies": { + "@ali/lowcode-editor-core": "0.0.1" + }, + "devDependencies": { + "@alib/build-scripts": "^0.1.3", + "@alifd/next": "1.x", + "@ice/spec": "^0.1.1", + "@types/lodash": "^4.14.149", + "@types/react": "^16.9.13", + "@types/react-dom": "^16.9.4", + "build-plugin-component": "^0.2.7-1", + "build-plugin-fusion": "^0.1.0", + "build-plugin-moment-locales": "^0.1.0", + "eslint": "^6.0.1", + "prettier": "^1.19.1", + "react": "^16.8.0", + "react-dom": "^16.8.0" + }, + "repository": { + "type": "git", + "url": "https://github.com/ice-lab/react-materials/tree/master/scaffolds/ice-ts" + }, + "homepage": "https://unpkg.alibaba-inc.com/@ali/lowcode-engine-skeleton@0.0.1/build/index.html" +} diff --git a/packages/plugin-components-pane/src/index.scss b/packages/plugin-components-pane/src/index.scss new file mode 100644 index 000000000..73206cc27 --- /dev/null +++ b/packages/plugin-components-pane/src/index.scss @@ -0,0 +1,25 @@ +.lowcode-component-list { + height: 100%; + display: flex; + flex-flow: column; + .title { + height: 40px; + line-height: 39px; + border-bottom: 1px solid $color-line1-1; + padding: 0 8px; + position: relative; + } + .search { + display: block; + width: auto; + margin: 8px 8px 0; + } + .select { + display: block; + margin: 8px 8px 4px; + } + .components-show { + flex: 1 1 0%; + overflow: hidden; + } +} diff --git a/packages/plugin-components-pane/src/index.tsx b/packages/plugin-components-pane/src/index.tsx new file mode 100644 index 000000000..fc88400eb --- /dev/null +++ b/packages/plugin-components-pane/src/index.tsx @@ -0,0 +1,189 @@ +import React, { PureComponent } from 'react'; +import { Icon, Search, Select } from '@alifd/next'; +import MaterialShow from '@ali/iceluna-comp-material-show'; +import { PluginProps } from '@ali/lowcode-editor-core/lib/definitions'; + +import './index.scss'; + +export interface LibrayInfo { + label: string; + value: string; +} + +export interface IState { + loading: boolean; + libs: LibrayInfo[]; + searchKey: string; + currentLib: string; + componentList: object[]; +} + +export default class ComponentListPlugin extends PureComponent< + PluginProps, + IState +> { + static displayName = 'LowcodeComponentListPlugin'; + + constructor(props) { + super(props); + this.state = { + loading: false, + libs: [ + { + label: '全部', + value: 'all', + }, + ], + searchKey: '', + currentLib: 'all', + componentList: [], + }; + } + + componentDidMount(): void { + const { editor } = this.props; + if (editor.assets) { + this.initComponentList(); + } else { + editor.once('editor.ready', this.initComponentList); + } + } + + transformMaterial = (componentList): any => { + return componentList.map(category => { + return { + name: category.title, + items: category.children.map(comp => { + return { + ...comp, + name: comp.componentName, + snippets: comp.snippets.map(snippet => { + return { + name: snippet.title, + screenshot: snippet.screenshot, + code: JSON.stringify(snippet.schema), + }; + }), + }; + }), + }; + }); + }; + + initComponentList = (): void => { + const { editor } = this.props; + const assets = editor.assets || {}; + const list: string[] = []; + const libs: LibrayInfo[] = []; + Object.values(assets.packages).forEach((item): void => { + list.push(item.library); + libs.push({ + label: item.title, + value: item.library, + }); + }); + + if (list.length > 1) { + libs.unshift({ + label: '全部', + value: list.join(','), + }); + } + + const componentList = this.transformMaterial(assets.componentList); + + this.setState({ + libs, + componentList, + currentLib: libs[0] && libs[0].value, + }); + + editor.set('dndHelper', { + handleResourceDragStart: function(ev, tagName, schema) { + // 物料面板中组件snippet的dragStart回调 + // ev: 原始的domEvent;tagName: 组件的描述文案;schema: snippet的schema + if (editor.designer) { + editor.designer.dragon.boost( + { + type: 'nodedata', + data: schema, + }, + ev.nativeEvent, + ); + } + }, + }); + }; + + searchAction = (value: string): void => { + this.setState({ + searchKey: value, + }); + }; + + filterMaterial = (): any => { + const { searchKey, currentLib, componentList } = this.state; + const libs = currentLib.split(','); + return (componentList || []) + .map(cate => { + return { + ...cate, + items: (cate.items || []).filter(item => { + let libFlag = libs.some(lib => lib == item.library); + + let keyFlag = true; + if (searchKey) { + keyFlag = + `${item.name || ''} ${item.title || ''}` + .toLowerCase() + .indexOf(searchKey.trim().toLowerCase()) >= 0; + } else { + keyFlag = item.is_show === undefined || !!(item.is_show == 1); + } + return libFlag && keyFlag; + }), + }; + }) + .filter(cate => { + return cate.items && cate.items.length > 0; + }); + }; + + render(): React.ReactNode { + const { libs, loading, currentLib } = this.state; + return ( +
+
+ + 组件库 +
+ +