diff --git a/.editorconfig b/.editorconfig index 9a48fcf35..ee55bb502 100644 --- a/.editorconfig +++ b/.editorconfig @@ -10,4 +10,4 @@ insert_final_newline = true quote_type = single [*.md] -trim_trailing_whitespace = false \ No newline at end of file +trim_trailing_whitespace = false diff --git a/.prettierignore b/.prettierignore index ff599a25a..28af681fc 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,2 +1,4 @@ **/test/**/*.ts -**/test/**/*.js \ No newline at end of file +**/test/**/*.js +**/template/**/*.template +**/template/**/*.tpl diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..f242fc1f3 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "ava my-package", + "type": "node", + "request": "launch", + "runtimeExecutable": "${workspaceFolder}/packages/material-parser/node_modules/.bin/ava", + "runtimeArgs": ["debug", "--break", "${file}"] + } + ] +} diff --git a/package.json b/package.json index 0fab04a27..a7edc4a3d 100644 --- a/package.json +++ b/package.json @@ -13,19 +13,21 @@ "commit": "git-cz" }, "devDependencies": { + "@ice/spec": "^0.1.4", "@types/node": "^10.12.18", "ava": "^1.0.1", "commitizen": "^3.0.5", "cz-conventional-changelog": "^2.1.0", + "eslint": "^6.0.1", + "git-cz": "^4.3.1", "husky": "^1.3.1", "lerna": "^2.11.0", "lint-staged": "^8.1.0", "prettier": "^1.15.3", "rimraf": "^2.6.3", "ts-node": "^7.0.1", - "tslint": "^5.12.0", - "tslint-config-prettier": "^1.17.0", - "tslint-plugin-prettier": "^2.0.1", + "tslint": "^6.1.0", + "tslint-config-prettier": "^1.18.0", "typescript": "^3.2.2" }, "engines": { @@ -34,7 +36,7 @@ "lint-staged": { "*.ts": [ "prettier --write", - "tslint --fix -p tsconfig.json", + "tslint --fix", "git add" ] }, diff --git a/packages/designer/package-lock.json b/packages/designer/package-lock.json new file mode 100644 index 000000000..c56818e37 --- /dev/null +++ b/packages/designer/package-lock.json @@ -0,0 +1,9380 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@ali/iceluna-sdk": { + "version": "1.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/@ali/iceluna-sdk/download/@ali/iceluna-sdk-1.0.5.tgz", + "integrity": "sha1-ZYiUCT3wKL2Xg/0CeP/LFcDFpes=", + "requires": { + "@ali/b3-one": "^0.0.17", + "@ali/bzb-request": "2.6.1", + "@ali/iceluna-comp-div": "^0.0.5", + "@ali/iceluna-rax": "0.0.5", + "@ali/lib-mtop": "^2.5.1", + "@alifd/next": "^1.18.17", + "debug": "^4.1.1", + "driver-universal": "^3.1.2", + "events": "^3.0.0", + "fetch-jsonp": "^1.1.3", + "intl-messageformat": "^7.7.2", + "jsonuri": "^2.1.2", + "keymaster": "^1.6.2", + "localforage": "^1.7.3", + "lodash": "^4.17.11", + "moment": "^2.24.0", + "rax": "^1.1.1", + "rax-find-dom-node": "^1.0.1", + "react-is": "^16.10.1", + "serialize-javascript": "^1.7.0", + "socket.io-client": "^2.2.0", + "whatwg-fetch": "^3.0.0" + }, + "dependencies": { + "@ali/b3-one": { + "version": "0.0.17", + "resolved": "https://registry.npm.alibaba-inc.com/@ali/b3-one/download/@ali/b3-one-0.0.17.tgz", + "integrity": "sha1-R50D9Mr82Kpw84Z16iXhjORtofM=", + "requires": { + "lodash": "^4.17.10", + "node-fetch": "^2.2.0" + } + }, + "@ali/bzb-request": { + "version": "2.6.1", + "resolved": "https://registry.npm.alibaba-inc.com/@ali/bzb-request/download/@ali/bzb-request-2.6.1.tgz", + "integrity": "sha1-qw/EGBnvGjVF7D/y5UDqp5TEKc4=", + "requires": { + "@ali/bzb-request": "^2.6.0-beta.11", + "@types/qs": "^6.5.3", + "axios": "^0.19.0", + "tingle.js": "^0.15.2" + } + }, + "@ali/iceluna-comp-div": { + "version": "0.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/@ali/iceluna-comp-div/download/@ali/iceluna-comp-div-0.0.5.tgz", + "integrity": "sha1-X30fQKJqfp2VNrS4WqBSXG0NR6s=", + "requires": { + "@ali/b3-one": "^0.0.19" + }, + "dependencies": { + "@ali/b3-one": { + "version": "0.0.19", + "resolved": "https://registry.npm.alibaba-inc.com/@ali/b3-one/download/@ali/b3-one-0.0.19.tgz", + "integrity": "sha1-h7NzWRlUsMALz5lPsSYleQqk3j4=", + "requires": { + "lodash": "^4.17.10", + "node-fetch": "^2.2.0" + } + } + } + }, + "@ali/iceluna-rax": { + "version": "0.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/@ali/iceluna-rax/download/@ali/iceluna-rax-0.0.5.tgz", + "integrity": "sha1-qIhD3XdDy2uFMpYsgPtrjZPzp30=", + "requires": { + "@ali/iceluna-sdk": "^1.0.4", + "classnames": "^2.2.6", + "debug": "^4.1.1", + "rax-find-dom-node": "^1.0.1", + "rax-text": "^1.1.6", + "rax-view": "^1.0.0" + } + }, + "@ali/iceluna-sdk": { + "version": "0.0.10", + "resolved": "https://registry.npm.alibaba-inc.com/@ali/iceluna-sdk/download/@ali/iceluna-sdk-0.0.10.tgz", + "integrity": "sha1-PsAi5ycrpRaH/D0rXJJToQ2cUvs=", + "requires": { + "@ali/b3-one": "^0.0.17", + "@ali/lib-mtop": "^2.5.1", + "@alife/next": "^1.14.0", + "debug": "^4.1.1", + "dva": "^2.4.1", + "events": "^3.0.0", + "fetch-jsonp": "^1.1.3", + "jsonuri": "^2.1.2", + "keymaster": "^1.6.2", + "localforage": "^1.7.3", + "lodash": "^4.17.11", + "moment": "^2.24.0", + "react-is": "^16.10.1", + "react-router-dom": "4.3.1", + "serialize-javascript": "^1.7.0", + "shortid": "^2.2.14", + "socket.io": "^2.2.0", + "socket.io-client": "^2.2.0", + "whatwg-fetch": "^3.0.0" + } + }, + "@ali/lib-mtop": { + "version": "2.5.7", + "resolved": "https://registry.npm.alibaba-inc.com/@ali/lib-mtop/download/@ali/lib-mtop-2.5.7.tgz", + "integrity": "sha1-HW0/ztgJ6EFTj/sljH/Mb9SSh+I=" + }, + "@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/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" + } + }, + "@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=" + }, + "@alife/next": { + "version": "1.19.18", + "resolved": "https://registry.npm.alibaba-inc.com/@alife/next/download/@alife/next-1.19.18.tgz", + "integrity": "sha1-EJnOhfV3oSzNmMRsQqunQ5fqt90=", + "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" + } + }, + "@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=" + } + } + }, + "@formatjs/intl-unified-numberformat": { + "version": "3.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/@formatjs/intl-unified-numberformat/download/@formatjs/intl-unified-numberformat-3.2.0.tgz", + "integrity": "sha1-UZeYfmG6CXKIkQXlJfHL5tkc9G8=", + "requires": { + "@formatjs/intl-utils": "^2.2.0" + } + }, + "@formatjs/intl-utils": { + "version": "2.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/@formatjs/intl-utils/download/@formatjs/intl-utils-2.2.0.tgz", + "integrity": "sha1-um4S/mT/f9FgvjkgB8R9JLeuXHU=" + }, + "@types/history": { + "version": "4.7.5", + "resolved": "https://registry.npm.alibaba-inc.com/@types/history/download/@types/history-4.7.5.tgz", + "integrity": "sha1-Un0g72hXGkrwLtdDUBZOemdUSGA=" + }, + "@types/isomorphic-fetch": { + "version": "0.0.34", + "resolved": "https://registry.npm.alibaba-inc.com/@types/isomorphic-fetch/download/@types/isomorphic-fetch-0.0.34.tgz", + "integrity": "sha1-PDSD5gbAQTeEOOlRRk8A5OYHBtY=" + }, + "@types/qs": { + "version": "6.9.1", + "resolved": "https://registry.npm.alibaba-inc.com/@types/qs/download/@types/qs-6.9.1.tgz", + "integrity": "sha1-k3+rMZR2YlbuCfzUC3gXQHWGF+c=" + }, + "@types/react-router": { + "version": "5.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/@types/react-router/download/@types/react-router-5.1.4.tgz", + "integrity": "sha1-fXC9kFVDy2vL3Ma9mJAjMgVPMaY=", + "requires": { + "@types/history": "*", + "@types/react": "*" + } + }, + "@types/react-router-dom": { + "version": "4.3.5", + "resolved": "https://registry.npm.alibaba-inc.com/@types/react-router-dom/download/@types/react-router-dom-4.3.5.tgz", + "integrity": "sha1-cvIplnaQyJDQD5bmuF6e5XgNsx8=", + "requires": { + "@types/history": "*", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "@types/react-router-redux": { + "version": "5.0.18", + "resolved": "https://registry.npm.alibaba-inc.com/@types/react-router-redux/download/@types/react-router-redux-5.0.18.tgz", + "integrity": "sha1-XyjV9zh/px4z9gLM+SaeFgnUe4s=", + "requires": { + "@types/history": "*", + "@types/react": "*", + "@types/react-router": "*", + "redux": ">= 3.7.2" + } + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npm.alibaba-inc.com/accepts/download/accepts-1.3.7.tgz", + "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npm.alibaba-inc.com/after/download/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npm.alibaba-inc.com/arraybuffer.slice/download/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha1-O7xCdd1YTMGxCAm4nU6LY6aednU=" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/async-limiter/download/async-limiter-1.0.1.tgz", + "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=" + }, + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npm.alibaba-inc.com/axios/download/axios-0.19.2.tgz", + "integrity": "sha1-PqNsXYgY0NX4qKl6bTa4bNwAyyc=", + "requires": { + "follow-redirects": "1.5.10" + } + }, + "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" + } + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/backo2/download/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npm.alibaba-inc.com/base64-arraybuffer/download/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/base64id/download/base64id-2.0.0.tgz", + "integrity": "sha1-J3Csa8R9MSr5eov5pjQ0LgzSXLY=" + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/better-assert/download/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "requires": { + "callsite": "1.0.0" + } + }, + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/blob/download/blob-0.0.5.tgz", + "integrity": "sha1-1oDu7yX4zZGtUz9bAe7UjmTK9oM=" + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/callsite/download/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npm.alibaba-inc.com/classnames/download/classnames-2.2.6.tgz", + "integrity": "sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4=" + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/component-bind/download/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/component-emitter/download/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/component-inherit/download/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npm.alibaba-inc.com/cookie/download/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "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=" + }, + "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" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" + } + } + }, + "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" + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/dom-walk/download/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, + "driver-dom": { + "version": "2.0.7", + "resolved": "https://registry.npm.alibaba-inc.com/driver-dom/download/driver-dom-2.0.7.tgz", + "integrity": "sha1-NaHaiey2Twor+l1Nw70s8DQ70Rw=" + }, + "driver-kraken": { + "version": "0.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/driver-kraken/download/driver-kraken-0.2.0.tgz", + "integrity": "sha1-a9GdpfCVqkifs0oVofK+hS3GEZE=" + }, + "driver-miniapp": { + "version": "0.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/driver-miniapp/download/driver-miniapp-0.1.2.tgz", + "integrity": "sha1-N+AUOD5XuxSBM4Df2sy9aNz77l8=", + "requires": { + "driver-dom": "^2.0.6" + } + }, + "driver-server": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/driver-server/download/driver-server-1.0.0.tgz", + "integrity": "sha1-L6Z5kdKq+mbdgIsaGYmxgSW7OMA=" + }, + "driver-universal": { + "version": "3.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/driver-universal/download/driver-universal-3.1.3.tgz", + "integrity": "sha1-PIQKdAtdf+vd6lYvbADS/WXl1r4=", + "requires": { + "driver-dom": "^2.0.5", + "driver-kraken": "^0.2.0", + "driver-miniapp": "^0.1.0", + "driver-weex": "^2.0.0", + "style-unit": "^2.0.0", + "universal-env": "^3.0.0" + }, + "dependencies": { + "universal-env": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/universal-env/download/universal-env-3.1.0.tgz", + "integrity": "sha1-IvYwkBklCtXEdE2wsmXFKXTfems=" + } + } + }, + "driver-weex": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/driver-weex/download/driver-weex-2.0.0.tgz", + "integrity": "sha1-n6r5eTOzK01Q/rpy9+G+Tt2jjBE=", + "requires": { + "style-unit": "^2.0.0" + } + }, + "dva": { + "version": "2.4.1", + "resolved": "https://registry.npm.alibaba-inc.com/dva/download/dva-2.4.1.tgz", + "integrity": "sha1-o+6we7i8bi/5/+MXmdA8tp5F9f0=", + "requires": { + "@babel/runtime": "7.0.0-beta.46", + "@types/isomorphic-fetch": "^0.0.34", + "@types/react-router-dom": "^4.2.7", + "@types/react-router-redux": "^5.0.13", + "dva-core": "^1.4.0", + "global": "^4.3.2", + "history": "^4.6.3", + "invariant": "^2.2.2", + "isomorphic-fetch": "^2.2.1", + "react-redux": "5.0.7", + "react-router-dom": "^4.1.2", + "react-router-redux": "5.0.0-alpha.9", + "redux": "^3.7.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.0.0-beta.46", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/runtime/download/@babel/runtime-7.0.0-beta.46.tgz", + "integrity": "sha1-RmqcBJj20S0FShhZge73QtWdSHE=", + "requires": { + "core-js": "^2.5.3", + "regenerator-runtime": "^0.11.1" + } + } + } + }, + "dva-core": { + "version": "1.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/dva-core/download/dva-core-1.4.0.tgz", + "integrity": "sha1-MK7YALl/B/do5CBJCU7jFQ9IxdM=", + "requires": { + "@babel/runtime": "7.0.0-beta.46", + "flatten": "^1.0.2", + "global": "^4.3.2", + "invariant": "^2.2.1", + "is-plain-object": "^2.0.3", + "redux": "^3.7.1", + "redux-saga": "^0.16.0", + "warning": "^3.0.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.0.0-beta.46", + "resolved": "https://registry.npm.alibaba-inc.com/@babel/runtime/download/@babel/runtime-7.0.0-beta.46.tgz", + "integrity": "sha1-RmqcBJj20S0FShhZge73QtWdSHE=", + "requires": { + "core-js": "^2.5.3", + "regenerator-runtime": "^0.11.1" + } + } + } + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npm.alibaba-inc.com/encoding/download/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "engine.io": { + "version": "3.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/engine.io/download/engine.io-3.4.0.tgz", + "integrity": "sha1-OpYsxFNZKMJSdZoA+YUZy0bFP/M=", + "requires": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "0.3.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "^7.1.2" + } + }, + "engine.io-client": { + "version": "3.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/engine.io-client/download/engine.io-client-3.4.0.tgz", + "integrity": "sha1-gqZCtChiqbP3oYj0F3ay3qtkNwA=", + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~6.1.0", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "ws": { + "version": "6.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/ws/download/ws-6.1.4.tgz", + "integrity": "sha1-W1yIAK+rkl6UzLKdFTyNAsF3bvk=", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "engine.io-parser": { + "version": "2.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/engine.io-parser/download/engine.io-parser-2.2.0.tgz", + "integrity": "sha1-MSxIlPV9UqArQgho2ntcHISvgO0=", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/events/download/events-3.1.0.tgz", + "integrity": "sha1-hCea8bNMt1qoi/X/KR9tC9mzGlk=" + }, + "fetch-jsonp": { + "version": "1.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/fetch-jsonp/download/fetch-jsonp-1.1.3.tgz", + "integrity": "sha1-nrnlhboIqvcAVjU40Xu+u81aPbI=" + }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/flatten/download/flatten-1.0.3.tgz", + "integrity": "sha1-wSg6yfJ7Noq8HjbR/3sEUBowNWs=" + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npm.alibaba-inc.com/follow-redirects/download/follow-redirects-1.5.10.tgz", + "integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=", + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/global/download/global-4.4.0.tgz", + "integrity": "sha1-PnsQUXkAajI+1xqvyj6cV6XMZAY=", + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/has-binary2/download/has-binary2-1.0.3.tgz", + "integrity": "sha1-d3asYn8+p3JQz8My2rfd9eT10R0=", + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isarray/download/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/has-cors/download/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "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": "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=" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npm.alibaba-inc.com/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npm.alibaba-inc.com/immediate/download/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/indexof/download/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "intl-format-cache": { + "version": "4.2.21", + "resolved": "https://registry.npm.alibaba-inc.com/intl-format-cache/download/intl-format-cache-4.2.21.tgz", + "integrity": "sha1-2OC9/DV0SPSNwatEZw3GShmyT1E=" + }, + "intl-messageformat": { + "version": "7.8.4", + "resolved": "https://registry.npm.alibaba-inc.com/intl-messageformat/download/intl-messageformat-7.8.4.tgz", + "integrity": "sha1-wpFGoGuc0mZil4pNlf/ysTPjZC8=", + "requires": { + "intl-format-cache": "^4.2.21", + "intl-messageformat-parser": "^3.6.4" + } + }, + "intl-messageformat-parser": { + "version": "3.6.4", + "resolved": "https://registry.npm.alibaba-inc.com/intl-messageformat-parser/download/intl-messageformat-parser-3.6.4.tgz", + "integrity": "sha1-UZnRBtgWw92ibuBpQ2Kpz4I5ePs=", + "requires": { + "@formatjs/intl-unified-numberformat": "^3.2.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npm.alibaba-inc.com/invariant/download/invariant-2.2.4.tgz", + "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "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-stream": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isarray/download/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/isomorphic-fetch/download/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + }, + "dependencies": { + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npm.alibaba-inc.com/node-fetch/download/node-fetch-1.7.3.tgz", + "integrity": "sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8=", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + } + } + }, + "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=" + }, + "jsonuri": { + "version": "2.2.4", + "resolved": "https://registry.npm.alibaba-inc.com/jsonuri/download/jsonuri-2.2.4.tgz", + "integrity": "sha1-6Hnuj2z21DTe6uLq1yTfqC5Jv4o=" + }, + "keymaster": { + "version": "1.6.2", + "resolved": "https://registry.npm.alibaba-inc.com/keymaster/download/keymaster-1.6.2.tgz", + "integrity": "sha1-4a5U0OqUiPn2C2a2aPAumhlGxus=" + }, + "lie": { + "version": "3.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/lie/download/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "requires": { + "immediate": "~3.0.5" + } + }, + "localforage": { + "version": "1.7.3", + "resolved": "https://registry.npm.alibaba-inc.com/localforage/download/localforage-1.7.3.tgz", + "integrity": "sha1-AIKzypc0Z54b1TSZW907JM8Q8gQ=", + "requires": { + "lie": "3.1.1" + } + }, + "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-es": { + "version": "4.17.15", + "resolved": "https://registry.npm.alibaba-inc.com/lodash-es/download/lodash-es-4.17.15.tgz", + "integrity": "sha1-Ib2Wg5NUQS8j16EDQOXqxu5FXXg=" + }, + "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" + } + }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npm.alibaba-inc.com/mime-db/download/mime-db-1.43.0.tgz", + "integrity": "sha1-ChLgUCZQ5HPXNVNQUOfI9OtPrlg=" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npm.alibaba-inc.com/mime-types/download/mime-types-2.1.26.tgz", + "integrity": "sha1-nJIfwJt+FJpl39wNpNIJlyALCgY=", + "requires": { + "mime-db": "1.43.0" + } + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npm.alibaba-inc.com/min-document/download/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npm.alibaba-inc.com/moment/download/moment-2.24.0.tgz", + "integrity": "sha1-DQVdU/UFKqZTyfbraLtdEr9cK1s=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "nanoid": { + "version": "2.1.11", + "resolved": "https://registry.npm.alibaba-inc.com/nanoid/download/nanoid-2.1.11.tgz", + "integrity": "sha1-7CS4p1jVkVYVMbQXagHjq08PAoA=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npm.alibaba-inc.com/negotiator/download/negotiator-0.6.2.tgz", + "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=" + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/node-fetch/download/node-fetch-2.6.0.tgz", + "integrity": "sha1-5jNFY4bUqlWGP2dqerDaqP3ssP0=" + }, + "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-component": { + "version": "0.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/object-component/download/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/parseqs/download/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/parseuri/download/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "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" + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npm.alibaba-inc.com/process/download/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "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" + } + }, + "rax": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/rax/download/rax-1.1.1.tgz", + "integrity": "sha1-+Ki1GRO9y/ND2K2PUMdC1VXrXkU=", + "requires": { + "@babel/runtime": "^7.2.0", + "driver-server": "^1.0.0", + "prop-types": "^15.7.2", + "rax-children": "^1.0.0", + "rax-clone-element": "^1.0.0", + "rax-create-factory": "^1.0.0", + "rax-is-valid-element": "^1.0.0" + } + }, + "rax-children": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/rax-children/download/rax-children-1.0.0.tgz", + "integrity": "sha1-bktBdMcjbxh/Sal/3/XehfmvH34=" + }, + "rax-clone-element": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/rax-clone-element/download/rax-clone-element-1.0.0.tgz", + "integrity": "sha1-0jX1urgXiYPXMKqNbGpPoJFAph0=", + "requires": { + "rax-is-valid-element": "^1.0.0" + } + }, + "rax-create-factory": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/rax-create-factory/download/rax-create-factory-1.0.0.tgz", + "integrity": "sha1-leja2jQydhQ1VFDYq7qA9o0Ek7c=" + }, + "rax-find-dom-node": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/rax-find-dom-node/download/rax-find-dom-node-1.0.1.tgz", + "integrity": "sha1-er1mDeNVu1pggCeiHANpQ/vk44w=", + "requires": { + "rax-get-element-by-id": "^1.0.0" + } + }, + "rax-get-element-by-id": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/rax-get-element-by-id/download/rax-get-element-by-id-1.0.0.tgz", + "integrity": "sha1-AnHliMKOtdWScj6wQza7q0rbxTY=", + "requires": { + "rax": "^1.0.0", + "universal-env": "^1.0.0" + } + }, + "rax-is-valid-element": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/rax-is-valid-element/download/rax-is-valid-element-1.0.0.tgz", + "integrity": "sha1-yFg6CuabemtZsGONP5l8BuUAF14=" + }, + "rax-text": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/rax-text/download/rax-text-1.2.0.tgz", + "integrity": "sha1-g/tdej3YAUezwnBfUvw3Hftmk+E=", + "requires": { + "universal-env": "^3.0.0" + }, + "dependencies": { + "universal-env": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/universal-env/download/universal-env-3.1.0.tgz", + "integrity": "sha1-IvYwkBklCtXEdE2wsmXFKXTfems=" + } + } + }, + "rax-view": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/rax-view/download/rax-view-1.1.0.tgz", + "integrity": "sha1-T/lbyttsU1XTQnU7f042TiGcNBE=", + "requires": { + "classnames": "^2.2.6", + "universal-env": "^1.0.0" + } + }, + "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-redux": { + "version": "5.0.7", + "resolved": "https://registry.npm.alibaba-inc.com/react-redux/download/react-redux-5.0.7.tgz", + "integrity": "sha1-DcEHbZr7RnD5k/+u9EuPjBFVpMg=", + "requires": { + "hoist-non-react-statics": "^2.5.0", + "invariant": "^2.0.0", + "lodash": "^4.17.5", + "lodash-es": "^4.17.5", + "loose-envify": "^1.1.0", + "prop-types": "^15.6.0" + } + }, + "react-router": { + "version": "4.3.1", + "resolved": "https://registry.npm.alibaba-inc.com/react-router/download/react-router-4.3.1.tgz", + "integrity": "sha1-qtpK7xTICcsuaGsFzuR0IjRQbE4=", + "requires": { + "history": "^4.7.2", + "hoist-non-react-statics": "^2.5.0", + "invariant": "^2.2.4", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.1", + "warning": "^4.0.1" + }, + "dependencies": { + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/warning/download/warning-4.0.3.tgz", + "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "react-router-dom": { + "version": "4.3.1", + "resolved": "https://registry.npm.alibaba-inc.com/react-router-dom/download/react-router-dom-4.3.1.tgz", + "integrity": "sha1-TCYZ/CTE+ofJ/Rj0+0pD/mP71cY=", + "requires": { + "history": "^4.7.2", + "invariant": "^2.2.4", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.1", + "react-router": "^4.3.1", + "warning": "^4.0.1" + }, + "dependencies": { + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/warning/download/warning-4.0.3.tgz", + "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "react-router-redux": { + "version": "5.0.0-alpha.9", + "resolved": "https://registry.npm.alibaba-inc.com/react-router-redux/download/react-router-redux-5.0.0-alpha.9.tgz", + "integrity": "sha1-glQxUW4Obx/ZO4gH9r1ZXiPsPRA=", + "requires": { + "history": "^4.7.2", + "prop-types": "^15.6.0", + "react-router": "^4.2.0" + } + }, + "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" + } + }, + "redux": { + "version": "3.7.2", + "resolved": "https://registry.npm.alibaba-inc.com/redux/download/redux-3.7.2.tgz", + "integrity": "sha1-BrcxIyFZAdJdBlvjQusCa8HIU3s=", + "requires": { + "lodash": "^4.2.1", + "lodash-es": "^4.2.1", + "loose-envify": "^1.1.0", + "symbol-observable": "^1.0.3" + } + }, + "redux-saga": { + "version": "0.16.2", + "resolved": "https://registry.npm.alibaba-inc.com/redux-saga/download/redux-saga-0.16.2.tgz", + "integrity": "sha1-mTZi6GvJRdhQmsK42ro6jGFcyXE=" + }, + "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=" + }, + "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=" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npm.alibaba-inc.com/serialize-javascript/download/serialize-javascript-1.9.1.tgz", + "integrity": "sha1-z8IArvd7YAxH2pu4FJyUPnmML9s=" + }, + "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" + } + }, + "shortid": { + "version": "2.2.15", + "resolved": "https://registry.npm.alibaba-inc.com/shortid/download/shortid-2.2.15.tgz", + "integrity": "sha1-K5AuqpOmmxESA3PNQqHx/kQ3wSI=", + "requires": { + "nanoid": "^2.1.0" + } + }, + "socket.io": { + "version": "2.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/socket.io/download/socket.io-2.3.0.tgz", + "integrity": "sha1-zXYu1qT67KWbwfPiQ8CWkxHrc/s=", + "requires": { + "debug": "~4.1.0", + "engine.io": "~3.4.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.3.0", + "socket.io-parser": "~3.4.0" + } + }, + "socket.io-adapter": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/socket.io-adapter/download/socket.io-adapter-1.1.1.tgz", + "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=" + }, + "socket.io-client": { + "version": "2.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/socket.io-client/download/socket.io-client-2.3.0.tgz", + "integrity": "sha1-FNW6LgC5vNFFrkQ6uWs/hsvMG7Q=", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isarray/download/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "socket.io-parser": { + "version": "3.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/socket.io-parser/download/socket.io-parser-3.3.0.tgz", + "integrity": "sha1-K1KpalCf3zFEC6QP7WCUx9TxJi8=", + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "requires": { + "ms": "2.0.0" + } + } + } + } + } + }, + "socket.io-parser": { + "version": "3.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/socket.io-parser/download/socket.io-parser-3.4.0.tgz", + "integrity": "sha1-Nwu0oVHfL3fOM0X/VacHLMbpVlo=", + "requires": { + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isarray/download/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "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=" + }, + "style-unit": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/style-unit/download/style-unit-2.0.1.tgz", + "integrity": "sha1-yTxqAFtGZxut+V32VEUCkNUO690=", + "requires": { + "universal-env": "^2.0.0" + }, + "dependencies": { + "universal-env": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/universal-env/download/universal-env-2.0.0.tgz", + "integrity": "sha1-tzSy9CumLEOE7qMZqfk3EJ3DpAY=" + } + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/symbol-observable/download/symbol-observable-1.2.0.tgz", + "integrity": "sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ=" + }, + "tingle.js": { + "version": "0.15.2", + "resolved": "https://registry.npm.alibaba-inc.com/tingle.js/download/tingle.js-0.15.2.tgz", + "integrity": "sha1-23Us0gXXSMarOObc6wdK7IjYXu4=" + }, + "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=" + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/to-array/download/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + }, + "universal-env": { + "version": "1.0.7", + "resolved": "https://registry.npm.alibaba-inc.com/universal-env/download/universal-env-1.0.7.tgz", + "integrity": "sha1-MaH50zKGd70fwBbBQTU8o1dmpFY=" + }, + "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=" + }, + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/warning/download/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/whatwg-fetch/download/whatwg-fetch-3.0.0.tgz", + "integrity": "sha1-/IBORYzEYACbGiuWa8iBfSV4rvs=" + }, + "ws": { + "version": "7.2.3", + "resolved": "https://registry.npm.alibaba-inc.com/ws/download/ws-7.2.3.tgz", + "integrity": "sha1-pUEeH7BNXtDv7nbSbVxG2DDDm0Y=" + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npm.alibaba-inc.com/xmlhttprequest-ssl/download/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/yeast/download/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + } + } + }, + "@types/node": { + "version": "13.7.4", + "resolved": "https://registry.npm.alibaba-inc.com/@types/node/download/@types/node-13.7.4.tgz", + "integrity": "sha1-dsPLOhKQlRD1Ll3ASmKYzflQT/0=" + }, + "@types/react": { + "version": "16.9.23", + "resolved": "https://registry.npm.alibaba-inc.com/@types/react/download/@types/react-16.9.23.tgz", + "integrity": "sha1-GmbG1Gi6EaiUOtlYqMs+c3VoJxw=", + "requires": { + "@types/prop-types": "*", + "csstype": "^2.2.0" + }, + "dependencies": { + "@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npm.alibaba-inc.com/@types/prop-types/download/@types/prop-types-15.7.3.tgz", + "integrity": "sha1-KrDV2i5YFflLC51LldHl8kOrLKc=" + }, + "csstype": { + "version": "2.6.9", + "resolved": "https://registry.npm.alibaba-inc.com/csstype/download/csstype-2.6.9.tgz", + "integrity": "sha1-BRQdDNVXpWuIkTlMGRHEDIqY0Jg=" + } + } + }, + "@types/react-dom": { + "version": "16.9.5", + "resolved": "https://registry.npm.alibaba-inc.com/@types/react-dom/download/@types/react-dom-16.9.5.tgz", + "integrity": "sha1-XeYQsEo10H/9j0TtrZOnEDLZqqc=", + "requires": { + "@types/react": "*" + } + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npm.alibaba-inc.com/eslint/download/eslint-6.8.0.tgz", + "integrity": "sha1-YiYtZylzn5J1cjgkMC+yJ8jJP/s=", + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "@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/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" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/@types/color-name/download/@types/color-name-1.1.1.tgz", + "integrity": "sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA=" + }, + "acorn": { + "version": "7.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/acorn/download/acorn-7.1.1.tgz", + "integrity": "sha1-41Zo3gtALzWd5RXFSCoaufiaab8=" + }, + "acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/acorn-jsx/download/acorn-jsx-5.2.0.tgz", + "integrity": "sha1-TGYGkXPW/daO2FI5/CViJhgrLr4=" + }, + "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-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-escapes/download/ansi-escapes-4.3.1.tgz", + "integrity": "sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE=", + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npm.alibaba-inc.com/type-fest/download/type-fest-0.11.0.tgz", + "integrity": "sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E=" + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-regex/download/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=" + }, + "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" + } + }, + "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=" + }, + "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=" + }, + "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" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/callsites/download/callsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=" + }, + "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" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npm.alibaba-inc.com/chardet/download/chardet-0.7.0.tgz", + "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=" + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/cli-cursor/download/cli-cursor-3.1.0.tgz", + "integrity": "sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/cli-width/download/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + }, + "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=" + }, + "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=" + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/cross-spawn/download/cross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" + } + } + }, + "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" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/doctrine/download/doctrine-3.0.0.tgz", + "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", + "requires": { + "esutils": "^2.0.2" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/emoji-regex/download/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=" + }, + "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-scope": { + "version": "5.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-scope/download/eslint-scope-5.0.0.tgz", + "integrity": "sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=", + "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=" + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/espree/download/espree-6.2.1.tgz", + "integrity": "sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o=", + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + }, + "esquery": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/esquery/download/esquery-1.1.0.tgz", + "integrity": "sha1-xcC2bzg+dlZAT4azEzTXJSTt20g=", + "requires": { + "estraverse": "^4.0.0" + } + }, + "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=" + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/external-editor/download/external-editor-3.1.0.tgz", + "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "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-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=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npm.alibaba-inc.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/figures/download/figures-3.2.0.tgz", + "integrity": "sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/file-entry-cache/download/file-entry-cache-5.0.1.tgz", + "integrity": "sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=", + "requires": { + "flat-cache": "^2.0.1" + } + }, + "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=" + }, + "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=" + }, + "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=" + }, + "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": "5.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/glob-parent/download/glob-parent-5.1.0.tgz", + "integrity": "sha1-X0wdHnSNMM1zrSlEs1d6gbCB6MI=", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/globals/download/globals-12.4.0.tgz", + "integrity": "sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg=", + "requires": { + "type-fest": "^0.8.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=" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npm.alibaba-inc.com/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npm.alibaba-inc.com/ignore/download/ignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=" + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/import-fresh/download/import-fresh-3.2.1.tgz", + "integrity": "sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY=", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "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=" + }, + "inquirer": { + "version": "7.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/inquirer/download/inquirer-7.1.0.tgz", + "integrity": "sha1-EpigGFmIPhfHJkuChwrhA0+S3Sk=", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-styles/download/ansi-styles-4.2.1.tgz", + "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/chalk/download/chalk-3.0.0.tgz", + "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/strip-ansi/download/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/supports-color/download/supports-color-7.1.0.tgz", + "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=" + }, + "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-promise": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-promise/download/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "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" + } + }, + "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=" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/levn/download/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npm.alibaba-inc.com/lodash/download/lodash-4.17.15.tgz", + "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/mimic-fn/download/mimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=" + }, + "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=" + }, + "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=" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npm.alibaba-inc.com/mute-stream/download/mute-stream-0.0.8.tgz", + "integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/nice-try/download/nice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=" + }, + "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" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/onetime/download/onetime-5.1.0.tgz", + "integrity": "sha1-//DzyRYX/mK7UBiWNumayKbfe+U=", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npm.alibaba-inc.com/optionator/download/optionator-0.8.3.tgz", + "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/parent-module/download/parent-module-1.0.1.tgz", + "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", + "requires": { + "callsites": "^3.0.0" + } + }, + "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-key": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/path-key/download/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/prelude-ls/download/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/progress/download/progress-2.0.3.tgz", + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/regexpp/download/regexpp-2.0.1.tgz", + "integrity": "sha1-jRnTHPYySCtYkEn4KB+T28uk0H8=" + }, + "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=" + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/restore-cursor/download/restore-cursor-3.1.0.tgz", + "integrity": "sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "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" + } + }, + "run-async": { + "version": "2.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/run-async/download/run-async-2.4.0.tgz", + "integrity": "sha1-5ZBUpbhods+uB/Qx0Yy63cWU8eg=", + "requires": { + "is-promise": "^2.1.0" + } + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npm.alibaba-inc.com/rxjs/download/rxjs-6.5.4.tgz", + "integrity": "sha1-4Hd/4NGEzseHLfFH8wNXLUFOIRw=", + "requires": { + "tslib": "^1.9.0" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/shebang-command/download/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/shebang-regex/download/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "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=" + }, + "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" + }, + "dependencies": { + "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=" + } + } + }, + "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=" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/string-width/download/string-width-4.2.0.tgz", + "integrity": "sha1-lSGCxGzHssMT0VluYjmSvRY7crU=", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/strip-ansi/download/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "requires": { + "ansi-regex": "^5.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" + }, + "dependencies": { + "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=" + } + } + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/strip-json-comments/download/strip-json-comments-3.0.1.tgz", + "integrity": "sha1-hXE5dakfuHvxswXMp3OV5A0qZKc=" + }, + "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" + } + }, + "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" + }, + "dependencies": { + "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=" + }, + "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=" + }, + "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" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/text-table/download/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npm.alibaba-inc.com/through/download/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npm.alibaba-inc.com/tmp/download/tmp-0.0.33.tgz", + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tslib": { + "version": "1.11.1", + "resolved": "https://registry.npm.alibaba-inc.com/tslib/download/tslib-1.11.1.tgz", + "integrity": "sha1-6xXRKIJ/vuKEFUnhcfRe0zisfjU=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npm.alibaba-inc.com/type-check/download/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npm.alibaba-inc.com/type-fest/download/type-fest-0.8.1.tgz", + "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=" + }, + "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" + } + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/v8-compile-cache/download/v8-compile-cache-2.1.0.tgz", + "integrity": "sha1-4U3jezGm0ZT1aQ1n78Tn9vxqsw4=" + }, + "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" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npm.alibaba-inc.com/word-wrap/download/word-wrap-1.2.3.tgz", + "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=" + }, + "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" + } + } + } + }, + "husky": { + "version": "1.3.1", + "resolved": "https://registry.npm.alibaba-inc.com/husky/download/husky-1.3.1.tgz", + "integrity": "sha1-JoI+OZMAOIyir/8Rz6ioawAz+uA=", + "requires": { + "cosmiconfig": "^5.0.7", + "execa": "^1.0.0", + "find-up": "^3.0.0", + "get-stdin": "^6.0.0", + "is-ci": "^2.0.0", + "pkg-dir": "^3.0.0", + "please-upgrade-node": "^3.1.1", + "read-pkg": "^4.0.1", + "run-node": "^1.0.0", + "slash": "^2.0.0" + }, + "dependencies": { + "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" + } + }, + "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=" + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ci-info/download/ci-info-2.0.0.tgz", + "integrity": "sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y=" + }, + "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" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/cross-spawn/download/cross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npm.alibaba-inc.com/end-of-stream/download/end-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", + "requires": { + "once": "^1.4.0" + } + }, + "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" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/execa/download/execa-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "requires": { + "locate-path": "^3.0.0" + } + }, + "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-stream": { + "version": "4.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "requires": { + "pump": "^3.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npm.alibaba-inc.com/hosted-git-info/download/hosted-git-info-2.8.5.tgz", + "integrity": "sha1-dZz88sTRVq3lmwst+r3cQqa5xww=" + }, + "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" + } + }, + "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-ci": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-ci/download/is-ci-2.0.0.tgz", + "integrity": "sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw=", + "requires": { + "ci-info": "^2.0.0" + } + }, + "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-stream": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "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" + } + }, + "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=" + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/nice-try/download/nice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=" + }, + "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" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/npm-run-path/download/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "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-finally": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-finally/download/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/p-limit/download/p-limit-2.2.2.tgz", + "integrity": "sha1-YSebZ3IfUoeqHBOpp/u8SMkpGx4=", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=" + }, + "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-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-key": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/path-key/download/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "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=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/pkg-dir/download/pkg-dir-3.0.0.tgz", + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", + "requires": { + "find-up": "^3.0.0" + } + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/please-upgrade-node/download/please-upgrade-node-3.2.0.tgz", + "integrity": "sha1-rt3T+ZTJM+StmLmdmlVu+g4v6UI=", + "requires": { + "semver-compare": "^1.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "read-pkg": { + "version": "4.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/read-pkg/download/read-pkg-4.0.1.tgz", + "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", + "requires": { + "normalize-package-data": "^2.3.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0" + } + }, + "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": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "run-node": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/run-node/download/run-node-1.0.0.tgz", + "integrity": "sha1-RrULlGoqotSUeuHYhumFb9nKvl4=" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/semver-compare/download/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/shebang-command/download/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/shebang-regex/download/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "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=" + }, + "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=" + }, + "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=" + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/strip-eof/download/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "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" + } + }, + "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=" + } + } + }, + "jest": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest/download/jest-23.6.0.tgz", + "integrity": "sha1-rVg16SPr9uGeeh11KaQy7f7ngT0=", + "requires": { + "import-local": "^1.0.0", + "jest-cli": "^23.6.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/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" + }, + "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=" + } + } + }, + "abab": { + "version": "2.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/abab/download/abab-2.0.3.tgz", + "integrity": "sha1-Yj4gdeAustPyR15J+ZyRhGRnkHo=" + }, + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npm.alibaba-inc.com/acorn/download/acorn-5.7.4.tgz", + "integrity": "sha1-Po2KmUfQWZoXltECJddDL0pKz14=" + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npm.alibaba-inc.com/acorn-globals/download/acorn-globals-4.3.4.tgz", + "integrity": "sha1-n6GSat3BHJcwjE5m163Q1Awycuc=", + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npm.alibaba-inc.com/acorn/download/acorn-6.4.1.tgz", + "integrity": "sha1-Ux5Yuj9RudrLmmZGyk3r9bFMpHQ=" + } + } + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/acorn-walk/download/acorn-walk-6.2.0.tgz", + "integrity": "sha1-Ejy487hMIXHx9/slJhWxx4prGow=" + }, + "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-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-escapes/download/ansi-escapes-3.2.0.tgz", + "integrity": "sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-regex/download/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "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" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/anymatch/download/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "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=" + }, + "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=" + }, + "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" + } + } + } + }, + "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": { + "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" + } + }, + "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-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-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" + } + }, + "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=" + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "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=" + }, + "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" + } + } + } + }, + "append-transform": { + "version": "0.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/append-transform/download/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "requires": { + "default-require-extensions": "^1.0.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" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/arr-diff/download/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "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-equal": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/array-equal/download/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/array-unique/download/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/arrify/download/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npm.alibaba-inc.com/asn1/download/asn1-0.2.4.tgz", + "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/assert-plus/download/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "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=" + }, + "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=" + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npm.alibaba-inc.com/async/download/async-2.6.3.tgz", + "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", + "requires": { + "lodash": "^4.17.14" + } + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/async-limiter/download/async-limiter-1.0.1.tgz", + "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/asynckit/download/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npm.alibaba-inc.com/aws-sign2/download/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.9.1", + "resolved": "https://registry.npm.alibaba-inc.com/aws4/download/aws4-1.9.1.tgz", + "integrity": "sha1-fjPY99RJs/ZzzXLeuavcVS2+Uo4=" + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npm.alibaba-inc.com/babel-code-frame/download/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/chalk/download/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/strip-ansi/download/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npm.alibaba-inc.com/babel-core/download/babel-core-6.26.3.tgz", + "integrity": "sha1-suLwnjQtDwyI4vAuBneUEl51wgc=", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npm.alibaba-inc.com/babel-generator/download/babel-generator-6.26.1.tgz", + "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=", + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npm.alibaba-inc.com/babel-helpers/download/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-jest": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/babel-jest/download/babel-jest-23.6.0.tgz", + "integrity": "sha1-pkQjI2ZVeiJAoMCD2msleGGFovE=", + "requires": { + "babel-plugin-istanbul": "^4.1.6", + "babel-preset-jest": "^23.2.0" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npm.alibaba-inc.com/babel-messages/download/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-istanbul": { + "version": "4.1.6", + "resolved": "https://registry.npm.alibaba-inc.com/babel-plugin-istanbul/download/babel-plugin-istanbul-4.1.6.tgz", + "integrity": "sha1-NsWbIZLvzoHFs3gyG3QXWt0cmkU=", + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.10.1", + "test-exclude": "^4.2.1" + } + }, + "babel-plugin-jest-hoist": { + "version": "23.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-23.2.0.tgz", + "integrity": "sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=" + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npm.alibaba-inc.com/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" + }, + "babel-preset-jest": { + "version": "23.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/babel-preset-jest/download/babel-preset-jest-23.2.0.tgz", + "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", + "requires": { + "babel-plugin-jest-hoist": "^23.2.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npm.alibaba-inc.com/babel-register/download/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "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" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npm.alibaba-inc.com/babel-template/download/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npm.alibaba-inc.com/babel-traverse/download/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npm.alibaba-inc.com/babel-types/download/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npm.alibaba-inc.com/babylon/download/babylon-6.18.0.tgz", + "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=" + }, + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "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=" + } + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npm.alibaba-inc.com/bindings/download/bindings-1.5.0.tgz", + "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "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": "1.8.5", + "resolved": "https://registry.npm.alibaba-inc.com/braces/download/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/browser-process-hrtime/download/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY=" + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npm.alibaba-inc.com/browser-resolve/download/browser-resolve-1.11.3.tgz", + "integrity": "sha1-m3y7PQ9RDky4a9vXlhJNKLWJCvY=", + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npm.alibaba-inc.com/resolve/download/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" + } + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/bser/download/bser-2.1.1.tgz", + "integrity": "sha1-5nh9og7OnQeZhTPP2d5vXDj0vAU=", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/buffer-from/download/buffer-from-1.1.1.tgz", + "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=" + }, + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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=" + }, + "capture-exit": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/capture-exit/download/capture-exit-1.2.0.tgz", + "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", + "requires": { + "rsvp": "^3.3.3" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npm.alibaba-inc.com/caseless/download/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "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" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/ci-info/download/ci-info-1.6.0.tgz", + "integrity": "sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc=" + }, + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/cliui/download/cliui-4.1.0.tgz", + "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/co/download/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/code-point-at/download/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "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=" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npm.alibaba-inc.com/combined-stream/download/combined-stream-1.0.8.tgz", + "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npm.alibaba-inc.com/commander/download/commander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", + "optional": true + }, + "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=" + }, + "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" + } + }, + "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": { + "version": "2.6.11", + "resolved": "https://registry.npm.alibaba-inc.com/core-js/download/core-js-2.6.11.tgz", + "integrity": "sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/cross-spawn/download/cross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npm.alibaba-inc.com/cssom/download/cssom-0.3.8.tgz", + "integrity": "sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o=" + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/cssstyle/download/cssstyle-1.4.0.tgz", + "integrity": "sha1-nTEyginTxWXGHlhrAgQaKPzNzPE=", + "requires": { + "cssom": "0.3.x" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npm.alibaba-inc.com/dashdash/download/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/data-urls/download/data-urls-1.1.0.tgz", + "integrity": "sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4=", + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/whatwg-url/download/whatwg-url-7.1.0.tgz", + "integrity": "sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY=", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "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" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/decamelize/download/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "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=" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "default-require-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/default-require-extensions/download/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "requires": { + "strip-bom": "^2.0.0" + } + }, + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "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=" + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/delayed-stream/download/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/detect-indent/download/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "requires": { + "repeating": "^2.0.0" + } + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/detect-newline/download/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=" + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npm.alibaba-inc.com/diff/download/diff-3.5.0.tgz", + "integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=" + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/domexception/download/domexception-1.0.1.tgz", + "integrity": "sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA=", + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npm.alibaba-inc.com/end-of-stream/download/end-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", + "requires": { + "once": "^1.4.0" + } + }, + "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=" + }, + "escodegen": { + "version": "1.14.1", + "resolved": "https://registry.npm.alibaba-inc.com/escodegen/download/escodegen-1.14.1.tgz", + "integrity": "sha1-ugHQyCeLXpWppFNQFCAmZZAnpFc=", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "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=", + "optional": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + }, + "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=" + }, + "exec-sh": { + "version": "0.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/exec-sh/download/exec-sh-0.2.2.tgz", + "integrity": "sha1-Kl5//L19C6J1W97LFuWkJ9+97DY=", + "requires": { + "merge": "^1.2.0" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/execa/download/execa-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/exit/download/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npm.alibaba-inc.com/expand-brackets/download/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npm.alibaba-inc.com/expand-range/download/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "requires": { + "fill-range": "^2.1.0" + } + }, + "expect": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/expect/download/expect-23.6.0.tgz", + "integrity": "sha1-HgyNO6mlgch71x+5vIhi1ENCX5g=", + "requires": { + "ansi-styles": "^3.2.0", + "jest-diff": "^23.6.0", + "jest-get-type": "^22.1.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0" + } + }, + "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": "0.3.2", + "resolved": "https://registry.npm.alibaba-inc.com/extglob/download/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/extsprintf/download/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "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-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=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npm.alibaba-inc.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/fb-watchman/download/fb-watchman-2.0.1.tgz", + "integrity": "sha1-/IT7OdJwnPP/bXQ3BhV7tXCKioU=", + "requires": { + "bser": "2.1.1" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", + "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", + "optional": true + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/filename-regex/download/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + }, + "fileset": { + "version": "2.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/fileset/download/fileset-2.0.3.tgz", + "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "requires": { + "glob": "^7.0.3", + "minimatch": "^3.0.3" + } + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npm.alibaba-inc.com/fill-range/download/fill-range-2.2.4.tgz", + "integrity": "sha1-6x53OrsFbc2N8r/favWbizqTZWU=", + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "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" + } + }, + "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=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npm.alibaba-inc.com/for-own/download/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npm.alibaba-inc.com/forever-agent/download/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npm.alibaba-inc.com/form-data/download/form-data-2.3.3.tgz", + "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "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=" + }, + "fsevents": { + "version": "1.2.11", + "resolved": "https://registry.npm.alibaba-inc.com/fsevents/download/fsevents-1.2.11.tgz", + "integrity": "sha1-Z79X9HWPAu3oj7KhcS/vTRU1i+M=", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.3", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "debug": { + "version": "3.2.6", + "bundled": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.7", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.6", + "bundled": true, + "optional": true, + "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" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.3", + "bundled": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "bundled": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "optional": true + }, + "minipass": { + "version": "2.9.0", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "needle": { + "version": "2.4.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.14.0", + "bundled": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.7", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.7.1", + "bundled": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.7.1", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "4.4.13", + "bundled": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "yallist": { + "version": "3.1.1", + "bundled": true, + "optional": true + } + } + }, + "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=" + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/get-caller-file/download/get-caller-file-1.0.3.tgz", + "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=" + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "requires": { + "pump": "^3.0.0" + } + }, + "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=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npm.alibaba-inc.com/getpass/download/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "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-base": { + "version": "0.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/glob-base/download/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/glob-parent/download/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "requires": { + "is-glob": "^2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npm.alibaba-inc.com/globals/download/globals-9.18.0.tgz", + "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=" + }, + "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=" + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/growly/download/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" + }, + "handlebars": { + "version": "4.7.3", + "resolved": "https://registry.npm.alibaba-inc.com/handlebars/download/handlebars-4.7.3.tgz", + "integrity": "sha1-js4nl4Johs+AgtFyb/IdKgIlUO4=", + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + }, + "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=" + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/har-schema/download/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/har-validator/download/har-validator-5.1.3.tgz", + "integrity": "sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "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-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/has-ansi/download/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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": { + "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" + } + } + } + }, + "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" + } + } + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/home-or-tmp/download/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "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-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/html-encoding-sniffer/download/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg=", + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/http-signature/download/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npm.alibaba-inc.com/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/import-local/download/import-local-1.0.0.tgz", + "integrity": "sha1-Xk/9wD9P5sAJxnKb6yljHC+CJ7w=", + "requires": { + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "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=" + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npm.alibaba-inc.com/invariant/download/invariant-2.2.4.tgz", + "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/invert-kv/download/invert-kv-2.0.0.tgz", + "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=" + }, + "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" + } + }, + "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-ci": { + "version": "1.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/is-ci/download/is-ci-1.2.1.tgz", + "integrity": "sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw=", + "requires": { + "ci-info": "^1.5.0" + } + }, + "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" + } + }, + "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-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-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/is-dotfile/download/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "requires": { + "is-primitive": "^2.0.0" + } + }, + "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": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-extglob/download/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-finite/download/is-finite-1.1.0.tgz", + "integrity": "sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM=" + }, + "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-generator-fn": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-generator-fn/download/is-generator-fn-1.0.0.tgz", + "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/is-glob/download/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-number/download/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-primitive/download/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + }, + "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-stream": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "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-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-typedarray/download/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/is-utf8/download/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "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-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-wsl/download/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "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": "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" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/isstream/download/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "istanbul-api": { + "version": "1.3.7", + "resolved": "https://registry.npm.alibaba-inc.com/istanbul-api/download/istanbul-api-1.3.7.tgz", + "integrity": "sha1-qGx3DSsD4R4/d4zXrt2C0nIgkqo=", + "requires": { + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.2.1", + "istanbul-lib-hook": "^1.2.2", + "istanbul-lib-instrument": "^1.10.2", + "istanbul-lib-report": "^1.1.5", + "istanbul-lib-source-maps": "^1.2.6", + "istanbul-reports": "^1.5.1", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" + } + }, + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/istanbul-lib-coverage/download/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha1-zPftzQoLubj3Kf7rCTBHD5r2ZPA=" + }, + "istanbul-lib-hook": { + "version": "1.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/istanbul-lib-hook/download/istanbul-lib-hook-1.2.2.tgz", + "integrity": "sha1-vGvwfxKmQfvxyFOR0Nqo8K6mv4Y=", + "requires": { + "append-transform": "^0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "https://registry.npm.alibaba-inc.com/istanbul-lib-instrument/download/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha1-H1XtEKw8R/K93dUweTUSZ1TQqco=", + "requires": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" + } + }, + "istanbul-lib-report": { + "version": "1.1.5", + "resolved": "https://registry.npm.alibaba-inc.com/istanbul-lib-report/download/istanbul-lib-report-1.1.5.tgz", + "integrity": "sha1-8qZX/GKC+WFwqvKB6zCkWPf0Fww=", + "requires": { + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/has-flag/download/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npm.alibaba-inc.com/supports-color/download/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.6", + "resolved": "https://registry.npm.alibaba-inc.com/istanbul-lib-source-maps/download/istanbul-lib-source-maps-1.2.6.tgz", + "integrity": "sha1-N7n/ZhWA+PyhEjJ1LuQuCMZnXY8=", + "requires": { + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npm.alibaba-inc.com/debug/download/debug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" + } + } + }, + "istanbul-reports": { + "version": "1.5.1", + "resolved": "https://registry.npm.alibaba-inc.com/istanbul-reports/download/istanbul-reports-1.5.1.tgz", + "integrity": "sha1-l+Tb87UV6MSEyuoV1lJO69P/Tho=", + "requires": { + "handlebars": "^4.0.3" + } + }, + "jest-changed-files": { + "version": "23.4.2", + "resolved": "https://registry.npm.alibaba-inc.com/jest-changed-files/download/jest-changed-files-23.4.2.tgz", + "integrity": "sha1-Hu1og3DNXuuv5K6T00uztklo/oM=", + "requires": { + "throat": "^4.0.0" + } + }, + "jest-cli": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-cli/download/jest-cli-23.6.0.tgz", + "integrity": "sha1-YauRd0Qzj0Q+8rqigt3/3WWKXaQ=", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "import-local": "^1.0.0", + "is-ci": "^1.0.10", + "istanbul-api": "^1.3.1", + "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-instrument": "^1.10.1", + "istanbul-lib-source-maps": "^1.2.4", + "jest-changed-files": "^23.4.2", + "jest-config": "^23.6.0", + "jest-environment-jsdom": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve-dependencies": "^23.6.0", + "jest-runner": "^23.6.0", + "jest-runtime": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "jest-watcher": "^23.4.0", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "node-notifier": "^5.2.1", + "prompts": "^0.1.9", + "realpath-native": "^1.0.0", + "rimraf": "^2.5.4", + "slash": "^1.0.0", + "string-length": "^2.0.0", + "strip-ansi": "^4.0.0", + "which": "^1.2.12", + "yargs": "^11.0.0" + } + }, + "jest-config": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-config/download/jest-config-23.6.0.tgz", + "integrity": "sha1-+CVGqQreLYxwJvv2rFIH/CL46x0=", + "requires": { + "babel-core": "^6.0.0", + "babel-jest": "^23.6.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^23.4.0", + "jest-environment-node": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-jasmine2": "^23.6.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "pretty-format": "^23.6.0" + } + }, + "jest-diff": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-diff/download/jest-diff-23.6.0.tgz", + "integrity": "sha1-FQDz8W6FC7PXEjNAgIm+CZ9hDH0=", + "requires": { + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + } + }, + "jest-docblock": { + "version": "23.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-docblock/download/jest-docblock-23.2.0.tgz", + "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", + "requires": { + "detect-newline": "^2.1.0" + } + }, + "jest-each": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-each/download/jest-each-23.6.0.tgz", + "integrity": "sha1-ugw6gqgFQ4cBYTnHM6BSQtPXFXU=", + "requires": { + "chalk": "^2.0.1", + "pretty-format": "^23.6.0" + } + }, + "jest-environment-jsdom": { + "version": "23.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-environment-jsdom/download/jest-environment-jsdom-23.4.0.tgz", + "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", + "requires": { + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0", + "jsdom": "^11.5.1" + } + }, + "jest-environment-node": { + "version": "23.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-environment-node/download/jest-environment-node-23.4.0.tgz", + "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", + "requires": { + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npm.alibaba-inc.com/jest-get-type/download/jest-get-type-22.4.3.tgz", + "integrity": "sha1-46hQTYR5NC3UQgI2syKGnxiQDOQ=" + }, + "jest-haste-map": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-haste-map/download/jest-haste-map-23.6.0.tgz", + "integrity": "sha1-Lj65l4FMppbWKv2z8lKfW7yTXhY=", + "requires": { + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "invariant": "^2.2.4", + "jest-docblock": "^23.2.0", + "jest-serializer": "^23.0.1", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "sane": "^2.0.0" + } + }, + "jest-jasmine2": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-jasmine2/download/jest-jasmine2-23.6.0.tgz", + "integrity": "sha1-hA6Tf4SKbIY43yQ2CrhpzHGFkuA=", + "requires": { + "babel-traverse": "^6.0.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^23.6.0", + "is-generator-fn": "^1.0.0", + "jest-diff": "^23.6.0", + "jest-each": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "pretty-format": "^23.6.0" + } + }, + "jest-leak-detector": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-leak-detector/download/jest-leak-detector-23.6.0.tgz", + "integrity": "sha1-5CMP1CzzgaGhlxI3rVaJfefhcd4=", + "requires": { + "pretty-format": "^23.6.0" + } + }, + "jest-matcher-utils": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-matcher-utils/download/jest-matcher-utils-23.6.0.tgz", + "integrity": "sha1-cmvOoMUpQmGnQXr7baMYa0uMrIA=", + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + } + }, + "jest-message-util": { + "version": "23.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-message-util/download/jest-message-util-23.4.0.tgz", + "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", + "requires": { + "@babel/code-frame": "^7.0.0-beta.35", + "chalk": "^2.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-mock": { + "version": "23.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-mock/download/jest-mock-23.2.0.tgz", + "integrity": "sha1-rRxg8p6HGdR8JuETgJi20YsmETQ=" + }, + "jest-regex-util": { + "version": "23.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-regex-util/download/jest-regex-util-23.3.0.tgz", + "integrity": "sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U=" + }, + "jest-resolve": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-resolve/download/jest-resolve-23.6.0.tgz", + "integrity": "sha1-zx0aJM5+57I9ZhwzuiFQ866/oK4=", + "requires": { + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "realpath-native": "^1.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-resolve-dependencies/download/jest-resolve-dependencies-23.6.0.tgz", + "integrity": "sha1-tFJq8kyFQNmj+rECwVCBz1Cbcj0=", + "requires": { + "jest-regex-util": "^23.3.0", + "jest-snapshot": "^23.6.0" + } + }, + "jest-runner": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-runner/download/jest-runner-23.6.0.tgz", + "integrity": "sha1-OJS9IZ/8Pzy5TcSKQXCi5vI6Wjg=", + "requires": { + "exit": "^0.1.2", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-docblock": "^23.2.0", + "jest-haste-map": "^23.6.0", + "jest-jasmine2": "^23.6.0", + "jest-leak-detector": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-runtime": "^23.6.0", + "jest-util": "^23.4.0", + "jest-worker": "^23.2.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.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=" + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npm.alibaba-inc.com/source-map-support/download/source-map-support-0.5.16.tgz", + "integrity": "sha1-CuBp5/47p1OMZMmFFeNTOerFoEI=", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "jest-runtime": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-runtime/download/jest-runtime-23.6.0.tgz", + "integrity": "sha1-BZ5YyKtEWRfNDg2ErCumjejyMII=", + "requires": { + "babel-core": "^6.0.0", + "babel-plugin-istanbul": "^4.1.6", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "exit": "^0.1.2", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "realpath-native": "^1.0.0", + "slash": "^1.0.0", + "strip-bom": "3.0.0", + "write-file-atomic": "^2.1.0", + "yargs": "^11.0.0" + }, + "dependencies": { + "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=" + } + } + }, + "jest-serializer": { + "version": "23.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/jest-serializer/download/jest-serializer-23.0.1.tgz", + "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU=" + }, + "jest-snapshot": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-snapshot/download/jest-snapshot-23.6.0.tgz", + "integrity": "sha1-+cJiXRsYrNoB7C0rgmwM5YpaoXo=", + "requires": { + "babel-types": "^6.0.0", + "chalk": "^2.0.1", + "jest-diff": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-resolve": "^23.6.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^23.6.0", + "semver": "^5.5.0" + } + }, + "jest-util": { + "version": "23.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-util/download/jest-util-23.4.0.tgz", + "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", + "requires": { + "callsites": "^2.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "jest-message-util": "^23.4.0", + "mkdirp": "^0.5.1", + "slash": "^1.0.0", + "source-map": "^0.6.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=" + } + } + }, + "jest-validate": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-validate/download/jest-validate-23.6.0.tgz", + "integrity": "sha1-NnYfmdHtM/zUJbTkxVldYrZZdHQ=", + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "leven": "^2.1.0", + "pretty-format": "^23.6.0" + } + }, + "jest-watcher": { + "version": "23.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-watcher/download/jest-watcher-23.4.0.tgz", + "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "string-length": "^2.0.0" + } + }, + "jest-worker": { + "version": "23.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-worker/download/jest-worker-23.2.0.tgz", + "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", + "requires": { + "merge-stream": "^1.0.1" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/js-tokens/download/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "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" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/jsbn/download/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npm.alibaba-inc.com/jsdom/download/jsdom-11.12.0.tgz", + "integrity": "sha1-GoDUDd03ih3lllbp5txaO6hle8g=", + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/jsesc/download/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npm.alibaba-inc.com/json-schema/download/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "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=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npm.alibaba-inc.com/json5/download/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npm.alibaba-inc.com/jsprim/download/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.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" + } + }, + "kleur": { + "version": "2.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/kleur/download/kleur-2.0.2.tgz", + "integrity": "sha1-twT0lE2V4lXQOPDLBfuKYCxVowA=" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/lcid/download/lcid-2.0.0.tgz", + "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/left-pad/download/left-pad-1.3.0.tgz", + "integrity": "sha1-W4o6d2Xf4AEmHd6RVYnngvjJTR4=" + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/leven/download/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/levn/download/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/load-json-file/download/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "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.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npm.alibaba-inc.com/lodash.sortby/download/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "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" + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npm.alibaba-inc.com/makeerror/download/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "requires": { + "tmpl": "1.0.x" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz", + "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=", + "requires": { + "p-defer": "^1.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-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" + } + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/math-random/download/math-random-1.0.4.tgz", + "integrity": "sha1-XdaUPJOFSCZwFtTjTwV1gwgMUUw=" + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/mem/download/mem-4.3.0.tgz", + "integrity": "sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg=", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "merge": { + "version": "1.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/merge/download/merge-1.2.1.tgz", + "integrity": "sha1-OL6/gMMiCopIe2/Ps5QbsRcgwUU=" + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/merge-stream/download/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "requires": { + "readable-stream": "^2.0.1" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npm.alibaba-inc.com/micromatch/download/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npm.alibaba-inc.com/mime-db/download/mime-db-1.43.0.tgz", + "integrity": "sha1-ChLgUCZQ5HPXNVNQUOfI9OtPrlg=" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npm.alibaba-inc.com/mime-types/download/mime-types-2.1.26.tgz", + "integrity": "sha1-nJIfwJt+FJpl39wNpNIJlyALCgY=", + "requires": { + "mime-db": "1.43.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/mimic-fn/download/mimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=" + }, + "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=" + }, + "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.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npm.alibaba-inc.com/nan/download/nan-2.14.0.tgz", + "integrity": "sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw=", + "optional": true + }, + "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" + }, + "dependencies": { + "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=" + }, + "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=" + }, + "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=" + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npm.alibaba-inc.com/neo-async/download/neo-async-2.6.1.tgz", + "integrity": "sha1-rCetpmFn+ohJpq3dg39rGJrSCBw=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/nice-try/download/nice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/node-int64/download/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npm.alibaba-inc.com/node-notifier/download/node-notifier-5.4.3.tgz", + "integrity": "sha1-y3La+UyTkECY4oucWQ/YZuRkvVA=", + "requires": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, + "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-path": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/npm-run-path/download/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/number-is-nan/download/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/nwsapi/download/nwsapi-2.2.0.tgz", + "integrity": "sha1-IEh5qePQaP8qVROcLHcngGgaOLc=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npm.alibaba-inc.com/oauth-sign/download/oauth-sign-0.9.0.tgz", + "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=" + }, + "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" + } + } + } + }, + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha1-Npvx+VktiridcS3O1cuBx8U1Jkk=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/object.omit/download/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npm.alibaba-inc.com/optimist/download/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npm.alibaba-inc.com/optionator/download/optionator-0.8.3.tgz", + "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/os-homedir/download/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/os-locale/download/os-locale-3.1.0.tgz", + "integrity": "sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo=", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-defer/download/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-finally/download/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-is-promise/download/p-is-promise-2.1.0.tgz", + "integrity": "sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4=" + }, + "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-glob": { + "version": "3.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/parse-glob/download/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.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" + } + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/parse5/download/parse5-4.0.0.tgz", + "integrity": "sha1-bXhlbj2o14tOwLkG98CO8d/j9gg=" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/pascalcase/download/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "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-key": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/path-key/download/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "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": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/path-type/download/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/performance-now/download/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/pinkie/download/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "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" + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/pn/download/pn-1.1.0.tgz", + "integrity": "sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs=" + }, + "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=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/prelude-ls/download/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/preserve/download/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/pretty-format/download/pretty-format-23.6.0.tgz", + "integrity": "sha1-XqrI7razO5h7f+YJfqaooUarV2A=", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + } + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npm.alibaba-inc.com/private/download/private-0.1.8.tgz", + "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/process-nextick-args/download/process-nextick-args-2.0.1.tgz", + "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=" + }, + "prompts": { + "version": "0.1.14", + "resolved": "https://registry.npm.alibaba-inc.com/prompts/download/prompts-0.1.14.tgz", + "integrity": "sha1-qOFcYSxcnsj4ERhH3zM3ycvUQ7I=", + "requires": { + "kleur": "^2.0.1", + "sisteransi": "^0.1.1" + } + }, + "psl": { + "version": "1.7.0", + "resolved": "https://registry.npm.alibaba-inc.com/psl/download/psl-1.7.0.tgz", + "integrity": "sha1-8cTEeo75cWfepda79IFtc26ISjw=" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npm.alibaba-inc.com/qs/download/qs-6.5.2.tgz", + "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=" + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/randomatic/download/randomatic-3.1.1.tgz", + "integrity": "sha1-t3bvxZN1mE42xTey9RofCv8Noe0=", + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-number/download/is-number-4.0.0.tgz", + "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=" + }, + "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=" + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/read-pkg/download/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/read-pkg-up/download/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/find-up/download/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/path-exists/download/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.alibaba-inc.com/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/realpath-native/download/realpath-native-1.1.0.tgz", + "integrity": "sha1-IAMpT+oj+wZy8kduviL89Jii1lw=", + "requires": { + "util.promisify": "^1.0.0" + } + }, + "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=" + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npm.alibaba-inc.com/regex-cache/download/regex-cache-0.4.4.tgz", + "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=", + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, + "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" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "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=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/repeating/download/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npm.alibaba-inc.com/request/download/request-2.88.2.tgz", + "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/request-promise-core/download/request-promise-core-1.1.3.tgz", + "integrity": "sha1-6aPAgbUTgN/qZ3M2Bh/qh5qCnuk=", + "requires": { + "lodash": "^4.17.15" + } + }, + "request-promise-native": { + "version": "1.0.8", + "resolved": "https://registry.npm.alibaba-inc.com/request-promise-native/download/request-promise-native-1.0.8.tgz", + "integrity": "sha1-pFW5YLgm5E4r+Jma9k3/K/5YyzY=", + "requires": { + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/require-directory/download/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/require-main-filename/download/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "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-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/resolve-cwd/download/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "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=" + }, + "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.7.1", + "resolved": "https://registry.npm.alibaba-inc.com/rimraf/download/rimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "requires": { + "glob": "^7.1.3" + } + }, + "rsvp": { + "version": "3.6.2", + "resolved": "https://registry.npm.alibaba-inc.com/rsvp/download/rsvp-3.6.2.tgz", + "integrity": "sha1-LpZJFZmpbN4bUV1WdKj3qRRSkmo=" + }, + "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=" + }, + "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" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" + }, + "sane": { + "version": "2.5.2", + "resolved": "https://registry.npm.alibaba-inc.com/sane/download/sane-2.5.2.tgz", + "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", + "requires": { + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" + }, + "dependencies": { + "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=" + }, + "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=" + }, + "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" + } + } + } + }, + "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": { + "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" + } + }, + "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-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-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" + } + }, + "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=" + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "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=" + }, + "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" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npm.alibaba-inc.com/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npm.alibaba-inc.com/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/set-blocking/download/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "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" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/shebang-command/download/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/shebang-regex/download/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/shellwords/download/shellwords-0.1.1.tgz", + "integrity": "sha1-1rkYHBpI05cyTISHHvvPxz/AZUs=" + }, + "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=" + }, + "sisteransi": { + "version": "0.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/sisteransi/download/sisteransi-0.1.1.tgz", + "integrity": "sha1-VDFEfV99FnWqxmfM0LhlpJlMs84=" + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/slash/download/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "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": { + "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" + } + } + } + }, + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "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=" + } + } + }, + "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" + } + }, + "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-support": { + "version": "0.4.18", + "resolved": "https://registry.npm.alibaba-inc.com/source-map-support/download/source-map-support-0.4.18.tgz", + "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=", + "requires": { + "source-map": "^0.5.6" + } + }, + "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=" + }, + "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=" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npm.alibaba-inc.com/sshpk/download/sshpk-1.16.1.tgz", + "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/stack-utils/download/stack-utils-1.0.2.tgz", + "integrity": "sha1-M+ujiXeIVYvr/C2wWdwVjsNs67g=" + }, + "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" + } + } + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/stealthy-require/download/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/string-length/download/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/string-width/download/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "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.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + } + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/strip-bom/download/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/strip-eof/download/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "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" + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npm.alibaba-inc.com/symbol-tree/download/symbol-tree-3.2.4.tgz", + "integrity": "sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I=" + }, + "test-exclude": { + "version": "4.2.3", + "resolved": "https://registry.npm.alibaba-inc.com/test-exclude/download/test-exclude-4.2.3.tgz", + "integrity": "sha1-qaXmRHTkOYM5JFoKdprXwvSpfCA=", + "requires": { + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" + } + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/throat/download/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=" + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/tmpl/download/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/to-fast-properties/download/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "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" + } + }, + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npm.alibaba-inc.com/tough-cookie/download/tough-cookie-2.5.0.tgz", + "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/tr46/download/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "requires": { + "punycode": "^2.1.0" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/trim-right/download/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/tunnel-agent/download/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npm.alibaba-inc.com/tweetnacl/download/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npm.alibaba-inc.com/type-check/download/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "uglify-js": { + "version": "3.8.0", + "resolved": "https://registry.npm.alibaba-inc.com/uglify-js/download/uglify-js-3.8.0.tgz", + "integrity": "sha1-81Qa6XsvBI1+fjqk85/YofXXqAU=", + "optional": true, + "requires": { + "commander": "~2.20.3", + "source-map": "~0.6.1" + }, + "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=", + "optional": true + } + } + }, + "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" + } + }, + "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=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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=" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/util.promisify/download/util.promisify-1.0.1.tgz", + "integrity": "sha1-a693dLgO6w91INi4HQeYKlmruu4=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/uuid/download/uuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=" + }, + "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" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npm.alibaba-inc.com/verror/download/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/w3c-hr-time/download/w3c-hr-time-1.0.2.tgz", + "integrity": "sha1-ConN9cwVgi35w2BUNnaWPgzDCM0=", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npm.alibaba-inc.com/walker/download/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "requires": { + "makeerror": "1.0.x" + } + }, + "watch": { + "version": "0.18.0", + "resolved": "https://registry.npm.alibaba-inc.com/watch/download/watch-0.18.0.tgz", + "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", + "requires": { + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npm.alibaba-inc.com/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" + } + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/webidl-conversions/download/webidl-conversions-4.0.2.tgz", + "integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60=" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz", + "integrity": "sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA=", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78=" + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npm.alibaba-inc.com/whatwg-url/download/whatwg-url-6.5.0.tgz", + "integrity": "sha1-8t8Cv/F2/WUHDfdK1cy7WhmZZag=", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "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" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/which-module/download/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npm.alibaba-inc.com/word-wrap/download/word-wrap-1.2.3.tgz", + "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=" + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/wordwrap/download/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/wrap-ansi/download/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/string-width/download/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/strip-ansi/download/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^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-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npm.alibaba-inc.com/write-file-atomic/download/write-file-atomic-2.4.3.tgz", + "integrity": "sha1-H9Lprh3z51uNjDZ0Q8aS1MqB9IE=", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/ws/download/ws-5.2.2.tgz", + "integrity": "sha1-3/7xSGa46NyRM1glFNG++vlumA8=", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/xml-name-validator/download/xml-name-validator-3.0.0.tgz", + "integrity": "sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/y18n/download/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yargs": { + "version": "11.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/yargs/download/yargs-11.1.1.tgz", + "integrity": "sha1-UFLv40RqTfXtZpyZWIbMDxNwJ2Y=", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/yargs-parser/download/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "lint-staged": { + "version": "7.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/lint-staged/download/lint-staged-7.3.0.tgz", + "integrity": "sha1-kP8z5cph7T26w1tvZQLb79wNtY0=", + "requires": { + "chalk": "^2.3.1", + "commander": "^2.14.1", + "cosmiconfig": "^5.0.2", + "debug": "^3.1.0", + "dedent": "^0.7.0", + "execa": "^0.9.0", + "find-parent-dir": "^0.3.0", + "is-glob": "^4.0.0", + "is-windows": "^1.0.2", + "jest-validate": "^23.5.0", + "listr": "^0.14.1", + "lodash": "^4.17.5", + "log-symbols": "^2.2.0", + "micromatch": "^3.1.8", + "npm-which": "^3.0.1", + "p-map": "^1.1.1", + "path-is-inside": "^1.0.2", + "pify": "^3.0.0", + "please-upgrade-node": "^3.0.2", + "staged-git-files": "1.1.1", + "string-argv": "^0.0.2", + "stringify-object": "^3.2.2" + }, + "dependencies": { + "@samverschueren/stream-to-observable": { + "version": "0.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/@samverschueren/stream-to-observable/download/@samverschueren/stream-to-observable-0.3.0.tgz", + "integrity": "sha1-7N9I1TLFjqR3rPyrgDSEJPjQZi8=", + "requires": { + "any-observable": "^0.3.0" + } + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-escapes/download/ansi-escapes-3.2.0.tgz", + "integrity": "sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=" + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "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" + } + }, + "any-observable": { + "version": "0.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/any-observable/download/any-observable-0.3.0.tgz", + "integrity": "sha1-r5M0deWAamfQ198JDdXovvZdEZs=" + }, + "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" + } + }, + "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-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=" + }, + "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=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=" + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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" + } + }, + "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=" + }, + "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" + } + }, + "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" + } + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/cli-cursor/download/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/cli-truncate/download/cli-truncate-0.2.1.tgz", + "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", + "requires": { + "slice-ansi": "0.0.4", + "string-width": "^1.0.1" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/code-point-at/download/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "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=" + }, + "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=" + }, + "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=" + }, + "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" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/cross-spawn/download/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npm.alibaba-inc.com/date-fns/download/date-fns-1.30.1.tgz", + "integrity": "sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw=" + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npm.alibaba-inc.com/debug/download/debug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "requires": { + "ms": "^2.1.1" + } + }, + "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=" + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npm.alibaba-inc.com/dedent/download/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" + }, + "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" + } + } + } + }, + "elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/elegant-spinner/download/elegant-spinner-1.0.1.tgz", + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=" + }, + "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" + } + }, + "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=" + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + }, + "execa": { + "version": "0.9.0", + "resolved": "https://registry.npm.alibaba-inc.com/execa/download/execa-0.9.0.tgz", + "integrity": "sha1-rbfOYs+YUHH2BYDetKiLnjRxLQE=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "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-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" + } + } + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npm.alibaba-inc.com/figures/download/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "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-parent-dir": { + "version": "0.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/find-parent-dir/download/find-parent-dir-0.3.0.tgz", + "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=" + }, + "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" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha1-tf3nfyLL4185C04ImSLFC85u9mQ=" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/get-stream/download/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "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=" + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/has-ansi/download/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-regex/download/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } + } + }, + "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-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" + } + } + } + }, + "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" + } + }, + "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=" + }, + "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-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-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-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": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "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-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-observable": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-observable/download/is-observable-1.1.0.tgz", + "integrity": "sha1-s+mGyPRN6VCGfKtUA/WjRlAFl14=", + "requires": { + "symbol-observable": "^1.1.0" + } + }, + "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-promise": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-promise/download/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "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-stream": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "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=" + }, + "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=" + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npm.alibaba-inc.com/jest-get-type/download/jest-get-type-22.4.3.tgz", + "integrity": "sha1-46hQTYR5NC3UQgI2syKGnxiQDOQ=" + }, + "jest-validate": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/jest-validate/download/jest-validate-23.6.0.tgz", + "integrity": "sha1-NnYfmdHtM/zUJbTkxVldYrZZdHQ=", + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "leven": "^2.1.0", + "pretty-format": "^23.6.0" + } + }, + "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" + } + }, + "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=" + }, + "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=" + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/leven/download/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=" + }, + "listr": { + "version": "0.14.3", + "resolved": "https://registry.npm.alibaba-inc.com/listr/download/listr-0.14.3.tgz", + "integrity": "sha1-L+qQlgTkNL5GTFC926DUlpKPpYY=", + "requires": { + "@samverschueren/stream-to-observable": "^0.3.0", + "is-observable": "^1.1.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.5.0", + "listr-verbose-renderer": "^0.5.0", + "p-map": "^2.0.0", + "rxjs": "^6.3.3" + }, + "dependencies": { + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-map/download/p-map-2.1.0.tgz", + "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=" + } + } + }, + "listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/listr-silent-renderer/download/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=" + }, + "listr-update-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npm.alibaba-inc.com/listr-update-renderer/download/listr-update-renderer-0.5.0.tgz", + "integrity": "sha1-Tqg2hUinuK7LfgbYyVy0WuLt5qI=", + "requires": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "elegant-spinner": "^1.0.1", + "figures": "^1.7.0", + "indent-string": "^3.0.0", + "log-symbols": "^1.0.2", + "log-update": "^2.3.0", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/chalk/download/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/log-symbols/download/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "requires": { + "chalk": "^1.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "listr-verbose-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npm.alibaba-inc.com/listr-verbose-renderer/download/listr-verbose-renderer-0.5.0.tgz", + "integrity": "sha1-8RMhZ1NepMEmEQK58o2sfLoeA9s=", + "requires": { + "chalk": "^2.4.1", + "cli-cursor": "^2.1.0", + "date-fns": "^1.27.2", + "figures": "^2.0.0" + }, + "dependencies": { + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/figures/download/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "^1.0.5" + } + } + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npm.alibaba-inc.com/lodash/download/lodash-4.17.15.tgz", + "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=" + }, + "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" + } + }, + "log-update": { + "version": "2.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/log-update/download/log-update-2.3.0.tgz", + "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", + "requires": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.alibaba-inc.com/lru-cache/download/lru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "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-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" + } + }, + "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" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/mimic-fn/download/mimic-fn-1.2.0.tgz", + "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=" + }, + "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" + } + } + } + }, + "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" + } + }, + "npm-path": { + "version": "2.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/npm-path/download/npm-path-2.0.4.tgz", + "integrity": "sha1-xkE0el/51qCeTZvOVYDE9QUnjmQ=", + "requires": { + "which": "^1.2.10" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/npm-run-path/download/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "npm-which": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/npm-which/download/npm-which-3.0.1.tgz", + "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=", + "requires": { + "commander": "^2.9.0", + "npm-path": "^2.0.2", + "which": "^1.2.10" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/number-is-nan/download/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "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-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.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" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/onetime/download/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-finally/download/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-map/download/p-map-1.2.0.tgz", + "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=" + }, + "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" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/pascalcase/download/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/path-is-inside/download/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/path-key/download/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/please-upgrade-node/download/please-upgrade-node-3.2.0.tgz", + "integrity": "sha1-rt3T+ZTJM+StmLmdmlVu+g4v6UI=", + "requires": { + "semver-compare": "^1.0.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=" + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/pretty-format/download/pretty-format-23.6.0.tgz", + "integrity": "sha1-XqrI7razO5h7f+YJfqaooUarV2A=", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/pseudomap/download/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "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" + } + }, + "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=" + }, + "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=" + }, + "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=" + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/restore-cursor/download/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npm.alibaba-inc.com/ret/download/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=" + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npm.alibaba-inc.com/rxjs/download/rxjs-6.5.4.tgz", + "integrity": "sha1-4Hd/4NGEzseHLfFH8wNXLUFOIRw=", + "requires": { + "tslib": "^1.9.0" + } + }, + "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-compare": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/semver-compare/download/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" + }, + "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" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/shebang-command/download/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/shebang-regex/download/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "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=" + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npm.alibaba-inc.com/slice-ansi/download/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=" + }, + "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=" + }, + "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=" + }, + "staged-git-files": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/staged-git-files/download/staged-git-files-1.1.1.tgz", + "integrity": "sha1-N8IhjvDW0mF4sTEHGTCaFqWfj3s=" + }, + "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-argv": { + "version": "0.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/string-argv/download/string-argv-0.0.2.tgz", + "integrity": "sha1-2sMECGkMIfPDYwo/86BYd73L1zY=" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/string-width/download/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/stringify-object/download/stringify-object-3.3.0.tgz", + "integrity": "sha1-cDBlrvyhkwDTzoivT1s5VtdVZik=", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/strip-ansi/download/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-regex/download/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/strip-eof/download/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "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" + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/symbol-observable/download/symbol-observable-1.2.0.tgz", + "integrity": "sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ=" + }, + "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" + } + }, + "tslib": { + "version": "1.11.0", + "resolved": "https://registry.npm.alibaba-inc.com/tslib/download/tslib-1.11.0.tgz", + "integrity": "sha1-8fNSgwFiGlMiDVg3OuUQ/3R6Zrw=" + }, + "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" + } + }, + "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=" + } + } + }, + "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=" + }, + "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" + } + }, + "wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/wrap-ansi/download/wrap-ansi-3.0.1.tgz", + "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "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=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/string-width/download/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npm.alibaba-inc.com/prettier/download/prettier-1.19.1.tgz", + "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=" + }, + "ts-node": { + "version": "8.6.2", + "resolved": "https://registry.npm.alibaba-inc.com/ts-node/download/ts-node-8.6.2.tgz", + "integrity": "sha1-dBmgE5GoGPuvpvgmozwaE+lGTjU=", + "requires": { + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.6", + "yn": "3.1.1" + }, + "dependencies": { + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/arg/download/arg-4.1.3.tgz", + "integrity": "sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/buffer-from/download/buffer-from-1.1.1.tgz", + "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=" + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/diff/download/diff-4.0.2.tgz", + "integrity": "sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0=" + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npm.alibaba-inc.com/make-error/download/make-error-1.3.6.tgz", + "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I=" + }, + "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=" + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npm.alibaba-inc.com/source-map-support/download/source-map-support-0.5.16.tgz", + "integrity": "sha1-CuBp5/47p1OMZMmFFeNTOerFoEI=", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/yn/download/yn-3.1.1.tgz", + "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A=" + } + } + }, + "typescript": { + "version": "3.8.2", + "resolved": "https://registry.npm.alibaba-inc.com/typescript/download/typescript-3.8.2.tgz", + "integrity": "sha1-kdaGiq6tfadPSTxVOu/3bAwLHVo=" + } + } +} diff --git a/packages/editor-framework/package-lock.json b/packages/editor-framework/package-lock.json new file mode 100644 index 000000000..e714d5596 --- /dev/null +++ b/packages/editor-framework/package-lock.json @@ -0,0 +1,4097 @@ +{ + "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" + } + } + } + }, + "@types/react": { + "version": "16.9.23", + "resolved": "https://registry.npm.alibaba-inc.com/@types/react/download/@types/react-16.9.23.tgz", + "integrity": "sha1-GmbG1Gi6EaiUOtlYqMs+c3VoJxw=", + "requires": { + "@types/prop-types": "*", + "csstype": "^2.2.0" + }, + "dependencies": { + "@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npm.alibaba-inc.com/@types/prop-types/download/@types/prop-types-15.7.3.tgz", + "integrity": "sha1-KrDV2i5YFflLC51LldHl8kOrLKc=" + }, + "csstype": { + "version": "2.6.9", + "resolved": "https://registry.npm.alibaba-inc.com/csstype/download/csstype-2.6.9.tgz", + "integrity": "sha1-BRQdDNVXpWuIkTlMGRHEDIqY0Jg=" + } + } + }, + "@types/react-dom": { + "version": "16.9.5", + "resolved": "https://registry.npm.alibaba-inc.com/@types/react-dom/download/@types/react-dom-16.9.5.tgz", + "integrity": "sha1-XeYQsEo10H/9j0TtrZOnEDLZqqc=", + "requires": { + "@types/react": "*" + } + }, + "intl-messageformat": { + "version": "7.8.4", + "resolved": "https://registry.npm.alibaba-inc.com/intl-messageformat/download/intl-messageformat-7.8.4.tgz", + "integrity": "sha1-wpFGoGuc0mZil4pNlf/ysTPjZC8=", + "requires": { + "intl-format-cache": "^4.2.21", + "intl-messageformat-parser": "^3.6.4" + }, + "dependencies": { + "@formatjs/intl-unified-numberformat": { + "version": "3.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/@formatjs/intl-unified-numberformat/download/@formatjs/intl-unified-numberformat-3.2.0.tgz", + "integrity": "sha1-UZeYfmG6CXKIkQXlJfHL5tkc9G8=", + "requires": { + "@formatjs/intl-utils": "^2.2.0" + } + }, + "@formatjs/intl-utils": { + "version": "2.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/@formatjs/intl-utils/download/@formatjs/intl-utils-2.2.0.tgz", + "integrity": "sha1-um4S/mT/f9FgvjkgB8R9JLeuXHU=" + }, + "intl-format-cache": { + "version": "4.2.21", + "resolved": "https://registry.npm.alibaba-inc.com/intl-format-cache/download/intl-format-cache-4.2.21.tgz", + "integrity": "sha1-2OC9/DV0SPSNwatEZw3GShmyT1E=" + }, + "intl-messageformat-parser": { + "version": "3.6.4", + "resolved": "https://registry.npm.alibaba-inc.com/intl-messageformat-parser/download/intl-messageformat-parser-3.6.4.tgz", + "integrity": "sha1-UZnRBtgWw92ibuBpQ2Kpz4I5ePs=", + "requires": { + "@formatjs/intl-unified-numberformat": "^3.2.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" + } + } + } + } + } +} diff --git a/packages/editor-skeleton/package-lock.json b/packages/editor-skeleton/package-lock.json new file mode 100644 index 000000000..3422fc790 --- /dev/null +++ b/packages/editor-skeleton/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/editor/package-lock.json b/packages/editor/package-lock.json new file mode 100644 index 000000000..7a2de83d7 --- /dev/null +++ b/packages/editor/package-lock.json @@ -0,0 +1,4386 @@ +{ + "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": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/@ice/spec/download/@ice/spec-1.0.1.tgz", + "integrity": "sha1-tlZSiJ7CdUwYnO1f8VuAbdtiK7M=", + "requires": { + "@commitlint/config-conventional": "^8.1.0", + "@typescript-eslint/eslint-plugin": "^2.20.0", + "@typescript-eslint/parser": "^2.20.0", + "babel-eslint": "^10.0.2", + "eslint-config-airbnb": "^18.0.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": "^2.4.0", + "stylelint-config-css-modules": "^2.2.0", + "stylelint-config-prettier": "^8.0.1", + "stylelint-config-rational-order": "^0.1.2", + "stylelint-config-standard": "^20.0.0", + "stylelint-order": "^4.0.0", + "stylelint-scss": "^3.14.2" + }, + "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" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" + } + } + }, + "@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": "2.24.0", + "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-2.24.0.tgz", + "integrity": "sha1-qGz2GMllpGLN3zYB9ZRUSxNNbWg=", + "requires": { + "@typescript-eslint/experimental-utils": "2.24.0", + "eslint-utils": "^1.4.3", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "2.24.0", + "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-2.24.0.tgz", + "integrity": "sha1-pcsu2J/t+LWWONyDSE6wyMNeEUM=", + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.24.0", + "eslint-scope": "^5.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "2.24.0", + "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/parser/download/@typescript-eslint/parser-2.24.0.tgz", + "integrity": "sha1-LPDq5ubdRNFiSGrZScEmuIfxHrg=", + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.24.0", + "@typescript-eslint/typescript-estree": "2.24.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.24.0", + "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-2.24.0.tgz", + "integrity": "sha1-OLvIu0eXkNLzJHl/+82zRtiXxio=", + "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^6.3.0", + "tsutils": "^3.17.1" + } + }, + "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": "18.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-config-airbnb/download/eslint-config-airbnb-18.1.0.tgz", + "integrity": "sha1-ck1+k9rdIWlJL/U2PFqqd54BJX0=", + "requires": { + "eslint-config-airbnb-base": "^14.1.0", + "object.assign": "^4.1.0", + "object.entries": "^1.1.1" + } + }, + "eslint-config-airbnb-base": { + "version": "14.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-config-airbnb-base/download/eslint-config-airbnb-base-14.1.0.tgz", + "integrity": "sha1-K6RZLdaEMlgiHZv/K2gxvXfIdOQ=", + "requires": { + "confusing-browser-globals": "^1.0.9", + "object.assign": "^4.1.0", + "object.entries": "^1.1.1" + } + }, + "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" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "2.5.0", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-2.5.0.tgz", + "integrity": "sha1-xQq3yllFzm0c+CSNnhhcgLVBcbY=" + }, + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-scope/download/eslint-scope-5.0.0.tgz", + "integrity": "sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=", + "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=" + }, + "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" + } + }, + "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" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" + } + } + }, + "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": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/regexpp/download/regexpp-3.0.0.tgz", + "integrity": "sha1-3WOYLuMwDme0HBlW+FCqaA2dMw4=" + }, + "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": "6.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" + }, + "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": "2.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint-config-css-modules/download/stylelint-config-css-modules-2.2.0.tgz", + "integrity": "sha1-jtKlSxvfY3IZ43ze6hlQQF/QIv8=" + }, + "stylelint-config-prettier": { + "version": "8.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint-config-prettier/download/stylelint-config-prettier-8.0.1.tgz", + "integrity": "sha1-7Hzdf6q6/1Lr+lbCj+09mV67jKs=" + }, + "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": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint-config-recommended/download/stylelint-config-recommended-3.0.0.tgz", + "integrity": "sha1-4OVHQ0AWxVOf4mUK/VgEmi/R1lc=" + }, + "stylelint-config-standard": { + "version": "20.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint-config-standard/download/stylelint-config-standard-20.0.0.tgz", + "integrity": "sha1-BhNQkMngZL7+49WUKJ9Q4pW14g0=", + "requires": { + "stylelint-config-recommended": "^3.0.0" + } + }, + "stylelint-order": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/stylelint-order/download/stylelint-order-4.0.0.tgz", + "integrity": "sha1-KpRcIZjKrD/0RofXyFgsgdBEtVY=", + "requires": { + "lodash": "^4.17.15", + "postcss": "^7.0.26", + "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" + } + } + } + }, + "husky": { + "version": "4.2.3", + "resolved": "https://registry.npm.alibaba-inc.com/husky/download/husky-4.2.3.tgz", + "integrity": "sha1-OxjS7l/r6Z4n8pg1ACAtr/vDFR4=", + "requires": { + "chalk": "^3.0.0", + "ci-info": "^2.0.0", + "compare-versions": "^3.5.1", + "cosmiconfig": "^6.0.0", + "find-versions": "^3.2.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^4.2.0", + "please-upgrade-node": "^3.2.0", + "slash": "^3.0.0", + "which-pm-runs": "^1.0.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/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" + }, + "dependencies": { + "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" + } + }, + "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" + } + }, + "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=" + }, + "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=" + }, + "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" + } + } + } + }, + "@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" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/@types/color-name/download/@types/color-name-1.1.1.tgz", + "integrity": "sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA=" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/@types/parse-json/download/@types/parse-json-4.0.0.tgz", + "integrity": "sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA=" + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-styles/download/ansi-styles-4.2.1.tgz", + "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/callsites/download/callsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=" + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/chalk/download/chalk-3.0.0.tgz", + "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ci-info/download/ci-info-2.0.0.tgz", + "integrity": "sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y=" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" + }, + "compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npm.alibaba-inc.com/compare-versions/download/compare-versions-3.6.0.tgz", + "integrity": "sha1-GlaJkTaF5ah2N7jT/8p1UU7EHWI=" + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/cosmiconfig/download/cosmiconfig-6.0.0.tgz", + "integrity": "sha1-2k/uhTxS9rHmk19BwaL8UL1KmYI=", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "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" + } + }, + "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=" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/esutils/download/esutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/find-up/download/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "find-versions": { + "version": "3.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/find-versions/download/find-versions-3.2.0.tgz", + "integrity": "sha1-ECl/mAMKeGgpaBaQVF72We0dJU4=", + "requires": { + "semver-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/import-fresh/download/import-fresh-3.2.1.tgz", + "integrity": "sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY=", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.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=" + }, + "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=" + }, + "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=" + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npm.alibaba-inc.com/lines-and-columns/download/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/locate-path/download/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "requires": { + "p-locate": "^4.1.0" + } + }, + "opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/opencollective-postinstall/download/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha1-Vlfxvt5ptuM6RZObBh61PTxsOok=" + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npm.alibaba-inc.com/p-limit/download/p-limit-2.2.2.tgz", + "integrity": "sha1-YSebZ3IfUoeqHBOpp/u8SMkpGx4=", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-locate/download/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/parent-module/download/parent-module-1.0.1.tgz", + "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/parse-json/download/parse-json-5.0.0.tgz", + "integrity": "sha1-c+URTJhtFD76NxLU6iTbmkJm9g8=", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/path-exists/download/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/path-type/download/path-type-4.0.0.tgz", + "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=" + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/pkg-dir/download/pkg-dir-4.2.0.tgz", + "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", + "requires": { + "find-up": "^4.0.0" + } + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/please-upgrade-node/download/please-upgrade-node-3.2.0.tgz", + "integrity": "sha1-rt3T+ZTJM+StmLmdmlVu+g4v6UI=", + "requires": { + "semver-compare": "^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-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=" + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/semver-compare/download/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" + }, + "semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/semver-regex/download/semver-regex-2.0.0.tgz", + "integrity": "sha1-qTwsWERTmncCMzeRB7OMe0rJ0zg=" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/slash/download/slash-3.0.0.tgz", + "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=" + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/supports-color/download/supports-color-7.1.0.tgz", + "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", + "requires": { + "has-flag": "^4.0.0" + } + }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/which-pm-runs/download/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=" + }, + "yaml": { + "version": "1.8.2", + "resolved": "https://registry.npm.alibaba-inc.com/yaml/download/yaml-1.8.2.tgz", + "integrity": "sha1-opwD9Xj6r9V9yycFX5pdVpyww9k=", + "requires": { + "@babel/runtime": "^7.8.7" + } + } + } + }, + "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" + } + } + } + } + } +} diff --git a/packages/material-parser/README.md b/packages/material-parser/README.md index e84288635..0dc4193c4 100644 --- a/packages/material-parser/README.md +++ b/packages/material-parser/README.md @@ -1 +1,4 @@ -入料模块 +# @ali/lowcode-engine-material-parser +> 入料模块 + + diff --git a/packages/material-parser/package.json b/packages/material-parser/package.json new file mode 100644 index 000000000..068a7fed4 --- /dev/null +++ b/packages/material-parser/package.json @@ -0,0 +1,57 @@ +{ + "name": "@ali/lowcode-engine-material-parser", + "version": "0.1.0", + "description": "material parser for Ali lowCode engine", + "main": "lib/index.js", + "files": [ + "lib", + "schemas" + ], + "devDependencies": { + "@types/debug": "^4.1.5", + "@types/fs-extra": "^8.0.1", + "@types/js-yaml": "^3.12.2", + "@types/lodash": "^4.14.149", + "@types/semver": "^7.1.0", + "ajv": "^6.10.2", + "better-ajv-errors": "^0.6.4", + "globby": "^10.0.1", + "jest": "^24.8.0", + "jest-watch-typeahead": "^0.3.1", + "js-yaml": "^3.13.1", + "json-schema-to-typescript": "^8.2.0" + }, + "scripts": { + "build": "tsc", + "prebuild": "npm run schema", + "test": "ava", + "test:snapshot": "ava --update-snapshots", + "schema": "node ./scripts/transform.js" + }, + "ava": { + "snapshotDir": "test/fixtures/__snapshots__", + "extensions": [ + "ts" + ], + "require": [ + "ts-node/register" + ], + "include": [ + "test/generator/Generator.ts" + ] + }, + "license": "MIT", + "dependencies": { + "@babel/generator": "^7.8.4", + "@babel/parser": "^7.8.4", + "@babel/traverse": "^7.8.4", + "@babel/types": "^7.8.3", + "cross-spawn-promise": "^0.10.2", + "debug": "^4.1.1", + "fs-extra": "^8.1.0", + "lodash": "^4.17.15", + "react-docgen": "^5.3.0", + "semver": "^7.1.3", + "short-uuid": "^3.1.1" + } +} diff --git a/packages/material-parser/schemas/schema.json b/packages/material-parser/schemas/schema.json new file mode 100644 index 000000000..7a5469a10 --- /dev/null +++ b/packages/material-parser/schemas/schema.json @@ -0,0 +1,537 @@ +{ + "$id": "@ali/low-code-component-protocol-schema", + "description": "json schema for low code component protocol", + "allOf": [ + { + "$ref": "#/definitions/BasicSection" + }, + { + "$ref": "#/definitions/PropsSection" + }, + { + "$ref": "#/definitions/ConfigureSection" + } + ], + "definitions": { + "BasicSection": { + "type": "object", + "properties": { + "componentName": { + "type": "string" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "docUrl": { + "type": "string" + }, + "screenshot": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "devMode": { + "enum": [ + "proCode", + "lowCode" + ] + }, + "npm": { + "$ref": "#/definitions/Npm" + } + }, + "required": [ + "componentName", + "title", + "npm", + "docUrl", + "screenshot" + ] + }, + "PropsSection": { + "type": "object", + "properties": { + "props": { + "type": "array", + "items": { + "properties": { + "name": { + "type": "string" + }, + "propType": { + "$ref": "#/definitions/PropType" + }, + "description": { + "type": "string" + }, + "defaultValue": {} + }, + "required": [ + "name", + "propType" + ] + } + } + } + }, + "ConfigureSection": { + "type": "object", + "properties": { + "configure": { + "type": "object", + "properties": { + "props": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigureProp" + } + }, + "styles": { + "type": "object", + "properties": {} + }, + "events": { + "type": "object", + "properties": {} + }, + "component": { + "$ref": "#/definitions/ConfigureComponent" + } + } + } + } + }, + "Npm": { + "type": "object", + "properties": { + "package": { + "type": "string" + }, + "exportName": { + "type": "string" + }, + "subName": { + "type": "string" + }, + "main": { + "type": "string" + }, + "destructuring": { + "type": "boolean" + }, + "version": { + "type": "string" + } + }, + "required": [ + "package", + "exportName", + "subName", + "main", + "destructuring", + "version" + ] + }, + "PropType": { + "oneOf": [ + { + "$ref": "#/definitions/BasicType" + }, + { + "$ref": "#/definitions/RequiredType" + }, + { + "$ref": "#/definitions/ComplexType" + } + ] + }, + "BasicType": { + "type": "string", + "enum": [ + "array", + "bool", + "func", + "number", + "object", + "string", + "node", + "element", + "any" + ] + }, + "RequiredType": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/BasicType" + }, + "isRequired": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "type" + ] + }, + "ComplexType": { + "oneOf": [ + { + "$ref": "#/definitions/OneOf" + }, + { + "$ref": "#/definitions/OneOfType" + }, + { + "$ref": "#/definitions/ArrayOf" + }, + { + "$ref": "#/definitions/ObjectOf" + }, + { + "$ref": "#/definitions/Shape" + }, + { + "$ref": "#/definitions/Exact" + } + ] + }, + "OneOf": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "oneOf" + ] + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + }, + "isRequired": { + "type": "boolean" + } + } + }, + "OneOfType": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "oneOfType" + ] + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PropType" + } + }, + "isRequired": { + "type": "boolean" + } + } + }, + "ArrayOf": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "arrayOf" + ] + }, + "value": { + "$ref": "#/definitions/PropType" + }, + "isRequired": { + "type": "boolean" + } + } + }, + "ObjectOf": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "objectOf" + ] + }, + "value": { + "$ref": "#/definitions/PropType" + }, + "isRequired": { + "type": "boolean" + } + } + }, + "Shape": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "shape" + ] + }, + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "propType": { + "$ref": "#/definitions/PropType" + } + }, + "additionalProperties": false + } + }, + "isRequired": { + "type": "boolean" + } + } + }, + "ShapeItem": { + "type": "object", + "required": [ + "name", + "propType" + ], + "properties": { + "name": { + "type": "string" + }, + "propType": { + "$ref": "#/definitions/PropType" + }, + "isRequired": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "Exact": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "exact" + ] + }, + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "propType": { + "$ref": "#/definitions/PropType" + } + }, + "additionalProperties": false + } + }, + "isRequired": { + "type": "boolean" + } + } + }, + "ConfigureProp": { + "type": "object", + "allOf": [ + { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "extraProps": { + "type": "object", + "properties": {} + } + } + }, + { + "oneOf": [ + { + "$ref": "#/definitions/ConfigureFieldProp" + }, + { + "$ref": "#/definitions/ConfigureGroupProp" + } + ] + } + ] + }, + "ConfigureFieldProp": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "field" + ] + }, + "name": { + "type": "string" + }, + "setter": { + "$ref": "#/definitions/ConfigureFieldSetter" + } + } + }, + "ConfigureFieldSetter": { + "type": "object", + "required": [ + "componentName" + ], + "properties": { + "componentName": { + "type": "string", + "enum": [ + "List", + "Object", + "Function", + "Node", + "Mixin", + "Expression", + "Switch", + "Number", + "Input", + "TextArea", + "Date", + "DateYear", + "DateMonth", + "DateRange", + "ColorPicker", + "CodeEditor", + "Select", + "RadioGroup" + ] + }, + "props": { + "type": "object", + "properties": {} + } + } + }, + "ConfigureGroupProp": { + "type": "object", + "required": [ + "type", + "items" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "group" + ] + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigureProp" + } + } + } + }, + "ConfigureComponent": { + "type": "object", + "properties": { + "isContainer": { + "type": "boolean" + }, + "isModal": { + "type": "boolean" + }, + "descriptor": { + "type": "string" + }, + "nestingRule": { + "type": "object", + "properties": { + "childWhitelist": { + "type": "array", + "items": { + "type": "string" + } + }, + "parentWhitelist": { + "type": "array", + "items": { + "type": "string" + } + }, + "descendantBlacklist": { + "type": "array", + "items": { + "type": "string" + } + }, + "ancestorWhitelist": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "isNullNode": { + "type": "boolean" + }, + "isLayout": { + "type": "boolean" + } + } + } + } +} \ No newline at end of file diff --git a/packages/material-parser/schemas/schema.yml b/packages/material-parser/schemas/schema.yml new file mode 100644 index 000000000..71d2f8ec0 --- /dev/null +++ b/packages/material-parser/schemas/schema.yml @@ -0,0 +1,351 @@ +$id: "@ali/low-code-component-protocol-schema" +description: json schema for low code component protocol +allOf: + - $ref: "#/definitions/BasicSection" + - $ref: "#/definitions/PropsSection" + - $ref: "#/definitions/ConfigureSection" +definitions: + BasicSection: + type: object + properties: + componentName: + type: string + title: + type: string + description: + type: string + docUrl: + type: string + screenshot: + type: string + icon: + type: string + tags: + type: array + items: + type: string + devMode: + enum: + - proCode + - lowCode + npm: + $ref: "#/definitions/Npm" + required: + - componentName + - title + - npm + PropsSection: + type: object + required: + - props + properties: + props: + type: array + items: + properties: + name: + type: string + propType: + $ref: "#/definitions/PropType" + description: + type: string + defaultValue: {} + required: + - name + - propType + ConfigureSection: + type: object + properties: + configure: + type: object + properties: + props: + type: array + items: + $ref: "#/definitions/ConfigureProp" + styles: + type: object + properties: {} + events: + type: object + properties: {} + component: + $ref: "#/definitions/ConfigureComponent" + Npm: + type: object + properties: + package: + type: string + exportName: + type: string + subName: + type: string + main: + type: string + destructuring: + type: boolean + version: + type: string + required: + - package + - exportName + - subName + - main + - destructuring + - version + PropType: + oneOf: + - $ref: "#/definitions/BasicType" + - $ref: "#/definitions/RequiredType" + - $ref: "#/definitions/ComplexType" + BasicType: + type: string + enum: + - array + - bool + - func + - number + - object + - string + - node + - element + - any + RequiredType: + type: object + properties: + type: + $ref: "#/definitions/BasicType" + isRequired: + type: boolean + additionalProperties: false + required: + - type + ComplexType: + oneOf: + - $ref: "#/definitions/OneOf" + - $ref: "#/definitions/OneOfType" + - $ref: "#/definitions/ArrayOf" + - $ref: "#/definitions/ObjectOf" + - $ref: "#/definitions/Shape" + - $ref: "#/definitions/Exact" + OneOf: + type: object + required: + - type + - value + properties: + type: + type: string + enum: + - oneOf + value: + type: array + items: + oneOf: + - type: string + - type: number + - type: boolean + isRequired: + type: boolean + OneOfType: + type: object + required: + - type + - value + properties: + type: + type: string + enum: + - oneOfType + value: + type: array + items: + $ref: "#/definitions/PropType" + isRequired: + type: boolean + ArrayOf: + type: object + required: + - type + - value + properties: + type: + type: string + enum: + - arrayOf + value: + $ref: "#/definitions/PropType" + isRequired: + type: boolean + ObjectOf: + type: object + required: + - type + - value + properties: + type: + type: string + enum: + - objectOf + value: + $ref: "#/definitions/PropType" + isRequired: + type: boolean + Shape: + type: object + required: + - type + - value + properties: + type: + type: string + enum: + - shape + value: + type: array + items: + type: object + properties: + name: + type: string + propType: + $ref: "#/definitions/PropType" + additionalProperties: false + isRequired: + type: boolean + ShapeItem: + type: object + required: + - name + - propType + properties: + name: + type: string + propType: + $ref: "#/definitions/PropType" + isRequired: + type: boolean + additionalProperties: false + Exact: + type: object + required: + - type + - value + properties: + type: + type: string + enum: + - exact + value: + type: array + items: + type: object + properties: + name: + type: string + propType: + $ref: "#/definitions/PropType" + additionalProperties: false + isRequired: + type: boolean + ConfigureProp: + type: object + allOf: + - type: object + properties: + title: + type: string + extraProps: + type: object + properties: {} + - oneOf: + - $ref: "#/definitions/ConfigureFieldProp" + - $ref: "#/definitions/ConfigureGroupProp" + ConfigureFieldProp: + type: object + required: + - type + properties: + type: + type: string + enum: + - field + name: + type: string + setter: + $ref: "#/definitions/ConfigureFieldSetter" + ConfigureFieldSetter: + type: object + required: + - componentName + properties: + componentName: + type: string + enum: + - List + - Object + - Function + - Node + - Mixin + - Expression + - Switch + - Number + - Input + - TextArea + - Date + - DateYear + - DateMonth + - DateRange + - ColorPicker + - CodeEditor + - Select + - RadioGroup + props: + type: object + properties: {} # 暂未校验每个控件的props,待控件入料后获取真实属性 + ConfigureGroupProp: + type: object + required: + - type + - items + properties: + type: + type: string + enum: + - group + items: + type: array + items: + $ref: "#/definitions/ConfigureProp" + ConfigureComponent: + type: object + properties: + isContainer: + type: boolean + isModal: + type: boolean + descriptor: + type: string + nestingRule: + type: object + properties: + childWhitelist: + type: array + items: + type: string + parentWhitelist: + type: array + items: + type: string + descendantBlacklist: + type: array + items: + type: string + ancestorWhitelist: + type: array + items: + type: string + isNullNode: + type: boolean + isLayout: + type: boolean diff --git a/packages/material-parser/scripts/transform.js b/packages/material-parser/scripts/transform.js new file mode 100644 index 000000000..b07f55aa1 --- /dev/null +++ b/packages/material-parser/scripts/transform.js @@ -0,0 +1,27 @@ +const yaml = require('js-yaml'); +const fs = require('fs'); +const path = require('path'); +const Ajv = require('ajv'); +const { compile } = require('json-schema-to-typescript'); + +const ajv = new Ajv(); + +const YamlPath = path.resolve(__dirname, '../schemas/schema.yml'); +const JsonPath = path.resolve(__dirname, '../src/validate/schema.json'); +const tsPath = path.resolve(__dirname, '../src/otter-core/schema/types.ts'); +// Get document, or throw exception on error + +(async function() { + try { + const schema = yaml.load(fs.readFileSync(YamlPath, 'utf8')); + ajv.compile(schema); + fs.writeFileSync(JsonPath, JSON.stringify(schema, null, 2), 'utf-8'); + console.log('yaml file is successfully transformed into json'); + const ts = await compile(schema, 'IComponentMaterial'); + fs.writeFileSync(tsPath, ts); + console.log('schema.d.ts is successfully generated'); + } catch (e) { + console.log(e); + process.exit(1); + } +})(); diff --git a/packages/material-parser/src/Materialize.ts b/packages/material-parser/src/Materialize.ts new file mode 100644 index 000000000..06928f804 --- /dev/null +++ b/packages/material-parser/src/Materialize.ts @@ -0,0 +1,48 @@ +import LocalAccesser from './accesser/LocalAccesser'; +import OnlineAccesser from './accesser/OnlineAccesser'; +import { IComponentMaterial } from './otter-core'; +import { IAccesser, IMaterializeOptions } from './types'; + +/** + * 物料化(将普通组件包装为可接入和可流通的物料组件的过程,称为物料化)运行于 node 端 + * @class Materialize + */ +class Materialize { + /** + * 物料化配置项 + * @private + * @type {IMaterializeOptions} + * @memberof Materialize + */ + private options: IMaterializeOptions; + + /** + * 接入器 + * @private + * @type {IAccesser} + * @memberof Materialize + */ + private accesser?: IAccesser; + + constructor(options: IMaterializeOptions) { + this.options = options; + } + + /** + * 开始物料化 + * + * @returns {Promise} + * @memberof Materialize + */ + public async start(): Promise { + // 分发请求到对应接入器 + if (this.options.accesser === 'local') { + this.accesser = new LocalAccesser(this.options); + } else { + this.accesser = new OnlineAccesser(this.options); + } + return this.accesser.access(); + } +} + +export default Materialize; diff --git a/packages/material-parser/src/accesser/BaseAccesser.ts b/packages/material-parser/src/accesser/BaseAccesser.ts new file mode 100644 index 000000000..40269a88d --- /dev/null +++ b/packages/material-parser/src/accesser/BaseAccesser.ts @@ -0,0 +1,26 @@ +import { IComponentMaterial } from '../otter-core'; +import { IAccesser, IMaterializeOptions } from '../types'; + +/** + * 接入器模板基类 + * @abstract + * @class BaseAccesser + * @implements {IAccesser} + */ +abstract class BaseAccesser implements IAccesser { + /** + * 物料化配置项 + * @protected + * @type {IMaterializeOptions} + * @memberof BaseAccesser + */ + protected options: IMaterializeOptions; + + constructor(options: IMaterializeOptions) { + this.options = options; + } + + public abstract access(): Promise; +} + +export default BaseAccesser; diff --git a/packages/material-parser/src/accesser/LocalAccesser.ts b/packages/material-parser/src/accesser/LocalAccesser.ts new file mode 100644 index 000000000..e3bc885ce --- /dev/null +++ b/packages/material-parser/src/accesser/LocalAccesser.ts @@ -0,0 +1,78 @@ +import Generator from '../generator/Generator'; +import { debug, IComponentMaterial } from '../otter-core'; +import BaseParser from '../parser/BaseParser'; +import ReactParser from '../parser/ReactParser'; +import Scanner from '../scanner/Scanner'; +import { IMaterialParsedModel, IMaterialScanModel, IParser } from '../types'; +import BaseAccesser from './BaseAccesser'; + +const log = debug.extend('mat'); + +/** + * 本地接入器 + * @class LocalAccesser + * @extends {BaseAccesser} + */ +class LocalAccesser extends BaseAccesser { + /** + * 扫描器实例 + * @private + * @type {Scanner} + * @memberof LocalAccesser + */ + private scanner!: Scanner; + + /** + * 解析器实例 + * @private + * @type {IParser} + * @memberof LocalAccesser + */ + private parser!: IParser; + + /** + * 生成器实例 + * @private + * @type {Generator} + * @memberof LocalAccesser + */ + private generator!: Generator; + + public async access(): Promise { + await this.init(); + // 开始扫描 + const matScanModel: IMaterialScanModel = await this.scanner.scan(); + log('matScanModel', matScanModel); + // 开始解析 + const matParsedModels: IMaterialParsedModel[] = await this.parser.parse( + matScanModel, + ); + log('matParsedModels', matParsedModels); + // 开始生产 + const material: IComponentMaterial = await this.generator.generate( + matScanModel, + matParsedModels, + ); + log('material', material); + return material; + } + + /** + * 初始化 + * @private + * @returns {Promise} + * @memberof LocalAccesser + */ + private async init(): Promise { + const options = this.options; + this.scanner = new Scanner(options); + const ecology = await BaseParser.recognizeEcology(options); + if (ecology === 'react') { + // debugger; + this.parser = new ReactParser(options); + this.generator = new Generator(options); + } + } +} + +export default LocalAccesser; diff --git a/packages/material-parser/src/accesser/OnlineAccesser.ts b/packages/material-parser/src/accesser/OnlineAccesser.ts new file mode 100644 index 000000000..160f4d20b --- /dev/null +++ b/packages/material-parser/src/accesser/OnlineAccesser.ts @@ -0,0 +1,121 @@ +import spawn from 'cross-spawn-promise'; +import { ensureDir, ensureFile, writeFile } from 'fs-extra'; +import { join } from 'path'; +import semver from 'semver'; +import uuid from 'short-uuid'; +import { debug, IComponentMaterial, OtterError } from '../otter-core'; +import { IMaterializeOptions } from '../types'; +import BaseAccesser from './BaseAccesser'; +import LocalAccesser from './LocalAccesser'; + +const log = debug.extend('mat'); + +/** + * 在线接入 + * @class OnlineAccesser + * @extends {BaseAccesser} + */ +class OnlineAccesser extends BaseAccesser { + /** + * 临时目录 + * + * @private + * @type {string} + * @memberof OnlineAccesser + */ + private tempDir: string = ''; + + public async access(): Promise { + // 创建临时目录 + this.tempDir = await this.createTempDir(); + // 创建组件包 + const { name, version } = this.getPkgNameAndVersion(this.options.entry); + await this.createFakePackage({ + pkgName: name, + pkgVersion: version, + }); + // 将问题转化为本地物料化场景 + const options: IMaterializeOptions = { + cwd: this.tempDir, + entry: join(this.tempDir, 'node_modules', name), + accesser: 'local', + isExportedAsMultiple: this.options.isExportedAsMultiple, + }; + const localAccesser = new LocalAccesser(options); + return localAccesser.access(); + } + + /** + * 创建组件包 + * + * @private + * @param {{ + * pkgName: string; + * pkgVersion: string; + * }} params + * @returns {Promise} + * @memberof OnlineAccesser + */ + private async createFakePackage(params: { + pkgName: string; + pkgVersion: string; + }): Promise { + // 创建临时组件包 + const tempDir = this.tempDir; + const pkgJsonFilePath = join(tempDir, 'package.json'); + await ensureFile(pkgJsonFilePath); + await writeFile( + pkgJsonFilePath, + JSON.stringify({ + name: params.pkgName, + version: params.pkgVersion, + dependencies: { + [params.pkgName]: params.pkgVersion, + }, + }), + ); + // 安装依赖 + const npmClient = this.options.npmClient || 'tnpm'; + await spawn(npmClient, ['i'], { stdio: 'inherit', cwd: tempDir } as any); + } + + /** + * 创建临时目录 + * + * @private + * @returns {Promise} 返回临时文件夹路径 + * @memberof LocalGenerator + */ + private async createTempDir(): Promise { + const tempDirName = uuid.generate(); + const tempDir = join(__dirname, '../../node_modules/.temp/', tempDirName); + await ensureDir(tempDir); + log('create temp dir successfully', tempDir); + return tempDir; + } + + /** + * 分离物料组件名称和版本号 + * + * @private + * @param {string} pkgNameWithVersion + * @returns {{ [key: string]: any }} + * @memberof OnlineAccesser + */ + private getPkgNameAndVersion( + pkgNameWithVersion: string, + ): { [key: string]: any } { + const matches = pkgNameWithVersion.match(/(@\d+\.\d+\.\d+)$/); + if (!matches) { + throw new OtterError(`Illegal semver version: ${pkgNameWithVersion}`); + } + const semverObj = semver.coerce(matches[0]); + const name = pkgNameWithVersion.replace(matches[0], ''); + return { + version: semverObj && semverObj.version, + name, + }; + } +} + +export default OnlineAccesser; diff --git a/packages/material-parser/src/extensions/MatConfigManifest.ts b/packages/material-parser/src/extensions/MatConfigManifest.ts new file mode 100644 index 000000000..491fdce8f --- /dev/null +++ b/packages/material-parser/src/extensions/MatConfigManifest.ts @@ -0,0 +1,37 @@ +import { writeFile } from 'fs-extra'; +import { IComponentMaterial } from '../otter-core'; + +/** + * 配置 manifest(物料化场景下可以使用此扩展点) + * - 扩展点名称:mat:config:manifest + * - 对应 Studio 所处状态:进入 就绪态 前 + * + * @export + * @param {{ + * manifestObj: IComponentMaterial, + * manifestFilePath: string, + * }} params + * @returns {Promise<{ + * manifestJS: string, + * manifestFilePath: string, + * manifestObj: IComponentMaterial, + * }>} + */ +export default async function matConfigManifest(params: { + manifestObj: IComponentMaterial; + manifestFilePath: string; +}): Promise<{ + manifestJSON: string; + manifestFilePath: string; + manifestObj: IComponentMaterial; +}> { + const manifestJSON = JSON.stringify(params.manifestObj); + + await writeFile(params.manifestFilePath, manifestJSON); + + return Promise.resolve({ + manifestJSON, + manifestObj: params.manifestObj, + manifestFilePath: params.manifestFilePath, + }); +} diff --git a/packages/material-parser/src/extensions/index.ts b/packages/material-parser/src/extensions/index.ts new file mode 100644 index 000000000..d35c1b720 --- /dev/null +++ b/packages/material-parser/src/extensions/index.ts @@ -0,0 +1,6 @@ +import { ExtensionName } from '../types'; +import MatConfigManifest from './MatConfigManifest'; + +export default { + [ExtensionName.CONFIGMANIFEST]: MatConfigManifest, +}; diff --git a/packages/material-parser/src/generator/Generator.ts b/packages/material-parser/src/generator/Generator.ts new file mode 100644 index 000000000..bec97c827 --- /dev/null +++ b/packages/material-parser/src/generator/Generator.ts @@ -0,0 +1,175 @@ +import { dirname, join } from 'path'; +import defaultExtension from '../extensions'; +import { debug, IComponentMaterial, PropsSection } from '../otter-core'; +import { + IGenerator, + IMaterializeOptions, + IMaterialParsedModel, + IMaterialScanModel, +} from '../types'; + +const log = debug.extend('mat'); + +/** + * 用于物料工作台 + */ +class Generator implements IGenerator { + /** + * 物料化配置项 + * @protected + * @type {IMaterializeOptions} + * @memberof BaseGenerator + */ + /** + * 物料化配置项 + * @protected + * @type {IMaterializeOptions} + * @memberof BaseGenerator + */ + protected options!: IMaterializeOptions; + + constructor(options: IMaterializeOptions) { + this.options = options; + } + + public async generate( + matScanModel: IMaterialScanModel, + matParsedModels: IMaterialParsedModel[], + ): Promise { + // const model: IMaterialinSchema = {} as any; + // 标记协议版本号 + // model.version = '1.0.0'; + // 组装 pkgInfo + // model.pkgInfo = pkgInfo; + const containerList = []; + for (const matParsedModel of matParsedModels) { + // TODO 可以开放扩展点让上层使用者指定导出哪些组件或者不导出哪些组件 + // 默认排除掉 defaultExportName 为空的组件 + if ( + !matParsedModel.defaultExportName || + !matParsedModel.defaultExportName.length + ) { + log('skip', matParsedModel.filePath); + continue; + } + // 组装 manifest + const manifest: any = await this.genManifest( + matScanModel, + matParsedModel, + ); + + containerList.push(manifest); + } + + // const components: IMaterialinComponent[] = bundle.bundleObj.components; + // Object.keys(bundle.bundleObj.Modules).forEach(key => { + // const { origin, manifest } = bundle.bundleObj.Modules[key]; + // const component: IMaterialinComponent = { + // componentName: key, + // origin, + // manifest, + // }; + // components.push(component); + // }); + // model.components = components; + // log('materialsModel', JSON.stringify(bundle.bundleObj)); + + return containerList; + } + + /** + * 生成 manifest + * + * @param {IMaterialParsedModel} matParsedModel + * @returns {Promise<{ + * manifestFilePath: string, // manifest 文件路径 + * manifestJS: string, // manifest 文件内容 + * manifestObj: IMaterialinManifest, // manifest 文件对象 + * }>} + * @memberof LocalGenerator + */ + public async genManifest( + matScanModel: IMaterialScanModel, + matParsedModel: IMaterialParsedModel, + ): Promise<{ + manifestFilePath: string; // manifest 文件路径 + manifestObj: IComponentMaterial; // manifest 文件对象 + }> { + const manifestObj: Partial = { + // componentName: matParsedModel.defaultExportName, + title: matScanModel.pkgName, + docUrl: '', + screenshot: '', + npm: { + package: matScanModel.pkgName, + version: matScanModel.pkgVersion, + exportName: '', // matParsedModel.defaultExportName, + main: matScanModel.mainEntry, + destructuring: false, + subName: '', + }, + }; + + const defaultManifestFilePath = join( + dirname(matParsedModel.filePath), + './manifest.json', + ); + + // 填充 props + manifestObj.props = matParsedModel.props; + // 执行扩展点 + const manifest: any = await this.executeExtensionPoint( + 'mat:config:manifest', + { + manifestObj, + manifestFilePath: defaultManifestFilePath, + }, + ); + return { + manifestObj: manifest.manifestObj, + manifestFilePath: manifest.manifestFilePath, + }; + } + + /** + * 填充 props + * + * @public + * @param {IMaterialParsedModel} matParsedModel + * @returns {IMaterialinProp[]} + * @memberof BaseGenerator + */ + public populateProps( + matParsedModel: IMaterialParsedModel, + ): PropsSection['props'] { + // @ts-ignore + return matParsedModel.props; + } + + /** + * 执行扩展点 + * @param {string} extName 扩展点名称 + * @param {...any[]} args 参数 + * @returns {Promise} + * @memberof BaseGenerator + */ + public async executeExtensionPoint( + extName: string, + ...args: any[] + ): Promise { + const options = this.options; + const optionsExtensions: any = options.extensions; + const defaultExtensions: any = defaultExtension; + + const ext: any = + optionsExtensions && optionsExtensions[extName] + ? optionsExtensions[extName] + : defaultExtensions[extName]; + if (!ext) { + throw new Error(`Unsupported extension point: ${extName}`); + } + return ext(...args); + } +} + +export default Generator; diff --git a/packages/material-parser/src/index.ts b/packages/material-parser/src/index.ts new file mode 100644 index 000000000..d38da4098 --- /dev/null +++ b/packages/material-parser/src/index.ts @@ -0,0 +1,8 @@ +import Materialize from './Materialize'; + +export { default as validate } from './validate'; +export { default as schema } from './validate/schema.json'; + +export * from './types'; + +export default Materialize; diff --git a/packages/material-parser/src/otter-core/OtterError.ts b/packages/material-parser/src/otter-core/OtterError.ts new file mode 100644 index 000000000..2435dbf2d --- /dev/null +++ b/packages/material-parser/src/otter-core/OtterError.ts @@ -0,0 +1,70 @@ +import { _ } from './index'; +import { IOtterErrorOptions } from './types'; + +/** + * Fix the prototype chain of the error + * + * Use Object.setPrototypeOf + * Support ES6 environments + * + * Fallback setting __proto__ + * Support IE11+, see https://docs.microsoft.com/en-us/scripting/javascript/reference/javascript-version-information + */ +function fixPrototype(target: Error, prototype: {}) { + const setPrototypeOf: typeof Object.setPrototypeOf = (Object as any) + .setPrototypeOf; + setPrototypeOf + ? setPrototypeOf(target, prototype) + : ((target as any).__proto__ = prototype); +} + +/** + * Capture and fix the error stack when available + * + * Use Error.captureStackTrace + * Support v8 environments + */ +function fixStackTrace(target: Error, fn: any = target.constructor) { + const captureStackTrace: any = (Error as any).captureStackTrace; + if (captureStackTrace) { + captureStackTrace(target, fn); + } +} + +class OtterError extends Error { + public name: string = ''; + + public urlRoot: string = 'https://docs.aimake.io/otter/'; + + private options: IOtterErrorOptions = { + url: '/', + version: '0.0.0', + }; + + constructor(message?: string, options?: IOtterErrorOptions) { + super(message); + + // set error name as constructor name, make it not enumerable to keep native Error behavior + // see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target#new.target_in_constructors + Object.defineProperty(this, 'name', { + value: new.target.name, + enumerable: false, + }); + + // fix the extended error prototype chain + // because typescript __extends implementation can't + // see https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work + fixPrototype(this, new.target.prototype); + // try to remove constructor from stack trace + fixStackTrace(this); + + _.extend(this.options, options || {}); + } + + public toString() { + const url = this.urlRoot + this.options.version + this.options.url; + return `${this.name}: ${this.message} See: ${url}`; + } +} + +export default OtterError; diff --git a/packages/material-parser/src/otter-core/index.ts b/packages/material-parser/src/otter-core/index.ts new file mode 100644 index 000000000..7eedebf65 --- /dev/null +++ b/packages/material-parser/src/otter-core/index.ts @@ -0,0 +1,21 @@ +import _debug from 'debug'; +import _lodash from 'lodash'; + +import _OtterError from './OtterError'; + +export * from './types'; +export * from './schema/types'; + +/** + * Dev helper + */ +export const debug = _debug('otter'); +export const enableDebug = () => _debug.enable('otter:*'); +export const disableDebug = () => _debug.disable(); + +export const OtterError = _OtterError; + +/** + * Dev utils + */ +export const _ = _lodash; diff --git a/packages/material-parser/src/otter-core/schema/types.ts b/packages/material-parser/src/otter-core/schema/types.ts new file mode 100644 index 000000000..5fe064355 --- /dev/null +++ b/packages/material-parser/src/otter-core/schema/types.ts @@ -0,0 +1,164 @@ +/* tslint:disable */ +/** + * This file was automatically generated by json-schema-to-typescript. + * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, + * and run json-schema-to-typescript to regenerate this file. + */ + +/** + * json schema for low code component protocol + */ +export type IComponentMaterial = BasicSection & PropsSection & ConfigureSection; +export type PropType = BasicType | RequiredType | ComplexType; +export type BasicType = "array" | "bool" | "func" | "number" | "object" | "string" | "node" | "element" | "any"; +export type ComplexType = OneOf | OneOfType | ArrayOf | ObjectOf | Shape | Exact; +export type ConfigureProp = { + title?: string; + extraProps?: { + [k: string]: any; + }; + [k: string]: any; +} & (ConfigureFieldProp | ConfigureGroupProp); + +export interface BasicSection { + componentName: string; + title: string; + description?: string; + docUrl?: string; + screenshot?: string; + icon?: string; + tags?: string[]; + devMode?: "proCode" | "lowCode"; + npm: Npm; + [k: string]: any; +} +export interface Npm { + package: string; + exportName: string; + subName: string; + main: string; + destructuring: boolean; + version: string; + [k: string]: any; +} +export interface PropsSection { + props: { + name: string; + propType: PropType; + description?: string; + defaultValue?: any; + [k: string]: any; + }[]; + [k: string]: any; +} +export interface RequiredType { + type: BasicType; + isRequired?: boolean; +} +export interface OneOf { + type: "oneOf"; + value: (string | number | boolean)[]; + isRequired?: boolean; + [k: string]: any; +} +export interface OneOfType { + type: "oneOfType"; + value: PropType[]; + isRequired?: boolean; + [k: string]: any; +} +export interface ArrayOf { + type: "arrayOf"; + value: PropType; + isRequired?: boolean; + [k: string]: any; +} +export interface ObjectOf { + type: "objectOf"; + value: PropType; + isRequired?: boolean; + [k: string]: any; +} +export interface Shape { + type: "shape"; + value: { + name?: string; + propType?: PropType; + }[]; + isRequired?: boolean; + [k: string]: any; +} +export interface Exact { + type: "exact"; + value: { + name?: string; + propType?: PropType; + }[]; + isRequired?: boolean; + [k: string]: any; +} +export interface ConfigureSection { + configure?: { + props?: ConfigureProp[]; + styles?: { + [k: string]: any; + }; + events?: { + [k: string]: any; + }; + component?: ConfigureComponent; + [k: string]: any; + }; + [k: string]: any; +} +export interface ConfigureFieldProp { + type: "field"; + name?: string; + setter?: ConfigureFieldSetter; + [k: string]: any; +} +export interface ConfigureFieldSetter { + componentName: + | "List" + | "Object" + | "Function" + | "Node" + | "Mixin" + | "Expression" + | "Switch" + | "Number" + | "Input" + | "TextArea" + | "Date" + | "DateYear" + | "DateMonth" + | "DateRange" + | "ColorPicker" + | "CodeEditor" + | "Select" + | "RadioGroup"; + props?: { + [k: string]: any; + }; + [k: string]: any; +} +export interface ConfigureGroupProp { + type: "group"; + items: ConfigureProp[]; + [k: string]: any; +} +export interface ConfigureComponent { + isContainer?: boolean; + isModal?: boolean; + descriptor?: string; + nestingRule?: { + childWhitelist?: string[]; + parentWhitelist?: string[]; + descendantBlacklist?: string[]; + ancestorWhitelist?: string[]; + [k: string]: any; + }; + isNullNode?: boolean; + isLayout?: boolean; + [k: string]: any; +} diff --git a/packages/material-parser/src/otter-core/types.ts b/packages/material-parser/src/otter-core/types.ts new file mode 100644 index 000000000..27a896671 --- /dev/null +++ b/packages/material-parser/src/otter-core/types.ts @@ -0,0 +1,22 @@ +/** + * + * @export + * @interface IOtterErrorOptions + */ +export interface IOtterErrorOptions { + url?: string; + version?: string; +} + +/** + * 组件集合 + * + * @export + * @interface IComponents + */ +export interface IComponents { + [componentPackage: string]: { + // 组件包名称 + [componentName: string]: any; // 组件 + }; +} diff --git a/packages/material-parser/src/parser/BaseParser.ts b/packages/material-parser/src/parser/BaseParser.ts new file mode 100644 index 000000000..baf292875 --- /dev/null +++ b/packages/material-parser/src/parser/BaseParser.ts @@ -0,0 +1,76 @@ +import { OtterError } from '../otter-core'; +import { + EcologyType, + IMaterializeOptions, + IMaterialParsedModel, + IMaterialScanModel, + IParser, + SourceType, +} from '../types'; + +/** + * 解析器基类 + * @abstract + * @class BaseParser + * @implements {IParser} + */ +abstract class BaseParser implements IParser { + /** + * 识别语法生态,判断是 react、vue、rax + * @static + * @param {IMaterializeOptions} options + * @returns {Promise} + * @memberof BaseParser + */ + public static recognizeEcology( + options: IMaterializeOptions, + ): Promise { + // TODO 识别物料组件生态 + return Promise.resolve(EcologyType.REACT); + } + + private options: IMaterializeOptions; + + constructor(options: IMaterializeOptions) { + this.options = options; + } + + public async parse( + model: IMaterialScanModel, + ): Promise { + const results: IMaterialParsedModel[] = []; + switch (model.sourceType) { + case SourceType.MODULE: { + for (const item of model.modules) { + const parsedModel: IMaterialParsedModel = await this.parseES6({ + model, + filePath: item.filePath, + fileContent: item.fileContent, + }); + results.push(parsedModel); + } + break; + } + case SourceType.MAIN: { + this.parseES5(model); + break; + } + default: { + throw new OtterError(`Unsupported SourceType [${model.sourceType}]`); + } + } + return results; + } + + public abstract parseES5( + model: IMaterialScanModel, + ): Promise; + + public abstract parseES6(params: { + model: IMaterialScanModel; + filePath: string; + fileContent: string; + }): Promise; +} + +export default BaseParser; diff --git a/packages/material-parser/src/parser/ReactParser.ts b/packages/material-parser/src/parser/ReactParser.ts new file mode 100644 index 000000000..5ececea15 --- /dev/null +++ b/packages/material-parser/src/parser/ReactParser.ts @@ -0,0 +1,704 @@ +import { CodeGenerator } from '@babel/generator'; +// import { parse } from '@babel/parser'; +const buildParser = require('react-docgen/dist/babelParser').default; +const reactDocs = require('react-docgen'); +import traverse from '@babel/traverse'; +import * as t from '@babel/types'; +const { utils: ReactDocUtils } = require('react-docgen'); +import { debug } from '../otter-core'; +import { + IMaterialParsedModel, + IMaterialScanModel, + IPropType, + IPropTypes, + SourceType, +} from '../types'; +import BaseParser from './BaseParser'; +import resolver from './resolver'; +import handlers from './handlers'; + +const log = debug.extend('mat'); +const parser = buildParser(); + +function transformType(type: any): any { + const { name, value, computed, required } = type; + if (!value && !required) { + return name; + } + if (computed !== undefined && value) { + // tslint:disable-next-line:no-eval + return eval(value); + } + const result: any = { + type: name, + }; + if (required) { + result.isRequired = required; + } + if (Array.isArray(value)) { + if (name === 'enum') { + result.type = 'oneOf'; + } else if (name === 'union') { + result.type = 'oneOfType'; + } + result.value = value.map(transformType); + } else if (typeof value === 'object') { + if (name === 'objectOf' || name === 'arrayOf' || name === 'instanceOf') { + result.value = transformType(value); + } else { + result.value = Object.keys(value).map((n: string) => { + // tslint:disable-next-line:variable-name + const { name: _name, ...others } = value[n]; + return transformItem(n, { + ...others, + type: { + name: _name, + }, + }); + }); + } + } else if (value !== undefined) { + result.value = value; + } + return result; +} + +function transformItem(name: string, item: any): any { + const { description, type, required, defaultValue } = item; + const result: any = { + name, + propType: transformType({ + ...type, + required: !!required, + }), + }; + if (description) { + result.description = description; + } + if (defaultValue) { + try { + const value = eval(defaultValue.value); + result.defaultValue = value; + } catch (e) {} + } + + return result; +} +/** + * 解析 react 生态下的组件 + * + * @class ReactParser + * @extends {BaseParser} + */ +class ReactParser extends BaseParser { + /** + * 解析 ExportStatement + * @static + * @returns {Promise} + * @memberof ReactParser + */ + public static async parseExportedStatement( + fileContent: string, + sourceType: string, + ): Promise< + Array<{ + localName: string; + exportedName: string; + source: string; + }> + > { + const ast = parser.parse(fileContent); + + // @ts-ignore + ast.__src = fileContent; + + const specifiers: any = []; + + // 组装 localName 和 exportedName + traverse(ast, { + enter(path) { + if (t.isExportNamedDeclaration(path.node)) { + path.node.specifiers.forEach(spec => { + if (t.isExportSpecifier(spec)) { + const source = (path.node as t.ExportNamedDeclaration).source; + specifiers.push({ + localName: spec.local.name, + exportedName: spec.exported.name, + source: t.isLiteral(source) ? (source as any).value : '', + }); + } + }); + } + }, + }); + // 组装 source + traverse(ast, { + enter(path) { + if (t.isImportDeclaration(path.node)) { + const source = path.node.source; + path.node.specifiers.forEach(spec => { + if (t.isImportDefaultSpecifier(spec)) { + const target = specifiers.find( + (inner: any) => inner.localName === spec.local.name, + ); + if (target) { + target.source = source.value; + } + } + }); + } + }, + }); + debug('specifiers', specifiers); + return specifiers; + } + public static parseProperties(objectPath: any): IPropTypes { + const results: IPropTypes = objectPath + .get('properties') + .map((p: any) => + transformItem( + p.get('key').node.name, + ReactDocUtils.getPropType(p.get('value')), + ), + ); + + return results; + } + + public async parseES5( + model: IMaterialScanModel, + ): Promise { + const parsedModel: IMaterialParsedModel = { + filePath: '', + defaultExportName: '', + componentNames: [], + importModules: [], + exportModules: [], + subModules: [], + propsTypes: [], + propsDefaults: [], + }; + + const mainEntryItem: any = model.modules.find( + item => item.filePath === model.mainEntry, + ); + + const result = reactDocs.parse( + mainEntryItem.fileContent, + resolver, + handlers, + ); + const props = Object.keys(result.props || {}).map(name => { + return transformItem(name, result.props[name]); + }); + + return { + filePath: mainEntryItem.filePath, + // defaultExportName, + // subModules, + // propsTypes, + props, + } as any; + + // log('mainEntryItem', mainEntryItem); + // const ast = parser.parse(mainEntryItem.file); + + // @ts-ignore + // ast.__src = mainEntryItem.file; + + // // 获取 defaultExportName + // traverse(ast, { + // enter(path) { + // if (t.isExpressionStatement(path.node)) { + // if ( + // t.isAssignmentExpression(path.node.expression) && + // t.isMemberExpression(path.node.expression.left) && + // t.isIdentifier(path.node.expression.left.object) && + // t.isIdentifier(path.node.expression.right) && + // path.node.expression.left.object.name === 'exports' && + // (path.node.expression.left.property.name === 'default' || + // path.node.expression.left.property.value === 'default') + // ) { + // // 支持 export default Demo 写法 + // const tempVarName = path.node.expression.right.name; + // let defaultExportName = ''; + // traverse(ast, { + // enter(innerPath) { + // if ( + // t.isVariableDeclaration(innerPath.node) && + // Array.isArray(innerPath.node.declarations) && + // innerPath.node.declarations.length && + // t.isVariableDeclarator(innerPath.node.declarations[0]) && + // t.isIdentifier(innerPath.node.declarations[0].id) && + // innerPath.node.declarations[0].id.name === tempVarName && + // t.isIdentifier(innerPath.node.declarations[0].init) + // ) { + // defaultExportName = innerPath.node.declarations[0].init.name; + // } + // }, + // }); + // parsedModel.defaultExportName = defaultExportName; + // log('isIdentifier defaultExportName', defaultExportName); + // } + // } + // }, + // }); + + // traverse(ast, { + // enter(path) { + // // 获取 componentNames + // if (t.isVariableDeclaration(path.node)) { + // if ( + // t.isVariableDeclarator(path.node.declarations) && + // t.isIdentifier(path.node.declarations.init) && + // t.isIdentifier(path.node.declarations.id) + // ) { + // const exportedName = path.node.declarations.init.name; + // const localName = path.node.declarations.id.name; + // log('isIdentifier componentNames', exportedName); + // parsedModel.componentNames.push({ + // exportedName, + // localName, + // }); + // } + // } + // // 获取 exportModules + // if (t.isExpressionStatement(path.node)) { + // // 对应 export function DemoFunc() {} 或 export { DemoFunc } 写法 + // if ( + // t.isAssignmentExpression(path.node.expression) && + // t.isMemberExpression(path.node.expression.left) && + // t.isIdentifier(path.node.expression.left.object) && + // t.isIdentifier(path.node.expression.left.property) && + // t.isIdentifier(path.node.expression.right) && + // path.node.expression.left.object.name === 'exports' + // ) { + // const exportedName = path.node.expression.left.property.name; + // const localName = path.node.expression.right.name; + // parsedModel.exportModules.push({ + // exportedName: + // exportedName === 'default' + // ? parsedModel.defaultExportName + // : exportedName, + // localName: + // exportedName === 'default' + // ? parsedModel.defaultExportName + // : localName, + // }); + // } + // // 支持 export { default as DemoFunc } from './DemoFunc' 写法 + // if ( + // t.isCallExpression(path.node.expression) && + // t.isMemberExpression(path.node.expression.callee) && + // t.isIdentifier(path.node.expression.callee.object) && + // t.isIdentifier(path.node.expression.callee.property) && + // path.node.expression.callee.object.name === 'Object' && + // path.node.expression.callee.property.name === 'defineProperty' && + // Array.isArray(path.node.expression.arguments) && + // t.isIdentifier(path.node.expression.arguments[0]) && + // (path.node.expression.arguments[0] as t.Identifier).name === + // 'exports' && + // t.isLiteral(path.node.expression.arguments[1]) + // ) { + // // 对应 export function DemoFunc() {} 或 export { DemoFunc } 写法 + // const args = path.node.expression.arguments as any; + // const funcName = args[1].value; + // if (funcName !== '__esModule') { + // parsedModel.exportModules.push({ + // exportedName: funcName, + // localName: funcName, + // }); + // } + // } + // } + // // 获取 importModules + // if ( + // t.isVariableDeclaration(path.node) && + // Array.isArray(path.node.declarations) && + // path.node.declarations.length + // ) { + // path.node.declarations.forEach(dec => { + // // 支持 import Demo from './demo' 写法 + // if ( + // t.isVariableDeclarator(dec) && + // t.isIdentifier(dec.id) && + // t.isCallExpression(dec.init) && + // t.isIdentifier(dec.init.callee) && + // ['_interopRequireWildcard', '_interopRequireDefault'].includes( + // dec.init.callee.name, + // ) && + // // dec.init.callee.name === '_interopRequireWildcard' && + // Array.isArray(dec.init.arguments) && + // t.isCallExpression(dec.init.arguments[0]) && + // t.isIdentifier( + // (dec.init.arguments[0] as t.CallExpression).callee, + // ) && + // ((dec.init.arguments[0] as t.CallExpression) + // .callee as t.Identifier).name === 'require' + // ) { + // const localName = dec.id.name; + // const args = (dec.init.arguments[0] as t.CallExpression) + // .arguments as any; + // const source = args[0].value; + // parsedModel.importModules.push({ + // importDefaultName: localName, + // localName, + // source, + // }); + // } + + // // 支持 import { Demo as Demo2 } from './demo' 写法 + // if ( + // t.isVariableDeclarator(dec) && + // t.isIdentifier(dec.id) && + // t.isCallExpression(dec.init) && + // t.isIdentifier(dec.init.callee) && + // dec.init.callee.name === 'require' && + // Array.isArray(dec.init.arguments) && + // t.isLiteral(dec.init.arguments[0]) + // ) { + // const args = dec.init.arguments as any; + // const source = args[0].value; + // const importName = dec.id.name; + // const localName = dec.id.name; + // // 遍历查找出 importName 和 localName + // // ES5 本身并不支持按需加载,故 import 都是全量导入 + // // 但如果使用了诸如:babel-plugin-import 等插件,会自动更改编译之后的 ES5 代码 + // parsedModel.importModules.push({ + // importName, + // localName, + // source, + // }); + // } + // }); + // } + + // // 获取 subModules + // if ( + // t.isExpressionStatement(path.node) && + // t.isAssignmentExpression(path.node.expression) && + // t.isMemberExpression(path.node.expression.left) + // ) { + // if ( + // t.isIdentifier(path.node.expression.left.object) && + // path.node.expression.left.object.name === + // parsedModel.defaultExportName + // ) { + // // 支持 SFC.SubDemo1 = SubDemo1; 写法 + // if (t.isIdentifier(path.node.expression.right)) { + // parsedModel.subModules.push({ + // objectName: [path.node.expression.left.object.name], + // propertyName: path.node.expression.left.property.name, + // isValueAnonymousFunc: false, + // value: path.node.expression.right.name, + // }); + // } + + // // 支持 SFC.SubDemo2 = function() {}; 写法 + // if (t.isFunctionExpression(path.node.expression.right)) { + // const rightID = path.node.expression.right.id as any; + // parsedModel.subModules.push({ + // objectName: [path.node.expression.left.object.name], + // propertyName: path.node.expression.left.property.name, + // isValueAnonymousFunc: !rightID, + // value: rightID ? rightID.name : undefined, + // }); + // } + // } + + // if (t.isMemberExpression(path.node.expression.left.object)) { + // if (t.isIdentifier(path.node.expression.right)) { + // // 支持 DemoFunc4.Test.Obj2 = Obj3; 写法 + // const tempLeftObject = path.node.expression.left.object as any; + // parsedModel.subModules.push({ + // objectName: [ + // tempLeftObject.object.name, + // tempLeftObject.property.name, + // ], + // propertyName: path.node.expression.left.property.name, + // isValueAnonymousFunc: false, + // value: path.node.expression.right.name, + // }); + // } + // if (t.isFunctionExpression(path.node.expression.right)) { + // // 支持 DemoFunc4.Test.Obj2 = function() {}; 写法 + // const rightID = path.node.expression.right.id as any; + // const tempLeftObject = path.node.expression.left.object as any; + // parsedModel.subModules.push({ + // objectName: [ + // tempLeftObject.object.name, + // tempLeftObject.property.name, + // ], + // propertyName: path.node.expression.left.property.name, + // isValueAnonymousFunc: !rightID, + // value: rightID ? rightID.name : undefined, + // }); + // } + // } + // } + + // // 获取 propsTypes 和 defaultProps + // if ( + // t.isExpressionStatement(path.node) && + // t.isAssignmentExpression(path.node.expression) && + // t.isMemberExpression(path.node.expression.left) && + // t.isObjectExpression(path.node.expression.right) && + // t.isIdentifier(path.node.expression.left.object) && + // t.isIdentifier(path.node.expression.left.property) && + // path.node.expression.left.object.name === + // parsedModel.defaultExportName && + // ['propTypes', 'defaultProps'].includes( + // path.node.expression.left.property.name, + // ) + // ) { + // // 处理 propTypes + // if (path.node.expression.left.property.name === 'propTypes') { + // path.node.expression.right.properties.forEach(prop => { + // if (t.isProperty(prop)) { + // if (t.isMemberExpression(prop.value)) { + // if (t.isIdentifier(prop.value.object)) { + // // 支持 optionalArray: PropTypes.array 写法 + // parsedModel.propsTypes.push({ + // name: prop.key.name, + // type: prop.value.property.name, + // required: false, + // }); + // } + // if (t.isMemberExpression(prop.value.object)) { + // // 支持 optionalArray: PropTypes.array.isRequired 写法 + // parsedModel.propsTypes.push({ + // name: prop.key.name, + // type: prop.value.object.property.name, + // required: + // prop.value.object.property.name === 'isRequired', + // }); + // } + // if ( + // t.isCallExpression(prop.value.object) && + // t.isMemberExpression(prop.value.object.callee) + // ) { + // // 支持 optionalArray: PropTypes.shape().isRequired 写法 + // parsedModel.propsTypes.push({ + // name: prop.key.name, + // type: prop.value.object.callee.property.name, + // required: prop.value.property.name === 'isRequired', + // }); + // } + // } + // if ( + // t.isCallExpression(prop.value) && + // t.isMemberExpression(prop.value.callee) + // ) { + // // 支持 optionalArray: PropTypes.shape() 写法 + // parsedModel.propsTypes.push({ + // name: prop.key.name, + // type: prop.value.callee.property.name, + // required: false, + // }); + // } + // } + // }); + // } + // // 处理 defaultProps + // if (path.node.expression.left.property.name === 'defaultProps') { + // path.node.expression.right.properties.forEach(prop => { + // if (t.isProperty(prop)) { + // if (t.isObjectExpression(prop.value)) { + // const defaultValue = new CodeGenerator( + // t.objectExpression(prop.value.properties), + // ).generate().code; + // parsedModel.propsDefaults.push({ + // name: prop.key.name, + // defaultValue, + // }); + // } + // } + // }); + // } + // } + // }, + // }); + + // log('traverse done.'); + // log('parsedModel.defaultExportName', parsedModel.defaultExportName); + // log('parsedModel.componentNames', parsedModel.componentNames); + // log('parsedModel.importModules', parsedModel.importModules); + // log('parsedModel.exportModules', parsedModel.exportModules); + // log('parsedModel.subModules', parsedModel.subModules); + // log('parsedModel.propsTypes', parsedModel.propsTypes); + // log('parsedModel.propsDefaults', parsedModel.propsDefaults); + // log('parsedModel', parsedModel); + // return parsedModel; + } + + public async parseES6(params: { + model: IMaterialScanModel; + filePath: string; + fileContent: string; + }): Promise { + const ast = parser.parse(params.fileContent); + const result = reactDocs.parse(params.fileContent, resolver, handlers); + const props = Object.keys(result.props || {}).map(name => { + return transformItem(name, result.props[name]); + }); + const defaultExportName = await this.parseDefaultExportNameES6(ast); + // const subModules = await this.parseSubModulesES6(ast); + + return { + filePath: params.filePath, + defaultExportName, + // subModules, + props, + } as any; + } + + /** + * 解析 AST 获取 defaultExportName + * 支持的写法: + * - export default Demo + * - export default function Demo() {} + * - export default class Demo {} + * + * @private + * @param {*} ast + * @memberof ReactParser + */ + private async parseDefaultExportNameES6(ast: any): Promise { + let defaultExportName = ''; + traverse(ast, { + enter(path) { + // 获取 defaultExportName + if (t.isExportDefaultDeclaration(path.node)) { + if (t.isIdentifier(path.node.declaration)) { + // 支持 export default Demo 写法 + defaultExportName = path.node.declaration.name; + log('isIdentifier defaultExportName', defaultExportName); + } + if (t.isFunctionDeclaration(path.node.declaration)) { + if (t.isIdentifier(path.node.declaration.id)) { + // 支持 export default function Demo() {} 写法 + defaultExportName = path.node.declaration.id.name; + log('isFunctionDeclaration defaultExportName', defaultExportName); + } + } + if (t.isClassDeclaration(path.node.declaration)) { + if (t.isIdentifier(path.node.declaration.id)) { + // 支持 export default class Demo {} 写法 + defaultExportName = path.node.declaration.id.name; + log('isClassDeclaration defaultExportName', defaultExportName); + } + } + if (t.isCallExpression(path.node.declaration)) { + const traverseCallExp: any = (args: any[]) => { + const arg = args[0]; + if (t.isIdentifier(arg)) { + return arg.name; + } + return traverseCallExp(arg.arguments); + }; + defaultExportName = traverseCallExp( + path.node.declaration.arguments, + ); + } + } + }, + }); + return defaultExportName; + } + + /** + * 解析 AST 获取 subModules + * 支持的写法: + * - DemoFunc4.Test = Test; + * - DemoFunc4.Test = function() {}; + * - DemoFunc4.Test.Obj2 = Obj3; + * - DemoFunc4.Test.Obj2 = function() {}; + * + * @private + * @param {*} ast + * @returns {Promise>} + * @memberof ReactParser + */ + private async parseSubModulesES6( + ast: any, + ): Promise< + Array<{ + objectName: string[]; + propertyName: string; + value?: string; + isValueAnonymousFunc: boolean; + }> + > { + const results: any[] = []; + traverse(ast, { + enter(path) { + if (t.isExpressionStatement(path.node)) { + if (t.isAssignmentExpression(path.node.expression)) { + if (t.isMemberExpression(path.node.expression.left)) { + if (t.isIdentifier(path.node.expression.left.object)) { + if (t.isIdentifier(path.node.expression.right)) { + // 支持 DemoFunc4.Test = Test; 写法 + results.push({ + objectName: [path.node.expression.left.object.name], + propertyName: path.node.expression.left.property.name, + isValueAnonymousFunc: false, + value: path.node.expression.right.name, + }); + } + if (t.isFunctionExpression(path.node.expression.right)) { + // 支持 DemoFunc4.Test = function() {}; 写法 + const rightID = !path.node.expression.right.id as any; + results.push({ + objectName: [path.node.expression.left.object.name], + propertyName: path.node.expression.left.property.name, + isValueAnonymousFunc: !!rightID, + value: rightID ? rightID.name : undefined, + }); + } + } + if (t.isMemberExpression(path.node.expression.left.object)) { + if (t.isIdentifier(path.node.expression.right)) { + // 支持 DemoFunc4.Test.Obj2 = Obj3; 写法 + const tempLeftObject = path.node.expression.left + .object as any; + results.push({ + objectName: [ + tempLeftObject.object.name, + tempLeftObject.property.name, + ], + propertyName: path.node.expression.left.property.name, + isValueAnonymousFunc: false, + value: path.node.expression.right.name, + }); + } + if (t.isFunctionExpression(path.node.expression.right)) { + // 支持 DemoFunc4.Test.Obj2 = function() {}; 写法 + const rightID = !path.node.expression.right.id as any; + const tempLeftObject = path.node.expression.left + .object as any; + results.push({ + objectName: [ + tempLeftObject.object.name, + tempLeftObject.property.name, + ], + propertyName: path.node.expression.left.property.name, + isValueAnonymousFunc: !!rightID, + value: rightID ? rightID.name : undefined, + }); + } + } + } + } + } + }, + }); + return results; + } +} + +export default ReactParser; diff --git a/packages/material-parser/src/parser/handlers/index.ts b/packages/material-parser/src/parser/handlers/index.ts new file mode 100644 index 000000000..a4ff85a6c --- /dev/null +++ b/packages/material-parser/src/parser/handlers/index.ts @@ -0,0 +1,22 @@ +const { handlers } = require('react-docgen'); +import { + propTypeHandler, + contextTypeHandler, + childContextTypeHandler, +} from './propTypeHandler'; + +const defaultHandlers = [ + propTypeHandler, + contextTypeHandler, + childContextTypeHandler, + handlers.propTypeCompositionHandler, + handlers.propDocBlockHandler, + handlers.flowTypeHandler, + handlers.defaultPropsHandler, + handlers.componentDocblockHandler, + handlers.displayNameHandler, + handlers.componentMethodsHandler, + handlers.componentMethodsJsDocHandler, +]; + +export default defaultHandlers; diff --git a/packages/material-parser/src/parser/handlers/propTypeHandler.ts b/packages/material-parser/src/parser/handlers/propTypeHandler.ts new file mode 100644 index 000000000..619a88eb4 --- /dev/null +++ b/packages/material-parser/src/parser/handlers/propTypeHandler.ts @@ -0,0 +1,136 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow + */ + +import { namedTypes as t, visit } from 'ast-types'; +import { throwStatement } from '@babel/types'; +const { + resolveToValue, + getPropType, + getPropertyName, + getMemberValuePath, + isReactModuleName, + printValue, + resolveToModule, +} = require('react-docgen').utils; + +const isRequiredPropType = require('react-docgen/dist/utils/isRequiredPropType') + .default; + +function getRoot(node: any) { + let root = node.parent; + while (root.parent) { + root = root.parent; + } + return root; +} +// import type Documentation from '../Documentation'; + +function isPropTypesExpression(path: any) { + const moduleName = resolveToModule(path); + if (moduleName) { + return isReactModuleName(moduleName) || moduleName === 'ReactPropTypes'; + } + return false; +} + +function amendPropTypes(getDescriptor: any, path: any) { + if (!t.ObjectExpression.check(path.node)) { + return; + } + + path.get('properties').each((propertyPath: any) => { + switch (propertyPath.node.type) { + // @ts-ignore + case t.Property.name: { + const propName = getPropertyName(propertyPath); + if (!propName) return; + + const propDescriptor = getDescriptor(propName); + const valuePath = propertyPath.get('value'); + const type = isPropTypesExpression(valuePath) + ? getPropType(valuePath) + : { name: 'custom', raw: printValue(valuePath) }; + + if (type) { + propDescriptor.type = type; + propDescriptor.required = + type.name !== 'custom' && isRequiredPropType(valuePath); + } + break; + } + // @ts-ignore + case t.SpreadElement.name: { + const resolvedValuePath = resolveToValue(propertyPath.get('argument')); + switch (resolvedValuePath.node.type) { + // @ts-ignore + case t.ObjectExpression.name: // normal object literal + amendPropTypes(getDescriptor, resolvedValuePath); + break; + } + break; + } + } + }); +} + +function getDefinePropertyValuePath(nodePath: any, propName: string) { + const program = getRoot(nodePath); + const componentName = nodePath.node.id.name; + let resultPath = nodePath; + + visit(program, { + visitCallExpression: function(path) { + const args = path.get('arguments'); + const argsNodeList = args.value; + if ( + argsNodeList.length === 3 && + t.Identifier.check(argsNodeList[0]) && + argsNodeList[0].name === componentName && + t.Literal.check(argsNodeList[1]) && + argsNodeList[1].value === propName + ) { + resultPath = args.get(2); + } + return false; + }, + }); + return resultPath; +} + +function getPropTypeHandler(propName: string) { + return function(documentation: any, path: any) { + let propTypesPath = getMemberValuePath(path, propName); + if (!propTypesPath) { + propTypesPath = getDefinePropertyValuePath(path, propName); + if (!propTypesPath) { + return; + } + } + propTypesPath = resolveToValue(propTypesPath); + if (!propTypesPath) { + return; + } + let getDescriptor; + switch (propName) { + case 'childContextTypes': + getDescriptor = documentation.getChildContextDescriptor; + break; + case 'contextTypes': + getDescriptor = documentation.getContextDescriptor; + break; + default: + getDescriptor = documentation.getPropDescriptor; + } + amendPropTypes(getDescriptor.bind(documentation), propTypesPath); + }; +} + +export const propTypeHandler = getPropTypeHandler('propTypes'); +export const contextTypeHandler = getPropTypeHandler('contextTypes'); +export const childContextTypeHandler = getPropTypeHandler('childContextTypes'); diff --git a/packages/material-parser/src/parser/resolver/checkIsIIFE.ts b/packages/material-parser/src/parser/resolver/checkIsIIFE.ts new file mode 100644 index 000000000..a3182be8c --- /dev/null +++ b/packages/material-parser/src/parser/resolver/checkIsIIFE.ts @@ -0,0 +1,7 @@ +export default function checkIsIIFE(path: any) { + return ( + path.value.callee && + path.value.callee.type === 'FunctionExpression' && + path.node.type === 'CallExpression' + ); +} diff --git a/packages/material-parser/src/parser/resolver/index.ts b/packages/material-parser/src/parser/resolver/index.ts new file mode 100644 index 000000000..b16a99fd4 --- /dev/null +++ b/packages/material-parser/src/parser/resolver/index.ts @@ -0,0 +1,168 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + +import { namedTypes as t, visit } from 'ast-types'; +const { + isExportsOrModuleAssignment, + isReactComponentClass, + isReactCreateClassCall, + isReactForwardRefCall, + isStatelessComponent, + normalizeClassDefinition, + resolveExportDeclaration, + resolveToValue, +} = require('react-docgen').utils; +import checkIsIIFE from './checkIsIIFE'; +import resolveHOC from './resolveHOC'; +import resolveIIFE from './resolveIIFE'; +import resolveTranspiledClass from './resolveTranspiledClass'; + +const ERROR_MULTIPLE_DEFINITIONS = + 'Multiple exported component definitions found.'; + +function ignore() { + return false; +} + +function isComponentDefinition(path: any) { + return ( + isReactCreateClassCall(path) || + isReactComponentClass(path) || + isStatelessComponent(path) || + isReactForwardRefCall(path) + ); +} + +function resolveDefinition(definition: any) { + if (isReactCreateClassCall(definition)) { + // return argument + const resolvedPath = resolveToValue(definition.get('arguments', 0)); + if (t.ObjectExpression.check(resolvedPath.node)) { + return resolvedPath; + } + } else if (isReactComponentClass(definition)) { + normalizeClassDefinition(definition); + return definition; + } else if ( + isStatelessComponent(definition) || + isReactForwardRefCall(definition) + ) { + return definition; + } + return null; +} + +function getDefinition(definition: any) { + if (checkIsIIFE(definition)) { + definition = resolveToValue(resolveIIFE(definition)); + if (!isComponentDefinition(definition)) { + definition = resolveTranspiledClass(definition); + } + } else { + definition = resolveToValue(resolveHOC(definition)); + if (checkIsIIFE(definition)) { + definition = resolveToValue(resolveIIFE(definition)); + if (!isComponentDefinition(definition)) { + definition = resolveTranspiledClass(definition); + } + } + } + // definition = resolveToValue(resolveIIFE(definition)); + // if (!isComponentDefinition(definition)) { + // definition = resolveTranspiledClass(definition); + // } + // definition = resolveToValue(resolveHOC(definition)); + + return definition; +} +/** + * Given an AST, this function tries to find the exported component definition. + * + * The component definition is either the ObjectExpression passed to + * `React.createClass` or a `class` definition extending `React.Component` or + * having a `render()` method. + * + * If a definition is part of the following statements, it is considered to be + * exported: + * + * modules.exports = Definition; + * exports.foo = Definition; + * export default Definition; + * export var Definition = ...; + */ +export default function findExportedComponentDefinition(ast: any) { + let foundDefinition: any; + + function exportDeclaration(path: any) { + const definitions = resolveExportDeclaration(path).reduce( + (acc: any, definition: any) => { + if (isComponentDefinition(definition)) { + acc.push(definition); + } else { + definition = getDefinition(definition); + if (isComponentDefinition(definition)) { + acc.push(definition); + } + } + return acc; + }, + [], + ); + + if (definitions.length === 0) { + return false; + } + if (definitions.length > 1 || foundDefinition) { + // If a file exports multiple components, ... complain! + throw new Error(ERROR_MULTIPLE_DEFINITIONS); + } + foundDefinition = resolveDefinition(definitions[0]); + return false; + } + + visit(ast, { + visitFunctionDeclaration: ignore, + visitFunctionExpression: ignore, + visitClassDeclaration: ignore, + visitClassExpression: ignore, + visitIfStatement: ignore, + visitWithStatement: ignore, + visitSwitchStatement: ignore, + visitWhileStatement: ignore, + visitDoWhileStatement: ignore, + visitForStatement: ignore, + visitForInStatement: ignore, + visitForOfStatement: ignore, + visitImportDeclaration: ignore, + + visitExportNamedDeclaration: exportDeclaration, + visitExportDefaultDeclaration: exportDeclaration, + + visitAssignmentExpression(path: any) { + // Ignore anything that is not `exports.X = ...;` or + // `module.exports = ...;` + if (!isExportsOrModuleAssignment(path)) { + return false; + } + // Resolve the value of the right hand side. It should resolve to a call + // expression, something like React.createClass + path = resolveToValue(path.get('right')); + if (!isComponentDefinition(path)) { + path = getDefinition(path); + } + if (foundDefinition) { + // If a file exports multiple components, ... complain! + throw new Error(ERROR_MULTIPLE_DEFINITIONS); + } + foundDefinition = resolveDefinition(path); + return false; + }, + }); + + return foundDefinition; +} diff --git a/packages/material-parser/src/parser/resolver/resolveHOC.ts b/packages/material-parser/src/parser/resolver/resolveHOC.ts new file mode 100644 index 000000000..a5538a91f --- /dev/null +++ b/packages/material-parser/src/parser/resolver/resolveHOC.ts @@ -0,0 +1,52 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import { namedTypes as t, visit } from 'ast-types'; +const { + isReactCreateClassCall, + isReactForwardRefCall, + resolveToValue, +} = require('react-docgen').utils; + +/** + * If the path is a call expression, it recursively resolves to the + * rightmost argument, stopping if it finds a React.createClass call expression + * + * Else the path itself is returned. + */ +export default function resolveHOC(path: any): any { + const node = path.node; + if ( + t.CallExpression.check(node) && + !isReactCreateClassCall(path) && + !isReactForwardRefCall(path) + ) { + if (node.arguments.length) { + const inner = path.get('arguments', 0); + + // If the first argument is one of these types then the component might be the last argument + // If there are all identifiers then we cannot figure out exactly and have to assume it is the first + if ( + node.arguments.length > 1 && + (t.Literal.check(inner.node) || + t.ObjectExpression.check(inner.node) || + t.ArrayExpression.check(inner.node) || + t.SpreadElement.check(inner.node)) + ) { + return resolveHOC( + // resolveToValue(path.get('arguments', node.arguments.length - 1)), + path.get('arguments', node.arguments.length - 1), + ); + } + + // return resolveHOC(resolveToValue(inner)); + return resolveHOC(inner); + } + } + + return path; +} diff --git a/packages/material-parser/src/parser/resolver/resolveIIFE.ts b/packages/material-parser/src/parser/resolver/resolveIIFE.ts new file mode 100644 index 000000000..011328600 --- /dev/null +++ b/packages/material-parser/src/parser/resolver/resolveIIFE.ts @@ -0,0 +1,33 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + +// const { namedTypes: t, visit } = require("ast-types"); +const resolveFunctionDefinitionToReturnValue = require('react-docgen/dist/utils/resolveFunctionDefinitionToReturnValue') + .default; +// isReactCreateClassCall, +// isReactForwardRefCall, +// resolveToValue, +// resolveHOC + +import checkIsIIFE from './checkIsIIFE'; +/** + * If the path is a call expression, it recursively resolves to the + * rightmost argument, stopping if it finds a React.createClass call expression + * + * Else the path itself is returned. + */ +export default function resolveIIFE(path: any) { + if (!checkIsIIFE(path)) { + return path; + } + const returnValue = resolveFunctionDefinitionToReturnValue( + path.get('callee'), + ); + + return returnValue; +} diff --git a/packages/material-parser/src/parser/resolver/resolveTranspiledClass.ts b/packages/material-parser/src/parser/resolver/resolveTranspiledClass.ts new file mode 100644 index 000000000..c4bfc6e72 --- /dev/null +++ b/packages/material-parser/src/parser/resolver/resolveTranspiledClass.ts @@ -0,0 +1,42 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + +import { builders, namedTypes as t, NodePath, visit } from 'ast-types'; +/** + * If the path is a call expression, it recursively resolves to the + * rightmost argument, stopping if it finds a React.createClass call expression + * + * Else the path itself is returned. + */ +export default function resolveTranspiledClass(path: any) { + let classPath = path; + visit(path, { + visitFunctionDeclaration(arg) { + classPath = new NodePath( + builders.functionDeclaration( + arg.node.id, + [], + builders.blockStatement([ + builders.returnStatement( + builders.jsxElement( + builders.jsxOpeningElement( + builders.jsxIdentifier('div'), + [], + true, + ), + ), + ), + ]), + ), + path.parent, + ); + return false; + }, + }); + return classPath; +} diff --git a/packages/material-parser/src/scanner/Scanner.ts b/packages/material-parser/src/scanner/Scanner.ts new file mode 100644 index 000000000..880678e13 --- /dev/null +++ b/packages/material-parser/src/scanner/Scanner.ts @@ -0,0 +1,170 @@ +import { pathExists, readFile, statSync } from 'fs-extra'; +import { dirname, join } from 'path'; +import { debug } from '../otter-core'; +import BaseParser from '../parser/BaseParser'; +import ReactParser from '../parser/ReactParser'; +import { + IMaterializeOptions, + IMaterialScanModel, + IScanner, + SourceType, +} from '../types'; + +const log = debug.extend('mat'); + +/** + * 文件扫描器 + * + * @class Scanner + * @implements {IScanner} + */ +class Scanner implements IScanner { + public options: IMaterializeOptions; + + constructor(options: IMaterializeOptions) { + this.options = options; + } + + public async scan(): Promise { + const model: IMaterialScanModel = { + pkgName: '', + pkgVersion: '', + mainEntry: '', + sourceType: SourceType.MODULE, + modules: [], + }; + const options = this.options; + log('options', options); + // 入口文件路径 + let entryFilePath = null; + const cwd = options.cwd ? options.cwd : ''; + const entry = options.entry; + const isDepsMode = cwd !== entry; + const pkgJsonPath = join(cwd, 'package.json'); + // 判断是否存在 package.json + // if (!(await pathExists(pkgJsonPath))) { + // throw new Error(`Cannot find package.json. ${pkgJsonPath}`); + // } + // 读取 package.json + let pkgJson = await this.resolvePkgJson(pkgJsonPath); + model.pkgName = pkgJson.name; + model.pkgVersion = pkgJson.version; + if (isDepsMode) { + pkgJson = await this.resolvePkgJson(join(entry, 'package.json')); + } + if (pkgJson.module) { + // 支持 es module + model.sourceType = SourceType.MODULE; + entryFilePath = pkgJson.module; + } else if (pkgJson.main) { + // 支持 commonjs + model.sourceType = SourceType.MAIN; + entryFilePath = pkgJson.main; + } else { + entryFilePath = './index.js'; + } + entryFilePath = join(isDepsMode ? entry : cwd, entryFilePath); + log('entryFilePath', entryFilePath); + const entryFile = await this.loadFile(entryFilePath); + log('entryFile', entryFile); + model.mainEntry = entryFilePath; + // 记录入口文件 + model.modules.push({ + filePath: entryFilePath, + fileContent: entryFile, + }); + log('model', model); + // debugger; + if (options.isExportedAsMultiple) { + // 解析 entryFile,提取出 export 语句 + const modules = await this.parseEntryFile({ + entryFile, + entryFilePath, + sourceType: model.sourceType, + }); + model.modules = [...modules]; + } + log('model', model); + return model; + } + + /** + * 判断是否为文件夹 + * @param {string} filePath 文件路径 + * @returns {Promise} + * @memberof LocalScanner + */ + public async isDirectory(filePath: string): Promise { + log('materialIn', 'isDirectory - filePath', filePath); + const stats = statSync(filePath); + return stats.isDirectory(); + } + + public async loadFile(filePath: string): Promise { + const content: string | Buffer = await readFile(filePath); + if (typeof content === 'string') { + return content; + } + return content.toString(); + } + + public async resolvePkgJson( + pkgJsonPath: string, + ): Promise<{ [k: string]: any }> { + const content = await this.loadFile(pkgJsonPath); + const json = JSON.parse(content); + return json; + } + + /** + * 解析入口文件,获取要导出的模块内容 + * @private + * @param {{ + * entryFile: string; + * entryFilePath: string; + * sourceType: string; + * }} params + * @returns {Promise} + * @memberof LocalScanner + */ + private async parseEntryFile(params: { + entryFile: string; + entryFilePath: string; + sourceType: string; + }): Promise { + const modules: any = []; + const entryFileDirName = dirname(params.entryFilePath); + const ecology = await BaseParser.recognizeEcology(this.options); + if (ecology === 'react') { + const exportedList = await ReactParser.parseExportedStatement( + params.entryFile, + params.sourceType, + ); + if (Array.isArray(exportedList)) { + for (const item of exportedList) { + if (item.source && item.source.length) { + try { + let filePath = join(entryFileDirName, item.source); + if (await this.isDirectory(filePath)) { + filePath = join(filePath, 'index.js'); + } else { + filePath = join(filePath, '.js'); + } + debug('filePath', filePath); + modules.push({ + filePath, + fileContent: await this.loadFile(filePath), + }); + } catch (e) { + debug('error', 'parseEntryFile', e.message); + } + } + } + } + } + debug('modules', modules); + return modules; + } +} + +export default Scanner; diff --git a/packages/material-parser/src/types/ChannelType.ts b/packages/material-parser/src/types/ChannelType.ts new file mode 100644 index 000000000..90c12050c --- /dev/null +++ b/packages/material-parser/src/types/ChannelType.ts @@ -0,0 +1,11 @@ +/** + * 物料接入渠道 + */ +enum ChannelType { + /** 本地 */ + LOCAL = 'local', + /** 在线 */ + ONLINE = 'online', +} + +export default ChannelType; diff --git a/packages/material-parser/src/types/EcologyType.ts b/packages/material-parser/src/types/EcologyType.ts new file mode 100644 index 000000000..c13a55f31 --- /dev/null +++ b/packages/material-parser/src/types/EcologyType.ts @@ -0,0 +1,15 @@ +/** + * 语法生态 + */ +enum EcologyType { + /** react 生态 */ + REACT = 'react', + /** vue 生态 */ + VUE = 'vue', + /** rax 生态 */ + RAX = 'rax', + /** angular 生态 */ + ANGULAR = 'angular', +} + +export default EcologyType; diff --git a/packages/material-parser/src/types/ExtensionName.ts b/packages/material-parser/src/types/ExtensionName.ts new file mode 100644 index 000000000..e1d45afa5 --- /dev/null +++ b/packages/material-parser/src/types/ExtensionName.ts @@ -0,0 +1,9 @@ +/** + * 扩展点名称 + */ +enum ExtensionName { + /** 配置 manifest */ + CONFIGMANIFEST = 'mat:config:manifest', +} + +export default ExtensionName; diff --git a/packages/material-parser/src/types/IAccesser.ts b/packages/material-parser/src/types/IAccesser.ts new file mode 100644 index 000000000..45cfd2dd3 --- /dev/null +++ b/packages/material-parser/src/types/IAccesser.ts @@ -0,0 +1,16 @@ +import { IComponentMaterial } from '../otter-core'; + +/** + * 接入器接口(用于定义物料化组件的接入渠道) + * @interface IAccesser + */ +interface IAccesser { + /** + * 接入 + * @returns {Promise} + * @memberof IAccesser + */ + access(): Promise; +} + +export default IAccesser; diff --git a/packages/material-parser/src/types/ICompiler.ts b/packages/material-parser/src/types/ICompiler.ts new file mode 100644 index 000000000..30835573e --- /dev/null +++ b/packages/material-parser/src/types/ICompiler.ts @@ -0,0 +1,15 @@ +/** + * 编译器 - 用于编译并打包生成 bundle.js + * @interface ICompiler + */ +interface ICompiler { + /** + * 编译 + * @param {{ [key: string]: any }} config webpack 配置文件 + * @returns {Promise} + * @memberof ICompiler + */ + compile(config: { [key: string]: any }): Promise; +} + +export default ICompiler; diff --git a/packages/material-parser/src/types/IExtensionConfigManifest.ts b/packages/material-parser/src/types/IExtensionConfigManifest.ts new file mode 100644 index 000000000..5971341f3 --- /dev/null +++ b/packages/material-parser/src/types/IExtensionConfigManifest.ts @@ -0,0 +1,15 @@ +import { IComponentMaterial } from '../otter-core'; +/** + * 扩展点:配置 manifest + * (物料化场景) + */ +type IExtensionConfigManifest = (params: { + manifestObj: IComponentMaterial; // manifest 配置对象 + manifestFilePath: string; // manifest 文件默认路径 +}) => Promise<{ + manifestJSON: string; // manifest 文件内容 + manifestFilePath: string; // manifest 文件路径 + manifestObj: IComponentMaterial; // manifest 文件对象 +}>; + +export default IExtensionConfigManifest; diff --git a/packages/material-parser/src/types/IGenerator.ts b/packages/material-parser/src/types/IGenerator.ts new file mode 100644 index 000000000..bd16d9ead --- /dev/null +++ b/packages/material-parser/src/types/IGenerator.ts @@ -0,0 +1,20 @@ +import { IComponentMaterial } from '../otter-core'; +import { IMaterialParsedModel } from './IMaterialParsedModel'; +import IMaterialScanModel from './IMaterialScanModel'; + +/** + * 生成器 + */ +export default interface IGenerator { + /** + * 根据前面两阶段的产物生成最终编排引擎需要的物料 + * @param {IMaterialScanModel} matScanModel 对应扫描阶段产物 + * @param {IMaterialParsedModel[]} matParsedModels 对应解析阶段产物 + * @returns {Promise} + * @memberof IGenerator + */ + generate( + matScanModel: IMaterialScanModel, + matParsedModels: IMaterialParsedModel[], + ): Promise; +} diff --git a/packages/material-parser/src/types/IMaterialParsedModel.ts b/packages/material-parser/src/types/IMaterialParsedModel.ts new file mode 100644 index 000000000..e86046674 --- /dev/null +++ b/packages/material-parser/src/types/IMaterialParsedModel.ts @@ -0,0 +1,49 @@ +import { PropsSection } from '../otter-core'; +/** + * 对应解析器分析出的一些关键信息 + */ +export interface IPropType { + name: string; + type: string; + value?: IPropTypes; + required: boolean; +} + +export type IPropTypes = IPropType[]; + +export interface IMaterialParsedModel { + filePath: string; + defaultExportName: string; + props?: PropsSection['props']; + componentNames: Array<{ + exportedName: string; + localName: string; + source?: string; + }>; + importModules: Array<{ + importDefaultName?: string; + importName?: string; + localName?: string; + source: string; + }>; + exportModules: Array<{ + exportedName: string; + localName: string; + source?: string; + }>; + /** + * 子模块,形如:Demo.SubModule = value; 或者 Demo.SubModule.Sub = subValue; + */ + subModules: Array<{ + objectName: string[]; + propertyName: string; + value?: string; + // value 是否对应匿名函数 + isValueAnonymousFunc: boolean; + }>; + propsTypes: IPropTypes; + propsDefaults: Array<{ + name: string; + defaultValue: any; + }>; +} diff --git a/packages/material-parser/src/types/IMaterialScanModel.ts b/packages/material-parser/src/types/IMaterialScanModel.ts new file mode 100644 index 000000000..5e9b1551c --- /dev/null +++ b/packages/material-parser/src/types/IMaterialScanModel.ts @@ -0,0 +1,20 @@ +/** + * 对应扫描阶段的产物 + */ +interface IMaterialScanModel { + /** 入口文件地址 */ + mainEntry: string; + /** 标记物料组件包所使用的模块规范 */ + sourceType: 'module' | 'main'; + /** 每个文件对应的文件内容 */ + modules: Array<{ + filePath: string; + fileContent: string; + }>; + /** 当前包名 */ + pkgName: string; + /** 当前包版本 */ + pkgVersion: string; +} + +export default IMaterialScanModel; diff --git a/packages/material-parser/src/types/IMaterializeOptions.ts b/packages/material-parser/src/types/IMaterializeOptions.ts new file mode 100644 index 000000000..9896f3916 --- /dev/null +++ b/packages/material-parser/src/types/IMaterializeOptions.ts @@ -0,0 +1,53 @@ +import ExtensionName from './ExtensionName'; +import IExtensionConfigManifest from './IExtensionConfigManifest'; + +/** + * 物料化配置项 + * @interface IMaterializeOptions + */ +interface IMaterializeOptions { + /** + * 入口文件路径或包名 + * 形如: + * 本地路径:/usr/project/src/container/DemoMaterial + * 包名:@ali/demo-material@0.0.1 + */ + entry: string; + + /** + * 接入渠道 + * (local:表示本地物料工作台方式接入,online:表示在线 npm 包接入) + * @type {('local' | 'online')} + * @memberof IMaterializeOptions + */ + accesser: 'local' | 'online'; + + /** + * 是否为多组件透出场景 + * (true:表示多组件透出场景,false:表示单组件透出场景) + * @type {boolean} + * @memberof IMaterializeOptions + */ + isExportedAsMultiple: boolean; + + /** + * 当 accesser=local 时,需要通过此配置项指定当前工作目录,形如:/usr/.../demo-project + * @type {string} + * @memberof IMaterializeOptions + */ + cwd?: string; + + /** + * 扩展点 + */ + extensions?: { + [ExtensionName.CONFIGMANIFEST]?: IExtensionConfigManifest; + }; + + /** + * 当 accesser=online 时,配置要使用的 npm client,如:tnpm、cnpm、yarn、npm + */ + npmClient?: string; +} + +export default IMaterializeOptions; diff --git a/packages/material-parser/src/types/IParser.ts b/packages/material-parser/src/types/IParser.ts new file mode 100644 index 000000000..3906b5ec9 --- /dev/null +++ b/packages/material-parser/src/types/IParser.ts @@ -0,0 +1,42 @@ +import { IMaterialParsedModel } from './IMaterialParsedModel'; +import IMaterialScanModel from './IMaterialScanModel'; + +/** + * 解析器 + * @interface IParser + */ +interface IParser { + /** + * 根据 IScanner 阶段的产出结果,解析对文件内容进行 AST 解析 + * @param {IMaterialScanModel} model IScanner 阶段的产出结果 + * @returns {Promise} + * @memberof IParser + */ + parse(model: IMaterialScanModel): Promise; + + /** + * 解析 ES5 语法 + * @param {IMaterialScanModel} model + * @returns {Promise} + * @memberof IParser + */ + parseES5(model: IMaterialScanModel): Promise; + + /** + * 解析 ESM 语法 + * @param {{ + * model: IMaterialScanModel, + * filePath: string, // 要解析的文件路径 + * fileContent: string // 要解析的文件内容 + * }} params + * @returns {Promise} + * @memberof IParser + */ + parseES6(params: { + model: IMaterialScanModel; + filePath: string; + fileContent: string; + }): Promise; +} + +export default IParser; diff --git a/packages/material-parser/src/types/IScanner.ts b/packages/material-parser/src/types/IScanner.ts new file mode 100644 index 000000000..2c10eda17 --- /dev/null +++ b/packages/material-parser/src/types/IScanner.ts @@ -0,0 +1,32 @@ +import IMaterialScanModel from './IMaterialScanModel'; + +/** + * 扫描器接口 + * @interface IScanner + */ +interface IScanner { + /** + * 扫描 + * @returns {Promise} 扫描产物 + * @memberof IScanner + */ + scan(): Promise; + + /** + * 加载文件 + * @param {string} filePath 文件地址 + * @returns {Promise} 返回文件内容 + * @memberof IScanner + */ + loadFile(filePath: string): Promise; + + /** + * 解析 package.json 文件 + * @param {string} pkgJsonPath 文件路径 + * @returns {Promise<{ [k: string]: any }>} package 文件信息 + * @memberof IScanner + */ + resolvePkgJson(pkgJsonPath: string): Promise<{ [k: string]: any }>; +} + +export default IScanner; diff --git a/packages/material-parser/src/types/SourceType.ts b/packages/material-parser/src/types/SourceType.ts new file mode 100644 index 000000000..f9a69cb81 --- /dev/null +++ b/packages/material-parser/src/types/SourceType.ts @@ -0,0 +1,11 @@ +/** + * 物料组件支持的模块规范 + */ +enum SourceType { + /** ES6 规范 */ + MODULE = 'module', + /** CommonJS 规范 */ + MAIN = 'main', +} + +export default SourceType; diff --git a/packages/material-parser/src/types/index.ts b/packages/material-parser/src/types/index.ts new file mode 100644 index 000000000..06f5ae80e --- /dev/null +++ b/packages/material-parser/src/types/index.ts @@ -0,0 +1,28 @@ +import ChannelType from './ChannelType'; +import EcologyType from './EcologyType'; +import ExtensionName from './ExtensionName'; +import IAccesser from './IAccesser'; +import ICompiler from './ICompiler'; +import IExtensionConfigManifest from './IExtensionConfigManifest'; +import IGenerator from './IGenerator'; +import IMaterializeOptions from './IMaterializeOptions'; +export * from './IMaterialParsedModel'; +import IMaterialScanModel from './IMaterialScanModel'; +import IParser from './IParser'; +import IScanner from './IScanner'; +import SourceType from './SourceType'; + +export { + IGenerator, + IParser, + IScanner, + ExtensionName, + IExtensionConfigManifest, + IMaterializeOptions, + IMaterialScanModel, + SourceType, + ChannelType, + EcologyType, + IAccesser, + ICompiler, +}; diff --git a/packages/material-parser/src/validate/index.ts b/packages/material-parser/src/validate/index.ts new file mode 100644 index 000000000..7309781da --- /dev/null +++ b/packages/material-parser/src/validate/index.ts @@ -0,0 +1,13 @@ +import Ajv from 'ajv'; +import schema from './schema.json'; + +const ajv = new Ajv({ jsonPointers: true }); +const validate = ajv.compile(schema); + +export default function validateSchema(json: object) { + if (validate(json) === false) { + throw new Error(JSON.stringify(validate.errors, null, 2)); + } + + return true; +} diff --git a/packages/material-parser/src/validate/schema.json b/packages/material-parser/src/validate/schema.json new file mode 100644 index 000000000..5a0364f76 --- /dev/null +++ b/packages/material-parser/src/validate/schema.json @@ -0,0 +1,548 @@ +{ + "$id": "@ali/low-code-component-protocol-schema", + "description": "json schema for low code component protocol", + "allOf": [ + { + "$ref": "#/definitions/BasicSection" + }, + { + "$ref": "#/definitions/PropsSection" + }, + { + "$ref": "#/definitions/ConfigureSection" + } + ], + "definitions": { + "BasicSection": { + "type": "object", + "properties": { + "componentName": { + "type": "string" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "docUrl": { + "type": "string" + }, + "screenshot": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "devMode": { + "enum": [ + "proCode", + "lowCode" + ] + }, + "npm": { + "$ref": "#/definitions/Npm" + } + }, + "required": [ + "componentName", + "title", + "npm" + ] + }, + "PropsSection": { + "type": "object", + "required": [ + "props" + ], + "properties": { + "props": { + "type": "array", + "items": { + "properties": { + "name": { + "type": "string" + }, + "propType": { + "$ref": "#/definitions/PropType" + }, + "description": { + "type": "string" + }, + "defaultValue": {} + }, + "required": [ + "name", + "propType" + ] + } + } + } + }, + "ConfigureSection": { + "type": "object", + "properties": { + "configure": { + "type": "object", + "properties": { + "props": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigureProp" + } + }, + "styles": { + "type": "object", + "properties": {} + }, + "events": { + "type": "object", + "properties": {} + }, + "component": { + "$ref": "#/definitions/ConfigureComponent" + } + } + } + } + }, + "Npm": { + "type": "object", + "properties": { + "package": { + "type": "string" + }, + "exportName": { + "type": "string" + }, + "subName": { + "type": "string" + }, + "main": { + "type": "string" + }, + "destructuring": { + "type": "boolean" + }, + "version": { + "type": "string" + } + }, + "required": [ + "package", + "exportName", + "subName", + "main", + "destructuring", + "version" + ] + }, + "PropType": { + "oneOf": [ + { + "$ref": "#/definitions/BasicType" + }, + { + "$ref": "#/definitions/RequiredType" + }, + { + "$ref": "#/definitions/ComplexType" + } + ] + }, + "BasicType": { + "type": "string", + "enum": [ + "array", + "bool", + "func", + "number", + "object", + "string", + "node", + "element", + "any" + ] + }, + "RequiredType": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/BasicType" + }, + "isRequired": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "type" + ] + }, + "ComplexType": { + "oneOf": [ + { + "$ref": "#/definitions/OneOf" + }, + { + "$ref": "#/definitions/OneOfType" + }, + { + "$ref": "#/definitions/ArrayOf" + }, + { + "$ref": "#/definitions/ObjectOf" + }, + { + "$ref": "#/definitions/Shape" + }, + { + "$ref": "#/definitions/Exact" + } + ] + }, + "OneOf": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "oneOf" + ] + }, + "value": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "isRequired": { + "type": "boolean" + } + } + }, + "OneOfType": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "oneOfType" + ] + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PropType" + } + }, + "isRequired": { + "type": "boolean" + } + } + }, + "ArrayOf": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "arrayOf" + ] + }, + "value": { + "$ref": "#/definitions/PropType" + }, + "isRequired": { + "type": "boolean" + } + } + }, + "ObjectOf": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "objectOf" + ] + }, + "value": { + "$ref": "#/definitions/PropType" + }, + "isRequired": { + "type": "boolean" + } + } + }, + "Shape": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "shape" + ] + }, + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "propType": { + "$ref": "#/definitions/PropType" + } + }, + "additionalProperties": false + } + }, + "isRequired": { + "type": "boolean" + } + } + }, + "ShapeItem": { + "type": "object", + "required": [ + "name", + "propType" + ], + "properties": { + "name": { + "type": "string" + }, + "propType": { + "$ref": "#/definitions/PropType" + }, + "isRequired": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "Exact": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "exact" + ] + }, + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "propType": { + "$ref": "#/definitions/PropType" + } + }, + "additionalProperties": false + } + }, + "isRequired": { + "type": "boolean" + } + } + }, + "ConfigureProp": { + "type": "object", + "allOf": [ + { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "extraProps": { + "type": "object", + "properties": {} + } + } + }, + { + "oneOf": [ + { + "$ref": "#/definitions/ConfigureFieldProp" + }, + { + "$ref": "#/definitions/ConfigureGroupProp" + } + ] + } + ] + }, + "ConfigureFieldProp": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "field" + ] + }, + "name": { + "type": "string" + }, + "setter": { + "$ref": "#/definitions/ConfigureFieldSetter" + } + } + }, + "ConfigureFieldSetter": { + "type": "object", + "required": [ + "componentName" + ], + "properties": { + "componentName": { + "type": "string", + "enum": [ + "List", + "Object", + "Function", + "Node", + "Mixin", + "Expression", + "Switch", + "Number", + "Input", + "TextArea", + "Date", + "DateYear", + "DateMonth", + "DateRange", + "ColorPicker", + "CodeEditor", + "Select", + "RadioGroup" + ] + }, + "props": { + "type": "object", + "properties": {} + } + } + }, + "ConfigureGroupProp": { + "type": "object", + "required": [ + "type", + "items" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "group" + ] + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigureProp" + } + } + } + }, + "ConfigureComponent": { + "type": "object", + "properties": { + "isContainer": { + "type": "boolean" + }, + "isModal": { + "type": "boolean" + }, + "descriptor": { + "type": "string" + }, + "nestingRule": { + "type": "object", + "properties": { + "childWhitelist": { + "type": "array", + "items": { + "type": "string" + } + }, + "parentWhitelist": { + "type": "array", + "items": { + "type": "string" + } + }, + "descendantBlacklist": { + "type": "array", + "items": { + "type": "string" + } + }, + "ancestorWhitelist": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "isNullNode": { + "type": "boolean" + }, + "isLayout": { + "type": "boolean" + } + } + } + } +} \ No newline at end of file diff --git a/packages/material-parser/test/Materialize.ts b/packages/material-parser/test/Materialize.ts new file mode 100644 index 000000000..c4c81bd2a --- /dev/null +++ b/packages/material-parser/test/Materialize.ts @@ -0,0 +1,63 @@ +import test from 'ava'; +import Materialize from '../src/Materialize'; +import { IMaterializeOptions } from '../src/types'; +import { getFromFixtures } from './helpers'; + +const multiExportedComptPath = getFromFixtures('multiple-exported-component'); +const singleExportedComptPath = getFromFixtures('single-exported-component'); +const singleExportedComponent = '@ali/demo-biz-test090702@0.0.2'; +const multipleExportedComponent = '@ali/aimake-basic@0.1.0'; + +test('materialize single exported component by local', async t => { + const options: IMaterializeOptions = { + cwd: singleExportedComptPath, + entry: singleExportedComptPath, + accesser: 'local', + isExportedAsMultiple: false, + }; + + const instance = new Materialize(options); + const actual = await instance.start(); + + t.snapshot(actual); +}); + +// test('materialize multiple exported component by local', async t => { +// const options: IMaterializeOptions = { +// cwd: multiExportedComptPath, +// entry: multiExportedComptPath, +// accesser: 'local', +// isExportedAsMultiple: true, +// }; + +// const instance = new Materialize(options); +// const actual = await instance.start(); + +// t.snapshot(actual); +// }); + +// test('materialize single exported component by online', async t => { +// const options: IMaterializeOptions = { +// entry: singleExportedComponent, +// accesser: 'online', +// isExportedAsMultiple: false, +// }; + +// const instance = new Materialize(options); +// const actual = await instance.start(); + +// t.snapshot(actual); +// }); + +// test('materialize multiple exported component by online', async t => { +// const options: IMaterializeOptions = { +// entry: multipleExportedComponent, +// accesser: 'online', +// isExportedAsMultiple: false, +// }; + +// const instance = new Materialize(options); +// const actual = await instance.start(); + +// t.snapshot(actual); +// }); diff --git a/packages/material-parser/test/accesser/LocalAccesser.ts b/packages/material-parser/test/accesser/LocalAccesser.ts new file mode 100644 index 000000000..d09786416 --- /dev/null +++ b/packages/material-parser/test/accesser/LocalAccesser.ts @@ -0,0 +1,29 @@ +import test from 'ava'; +import LocalAccesser from '../../src/accesser/LocalAccesser'; +import { IMaterializeOptions } from '../../src/types'; +import { getFromFixtures } from '../helpers'; + +const multiExportedComptPath = getFromFixtures('multiple-exported-component'); +const singleExportedComptPath = getFromFixtures('single-exported-component'); + +test.serial('access single exported component by local', async t => { + const options: IMaterializeOptions = { + entry: singleExportedComptPath, + accesser: 'local', + isExportedAsMultiple: false, + }; + const accesser = new LocalAccesser(options); + const actual = await accesser.access(); + t.snapshot(actual); +}); + +// test.serial('access multiple exported component by local', async t => { +// const options: IMaterializeOptions = { +// entry: multiExportedComptPath, +// accesser: 'local', +// isExportedAsMultiple: true, +// }; +// const accesser = new LocalAccesser(options); +// const actual = await accesser.access(); +// t.snapshot(actual); +// }); diff --git a/packages/material-parser/test/accesser/OnlineAccesser.ts b/packages/material-parser/test/accesser/OnlineAccesser.ts new file mode 100644 index 000000000..83aa50963 --- /dev/null +++ b/packages/material-parser/test/accesser/OnlineAccesser.ts @@ -0,0 +1,42 @@ +import test from 'ava'; +import OnlineAccesser from '../../src/accesser/OnlineAccesser'; +import { IMaterializeOptions } from '../../src/types'; + +const singleExportedComponent = '@ali/demo-biz-test090702@0.0.2'; +const multipleExportedComponent = '@ali/aimake-basic@0.1.0'; + +test.serial('online accesser', t => { + t.pass(); +}) +// test.serial('access single exported component by online', async t => { +// const options: IMaterializeOptions = { +// entry: singleExportedComponent, +// accesser: 'online', +// isExportedAsMultiple: false, +// }; +// const accesser = new OnlineAccesser(options); +// const actual = await accesser.access(); +// t.snapshot(actual); +// }); + +// test.serial('access multiple exported component by online', async t => { +// const options: IMaterializeOptions = { +// entry: multipleExportedComponent, +// accesser: 'online', +// isExportedAsMultiple: true, +// }; +// const accesser = new OnlineAccesser(options); +// const actual = await accesser.access(); +// t.snapshot(actual); +// }); + +// test.serial('access @alifd/next@1.17.12 by online', async t => { +// const options: IMaterializeOptions = { +// entry: '@alifd/next@1.17.12', +// accesser: 'online', +// isExportedAsMultiple: true, +// }; +// const accesser = new OnlineAccesser(options); +// const actual = await accesser.access(); +// t.snapshot(actual); +// }); diff --git a/packages/material-parser/test/accesser/snapshots/LocalAccesser.ts.md b/packages/material-parser/test/accesser/snapshots/LocalAccesser.ts.md new file mode 100644 index 000000000..b6d56ecd5 --- /dev/null +++ b/packages/material-parser/test/accesser/snapshots/LocalAccesser.ts.md @@ -0,0 +1,529 @@ +# Snapshot report for `test/accesser/LocalAccesser.ts` + +The actual snapshot is saved in `LocalAccesser.ts.snap`. + +Generated by [AVA](https://ava.li). + +## access multiple exported component by local + +> Snapshot 1 + + [ + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.js', + manifestJS: 'export default {"name":"AIMakeBlank","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"styleFlexLayout","label":"styleFlexLayout","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"},{"name":"id","label":"id","renderer":""}]}}', + manifestObj: { + name: 'AIMakeBlank', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: undefined, + label: 'children', + name: 'children', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBoxModel', + name: 'styleBoxModel', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleLayout', + name: 'styleLayout', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBackground', + name: 'styleBackground', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleFlexLayout', + name: 'styleFlexLayout', + renderer: '', + }, + { + defaultValue: '{}', + label: 'style', + name: 'style', + renderer: '', + }, + { + defaultValue: undefined, + label: 'id', + name: 'id', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.js', + manifestJS: 'export default {"name":"AIMakeIcon","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"className","label":"className","renderer":""},{"name":"iconClassName","label":"iconClassName","renderer":""},{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestObj: { + name: 'AIMakeIcon', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: undefined, + label: 'className', + name: 'className', + renderer: '', + }, + { + defaultValue: undefined, + label: 'iconClassName', + name: 'iconClassName', + renderer: '', + }, + { + defaultValue: undefined, + label: 'children', + name: 'children', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBoxModel', + name: 'styleBoxModel', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleText', + name: 'styleText', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBackground', + name: 'styleBackground', + renderer: '', + }, + { + defaultValue: '{}', + label: 'style', + name: 'style', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.js', + manifestJS: 'export default {"name":"AIMakeImage","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestObj: { + name: 'AIMakeImage', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: undefined, + label: 'styleBoxModel', + name: 'styleBoxModel', + renderer: '', + }, + { + defaultValue: '{}', + label: 'style', + name: 'style', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.js', + manifestJS: 'export default {"name":"AIMakeLink","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestObj: { + name: 'AIMakeLink', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: undefined, + label: 'children', + name: 'children', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBoxModel', + name: 'styleBoxModel', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleText', + name: 'styleText', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleLayout', + name: 'styleLayout', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBackground', + name: 'styleBackground', + renderer: '', + }, + { + defaultValue: '{}', + label: 'style', + name: 'style', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.js', + manifestJS: 'export default {"name":"AIMakePlaceholder","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestObj: { + name: 'AIMakePlaceholder', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: undefined, + label: 'children', + name: 'children', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBoxModel', + name: 'styleBoxModel', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleLayout', + name: 'styleLayout', + renderer: '', + }, + { + defaultValue: '{}', + label: 'style', + name: 'style', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.js', + manifestJS: 'export default {"name":"AIMakeText","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"type","label":"type","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestObj: { + name: 'AIMakeText', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: undefined, + label: 'children', + name: 'children', + renderer: '', + }, + { + defaultValue: undefined, + label: 'type', + name: 'type', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBoxModel', + name: 'styleBoxModel', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleText', + name: 'styleText', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleLayout', + name: 'styleLayout', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBackground', + name: 'styleBackground', + renderer: '', + }, + { + defaultValue: '{}', + label: 'style', + name: 'style', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.js', + manifestJS: 'export default {"name":"Root","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"style","label":"style","renderer":"","defaultValue":"{\\n padding: 0,\\n backgroundColor: \'#f0f2f5\',\\n minHeight: \'100%\'\\n}"},{"name":"children","label":"children","renderer":""}]}}', + manifestObj: { + name: 'Root', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: `{␊ + padding: 0,␊ + backgroundColor: '#f0f2f5',␊ + minHeight: '100%'␊ + }`, + label: 'style', + name: 'style', + renderer: '', + }, + { + defaultValue: undefined, + label: 'children', + name: 'children', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + ] + +## access single exported component by local + +> Snapshot 1 + + [ + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/manifest.js', + manifestJS: 'export default {"name":"Demo","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"optionalArray","label":"optionalArray","renderer":""},{"name":"optionalBool","label":"optionalBool","renderer":""},{"name":"optionalFunc","label":"optionalFunc","renderer":""},{"name":"optionalNumber","label":"optionalNumber","renderer":""},{"name":"optionalObject","label":"optionalObject","renderer":""},{"name":"optionalString","label":"optionalString","renderer":""},{"name":"optionalSymbol","label":"optionalSymbol","renderer":""},{"name":"optionalNode","label":"optionalNode","renderer":""},{"name":"optionalElement","label":"optionalElement","renderer":""},{"name":"optionalElementType","label":"optionalElementType","renderer":""},{"name":"optionalMessage","label":"optionalMessage","renderer":""},{"name":"optionalEnum","label":"optionalEnum","renderer":""},{"name":"optionalUnion","label":"optionalUnion","renderer":""},{"name":"optionalArrayOf","label":"optionalArrayOf","renderer":""},{"name":"optionalObjectOf","label":"optionalObjectOf","renderer":""},{"name":"optionalObjectWithShape","label":"optionalObjectWithShape","renderer":""},{"name":"optionalObjectWithShape2","label":"optionalObjectWithShape2","renderer":""},{"name":"optionalObjectWithStrictShape","label":"optionalObjectWithStrictShape","renderer":""},{"name":"requiredFunc","label":"requiredFunc","renderer":""},{"name":"requiredAny","label":"requiredAny","renderer":""}]}}', + manifestObj: { + name: 'Demo', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: undefined, + label: 'optionalArray', + name: 'optionalArray', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalBool', + name: 'optionalBool', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalFunc', + name: 'optionalFunc', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalNumber', + name: 'optionalNumber', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalObject', + name: 'optionalObject', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalString', + name: 'optionalString', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalSymbol', + name: 'optionalSymbol', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalNode', + name: 'optionalNode', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalElement', + name: 'optionalElement', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalElementType', + name: 'optionalElementType', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalMessage', + name: 'optionalMessage', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalEnum', + name: 'optionalEnum', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalUnion', + name: 'optionalUnion', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalArrayOf', + name: 'optionalArrayOf', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalObjectOf', + name: 'optionalObjectOf', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalObjectWithShape', + name: 'optionalObjectWithShape', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalObjectWithShape2', + name: 'optionalObjectWithShape2', + renderer: '', + }, + { + defaultValue: undefined, + label: 'optionalObjectWithStrictShape', + name: 'optionalObjectWithStrictShape', + renderer: '', + }, + { + defaultValue: undefined, + label: 'requiredFunc', + name: 'requiredFunc', + renderer: '', + }, + { + defaultValue: undefined, + label: 'requiredAny', + name: 'requiredAny', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + ] diff --git a/packages/material-parser/test/accesser/snapshots/LocalAccesser.ts.snap b/packages/material-parser/test/accesser/snapshots/LocalAccesser.ts.snap new file mode 100644 index 000000000..0d3c837c2 Binary files /dev/null and b/packages/material-parser/test/accesser/snapshots/LocalAccesser.ts.snap differ diff --git a/packages/material-parser/test/accesser/snapshots/OnlineAccesser.ts.md b/packages/material-parser/test/accesser/snapshots/OnlineAccesser.ts.md new file mode 100644 index 000000000..fc1e99f97 --- /dev/null +++ b/packages/material-parser/test/accesser/snapshots/OnlineAccesser.ts.md @@ -0,0 +1,408 @@ +# Snapshot report for `test/accesser/OnlineAccesser.ts` + +The actual snapshot is saved in `OnlineAccesser.ts.snap`. + +Generated by [AVA](https://ava.li). + +## access multiple exported component by online + +> Snapshot 1 + + [ + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/node_modules/.temp/kDKCQ3wGKzpHh6KU5ExdE1/node_modules/@ali/aimake-basic/es/basic/AIMakeBlank/manifest.js', + manifestJS: 'export default {"name":"AIMakeBlank","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"styleFlexLayout","label":"styleFlexLayout","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"},{"name":"id","label":"id","renderer":""}]}}', + manifestObj: { + name: 'AIMakeBlank', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: undefined, + label: 'children', + name: 'children', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBoxModel', + name: 'styleBoxModel', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleLayout', + name: 'styleLayout', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBackground', + name: 'styleBackground', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleFlexLayout', + name: 'styleFlexLayout', + renderer: '', + }, + { + defaultValue: '{}', + label: 'style', + name: 'style', + renderer: '', + }, + { + defaultValue: undefined, + label: 'id', + name: 'id', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/node_modules/.temp/kDKCQ3wGKzpHh6KU5ExdE1/node_modules/@ali/aimake-basic/es/basic/AIMakeIcon/manifest.js', + manifestJS: 'export default {"name":"AIMakeIcon","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"className","label":"className","renderer":""},{"name":"iconClassName","label":"iconClassName","renderer":""},{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestObj: { + name: 'AIMakeIcon', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: undefined, + label: 'className', + name: 'className', + renderer: '', + }, + { + defaultValue: undefined, + label: 'iconClassName', + name: 'iconClassName', + renderer: '', + }, + { + defaultValue: undefined, + label: 'children', + name: 'children', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBoxModel', + name: 'styleBoxModel', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleText', + name: 'styleText', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBackground', + name: 'styleBackground', + renderer: '', + }, + { + defaultValue: '{}', + label: 'style', + name: 'style', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/node_modules/.temp/kDKCQ3wGKzpHh6KU5ExdE1/node_modules/@ali/aimake-basic/es/basic/AIMakeImage/manifest.js', + manifestJS: 'export default {"name":"AIMakeImage","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestObj: { + name: 'AIMakeImage', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: undefined, + label: 'styleBoxModel', + name: 'styleBoxModel', + renderer: '', + }, + { + defaultValue: '{}', + label: 'style', + name: 'style', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/node_modules/.temp/kDKCQ3wGKzpHh6KU5ExdE1/node_modules/@ali/aimake-basic/es/basic/AIMakeLink/manifest.js', + manifestJS: 'export default {"name":"AIMakeLink","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestObj: { + name: 'AIMakeLink', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: undefined, + label: 'children', + name: 'children', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBoxModel', + name: 'styleBoxModel', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleText', + name: 'styleText', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleLayout', + name: 'styleLayout', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBackground', + name: 'styleBackground', + renderer: '', + }, + { + defaultValue: '{}', + label: 'style', + name: 'style', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/node_modules/.temp/kDKCQ3wGKzpHh6KU5ExdE1/node_modules/@ali/aimake-basic/es/basic/AIMakePlaceholder/manifest.js', + manifestJS: 'export default {"name":"AIMakePlaceholder","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestObj: { + name: 'AIMakePlaceholder', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: undefined, + label: 'children', + name: 'children', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBoxModel', + name: 'styleBoxModel', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleLayout', + name: 'styleLayout', + renderer: '', + }, + { + defaultValue: '{}', + label: 'style', + name: 'style', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/node_modules/.temp/kDKCQ3wGKzpHh6KU5ExdE1/node_modules/@ali/aimake-basic/es/basic/AIMakeText/manifest.js', + manifestJS: 'export default {"name":"AIMakeText","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"type","label":"type","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestObj: { + name: 'AIMakeText', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: undefined, + label: 'children', + name: 'children', + renderer: '', + }, + { + defaultValue: undefined, + label: 'type', + name: 'type', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBoxModel', + name: 'styleBoxModel', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleText', + name: 'styleText', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleLayout', + name: 'styleLayout', + renderer: '', + }, + { + defaultValue: undefined, + label: 'styleBackground', + name: 'styleBackground', + renderer: '', + }, + { + defaultValue: '{}', + label: 'style', + name: 'style', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/node_modules/.temp/kDKCQ3wGKzpHh6KU5ExdE1/node_modules/@ali/aimake-basic/es/basic/Root/manifest.js', + manifestJS: 'export default {"name":"Root","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"style","label":"style","renderer":"","defaultValue":"{\\n padding: 0,\\n backgroundColor: \'#f0f2f5\',\\n minHeight: \'100%\'\\n}"},{"name":"children","label":"children","renderer":""}]}}', + manifestObj: { + name: 'Root', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [ + { + defaultValue: `{␊ + padding: 0,␊ + backgroundColor: '#f0f2f5',␊ + minHeight: '100%'␊ + }`, + label: 'style', + name: 'style', + renderer: '', + }, + { + defaultValue: undefined, + label: 'children', + name: 'children', + renderer: '', + }, + ], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + ] + +## access single exported component by online + +> Snapshot 1 + + [ + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/node_modules/.temp/todtaTTK9KxDGepu5Kbb9G/node_modules/@ali/demo-biz-test090702/es/manifest.js', + manifestJS: 'export default {"name":"Demo","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}', + manifestObj: { + name: 'Demo', + settings: { + handles: [ + 'cut', + 'copy', + 'duplicate', + 'delete', + 'paste', + ], + insertionModes: 'tbrl', + props: [], + shouldActive: true, + shouldDrag: true, + type: 'element_inline', + }, + }, + }, + ] diff --git a/packages/material-parser/test/accesser/snapshots/OnlineAccesser.ts.snap b/packages/material-parser/test/accesser/snapshots/OnlineAccesser.ts.snap new file mode 100644 index 000000000..e8ea50d94 Binary files /dev/null and b/packages/material-parser/test/accesser/snapshots/OnlineAccesser.ts.snap differ diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.md b/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.md new file mode 100644 index 000000000..7a2d6f6db --- /dev/null +++ b/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.md @@ -0,0 +1,188 @@ +# Snapshot report for `test/Materialize.ts` + +The actual snapshot is saved in `Materialize.ts.snap`. + +Generated by [AVA](https://avajs.dev). + +## materialize single exported component by local + +> Snapshot 1 + + [ + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js', + package: 'single-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'optionalArray', + propType: 'array', + }, + { + name: 'optionalBool', + propType: 'bool', + }, + { + name: 'optionalFunc', + propType: 'func', + }, + { + defaultValue: 123, + name: 'optionalNumber', + propType: 'number', + }, + { + name: 'optionalObject', + propType: 'object', + }, + { + name: 'optionalString', + propType: 'string', + }, + { + name: 'optionalSymbol', + propType: 'symbol', + }, + { + name: 'optionalNode', + propType: 'node', + }, + { + name: 'optionalElement', + propType: 'element', + }, + { + name: 'optionalElementType', + propType: 'elementType', + }, + { + name: 'optionalMessage', + propType: { + type: 'instanceOf', + value: 'Demo', + }, + }, + { + name: 'optionalEnum', + propType: { + type: 'oneOf', + value: [ + 'News', + 'Photos', + ], + }, + }, + { + name: 'optionalUnion', + propType: { + type: 'oneOfType', + value: [ + 'string', + 'number', + { + type: 'instanceOf', + value: 'Demo', + }, + ], + }, + }, + { + name: 'optionalArrayOf', + propType: { + type: 'arrayOf', + value: 'number', + }, + }, + { + name: 'optionalObjectOf', + propType: { + type: 'objectOf', + value: 'number', + }, + }, + { + name: 'optionalObjectWithShape', + propType: { + type: 'shape', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'optionalObjectWithShape2', + propType: { + isRequired: true, + type: 'shape', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'optionalObjectWithStrictShape', + propType: { + type: 'exact', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'requiredFunc', + propType: { + isRequired: true, + type: 'func', + }, + }, + { + name: 'requiredAny', + propType: { + isRequired: true, + type: 'any', + }, + }, + ], + screenshot: '', + title: 'single-exported-component', + }, + }, + ] diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.snap b/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.snap new file mode 100644 index 000000000..c49d07908 Binary files /dev/null and b/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.snap differ diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.md b/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.md new file mode 100644 index 000000000..27bbbe3db --- /dev/null +++ b/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.md @@ -0,0 +1,188 @@ +# Snapshot report for `test/accesser/LocalAccesser.ts` + +The actual snapshot is saved in `LocalAccesser.ts.snap`. + +Generated by [AVA](https://avajs.dev). + +## access single exported component by local + +> Snapshot 1 + + [ + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js', + package: '@ali/lowcode-engine-material-parser', + subName: '', + version: '0.1.0', + }, + props: [ + { + name: 'optionalArray', + propType: 'array', + }, + { + name: 'optionalBool', + propType: 'bool', + }, + { + name: 'optionalFunc', + propType: 'func', + }, + { + defaultValue: 123, + name: 'optionalNumber', + propType: 'number', + }, + { + name: 'optionalObject', + propType: 'object', + }, + { + name: 'optionalString', + propType: 'string', + }, + { + name: 'optionalSymbol', + propType: 'symbol', + }, + { + name: 'optionalNode', + propType: 'node', + }, + { + name: 'optionalElement', + propType: 'element', + }, + { + name: 'optionalElementType', + propType: 'elementType', + }, + { + name: 'optionalMessage', + propType: { + type: 'instanceOf', + value: 'Demo', + }, + }, + { + name: 'optionalEnum', + propType: { + type: 'oneOf', + value: [ + 'News', + 'Photos', + ], + }, + }, + { + name: 'optionalUnion', + propType: { + type: 'oneOfType', + value: [ + 'string', + 'number', + { + type: 'instanceOf', + value: 'Demo', + }, + ], + }, + }, + { + name: 'optionalArrayOf', + propType: { + type: 'arrayOf', + value: 'number', + }, + }, + { + name: 'optionalObjectOf', + propType: { + type: 'objectOf', + value: 'number', + }, + }, + { + name: 'optionalObjectWithShape', + propType: { + type: 'shape', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'optionalObjectWithShape2', + propType: { + isRequired: true, + type: 'shape', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'optionalObjectWithStrictShape', + propType: { + type: 'exact', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'requiredFunc', + propType: { + isRequired: true, + type: 'func', + }, + }, + { + name: 'requiredAny', + propType: { + isRequired: true, + type: 'any', + }, + }, + ], + screenshot: '', + title: '@ali/lowcode-engine-material-parser', + }, + }, + ] diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.snap b/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.snap new file mode 100644 index 000000000..368768b7c Binary files /dev/null and b/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.snap differ diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/generator/Generator.ts.md b/packages/material-parser/test/fixtures/__snapshots__/test/generator/Generator.ts.md new file mode 100644 index 000000000..d01bf610e --- /dev/null +++ b/packages/material-parser/test/fixtures/__snapshots__/test/generator/Generator.ts.md @@ -0,0 +1,1135 @@ +# Snapshot report for `test/generator/Generator.ts` + +The actual snapshot is saved in `Generator.ts.snap`. + +Generated by [AVA](https://avajs.dev). + +## generate multiple exported components + +> Snapshot 1 + + [ + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + ], + }, + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleBackground', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleFlexLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + { + name: 'id', + propType: 'string', + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'className', + propType: 'string', + }, + { + name: 'iconClassName', + propType: 'string', + }, + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + ], + }, + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleText', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleBackground', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + ], + }, + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleText', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleBackground', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + ], + }, + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + 'string', + ], + }, + }, + { + name: 'type', + propType: 'string', + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleText', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleBackground', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'style', + propType: 'object', + }, + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + 'element', + { + type: 'arrayOf', + value: 'element', + }, + ], + }, + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + ] + +## generate multiple exported components with extensions + +> Snapshot 1 + + [ + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + ], + }, + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleBackground', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleFlexLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + { + name: 'id', + propType: 'string', + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'className', + propType: 'string', + }, + { + name: 'iconClassName', + propType: 'string', + }, + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + ], + }, + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleText', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleBackground', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + ], + }, + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleText', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleBackground', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + ], + }, + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + 'string', + ], + }, + }, + { + name: 'type', + propType: 'string', + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleText', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleBackground', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'style', + propType: 'object', + }, + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + 'element', + { + type: 'arrayOf', + value: 'element', + }, + ], + }, + }, + ], + screenshot: '', + title: 'multiple-exported-component', + }, + }, + ] + +## generate single exported components + +> Snapshot 1 + + [ + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js', + package: 'single-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'optionalArray', + propType: 'array', + }, + { + name: 'optionalBool', + propType: 'bool', + }, + { + name: 'optionalFunc', + propType: 'func', + }, + { + defaultValue: 123, + name: 'optionalNumber', + propType: 'number', + }, + { + name: 'optionalObject', + propType: 'object', + }, + { + name: 'optionalString', + propType: 'string', + }, + { + name: 'optionalSymbol', + propType: 'symbol', + }, + { + name: 'optionalNode', + propType: 'node', + }, + { + name: 'optionalElement', + propType: 'element', + }, + { + name: 'optionalElementType', + propType: 'elementType', + }, + { + name: 'optionalMessage', + propType: { + type: 'instanceOf', + value: 'Demo', + }, + }, + { + name: 'optionalEnum', + propType: { + type: 'oneOf', + value: [ + 'News', + 'Photos', + ], + }, + }, + { + name: 'optionalUnion', + propType: { + type: 'oneOfType', + value: [ + 'string', + 'number', + { + type: 'instanceOf', + value: 'Demo', + }, + ], + }, + }, + { + name: 'optionalArrayOf', + propType: { + type: 'arrayOf', + value: 'number', + }, + }, + { + name: 'optionalObjectOf', + propType: { + type: 'objectOf', + value: 'number', + }, + }, + { + name: 'optionalObjectWithShape', + propType: { + type: 'shape', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'optionalObjectWithShape2', + propType: { + isRequired: true, + type: 'shape', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'optionalObjectWithStrictShape', + propType: { + type: 'exact', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'requiredFunc', + propType: { + isRequired: true, + type: 'func', + }, + }, + { + name: 'requiredAny', + propType: { + isRequired: true, + type: 'any', + }, + }, + ], + screenshot: '', + title: 'single-exported-component', + }, + }, + ] + +## generate single exported components with extensions + +> Snapshot 1 + + [ + { + manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/src/manifest.json', + manifestObj: { + docUrl: '', + npm: { + destructuring: false, + exportName: '', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js', + package: 'single-exported-component', + subName: '', + version: '1.0.0', + }, + props: [ + { + name: 'optionalArray', + propType: 'array', + }, + { + name: 'optionalBool', + propType: 'bool', + }, + { + name: 'optionalFunc', + propType: 'func', + }, + { + defaultValue: 123, + name: 'optionalNumber', + propType: 'number', + }, + { + name: 'optionalObject', + propType: 'object', + }, + { + name: 'optionalString', + propType: 'string', + }, + { + name: 'optionalSymbol', + propType: 'symbol', + }, + { + name: 'optionalNode', + propType: 'node', + }, + { + name: 'optionalElement', + propType: 'element', + }, + { + name: 'optionalElementType', + propType: 'elementType', + }, + { + name: 'optionalMessage', + propType: { + type: 'instanceOf', + value: 'Demo', + }, + }, + { + name: 'optionalEnum', + propType: { + type: 'oneOf', + value: [ + 'News', + 'Photos', + ], + }, + }, + { + name: 'optionalUnion', + propType: { + type: 'oneOfType', + value: [ + 'string', + 'number', + { + type: 'instanceOf', + value: 'Demo', + }, + ], + }, + }, + { + name: 'optionalArrayOf', + propType: { + type: 'arrayOf', + value: 'number', + }, + }, + { + name: 'optionalObjectOf', + propType: { + type: 'objectOf', + value: 'number', + }, + }, + { + name: 'optionalObjectWithShape', + propType: { + type: 'shape', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'optionalObjectWithShape2', + propType: { + isRequired: true, + type: 'shape', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'optionalObjectWithStrictShape', + propType: { + type: 'exact', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'requiredFunc', + propType: { + isRequired: true, + type: 'func', + }, + }, + { + name: 'requiredAny', + propType: { + isRequired: true, + type: 'any', + }, + }, + ], + screenshot: '', + title: 'single-exported-component', + }, + }, + ] diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/generator/Generator.ts.snap b/packages/material-parser/test/fixtures/__snapshots__/test/generator/Generator.ts.snap new file mode 100644 index 000000000..6da53d5f1 Binary files /dev/null and b/packages/material-parser/test/fixtures/__snapshots__/test/generator/Generator.ts.snap differ diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/parser/ReactParser.ts.md b/packages/material-parser/test/fixtures/__snapshots__/test/parser/ReactParser.ts.md new file mode 100644 index 000000000..6a6806c56 --- /dev/null +++ b/packages/material-parser/test/fixtures/__snapshots__/test/parser/ReactParser.ts.md @@ -0,0 +1,474 @@ +# Snapshot report for `test/parser/ReactParser.ts` + +The actual snapshot is saved in `ReactParser.ts.snap`. + +Generated by [AVA](https://avajs.dev). + +## parse es6 multiple exported component by local + +> Snapshot 1 + + [ + { + defaultExportName: 'AIMakeBlank', + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/index.js', + props: [ + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + ], + }, + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleBackground', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleFlexLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + { + name: 'id', + propType: 'string', + }, + ], + }, + { + defaultExportName: 'AIMakeIcon', + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/index.js', + props: [ + { + name: 'className', + propType: 'string', + }, + { + name: 'iconClassName', + propType: 'string', + }, + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + ], + }, + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleText', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleBackground', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + }, + { + defaultExportName: 'AIMakeImage', + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/index.js', + props: [ + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + }, + { + defaultExportName: 'AIMakeLink', + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/index.js', + props: [ + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + ], + }, + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleText', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleBackground', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + }, + { + defaultExportName: 'AIMakePlaceholder', + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/index.js', + props: [ + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + ], + }, + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + }, + { + defaultExportName: 'AIMakeText', + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/index.js', + props: [ + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + { + type: 'arrayOf', + value: 'node', + }, + 'node', + 'string', + ], + }, + }, + { + name: 'type', + propType: 'string', + }, + { + name: 'styleBoxModel', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleText', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleLayout', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'styleBackground', + propType: { + isRequired: true, + type: 'object', + }, + }, + { + name: 'style', + propType: 'object', + }, + ], + }, + { + defaultExportName: 'Root', + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/index.js', + props: [ + { + name: 'style', + propType: 'object', + }, + { + name: 'children', + propType: { + type: 'oneOfType', + value: [ + 'element', + { + type: 'arrayOf', + value: 'element', + }, + ], + }, + }, + ], + }, + ] + +## parse es6 single exported component by local + +> Snapshot 1 + + [ + { + defaultExportName: 'Demo', + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js', + props: [ + { + name: 'optionalArray', + propType: 'array', + }, + { + name: 'optionalBool', + propType: 'bool', + }, + { + name: 'optionalFunc', + propType: 'func', + }, + { + defaultValue: 123, + name: 'optionalNumber', + propType: 'number', + }, + { + name: 'optionalObject', + propType: 'object', + }, + { + name: 'optionalString', + propType: 'string', + }, + { + name: 'optionalSymbol', + propType: 'symbol', + }, + { + name: 'optionalNode', + propType: 'node', + }, + { + name: 'optionalElement', + propType: 'element', + }, + { + name: 'optionalElementType', + propType: 'elementType', + }, + { + name: 'optionalMessage', + propType: { + type: 'instanceOf', + value: 'Demo', + }, + }, + { + name: 'optionalEnum', + propType: { + type: 'oneOf', + value: [ + 'News', + 'Photos', + ], + }, + }, + { + name: 'optionalUnion', + propType: { + type: 'oneOfType', + value: [ + 'string', + 'number', + { + type: 'instanceOf', + value: 'Demo', + }, + ], + }, + }, + { + name: 'optionalArrayOf', + propType: { + type: 'arrayOf', + value: 'number', + }, + }, + { + name: 'optionalObjectOf', + propType: { + type: 'objectOf', + value: 'number', + }, + }, + { + name: 'optionalObjectWithShape', + propType: { + type: 'shape', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'optionalObjectWithShape2', + propType: { + isRequired: true, + type: 'shape', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'optionalObjectWithStrictShape', + propType: { + type: 'exact', + value: [ + { + name: 'optionalProperty', + propType: 'string', + }, + { + name: 'requiredProperty', + propType: { + isRequired: true, + type: 'number', + }, + }, + ], + }, + }, + { + name: 'requiredFunc', + propType: { + isRequired: true, + type: 'func', + }, + }, + { + name: 'requiredAny', + propType: { + isRequired: true, + type: 'any', + }, + }, + ], + }, + ] diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/parser/ReactParser.ts.snap b/packages/material-parser/test/fixtures/__snapshots__/test/parser/ReactParser.ts.snap new file mode 100644 index 000000000..452d8b7a8 Binary files /dev/null and b/packages/material-parser/test/fixtures/__snapshots__/test/parser/ReactParser.ts.snap differ diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/scanner/Scanner.ts.md b/packages/material-parser/test/fixtures/__snapshots__/test/scanner/Scanner.ts.md new file mode 100644 index 000000000..e047efd48 --- /dev/null +++ b/packages/material-parser/test/fixtures/__snapshots__/test/scanner/Scanner.ts.md @@ -0,0 +1,623 @@ +# Snapshot report for `test/scanner/Scanner.ts` + +The actual snapshot is saved in `Scanner.ts.snap`. + +Generated by [AVA](https://avajs.dev). + +## scan multiple exported component + +> Snapshot 1 + + { + mainEntry: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + modules: [ + { + fileContent: `import _extends from "@babel/runtime/helpers/extends";␊ + import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React, { Component } from 'react';␊ + import PropTypes from 'prop-types';␊ + import HOCBoxModelProps from '../utils/HOCBoxModelProps';␊ + import HOCLayoutProps from '../utils/HOCLayoutProps';␊ + import HOCBackgroundProps from '../utils/HOCBackgroundProps';␊ + import HOCFlexLayoutProps from '../utils/HOCFlexLayoutProps';␊ + ␊ + var AIMakeBlank =␊ + /*#__PURE__*/␊ + function (_Component) {␊ + _inherits(AIMakeBlank, _Component);␊ + ␊ + function AIMakeBlank() {␊ + _classCallCheck(this, AIMakeBlank);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakeBlank).apply(this, arguments));␊ + }␊ + ␊ + _createClass(AIMakeBlank, [{␊ + key: "render",␊ + value: function render() {␊ + var merged = {};␊ + var _this$props = this.props,␊ + children = _this$props.children,␊ + styleBoxModel = _this$props.styleBoxModel,␊ + styleLayout = _this$props.styleLayout,␊ + styleBackground = _this$props.styleBackground,␊ + styleFlexLayout = _this$props.styleFlexLayout,␊ + style = _this$props.style,␊ + id = _this$props.id;␊ + var styles = { ...styleBoxModel,␊ + ...styleLayout,␊ + ...styleBackground,␊ + ...styleFlexLayout,␊ + ...style␊ + };␊ + ␊ + if (id) {␊ + merged.id = id;␊ + }␊ + ␊ + return React.createElement("div", _extends({␊ + style: styles␊ + }, merged), children);␊ + }␊ + }]);␊ + ␊ + return AIMakeBlank;␊ + }(Component);␊ + ␊ + _defineProperty(AIMakeBlank, "propTypes", {␊ + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),␊ + styleBoxModel: PropTypes.object.isRequired,␊ + styleLayout: PropTypes.object.isRequired,␊ + styleBackground: PropTypes.object.isRequired,␊ + styleFlexLayout: PropTypes.object.isRequired,␊ + style: PropTypes.object,␊ + id: PropTypes.string␊ + });␊ + ␊ + _defineProperty(AIMakeBlank, "defaultProps", {␊ + children: [],␊ + style: {},␊ + id: ''␊ + });␊ + ␊ + export default HOCBoxModelProps(HOCLayoutProps(HOCBackgroundProps(HOCFlexLayoutProps(AIMakeBlank))));`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/index.js', + }, + { + fileContent: `import _extends from "@babel/runtime/helpers/extends";␊ + import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";␊ + import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React, { Component } from 'react';␊ + import PropTypes from 'prop-types';␊ + import classNames from 'classnames';␊ + import createFromIconfont from './IconFont';␊ + ␊ + var AIMakeIcon =␊ + /*#__PURE__*/␊ + function (_Component) {␊ + _inherits(AIMakeIcon, _Component);␊ + ␊ + function AIMakeIcon() {␊ + _classCallCheck(this, AIMakeIcon);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakeIcon).apply(this, arguments));␊ + }␊ + ␊ + _createClass(AIMakeIcon, [{␊ + key: "render",␊ + value: function render() {␊ + var _this$props = this.props,␊ + className = _this$props.className,␊ + iconClassName = _this$props.iconClassName,␊ + children = _this$props.children,␊ + styleBoxModel = _this$props.styleBoxModel,␊ + styleText = _this$props.styleText,␊ + styleBackground = _this$props.styleBackground,␊ + style = _this$props.style,␊ + otherProps = _objectWithoutProperties(_this$props, ["className", "iconClassName", "children", "styleBoxModel", "styleText", "styleBackground", "style"]);␊ + ␊ + var styles = { ...styleBoxModel,␊ + ...styleText,␊ + ...styleBackground,␊ + ...style␊ + };␊ + return React.createElement("i", _extends({}, otherProps, {␊ + className: classNames(className, iconClassName),␊ + style: styles␊ + }), children);␊ + }␊ + }]);␊ + ␊ + return AIMakeIcon;␊ + }(Component);␊ + ␊ + _defineProperty(AIMakeIcon, "propTypes", {␊ + className: PropTypes.string,␊ + iconClassName: PropTypes.string,␊ + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),␊ + styleBoxModel: PropTypes.object.isRequired,␊ + styleText: PropTypes.object.isRequired,␊ + styleBackground: PropTypes.object.isRequired,␊ + style: PropTypes.object␊ + });␊ + ␊ + _defineProperty(AIMakeIcon, "defaultProps", {␊ + className: '',␊ + iconClassName: 'iconfont',␊ + children: '',␊ + style: {}␊ + });␊ + ␊ + AIMakeIcon.createFromIconfont = createFromIconfont;␊ + export default AIMakeIcon;`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/index.js', + }, + { + fileContent: `import _extends from "@babel/runtime/helpers/extends";␊ + import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";␊ + import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React, { Component } from 'react';␊ + import PropTypes from 'prop-types';␊ + import HOCBoxModelProps from '../utils/HOCBoxModelProps';␊ + ␊ + var AIMakeImage =␊ + /*#__PURE__*/␊ + function (_Component) {␊ + _inherits(AIMakeImage, _Component);␊ + ␊ + function AIMakeImage() {␊ + _classCallCheck(this, AIMakeImage);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakeImage).apply(this, arguments));␊ + }␊ + ␊ + _createClass(AIMakeImage, [{␊ + key: "render",␊ + value: function render() {␊ + var _this$props = this.props,␊ + styleBoxModel = _this$props.styleBoxModel,␊ + style = _this$props.style,␊ + otherProps = _objectWithoutProperties(_this$props, ["styleBoxModel", "style"]);␊ + ␊ + var styles = { ...styleBoxModel,␊ + ...style␊ + };␊ + return React.createElement("img", _extends({}, otherProps, {␊ + style: styles,␊ + alt: "AIMakeImage"␊ + }));␊ + }␊ + }]);␊ + ␊ + return AIMakeImage;␊ + }(Component);␊ + ␊ + _defineProperty(AIMakeImage, "propTypes", {␊ + styleBoxModel: PropTypes.object.isRequired,␊ + style: PropTypes.object␊ + });␊ + ␊ + _defineProperty(AIMakeImage, "defaultProps", {␊ + style: {}␊ + });␊ + ␊ + export default HOCBoxModelProps(AIMakeImage);`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/index.js', + }, + { + fileContent: `import _extends from "@babel/runtime/helpers/extends";␊ + import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";␊ + import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React, { Component } from 'react';␊ + import PropTypes from 'prop-types';␊ + import HOCBoxModelProps from '../utils/HOCBoxModelProps';␊ + import HOCTextProps from '../utils/HOCTextProps';␊ + import HOCLayoutProps from '../utils/HOCLayoutProps';␊ + import HOCBackgroundProps from '../utils/HOCBackgroundProps';␊ + ␊ + var AIMakeLink =␊ + /*#__PURE__*/␊ + function (_Component) {␊ + _inherits(AIMakeLink, _Component);␊ + ␊ + function AIMakeLink() {␊ + _classCallCheck(this, AIMakeLink);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakeLink).apply(this, arguments));␊ + }␊ + ␊ + _createClass(AIMakeLink, [{␊ + key: "render",␊ + value: function render() {␊ + var _this$props = this.props,␊ + children = _this$props.children,␊ + styleBoxModel = _this$props.styleBoxModel,␊ + styleText = _this$props.styleText,␊ + styleLayout = _this$props.styleLayout,␊ + styleBackground = _this$props.styleBackground,␊ + style = _this$props.style,␊ + otherProps = _objectWithoutProperties(_this$props, ["children", "styleBoxModel", "styleText", "styleLayout", "styleBackground", "style"]);␊ + ␊ + var styles = { ...styleBoxModel,␊ + ...styleText,␊ + ...styleLayout,␊ + ...styleBackground,␊ + ...style␊ + };␊ + ␊ + if (typeof children !== 'string') {␊ + styles.display = 'inline-block';␊ + }␊ + ␊ + return React.createElement("a", _extends({}, otherProps, {␊ + style: styles␊ + }), [children]);␊ + }␊ + }]);␊ + ␊ + return AIMakeLink;␊ + }(Component);␊ + ␊ + _defineProperty(AIMakeLink, "propTypes", {␊ + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),␊ + styleBoxModel: PropTypes.object.isRequired,␊ + styleText: PropTypes.object.isRequired,␊ + styleLayout: PropTypes.object.isRequired,␊ + styleBackground: PropTypes.object.isRequired,␊ + style: PropTypes.object␊ + });␊ + ␊ + _defineProperty(AIMakeLink, "defaultProps", {␊ + children: '',␊ + style: {}␊ + });␊ + ␊ + export default HOCBoxModelProps(HOCTextProps(HOCLayoutProps(HOCBackgroundProps(AIMakeLink))));`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/index.js', + }, + { + fileContent: `import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React, { Component } from 'react';␊ + import PropTypes from 'prop-types';␊ + import HOCBoxModelProps from '../utils/HOCBoxModelProps';␊ + import HOCLayoutProps from '../utils/HOCLayoutProps';␊ + ␊ + var AIMakePlaceholder =␊ + /*#__PURE__*/␊ + function (_Component) {␊ + _inherits(AIMakePlaceholder, _Component);␊ + ␊ + function AIMakePlaceholder() {␊ + _classCallCheck(this, AIMakePlaceholder);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakePlaceholder).apply(this, arguments));␊ + }␊ + ␊ + _createClass(AIMakePlaceholder, [{␊ + key: "render",␊ + value: function render() {␊ + var _this$props = this.props,␊ + children = _this$props.children,␊ + styleBoxModel = _this$props.styleBoxModel,␊ + styleLayout = _this$props.styleLayout,␊ + style = _this$props.style;␊ + var styles = { ...styleBoxModel,␊ + ...styleLayout,␊ + ...style␊ + };␊ + var placeholderStyle = {␊ + display: 'inline-block',␊ + border: '1px dashed #aaa',␊ + lineHeight: styles.height,␊ + backgroundColor: '#F5E075',␊ + overflow: 'hidden',␊ + textAlign: 'center',␊ + ...styles␊ + };␊ + return React.createElement("div", {␊ + style: placeholderStyle␊ + }, children);␊ + }␊ + }]);␊ + ␊ + return AIMakePlaceholder;␊ + }(Component);␊ + ␊ + _defineProperty(AIMakePlaceholder, "propTypes", {␊ + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),␊ + styleBoxModel: PropTypes.object.isRequired,␊ + styleLayout: PropTypes.object.isRequired,␊ + style: PropTypes.object␊ + });␊ + ␊ + _defineProperty(AIMakePlaceholder, "defaultProps", {␊ + children: '',␊ + style: {}␊ + });␊ + ␊ + export default HOCBoxModelProps(HOCLayoutProps(AIMakePlaceholder));`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/index.js', + }, + { + fileContent: `import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React, { Component } from 'react';␊ + import PropTypes from 'prop-types';␊ + import HOCBoxModelProps from '../utils/HOCBoxModelProps';␊ + import HOCTextProps from '../utils/HOCTextProps';␊ + import HOCLayoutProps from '../utils/HOCLayoutProps';␊ + import HOCBackgroundProps from '../utils/HOCBackgroundProps';␊ + ␊ + var AIMakeText =␊ + /*#__PURE__*/␊ + function (_Component) {␊ + _inherits(AIMakeText, _Component);␊ + ␊ + function AIMakeText() {␊ + var _this;␊ + ␊ + _classCallCheck(this, AIMakeText);␊ + ␊ + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {␊ + args[_key] = arguments[_key];␊ + }␊ + ␊ + _this = _possibleConstructorReturn(this, _getPrototypeOf(AIMakeText).call(this, ...args));␊ + ␊ + _defineProperty(_assertThisInitialized(_this), "generateComponentType", function (componentType) {␊ + var componentNameMap = {␊ + h1: 'h1',␊ + h2: 'h2',␊ + h3: 'h3',␊ + h4: 'h4',␊ + h5: 'h5',␊ + paragraph: 'p',␊ + label: 'label'␊ + };␊ + return componentNameMap[componentType] || 'div';␊ + });␊ + ␊ + return _this;␊ + }␊ + ␊ + _createClass(AIMakeText, [{␊ + key: "render",␊ + value: function render() {␊ + var _this$props = this.props,␊ + children = _this$props.children,␊ + type = _this$props.type,␊ + styleBoxModel = _this$props.styleBoxModel,␊ + styleText = _this$props.styleText,␊ + styleLayout = _this$props.styleLayout,␊ + styleBackground = _this$props.styleBackground,␊ + style = _this$props.style;␊ + var styles = { ...styleBoxModel,␊ + ...styleText,␊ + ...styleLayout,␊ + ...styleBackground,␊ + ...style␊ + };␊ + var Comp = this.generateComponentType(type);␊ + var labelStyle = Comp === 'label' ? {␊ + display: 'inline-block'␊ + } : {};␊ + return React.createElement(Comp, {␊ + className: "AIMakeText",␊ + style: Object.assign(labelStyle, styles)␊ + }, [children]);␊ + }␊ + }]);␊ + ␊ + return AIMakeText;␊ + }(Component);␊ + ␊ + _defineProperty(AIMakeText, "propTypes", {␊ + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node, PropTypes.string]),␊ + type: PropTypes.string,␊ + styleBoxModel: PropTypes.object.isRequired,␊ + styleText: PropTypes.object.isRequired,␊ + styleLayout: PropTypes.object.isRequired,␊ + styleBackground: PropTypes.object.isRequired,␊ + style: PropTypes.object␊ + });␊ + ␊ + _defineProperty(AIMakeText, "defaultProps", {␊ + children: '',␊ + type: '',␊ + // paragraph || label␊ + style: {}␊ + });␊ + ␊ + export default HOCBoxModelProps(HOCTextProps(HOCLayoutProps(HOCBackgroundProps(AIMakeText))));`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/index.js', + }, + { + fileContent: `import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React from 'react';␊ + import PropTypes from 'prop-types';␊ + ␊ + var Root =␊ + /*#__PURE__*/␊ + function (_React$Component) {␊ + _inherits(Root, _React$Component);␊ + ␊ + function Root() {␊ + _classCallCheck(this, Root);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(Root).apply(this, arguments));␊ + }␊ + ␊ + _createClass(Root, [{␊ + key: "render",␊ + value: function render() {␊ + var _this$props = this.props,␊ + style = _this$props.style,␊ + children = _this$props.children;␊ + var newStyle = Object.assign({}, Root.defaultProps.style, style);␊ + return React.createElement("div", {␊ + style: newStyle␊ + }, children);␊ + }␊ + }]);␊ + ␊ + return Root;␊ + }(React.Component);␊ + ␊ + _defineProperty(Root, "propTypes", {␊ + style: PropTypes.object,␊ + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)])␊ + });␊ + ␊ + _defineProperty(Root, "defaultProps", {␊ + style: {␊ + padding: 0,␊ + backgroundColor: '#f0f2f5',␊ + minHeight: '100%'␊ + },␊ + children: null␊ + });␊ + ␊ + export default Root;`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/index.js', + }, + ], + pkgName: 'multiple-exported-component', + pkgVersion: '1.0.0', + sourceType: 'module', + } + +## scan single exported component + +> Snapshot 1 + + { + mainEntry: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js', + modules: [ + { + fileContent: `import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + ␊ + /* eslint-disable react/no-unused-prop-types */␊ + ␊ + /* eslint-disable react/require-default-props */␊ + import React from 'react';␊ + import PropTypes from 'prop-types';␊ + import "./main.css";␊ + ␊ + var Demo =␊ + /*#__PURE__*/␊ + function (_React$Component) {␊ + _inherits(Demo, _React$Component);␊ + ␊ + function Demo() {␊ + _classCallCheck(this, Demo);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(Demo).apply(this, arguments));␊ + }␊ + ␊ + _createClass(Demo, [{␊ + key: "render",␊ + value: function render() {␊ + return React.createElement("div", null, " Test ");␊ + }␊ + }]);␊ + ␊ + return Demo;␊ + }(React.Component);␊ + ␊ + Demo.propTypes = {␊ + optionalArray: PropTypes.array,␊ + optionalBool: PropTypes.bool,␊ + optionalFunc: PropTypes.func,␊ + optionalNumber: PropTypes.number,␊ + optionalObject: PropTypes.object,␊ + optionalString: PropTypes.string,␊ + optionalSymbol: PropTypes.symbol,␊ + // Anything that can be rendered: numbers, strings, elements or an array␊ + // (or fragment) containing these types.␊ + optionalNode: PropTypes.node,␊ + // A React element (ie. ).␊ + optionalElement: PropTypes.element,␊ + // A React element type (ie. MyComponent).␊ + optionalElementType: PropTypes.elementType,␊ + // You can also declare that a prop is an instance of a class. This uses␊ + // JS's instanceof operator.␊ + optionalMessage: PropTypes.instanceOf(Demo),␊ + // You can ensure that your prop is limited to specific values by treating␊ + // it as an enum.␊ + optionalEnum: PropTypes.oneOf(['News', 'Photos']),␊ + // An object that could be one of many types␊ + optionalUnion: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.instanceOf(Demo)]),␊ + // An array of a certain type␊ + optionalArrayOf: PropTypes.arrayOf(PropTypes.number),␊ + // An object with property values of a certain type␊ + optionalObjectOf: PropTypes.objectOf(PropTypes.number),␊ + // You can chain any of the above with `isRequired` to make sure a warning␊ + // is shown if the prop isn't provided.␊ + // An object taking on a particular shape␊ + optionalObjectWithShape: PropTypes.shape({␊ + optionalProperty: PropTypes.string,␊ + requiredProperty: PropTypes.number.isRequired␊ + }),␊ + optionalObjectWithShape2: PropTypes.shape({␊ + optionalProperty: PropTypes.string,␊ + requiredProperty: PropTypes.number.isRequired␊ + }).isRequired,␊ + // An object with warnings on extra properties␊ + optionalObjectWithStrictShape: PropTypes.exact({␊ + optionalProperty: PropTypes.string,␊ + requiredProperty: PropTypes.number.isRequired␊ + }),␊ + requiredFunc: PropTypes.func.isRequired,␊ + // A value of any data type␊ + requiredAny: PropTypes.any.isRequired␊ + };␊ + Demo.defaultProps = {␊ + optionalNumber: 123␊ + };␊ + export default Demo;`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js', + }, + ], + pkgName: 'single-exported-component', + pkgVersion: '1.0.0', + sourceType: 'module', + } diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/scanner/Scanner.ts.snap b/packages/material-parser/test/fixtures/__snapshots__/test/scanner/Scanner.ts.snap new file mode 100644 index 000000000..fb0e88c04 Binary files /dev/null and b/packages/material-parser/test/fixtures/__snapshots__/test/scanner/Scanner.ts.snap differ diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/validate/index.ts.md b/packages/material-parser/test/fixtures/__snapshots__/test/validate/index.ts.md new file mode 100644 index 000000000..7cc54a369 --- /dev/null +++ b/packages/material-parser/test/fixtures/__snapshots__/test/validate/index.ts.md @@ -0,0 +1,56 @@ +# Snapshot report for `test/validate/index.ts` + +The actual snapshot is saved in `index.ts.snap`. + +Generated by [AVA](https://avajs.dev). + +## should be right in dir basic-error + +> Snapshot 1 + + { + errors: [ + { + dataPath: '', + keyword: 'required', + message: 'should have required property \'props\'', + params: { + missingProperty: 'props', + }, + schemaPath: '#/required', + }, + ], + success: false, + } + +## should be right in dir basic-success + +> Snapshot 1 + + { + success: true, + } + +## should be right in dir configure + +> Snapshot 1 + + { + success: true, + } + +## should be right in dir props-basic-type + +> Snapshot 1 + + { + success: true, + } + +## should be right in dir props-complex-type + +> Snapshot 1 + + { + success: true, + } diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/validate/index.ts.snap b/packages/material-parser/test/fixtures/__snapshots__/test/validate/index.ts.snap new file mode 100644 index 000000000..5da9d0b0d Binary files /dev/null and b/packages/material-parser/test/fixtures/__snapshots__/test/validate/index.ts.snap differ diff --git a/packages/material-parser/test/fixtures/fusion-next-component/package.json b/packages/material-parser/test/fixtures/fusion-next-component/package.json new file mode 100644 index 000000000..417b601bb --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/package.json @@ -0,0 +1,14 @@ +{ + "name": "fusion-next-component", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "@alife/next": "^1.17.12" + } +} diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/affix/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/affix/container.js new file mode 100644 index 000000000..13a930414 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/affix/container.js @@ -0,0 +1,5 @@ + + import Affix from './../../../../node_modules/@alife/next/es/affix/index.js'; + import manifest from './manifest.js'; + export default { origin: Affix, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/affix/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/affix/manifest.js new file mode 100644 index 000000000..751985edd --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/affix/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Affix","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/animate/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/animate/container.js new file mode 100644 index 000000000..16517b960 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/animate/container.js @@ -0,0 +1,5 @@ + + import Animate from './../../../../node_modules/@alife/next/es/animate/index.js'; + import manifest from './manifest.js'; + export default { origin: Animate, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/animate/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/animate/manifest.js new file mode 100644 index 000000000..25911eb09 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/animate/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Animate","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/badge/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/badge/container.js new file mode 100644 index 000000000..b7876c7bf --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/badge/container.js @@ -0,0 +1,5 @@ + + import Badge from './../../../../node_modules/@alife/next/es/badge/index.js'; + import manifest from './manifest.js'; + export default { origin: Badge, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/badge/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/badge/manifest.js new file mode 100644 index 000000000..4ada9a631 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/badge/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Badge","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/balloon/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/balloon/container.js new file mode 100644 index 000000000..47b7966c7 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/balloon/container.js @@ -0,0 +1,5 @@ + + import Balloon from './../../../../node_modules/@alife/next/es/balloon/index.js'; + import manifest from './manifest.js'; + export default { origin: Balloon, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/balloon/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/balloon/manifest.js new file mode 100644 index 000000000..5fcfc0d20 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/balloon/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Balloon","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/breadcrumb/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/breadcrumb/container.js new file mode 100644 index 000000000..74264a70e --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/breadcrumb/container.js @@ -0,0 +1,5 @@ + + import Breadcrumb from './../../../../node_modules/@alife/next/es/breadcrumb/index.js'; + import manifest from './manifest.js'; + export default { origin: Breadcrumb, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/breadcrumb/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/breadcrumb/manifest.js new file mode 100644 index 000000000..a07e03570 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/breadcrumb/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Breadcrumb","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/button/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/button/container.js new file mode 100644 index 000000000..d7fc3dbfc --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/button/container.js @@ -0,0 +1,5 @@ + + import Button from './../../../../node_modules/@alife/next/es/button/index.js'; + import manifest from './manifest.js'; + export default { origin: Button, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/button/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/button/manifest.js new file mode 100644 index 000000000..fd75d2704 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/button/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Button","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/calendar/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/calendar/container.js new file mode 100644 index 000000000..14dcbf75d --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/calendar/container.js @@ -0,0 +1,5 @@ + + import Calendar from './../../../../node_modules/@alife/next/es/calendar/index.js'; + import manifest from './manifest.js'; + export default { origin: Calendar, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/calendar/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/calendar/manifest.js new file mode 100644 index 000000000..5dce9f12c --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/calendar/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Calendar","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/card/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/card/container.js new file mode 100644 index 000000000..db95955dc --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/card/container.js @@ -0,0 +1,5 @@ + + import Card from './../../../../node_modules/@alife/next/es/card/index.js'; + import manifest from './manifest.js'; + export default { origin: Card, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/card/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/card/manifest.js new file mode 100644 index 000000000..55f71864d --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/card/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Card","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/cascader-select/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/cascader-select/container.js new file mode 100644 index 000000000..6a2830156 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/cascader-select/container.js @@ -0,0 +1,5 @@ + + import CascaderSelect from './../../../../node_modules/@alife/next/es/cascader-select/index.js'; + import manifest from './manifest.js'; + export default { origin: CascaderSelect, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/cascader-select/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/cascader-select/manifest.js new file mode 100644 index 000000000..5feab3aba --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/cascader-select/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"CascaderSelect","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/cascader/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/cascader/container.js new file mode 100644 index 000000000..4fbf15b03 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/cascader/container.js @@ -0,0 +1,5 @@ + + import Cascader from './../../../../node_modules/@alife/next/es/cascader/index.js'; + import manifest from './manifest.js'; + export default { origin: Cascader, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/cascader/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/cascader/manifest.js new file mode 100644 index 000000000..64d37a979 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/cascader/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Cascader","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/checkbox/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/checkbox/container.js new file mode 100644 index 000000000..2652db1f6 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/checkbox/container.js @@ -0,0 +1,5 @@ + + import Checkbox from './../../../../node_modules/@alife/next/es/checkbox/index.js'; + import manifest from './manifest.js'; + export default { origin: Checkbox, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/checkbox/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/checkbox/manifest.js new file mode 100644 index 000000000..70693a4fa --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/checkbox/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Checkbox","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/collapse/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/collapse/container.js new file mode 100644 index 000000000..ff841a57d --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/collapse/container.js @@ -0,0 +1,5 @@ + + import Collapse from './../../../../node_modules/@alife/next/es/collapse/index.js'; + import manifest from './manifest.js'; + export default { origin: Collapse, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/collapse/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/collapse/manifest.js new file mode 100644 index 000000000..1405b1121 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/collapse/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Collapse","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/config-provider/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/config-provider/container.js new file mode 100644 index 000000000..d9af8c127 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/config-provider/container.js @@ -0,0 +1,5 @@ + + import ConfigProvider from './../../../../node_modules/@alife/next/es/config-provider/index.js'; + import manifest from './manifest.js'; + export default { origin: ConfigProvider, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/config-provider/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/config-provider/manifest.js new file mode 100644 index 000000000..85fa49736 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/config-provider/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"ConfigProvider","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/date-picker/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/date-picker/container.js new file mode 100644 index 000000000..68147708e --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/date-picker/container.js @@ -0,0 +1,5 @@ + + import DatePicker from './../../../../node_modules/@alife/next/es/date-picker/index.js'; + import manifest from './manifest.js'; + export default { origin: DatePicker, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/date-picker/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/date-picker/manifest.js new file mode 100644 index 000000000..e22f21a35 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/date-picker/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"DatePicker","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/dialog/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/dialog/container.js new file mode 100644 index 000000000..af202aab6 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/dialog/container.js @@ -0,0 +1,5 @@ + + import Dialog from './../../../../node_modules/@alife/next/es/dialog/index.js'; + import manifest from './manifest.js'; + export default { origin: Dialog, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/dialog/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/dialog/manifest.js new file mode 100644 index 000000000..a39a549b6 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/dialog/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Dialog","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/drawer/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/drawer/container.js new file mode 100644 index 000000000..16b254479 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/drawer/container.js @@ -0,0 +1,5 @@ + + import Drawer from './../../../../node_modules/@alife/next/es/drawer/index.js'; + import manifest from './manifest.js'; + export default { origin: Drawer, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/drawer/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/drawer/manifest.js new file mode 100644 index 000000000..a9e76e428 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/drawer/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Drawer","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/dropdown/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/dropdown/container.js new file mode 100644 index 000000000..f789fde88 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/dropdown/container.js @@ -0,0 +1,5 @@ + + import Dropdown from './../../../../node_modules/@alife/next/es/dropdown/index.js'; + import manifest from './manifest.js'; + export default { origin: Dropdown, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/dropdown/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/dropdown/manifest.js new file mode 100644 index 000000000..4cf365f09 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/dropdown/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Dropdown","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/field/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/field/container.js new file mode 100644 index 000000000..67e11c4a4 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/field/container.js @@ -0,0 +1,5 @@ + + import Field from './../../../../node_modules/@alife/next/es/field/index.js'; + import manifest from './manifest.js'; + export default { origin: Field, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/field/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/field/manifest.js new file mode 100644 index 000000000..9b35e62d4 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/field/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Field","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/form/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/form/container.js new file mode 100644 index 000000000..821ca7a0d --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/form/container.js @@ -0,0 +1,5 @@ + + import Form from './../../../../node_modules/@alife/next/es/form/index.js'; + import manifest from './manifest.js'; + export default { origin: Form, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/form/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/form/manifest.js new file mode 100644 index 000000000..a855da347 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/form/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Form","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/grid/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/grid/container.js new file mode 100644 index 000000000..347bff542 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/grid/container.js @@ -0,0 +1,5 @@ + + import Grid from './../../../../node_modules/@alife/next/es/grid/index.js'; + import manifest from './manifest.js'; + export default { origin: Grid, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/grid/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/grid/manifest.js new file mode 100644 index 000000000..740bf24ec --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/grid/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Grid","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/icon/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/icon/container.js new file mode 100644 index 000000000..fb846969a --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/icon/container.js @@ -0,0 +1,5 @@ + + import Icon from './../../../../node_modules/@alife/next/es/icon/index.js'; + import manifest from './manifest.js'; + export default { origin: Icon, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/icon/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/icon/manifest.js new file mode 100644 index 000000000..a43b02674 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/icon/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Icon","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/input/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/input/container.js new file mode 100644 index 000000000..d76c65b3e --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/input/container.js @@ -0,0 +1,5 @@ + + import Input from './../../../../node_modules/@alife/next/es/input/index.js'; + import manifest from './manifest.js'; + export default { origin: Input, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/input/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/input/manifest.js new file mode 100644 index 000000000..bc304458a --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/input/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Input","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/loading/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/loading/container.js new file mode 100644 index 000000000..0f2a50195 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/loading/container.js @@ -0,0 +1,5 @@ + + import Loading from './../../../../node_modules/@alife/next/es/loading/index.js'; + import manifest from './manifest.js'; + export default { origin: Loading, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/loading/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/loading/manifest.js new file mode 100644 index 000000000..fbabd53fb --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/loading/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Loading","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/menu-button/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/menu-button/container.js new file mode 100644 index 000000000..0ced35241 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/menu-button/container.js @@ -0,0 +1,5 @@ + + import MenuButton from './../../../../node_modules/@alife/next/es/menu-button/index.js'; + import manifest from './manifest.js'; + export default { origin: MenuButton, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/menu-button/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/menu-button/manifest.js new file mode 100644 index 000000000..275424364 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/menu-button/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"MenuButton","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/menu/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/menu/container.js new file mode 100644 index 000000000..27ca1f129 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/menu/container.js @@ -0,0 +1,5 @@ + + import Menu from './../../../../node_modules/@alife/next/es/menu/index.js'; + import manifest from './manifest.js'; + export default { origin: Menu, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/menu/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/menu/manifest.js new file mode 100644 index 000000000..437244640 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/menu/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Menu","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/message/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/message/container.js new file mode 100644 index 000000000..8ff60abe5 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/message/container.js @@ -0,0 +1,5 @@ + + import Message from './../../../../node_modules/@alife/next/es/message/index.js'; + import manifest from './manifest.js'; + export default { origin: Message, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/message/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/message/manifest.js new file mode 100644 index 000000000..1c6447d74 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/message/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Message","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/nav/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/nav/container.js new file mode 100644 index 000000000..14c714668 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/nav/container.js @@ -0,0 +1,5 @@ + + import Nav from './../../../../node_modules/@alife/next/es/nav/index.js'; + import manifest from './manifest.js'; + export default { origin: Nav, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/nav/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/nav/manifest.js new file mode 100644 index 000000000..ce358a0ce --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/nav/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Nav","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/number-picker/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/number-picker/container.js new file mode 100644 index 000000000..968721f57 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/number-picker/container.js @@ -0,0 +1,5 @@ + + import NumberPicker from './../../../../node_modules/@alife/next/es/number-picker/index.js'; + import manifest from './manifest.js'; + export default { origin: NumberPicker, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/number-picker/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/number-picker/manifest.js new file mode 100644 index 000000000..62315f984 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/number-picker/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"NumberPicker","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/overlay/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/overlay/container.js new file mode 100644 index 000000000..990cca3b2 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/overlay/container.js @@ -0,0 +1,5 @@ + + import Overlay from './../../../../node_modules/@alife/next/es/overlay/index.js'; + import manifest from './manifest.js'; + export default { origin: Overlay, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/overlay/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/overlay/manifest.js new file mode 100644 index 000000000..76377394a --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/overlay/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Overlay","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/pagination/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/pagination/container.js new file mode 100644 index 000000000..cbe654f0f --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/pagination/container.js @@ -0,0 +1,5 @@ + + import Pagination from './../../../../node_modules/@alife/next/es/pagination/index.js'; + import manifest from './manifest.js'; + export default { origin: Pagination, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/pagination/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/pagination/manifest.js new file mode 100644 index 000000000..1429fc61c --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/pagination/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Pagination","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/paragraph/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/paragraph/container.js new file mode 100644 index 000000000..54a9aa717 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/paragraph/container.js @@ -0,0 +1,5 @@ + + import Paragraph from './../../../../node_modules/@alife/next/es/paragraph/index.js'; + import manifest from './manifest.js'; + export default { origin: Paragraph, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/paragraph/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/paragraph/manifest.js new file mode 100644 index 000000000..1ccb54b91 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/paragraph/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Paragraph","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/progress/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/progress/container.js new file mode 100644 index 000000000..89ac33303 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/progress/container.js @@ -0,0 +1,5 @@ + + import Progress from './../../../../node_modules/@alife/next/es/progress/index.js'; + import manifest from './manifest.js'; + export default { origin: Progress, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/progress/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/progress/manifest.js new file mode 100644 index 000000000..fc3545779 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/progress/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Progress","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/radio/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/radio/container.js new file mode 100644 index 000000000..55d9817f4 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/radio/container.js @@ -0,0 +1,5 @@ + + import Radio from './../../../../node_modules/@alife/next/es/radio/index.js'; + import manifest from './manifest.js'; + export default { origin: Radio, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/radio/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/radio/manifest.js new file mode 100644 index 000000000..5f9f0db17 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/radio/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Radio","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/range/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/range/container.js new file mode 100644 index 000000000..651475782 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/range/container.js @@ -0,0 +1,5 @@ + + import Range from './../../../../node_modules/@alife/next/es/range/index.js'; + import manifest from './manifest.js'; + export default { origin: Range, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/range/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/range/manifest.js new file mode 100644 index 000000000..ca54d4334 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/range/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Range","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/rating/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/rating/container.js new file mode 100644 index 000000000..cecf9c9a1 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/rating/container.js @@ -0,0 +1,5 @@ + + import Rating from './../../../../node_modules/@alife/next/es/rating/index.js'; + import manifest from './manifest.js'; + export default { origin: Rating, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/rating/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/rating/manifest.js new file mode 100644 index 000000000..ec43231f1 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/rating/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Rating","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/search/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/search/container.js new file mode 100644 index 000000000..3155aa955 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/search/container.js @@ -0,0 +1,5 @@ + + import Search from './../../../../node_modules/@alife/next/es/search/index.js'; + import manifest from './manifest.js'; + export default { origin: Search, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/search/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/search/manifest.js new file mode 100644 index 000000000..1bcd6fb68 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/search/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Search","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/select/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/select/container.js new file mode 100644 index 000000000..cdce4e83f --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/select/container.js @@ -0,0 +1,5 @@ + + import Select from './../../../../node_modules/@alife/next/es/select/index.js'; + import manifest from './manifest.js'; + export default { origin: Select, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/select/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/select/manifest.js new file mode 100644 index 000000000..a8b4cd1da --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/select/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Select","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/slider/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/slider/container.js new file mode 100644 index 000000000..6d78d11f7 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/slider/container.js @@ -0,0 +1,5 @@ + + import Slider from './../../../../node_modules/@alife/next/es/slider/index.js'; + import manifest from './manifest.js'; + export default { origin: Slider, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/slider/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/slider/manifest.js new file mode 100644 index 000000000..e584440fe --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/slider/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Slider","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/split-button/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/split-button/container.js new file mode 100644 index 000000000..fa7fc2ede --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/split-button/container.js @@ -0,0 +1,5 @@ + + import SplitButton from './../../../../node_modules/@alife/next/es/split-button/index.js'; + import manifest from './manifest.js'; + export default { origin: SplitButton, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/split-button/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/split-button/manifest.js new file mode 100644 index 000000000..1ad543cd9 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/split-button/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"SplitButton","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/step/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/step/container.js new file mode 100644 index 000000000..3ed16a4d6 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/step/container.js @@ -0,0 +1,5 @@ + + import Step from './../../../../node_modules/@alife/next/es/step/index.js'; + import manifest from './manifest.js'; + export default { origin: Step, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/step/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/step/manifest.js new file mode 100644 index 000000000..3589863c8 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/step/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Step","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/switch/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/switch/container.js new file mode 100644 index 000000000..f2b18420b --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/switch/container.js @@ -0,0 +1,5 @@ + + import Switch from './../../../../node_modules/@alife/next/es/switch/index.js'; + import manifest from './manifest.js'; + export default { origin: Switch, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/switch/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/switch/manifest.js new file mode 100644 index 000000000..374b84938 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/switch/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Switch","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tab/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tab/container.js new file mode 100644 index 000000000..f926d23c7 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tab/container.js @@ -0,0 +1,5 @@ + + import Tab from './../../../../node_modules/@alife/next/es/tab/index.js'; + import manifest from './manifest.js'; + export default { origin: Tab, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tab/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tab/manifest.js new file mode 100644 index 000000000..163f3b630 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tab/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Tab","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/table/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/table/container.js new file mode 100644 index 000000000..9e939eef5 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/table/container.js @@ -0,0 +1,5 @@ + + import Table from './../../../../node_modules/@alife/next/es/table/index.js'; + import manifest from './manifest.js'; + export default { origin: Table, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/table/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/table/manifest.js new file mode 100644 index 000000000..88898f698 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/table/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Table","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tag/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tag/container.js new file mode 100644 index 000000000..2255f4d53 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tag/container.js @@ -0,0 +1,5 @@ + + import ConfigTag from './../../../../node_modules/@alife/next/es/tag/index.js'; + import manifest from './manifest.js'; + export default { origin: ConfigTag, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tag/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tag/manifest.js new file mode 100644 index 000000000..0fb0a2cfe --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tag/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"ConfigTag","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/time-picker/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/time-picker/container.js new file mode 100644 index 000000000..4cbec7206 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/time-picker/container.js @@ -0,0 +1,5 @@ + + import TimePicker from './../../../../node_modules/@alife/next/es/time-picker/index.js'; + import manifest from './manifest.js'; + export default { origin: TimePicker, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/time-picker/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/time-picker/manifest.js new file mode 100644 index 000000000..545dcb01c --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/time-picker/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"TimePicker","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/timeline/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/timeline/container.js new file mode 100644 index 000000000..2fd586c95 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/timeline/container.js @@ -0,0 +1,5 @@ + + import Timeline from './../../../../node_modules/@alife/next/es/timeline/index.js'; + import manifest from './manifest.js'; + export default { origin: Timeline, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/timeline/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/timeline/manifest.js new file mode 100644 index 000000000..f83c63788 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/timeline/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Timeline","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/transfer/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/transfer/container.js new file mode 100644 index 000000000..8079114ff --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/transfer/container.js @@ -0,0 +1,5 @@ + + import Transfer from './../../../../node_modules/@alife/next/es/transfer/index.js'; + import manifest from './manifest.js'; + export default { origin: Transfer, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/transfer/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/transfer/manifest.js new file mode 100644 index 000000000..087080712 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/transfer/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Transfer","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tree-select/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tree-select/container.js new file mode 100644 index 000000000..ea7cab05a --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tree-select/container.js @@ -0,0 +1,5 @@ + + import TreeSelect from './../../../../node_modules/@alife/next/es/tree-select/index.js'; + import manifest from './manifest.js'; + export default { origin: TreeSelect, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tree-select/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tree-select/manifest.js new file mode 100644 index 000000000..b87595af2 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tree-select/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"TreeSelect","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tree/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tree/container.js new file mode 100644 index 000000000..c474b1396 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tree/container.js @@ -0,0 +1,5 @@ + + import Tree from './../../../../node_modules/@alife/next/es/tree/index.js'; + import manifest from './manifest.js'; + export default { origin: Tree, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tree/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tree/manifest.js new file mode 100644 index 000000000..8a59f7b3e --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/tree/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Tree","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/upload/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/upload/container.js new file mode 100644 index 000000000..5acf79fab --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/upload/container.js @@ -0,0 +1,5 @@ + + import Upload from './../../../../node_modules/@alife/next/es/upload/index.js'; + import manifest from './manifest.js'; + export default { origin: Upload, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/upload/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/upload/manifest.js new file mode 100644 index 000000000..f7fbe355a --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/upload/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"Upload","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/virtual-list/container.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/virtual-list/container.js new file mode 100644 index 000000000..9de0aae6a --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/virtual-list/container.js @@ -0,0 +1,5 @@ + + import VirtualList from './../../../../node_modules/@alife/next/es/virtual-list/index.js'; + import manifest from './manifest.js'; + export default { origin: VirtualList, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/virtual-list/manifest.js b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/virtual-list/manifest.js new file mode 100644 index 000000000..c9b1776ad --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/@alife/next/virtual-list/manifest.js @@ -0,0 +1 @@ +const manifest = {"name":"VirtualList","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}; export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/fusion-next-component/src/build.js b/packages/material-parser/test/fixtures/fusion-next-component/src/build.js new file mode 100644 index 000000000..a89aa0f98 --- /dev/null +++ b/packages/material-parser/test/fixtures/fusion-next-component/src/build.js @@ -0,0 +1,51 @@ +export { default as Affix } from './@alife/next/affix/container.js'; +export { default as Animate } from './@alife/next/animate/container.js'; +export { default as Badge } from './@alife/next/badge/container.js'; +export { default as Balloon } from './@alife/next/balloon/container.js'; +export { default as Breadcrumb } from './@alife/next/breadcrumb/container.js'; +export { default as Button } from './@alife/next/button/container.js'; +export { default as Calendar } from './@alife/next/calendar/container.js'; +export { default as Card } from './@alife/next/card/container.js'; +export { default as Cascader } from './@alife/next/cascader/container.js'; +export { default as CascaderSelect } from './@alife/next/cascader-select/container.js'; +export { default as Checkbox } from './@alife/next/checkbox/container.js'; +export { default as Collapse } from './@alife/next/collapse/container.js'; +export { default as ConfigProvider } from './@alife/next/config-provider/container.js'; +export { default as DatePicker } from './@alife/next/date-picker/container.js'; +export { default as Dialog } from './@alife/next/dialog/container.js'; +export { default as Dropdown } from './@alife/next/dropdown/container.js'; +export { default as Drawer } from './@alife/next/drawer/container.js'; +export { default as Field } from './@alife/next/field/container.js'; +export { default as Form } from './@alife/next/form/container.js'; +export { default as Grid } from './@alife/next/grid/container.js'; +export { default as Icon } from './@alife/next/icon/container.js'; +export { default as Input } from './@alife/next/input/container.js'; +export { default as Loading } from './@alife/next/loading/container.js'; +export { default as Menu } from './@alife/next/menu/container.js'; +export { default as MenuButton } from './@alife/next/menu-button/container.js'; +export { default as Message } from './@alife/next/message/container.js'; +export { default as Nav } from './@alife/next/nav/container.js'; +export { default as NumberPicker } from './@alife/next/number-picker/container.js'; +export { default as Overlay } from './@alife/next/overlay/container.js'; +export { default as Pagination } from './@alife/next/pagination/container.js'; +export { default as Paragraph } from './@alife/next/paragraph/container.js'; +export { default as Progress } from './@alife/next/progress/container.js'; +export { default as Radio } from './@alife/next/radio/container.js'; +export { default as Range } from './@alife/next/range/container.js'; +export { default as Rating } from './@alife/next/rating/container.js'; +export { default as Search } from './@alife/next/search/container.js'; +export { default as Select } from './@alife/next/select/container.js'; +export { default as Slider } from './@alife/next/slider/container.js'; +export { default as SplitButton } from './@alife/next/split-button/container.js'; +export { default as Step } from './@alife/next/step/container.js'; +export { default as Switch } from './@alife/next/switch/container.js'; +export { default as Tab } from './@alife/next/tab/container.js'; +export { default as Table } from './@alife/next/table/container.js'; +export { default as ConfigTag } from './@alife/next/tag/container.js'; +export { default as TimePicker } from './@alife/next/time-picker/container.js'; +export { default as Timeline } from './@alife/next/timeline/container.js'; +export { default as Transfer } from './@alife/next/transfer/container.js'; +export { default as Tree } from './@alife/next/tree/container.js'; +export { default as TreeSelect } from './@alife/next/tree-select/container.js'; +export { default as Upload } from './@alife/next/upload/container.js'; +export { default as VirtualList } from './@alife/next/virtual-list/container.js'; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/dist/bundle.js b/packages/material-parser/test/fixtures/multiple-exported-component/dist/bundle.js new file mode 100644 index 000000000..8feb7d353 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/dist/bundle.js @@ -0,0 +1,20 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["multiple-exported-component@1.0.0"]=t():e["multiple-exported-component@1.0.0"]=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=19)}([function(e,t,r){e.exports=r(16)()},function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},function(e,t,r){"use strict";e.exports=r(14)},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,r){var n; +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;tM.length&&M.push(e)}function A(e,t,r){return null==e?0:function e(t,r,n,o){var i=typeof t;"undefined"!==i&&"boolean"!==i||(t=null);var u=!1;if(null===t)u=!0;else switch(i){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case a:case l:u=!0}}if(u)return n(o,t,""===r?"."+D(t,0):r),1;if(u=0,r=""===r?".":r+":",Array.isArray(t))for(var c=0;c=0||(o[r]=e[r]);return o}},function(e,t,r){"use strict";r.r(t);var n={};r.r(n),r.d(n,"AIMakeBlank",(function(){return A})),r.d(n,"AIMakeIcon",(function(){return W})),r.d(n,"AIMakeImage",(function(){return U})),r.d(n,"AIMakeLink",(function(){return K})),r.d(n,"AIMakePlaceholder",(function(){return te})),r.d(n,"AIMakeText",(function(){return ae})),r.d(n,"Root",(function(){return ie}));var o=r(8),a=r.n(o),l=r(3),i=r.n(l),u=r(4),c=r.n(u),s=r(5),f=r.n(s),p=r(6),y=r.n(p),d=r(7),b=r.n(d),h=r(1),g=r.n(h),m=r(2),O=r.n(m),v=r(0),j=r.n(v),x=r(9),k=r.n(x),P=r(10),w=r.n(P),S=function(e){return e.join(" ")},T=function(e){var t,r,n={display:"display",margin:"margin",border:"border",padding:"padding",width:"width",height:"height",borderRadius:"borderRadius"};return r=t=function(t){function r(){var e,t;i()(this,r);for(var o=arguments.length,a=new Array(o),l=0;l({componentName:e,...n[e]}))}])})); +//# sourceMappingURL=bundle.js.map \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/amContainer.js new file mode 100644 index 000000000..e15166beb --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/amContainer.js @@ -0,0 +1,11 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; + +var getComponent = function () { + return Promise.resolve(component); +}; + +export default { + getComponent, + manifest: amManifest +}; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/amManifest.js new file mode 100644 index 000000000..11485f2e5 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/amManifest.js @@ -0,0 +1,144 @@ +/** + * The template of manifest for AiMake studio. + */ +function _update(Nygma, node) { + var attributes = node.get(); + var display = attributes.display, + flexDirection = attributes.flexDirection, + alignItems = attributes.alignItems, + justifyContent = attributes.justifyContent, + flexWrap = attributes.flexWrap; + var isFlex = display === 'flex'; + node.set({ + display, + flexDirection: isFlex ? flexDirection : undefined, + alignItems: isFlex ? alignItems : undefined, + justifyContent: isFlex ? justifyContent : undefined, + flexWrap: isFlex ? flexWrap : undefined + }); +} + +var manifest = { + // The name of current component. + name: 'AIMakeBlank', + // The description of current component. + description: '空白卡片', + // The coverimage's url of current component. + coverImage: 'https://img.alicdn.com/tfs/TB1un9tqntYBeNjy1XdXXXXyVXa-366-124.png', + // The category of current component in AiMake studio. + // can be: + // `分栏` or `文本` or `按钮` or `标签` or `标签页` or `表格` or `单选` or `分割线` + // or `分页` or `复选` or `滑动条` or `进度条` or `卡片` or `开关` or `缺省状态` + // or `日期选择` or `输入框` or `搜索框` or `图表` or `图片` or `下拉选择` or `表单行` + // or `树控件` or `折叠面板` or `占位图` + category: '布局', + // card.blank + // The preview list of current component in AiMake studio. + // Each preset contains following keys: + // - `alias`: string. required. The previewing component's name to display + // - `thumbnail`: string. not required. The previewing component's thumbnail + // - `customProps`: object. not required. + // The previewing component's customize props, e.g. { [propName]: [propValue] } + // - `colSpan`: number. not required. default 24 (1~24). The previewing component's size when to display + presets: [{ + alias: '空白卡片', + thumbnail: 'https://img.alicdn.com/tfs/TB1ucPNVsbpK1RjSZFyXXX_qFXa-198-120.png', + colSpan: 12, + customProps: { + id: '', + textAlign: 'left', + padding: '12px', + width: '100%', + backgroundColor: '#FFF' + } + }], + // Other settings of current component for AiMake studio. + settings: { + // The render type of current component in AiMake studio. + // can be: + // `element_inline` or `element_block` or `container` + type: 'container', + // The insert mode of current component in AiMake studio. + // can be: + // one or combine of `t` and `b` and `r` and `l` + insertionModes: 'tbrlv', + // The handle list of current component in AiMake studio. + // can be: + // an array contains one and more of ['cut', 'copy', 'paste', 'delete', 'duplicate'] + handles: ['cut', 'copy', 'paste', 'delete', 'duplicate'], + // Whether the component can be actived. + shouldActive: true, + // Whether the component can be dragged. + shouldDrag: true, + lifeCycle: { + didMount: function (props) { + var Nygma = props.Nygma, + dragInstance = props.dragInstance; + var Drager = dragInstance.NygmaNode; + + _update(Nygma, Drager); + }, + didUpdate: function (Nygma, node, args) { + var newvalue = args[1]; + var oldvalue = args[2]; + + if (JSON.stringify(newvalue) !== JSON.stringify(oldvalue)) { + _update(Nygma, node); + } + } + }, + // The props of current component in AiMake studio. + // Each property contains following keys: + // - `name`: string. required. The property's name + // - `label`: string. required. The property's name to display + // - `renderer`: string. required. The property's editor. can be: (@冰骊) + // - `defaultValue`: any. not required. The property's default value + // - `params`: any. not required. The parameters for property's editor + // - `placeholder`: string. not required. The placeholder for property's editor + // - `hint`: string. not required. The hint for property's editor + props: [{ + name: 'id', + label: 'id', + defaultValue: '', + renderer: 'Input' + }, { + name: 'textAlign', + label: '水平对齐', + defaultValue: 'left', + renderer: 'TextAlign' + }, { + name: 'margin', + label: '外边距', + renderer: 'Quadrant' + }, { + name: 'padding', + label: '内边距', + renderer: 'Quadrant', + defaultValue: '12px' + }, { + name: 'width', + label: '宽度', + defaultValue: '100%', + renderer: 'Width' + }, { + name: 'height', + label: '高度', + renderer: 'Height', + defaultValue: undefined + }, { + name: 'backgroundColor', + label: '背景颜色', + renderer: 'Color', + defaultValue: '#FFF' + }, { + name: 'border', + label: '边框', + renderer: 'BarBorder' + }, { + name: 'display', + label: '布局设置', + renderer: 'FlexLayout' + }] + } +}; +export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/container.js new file mode 100644 index 000000000..c23ec67be --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/container.js @@ -0,0 +1,5 @@ + + import AIMakeBlank from './index.js'; + import manifest from './manifest.js'; + export default { origin: AIMakeBlank, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/index.js new file mode 100644 index 000000000..1565739d8 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/index.js @@ -0,0 +1,74 @@ +import _extends from "@babel/runtime/helpers/extends"; +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; +import _defineProperty from "@babel/runtime/helpers/defineProperty"; +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import HOCBoxModelProps from '../utils/HOCBoxModelProps'; +import HOCLayoutProps from '../utils/HOCLayoutProps'; +import HOCBackgroundProps from '../utils/HOCBackgroundProps'; +import HOCFlexLayoutProps from '../utils/HOCFlexLayoutProps'; + +var AIMakeBlank = +/*#__PURE__*/ +function (_Component) { + _inherits(AIMakeBlank, _Component); + + function AIMakeBlank() { + _classCallCheck(this, AIMakeBlank); + + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakeBlank).apply(this, arguments)); + } + + _createClass(AIMakeBlank, [{ + key: "render", + value: function render() { + var merged = {}; + var _this$props = this.props, + children = _this$props.children, + styleBoxModel = _this$props.styleBoxModel, + styleLayout = _this$props.styleLayout, + styleBackground = _this$props.styleBackground, + styleFlexLayout = _this$props.styleFlexLayout, + style = _this$props.style, + id = _this$props.id; + var styles = { ...styleBoxModel, + ...styleLayout, + ...styleBackground, + ...styleFlexLayout, + ...style + }; + + if (id) { + merged.id = id; + } + + return React.createElement("div", _extends({ + style: styles + }, merged), children); + } + }]); + + return AIMakeBlank; +}(Component); + +_defineProperty(AIMakeBlank, "propTypes", { + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]), + styleBoxModel: PropTypes.object.isRequired, + styleLayout: PropTypes.object.isRequired, + styleBackground: PropTypes.object.isRequired, + styleFlexLayout: PropTypes.object.isRequired, + style: PropTypes.object, + id: PropTypes.string +}); + +_defineProperty(AIMakeBlank, "defaultProps", { + children: [], + style: {}, + id: '' +}); + +export default HOCBoxModelProps(HOCLayoutProps(HOCBackgroundProps(HOCFlexLayoutProps(AIMakeBlank)))); \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.js new file mode 100644 index 000000000..6ef1078e0 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.js @@ -0,0 +1 @@ +{"componentName":"AIMakeBlank","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"AIMakeBlank","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"oneOfType","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleLayout","propType":"object","description":""},{"name":"styleBackground","propType":"object","description":""},{"name":"styleFlexLayout","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"},{"name":"id","propType":"string","description":""}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.json new file mode 100644 index 000000000..482a32c96 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":{"type":"oneOfType","value":[{"type":"arrayOf","value":"node"},"node"]}},{"name":"styleBoxModel","propType":{"type":"object","isRequired":true}},{"name":"styleLayout","propType":{"type":"object","isRequired":true}},{"name":"styleBackground","propType":{"type":"object","isRequired":true}},{"name":"styleFlexLayout","propType":{"type":"object","isRequired":true}},{"name":"style","propType":"object"},{"name":"id","propType":"string"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/IconFont.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/IconFont.js new file mode 100644 index 000000000..8e4863841 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/IconFont.js @@ -0,0 +1,67 @@ +import _extends from "@babel/runtime/helpers/extends"; +import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; // 缓存已加载的字体文件 + +var customCache = new Set(); // 动态加载字体文件 + +export default function createFromIconfont(options) { + var scriptUrl = options.scriptUrl; + + if (typeof document !== 'undefined' && typeof window !== 'undefined' && typeof document.createElement === 'function' && typeof scriptUrl === 'string' && scriptUrl.length && !customCache.has(scriptUrl)) { + var script = document.createElement('script'); + script.setAttribute('src', scriptUrl); + script.setAttribute('data-namespace', scriptUrl); + customCache.add(scriptUrl); + document.body.appendChild(script); + } + + var IconFont = + /*#__PURE__*/ + function (_Component) { + _inherits(IconFont, _Component); + + function IconFont() { + _classCallCheck(this, IconFont); + + return _possibleConstructorReturn(this, _getPrototypeOf(IconFont).apply(this, arguments)); + } + + _createClass(IconFont, [{ + key: "render", + value: function render() { + var _this$props = this.props, + type = _this$props.type, + restProps = _objectWithoutProperties(_this$props, ["type"]); + + var innerSvgProps = { + width: '1em', + height: '1em', + fill: 'currentColor', + 'aria-hidden': 'true', + focusable: 'false' + }; // 引用指定svg + + var content = React.createElement("use", { + xlinkHref: `#${type}` + }); + return React.createElement("i", _extends({}, restProps, { + className: `iconfont ${type}` + }), React.createElement("svg", innerSvgProps, content)); + } + }]); + + return IconFont; + }(Component); + + IconFont.propTypes = { + type: PropTypes.string.isRequired // icon + + }; + return IconFont; +} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/amContainer.js new file mode 100644 index 000000000..47382c0d5 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/amContainer.js @@ -0,0 +1,13 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; +import createFromIconfont from './IconFont'; + +var getComponent = function () { + return Promise.resolve(component); +}; + +export default { + getComponent, + manifest: amManifest, + createFromIconfont +}; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/amManifest.js new file mode 100644 index 000000000..c2dae5530 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/amManifest.js @@ -0,0 +1,82 @@ +/** + * The template of manifest for AiMake studio. + */ +var manifest = { + // The name of current component. + name: 'AIMakeIcon', + // The description of current component. + description: '图标', + // The coverimage's url of current component. + coverImage: '', + // The category of current component in AiMake studio. + // can be: + // `分栏` or `文本` or `按钮` or `标签` or `标签页` or `表格` or `单选` or `分割线` + // or `分页` or `复选` or `滑动条` or `进度条` or `卡片` or `开关` or `缺省状态` + // or `日期选择` or `输入框` or `搜索框` or `图表` or `图片` or `下拉选择` or `表单行` + // or `树控件` or `折叠面板` or `占位图` + category: 'AIMakeIcon', + // The preview list of current component in AiMake studio. + // Each preset contains following keys: + // - `alias`: string. required. The previewing component's name to display + // - `thumbnail`: string. not required. The previewing component's thumbnail + // - `customProps`: object. not required. + // The previewing component's customize props, e.g. { [propName]: [propValue] } + // - `colSpan`: number. not required. default 24 (1~24). The previewing component's size when to display + presets: [], + // Other settings of current component for AiMake studio. + settings: { + // The render type of current component in AiMake studio. + // can be: + // `element_inline` or `element_block` or `container` + type: 'element_inline', + // The insert mode of current component in AiMake studio. + // can be: + // one or combine of `t` and `b` and `r` and `l` + insertionModes: 'rl', + // The handle list of current component in AiMake studio. + // can be: + // an array contains one and more of ['cut', 'copy', 'paste', 'delete', 'duplicate'] + handles: ['cut', 'copy', 'paste', 'delete', 'duplicate'], + // Whether the component can be actived. + shouldActive: true, + // Whether the component can be dragged. + shouldDrag: true, + // The props of current component in AiMake studio. + // Each property contains following keys: + // - `name`: string. required. The property's name + // - `label`: string. required. The property's name to display + // - `renderer`: string. required. The property's editor. can be: (@冰骊) + // - `defaultValue`: any. not required. The property's default value + // - `params`: any. not required. The parameters for property's editor + // - `placeholder`: string. not required. The placeholder for property's editor + // - `hint`: string. not required. The hint for property's editor + props: [{ + name: 'margin', + label: '外边距', + renderer: 'Quadrant' + }, { + name: 'color', + label: '图标颜色', + renderer: 'Color', + defaultValue: '#333' + }, { + name: 'fontSize', + label: '图标大小', + renderer: 'FontSize', + defaultValue: '16px' + }, { + name: 'display', + label: '显示', + defaultValue: 'inline-block' + }, { + name: 'className', + label: '图标类型', + defaultValue: 'iconfont', + renderer: false, + params: { + placeholder: '请输入Iconfont名' + } + }] + } +}; +export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/container.js new file mode 100644 index 000000000..33babdf40 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/container.js @@ -0,0 +1,5 @@ + + import AIMakeIcon from './index.js'; + import manifest from './manifest.js'; + export default { origin: AIMakeIcon, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/index.js new file mode 100644 index 000000000..9f9c6c50a --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/index.js @@ -0,0 +1,71 @@ +import _extends from "@babel/runtime/helpers/extends"; +import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; +import _defineProperty from "@babel/runtime/helpers/defineProperty"; +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import classNames from 'classnames'; +import createFromIconfont from './IconFont'; + +var AIMakeIcon = +/*#__PURE__*/ +function (_Component) { + _inherits(AIMakeIcon, _Component); + + function AIMakeIcon() { + _classCallCheck(this, AIMakeIcon); + + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakeIcon).apply(this, arguments)); + } + + _createClass(AIMakeIcon, [{ + key: "render", + value: function render() { + var _this$props = this.props, + className = _this$props.className, + iconClassName = _this$props.iconClassName, + children = _this$props.children, + styleBoxModel = _this$props.styleBoxModel, + styleText = _this$props.styleText, + styleBackground = _this$props.styleBackground, + style = _this$props.style, + otherProps = _objectWithoutProperties(_this$props, ["className", "iconClassName", "children", "styleBoxModel", "styleText", "styleBackground", "style"]); + + var styles = { ...styleBoxModel, + ...styleText, + ...styleBackground, + ...style + }; + return React.createElement("i", _extends({}, otherProps, { + className: classNames(className, iconClassName), + style: styles + }), children); + } + }]); + + return AIMakeIcon; +}(Component); + +_defineProperty(AIMakeIcon, "propTypes", { + className: PropTypes.string, + iconClassName: PropTypes.string, + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]), + styleBoxModel: PropTypes.object.isRequired, + styleText: PropTypes.object.isRequired, + styleBackground: PropTypes.object.isRequired, + style: PropTypes.object +}); + +_defineProperty(AIMakeIcon, "defaultProps", { + className: '', + iconClassName: 'iconfont', + children: '', + style: {} +}); + +AIMakeIcon.createFromIconfont = createFromIconfont; +export default AIMakeIcon; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.js new file mode 100644 index 000000000..cb0b26eab --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.js @@ -0,0 +1 @@ +{"componentName":"AIMakeIcon","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"AIMakeIcon","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"className","propType":"string","description":""},{"name":"iconClassName","propType":"string","description":""},{"name":"children","propType":"oneOfType","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleText","propType":"object","description":""},{"name":"styleBackground","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.json new file mode 100644 index 000000000..410ac1a62 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"className","propType":"string"},{"name":"iconClassName","propType":"string"},{"name":"children","propType":{"type":"oneOfType","value":[{"type":"arrayOf","value":"node"},"node"]}},{"name":"styleBoxModel","propType":{"type":"object","isRequired":true}},{"name":"styleText","propType":{"type":"object","isRequired":true}},{"name":"styleBackground","propType":{"type":"object","isRequired":true}},{"name":"style","propType":"object"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/amContainer.js new file mode 100644 index 000000000..e15166beb --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/amContainer.js @@ -0,0 +1,11 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; + +var getComponent = function () { + return Promise.resolve(component); +}; + +export default { + getComponent, + manifest: amManifest +}; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/amManifest.js new file mode 100644 index 000000000..ee71aa348 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/amManifest.js @@ -0,0 +1,86 @@ +/** + * The template of manifest for AiMake studio. + */ +var manifest = { + // The name of current component. + name: 'AIMakeImage', + // The description of current component. + description: '图片', + // The coverimage's url of current component. + coverImage: 'https://img.alicdn.com/tfs/TB17gMFp1uSBuNjy1XcXXcYjFXa-172-120.png', + // The category of current component in AiMake studio. + // can be: + // `分栏` or `文本` or `按钮` or `标签` or `标签页` or `表格` or `单选` or `分割线` + // or `分页` or `复选` or `滑动条` or `进度条` or `卡片` or `开关` or `缺省状态` + // or `日期选择` or `输入框` or `搜索框` or `图表` or `图片` or `下拉选择` or `表单行` + // or `树控件` or `折叠面板` or `占位图` + category: '线条图像', + // The preview list of current component in AiMake studio. + // Each preset contains following keys: + // - `alias`: string. required. The previewing component's name to display + // - `thumbnail`: string. not required. The previewing component's thumbnail + // - `customProps`: object. not required. + // The previewing component's customize props, e.g. { [propName]: [propValue] } + // - `colSpan`: number. not required. default 24 (1~24). The previewing component's size when to display + presets: [{ + alias: '图片', + thumbnail: 'https://img.alicdn.com/tfs/TB17gMFp1uSBuNjy1XcXXcYjFXa-172-120.png', + colSpan: 12, + customProps: { + width: '224px', + height: '126px', + src: 'https://img.alicdn.com/tfs/TB1RtEMGbSYBuNjSspfXXcZCpXa-448-252.png' + } + }], + // Other settings of current component for AiMake studio. + settings: { + // The render type of current component in AiMake studio. + // can be: + // `element_inline` or `element_block` or `container` + type: 'element_inline', + // The insert mode of current component in AiMake studio. + // can be: + // one or combine of `t` and `b` and `r` and `l` + insertionModes: 'rl', + // The handle list of current component in AiMake studio. + // can be: + // an array contains one and more of ['cut', 'copy', 'paste', 'delete', 'duplicate'] + handles: ['cut', 'copy', 'paste', 'delete', 'duplicate'], + // Whether the component can be actived. + shouldActive: true, + // Whether the component can be dragged. + shouldDrag: true, + // The props of current component in AiMake studio. + // Each property contains following keys: + // - `name`: string. required. The property's name + // - `label`: string. required. The property's name to display + // - `renderer`: string. required. The property's editor. can be: (@冰骊) + // - `defaultValue`: any. not required. The property's default value + // - `params`: any. not required. The parameters for property's editor + // - `placeholder`: string. not required. The placeholder for property's editor + // - `hint`: string. not required. The hint for property's editor + props: [{ + name: 'margin', + label: '外边距', + renderer: 'Quadrant' + }, { + name: 'width', + label: '宽度', + defaultValue: '224px', + renderer: 'Width' + }, { + name: 'height', + label: '高度', + defaultValue: '126px', + renderer: 'Height' + }, { + name: 'src', + label: '图片URL', + renderer: 'Uploader', + placeholder: 'eg: https://img.alicdn.com/tfs/TB1RtEMGbSYBuNjSspfXXcZCpXa-448-252.png', + hint: '请填入图片的URL', + defaultValue: 'https://img.alicdn.com/tfs/TB1RtEMGbSYBuNjSspfXXcZCpXa-448-252.png' + }] + } +}; +export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/container.js new file mode 100644 index 000000000..038f3bd71 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/container.js @@ -0,0 +1,5 @@ + + import AIMakeImage from './index.js'; + import manifest from './manifest.js'; + export default { origin: AIMakeImage, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/index.js new file mode 100644 index 000000000..a22084738 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/index.js @@ -0,0 +1,54 @@ +import _extends from "@babel/runtime/helpers/extends"; +import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; +import _defineProperty from "@babel/runtime/helpers/defineProperty"; +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import HOCBoxModelProps from '../utils/HOCBoxModelProps'; + +var AIMakeImage = +/*#__PURE__*/ +function (_Component) { + _inherits(AIMakeImage, _Component); + + function AIMakeImage() { + _classCallCheck(this, AIMakeImage); + + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakeImage).apply(this, arguments)); + } + + _createClass(AIMakeImage, [{ + key: "render", + value: function render() { + var _this$props = this.props, + styleBoxModel = _this$props.styleBoxModel, + style = _this$props.style, + otherProps = _objectWithoutProperties(_this$props, ["styleBoxModel", "style"]); + + var styles = { ...styleBoxModel, + ...style + }; + return React.createElement("img", _extends({}, otherProps, { + style: styles, + alt: "AIMakeImage" + })); + } + }]); + + return AIMakeImage; +}(Component); + +_defineProperty(AIMakeImage, "propTypes", { + styleBoxModel: PropTypes.object.isRequired, + style: PropTypes.object +}); + +_defineProperty(AIMakeImage, "defaultProps", { + style: {} +}); + +export default HOCBoxModelProps(AIMakeImage); \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.js new file mode 100644 index 000000000..ea27808dc --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.js @@ -0,0 +1 @@ +{"componentName":"AIMakeImage","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"AIMakeImage","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"styleBoxModel","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.json new file mode 100644 index 000000000..382cec354 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"styleBoxModel","propType":{"type":"object","isRequired":true}},{"name":"style","propType":"object"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/amContainer.js new file mode 100644 index 000000000..e15166beb --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/amContainer.js @@ -0,0 +1,11 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; + +var getComponent = function () { + return Promise.resolve(component); +}; + +export default { + getComponent, + manifest: amManifest +}; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/amManifest.js new file mode 100644 index 000000000..dea938b07 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/amManifest.js @@ -0,0 +1,102 @@ +/** + * The template of manifest for AiMake studio. + */ +var manifest = { + // The name of current component. + name: 'AIMakeLink', + // The description of current component. + description: '链接', + // The coverimage's url of current component. + coverImage: 'https://img.alicdn.com/tfs/TB1otbyVwTqK1RjSZPhXXXfOFXa-192-48.png', + // The category of current component in AiMake studio. + // can be: + // `分栏` or `文本` or `按钮` or `标签` or `标签页` or `表格` or `单选` or `分割线` + // or `分页` or `复选` or `滑动条` or `进度条` or `卡片` or `开关` or `缺省状态` + // or `日期选择` or `输入框` or `搜索框` or `图表` or `图片` or `下拉选择` or `表单行` + // or `树控件` or `折叠面板` or `占位图` + category: '文本', + // The preview list of current component in AiMake studio. + // Each preset contains following keys: + // - `alias`: string. required. The previewing component's name to display + // - `thumbnail`: string. not required. The previewing component's thumbnail + // - `customProps`: object. not required. + // The previewing component's customize props, e.g. { [propName]: [propValue] } + // - `colSpan`: number. not required. default 24 (1~24). The previewing component's size when to display + presets: [{ + alias: '链接', + thumbnail: 'https://img.alicdn.com/tfs/TB1otbyVwTqK1RjSZPhXXXfOFXa-192-48.png', + colSpan: 12, + customProps: { + color: '#3788FF', + fontSize: '12px', + fontWeight: 'normal', + href: '#', + children: '链接' + } + }], + // Other settings of current component for AiMake studio. + settings: { + // The render type of current component in AiMake studio. + // can be: + // `element_inline` or `element_block` or `container` + type: 'element_inline', + // The insert mode of current component in AiMake studio. + // can be: + // one or combine of `t` and `b` and `r` and `l` + insertionModes: 'lrv', + // The handle list of current component in AiMake studio. + // can be: + // an array contains one and more of ['cut', 'copy', 'paste', 'delete', 'duplicate'] + handles: ['cut', 'copy', 'paste', 'delete', 'duplicate'], + // Whether the component can be actived. + shouldActive: true, + // Whether the component can be dragged. + shouldDrag: true, + // The props of current component in AiMake studio. + // Each property contains following keys: + // - `name`: string. required. The property's name + // - `label`: string. required. The property's name to display + // - `renderer`: string. required. The property's editor. can be: (@冰骊) + // - `defaultValue`: any. not required. The property's default value + // - `params`: any. not required. The parameters for property's editor + // - `placeholder`: string. not required. The placeholder for property's editor + // - `hint`: string. not required. The hint for property's editor + props: [{ + name: 'margin', + label: '外边距', + renderer: 'Quadrant' + }, { + name: 'color', + label: '文字颜色', + renderer: 'Color', + defaultValue: '#3788FF' + }, { + name: 'fontSize', + label: '字号', + renderer: 'FontSize', + defaultValue: '12px' + }, { + name: 'fontWeight', + label: '字重', + renderer: 'FontWeight', + defaultValue: 'normal' + }, { + name: 'lineHeight', + label: '行高', + defaultValue: undefined, + renderer: 'LineHeight' + }, { + name: 'href', + label: '链接URL', + renderer: 'Input', + placeholder: '请输入链接URL', + defaultValue: '#' + }, { + name: 'children', + label: '内容', + defaultValue: '链接', + renderer: 'TextArea' + }] + } +}; +export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/container.js new file mode 100644 index 000000000..40925fae2 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/container.js @@ -0,0 +1,5 @@ + + import AIMakeLink from './index.js'; + import manifest from './manifest.js'; + export default { origin: AIMakeLink, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/index.js new file mode 100644 index 000000000..7f63af6e3 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/index.js @@ -0,0 +1,73 @@ +import _extends from "@babel/runtime/helpers/extends"; +import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; +import _defineProperty from "@babel/runtime/helpers/defineProperty"; +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import HOCBoxModelProps from '../utils/HOCBoxModelProps'; +import HOCTextProps from '../utils/HOCTextProps'; +import HOCLayoutProps from '../utils/HOCLayoutProps'; +import HOCBackgroundProps from '../utils/HOCBackgroundProps'; + +var AIMakeLink = +/*#__PURE__*/ +function (_Component) { + _inherits(AIMakeLink, _Component); + + function AIMakeLink() { + _classCallCheck(this, AIMakeLink); + + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakeLink).apply(this, arguments)); + } + + _createClass(AIMakeLink, [{ + key: "render", + value: function render() { + var _this$props = this.props, + children = _this$props.children, + styleBoxModel = _this$props.styleBoxModel, + styleText = _this$props.styleText, + styleLayout = _this$props.styleLayout, + styleBackground = _this$props.styleBackground, + style = _this$props.style, + otherProps = _objectWithoutProperties(_this$props, ["children", "styleBoxModel", "styleText", "styleLayout", "styleBackground", "style"]); + + var styles = { ...styleBoxModel, + ...styleText, + ...styleLayout, + ...styleBackground, + ...style + }; + + if (typeof children !== 'string') { + styles.display = 'inline-block'; + } + + return React.createElement("a", _extends({}, otherProps, { + style: styles + }), [children]); + } + }]); + + return AIMakeLink; +}(Component); + +_defineProperty(AIMakeLink, "propTypes", { + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]), + styleBoxModel: PropTypes.object.isRequired, + styleText: PropTypes.object.isRequired, + styleLayout: PropTypes.object.isRequired, + styleBackground: PropTypes.object.isRequired, + style: PropTypes.object +}); + +_defineProperty(AIMakeLink, "defaultProps", { + children: '', + style: {} +}); + +export default HOCBoxModelProps(HOCTextProps(HOCLayoutProps(HOCBackgroundProps(AIMakeLink)))); \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.js new file mode 100644 index 000000000..f5f08c322 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.js @@ -0,0 +1 @@ +{"componentName":"AIMakeLink","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"AIMakeLink","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"oneOfType","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleText","propType":"object","description":""},{"name":"styleLayout","propType":"object","description":""},{"name":"styleBackground","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.json new file mode 100644 index 000000000..4a6347ce0 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":{"type":"oneOfType","value":[{"type":"arrayOf","value":"node"},"node"]}},{"name":"styleBoxModel","propType":{"type":"object","isRequired":true}},{"name":"styleText","propType":{"type":"object","isRequired":true}},{"name":"styleLayout","propType":{"type":"object","isRequired":true}},{"name":"styleBackground","propType":{"type":"object","isRequired":true}},{"name":"style","propType":"object"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/amContainer.js new file mode 100644 index 000000000..e15166beb --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/amContainer.js @@ -0,0 +1,11 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; + +var getComponent = function () { + return Promise.resolve(component); +}; + +export default { + getComponent, + manifest: amManifest +}; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/amManifest.js new file mode 100644 index 000000000..a8703072b --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/amManifest.js @@ -0,0 +1,102 @@ +/** + * The template of manifest for AiMake studio. + */ +var manifest = { + // The name of current component. + name: 'AIMakePlaceholder', + // The description of current component. + description: '占位图', + // The coverimage's url of current component. + coverImage: 'https://img.alicdn.com/tfs/TB1RxDup3mTBuNjy1XbXXaMrVXa-362-120.png', + // The category of current component in AiMake studio. + // can be: + // `分栏` or `文本` or `按钮` or `标签` or `标签页` or `表格` or `单选` or `分割线` + // or `分页` or `复选` or `滑动条` or `进度条` or `卡片` or `开关` or `缺省状态` + // or `日期选择` or `输入框` or `搜索框` or `图表` or `图片` or `下拉选择` or `表单行` + // or `树控件` or `折叠面板` or `占位图` + category: '占位图', + // The preview list of current component in AiMake studio. + // Each preset contains following keys: + // - `alias`: string. required. The previewing component's name to display + // - `thumbnail`: string. not required. The previewing component's thumbnail + // - `customProps`: object. not required. + // The previewing component's customize props, e.g. { [propName]: [propValue] } + // - `colSpan`: number. not required. default 24 (1~24). The previewing component's size when to display + presets: [{ + alias: '占位图', + thumbnail: 'https://img.alicdn.com/tfs/TB1RxDup3mTBuNjy1XbXXaMrVXa-362-120.png', + colSpan: 24, + customProps: { + width: '224px', + height: '126px', + backgroundColor: '#FFF6E0', + textAlign: 'center', + border: '1px dashed rgb(170, 170, 170)', + children: '暂不支持此组件' + } + }], + // Other settings of current component for AiMake studio. + settings: { + // The render type of current component in AiMake studio. + // can be: + // `element_inline` or `element_block` or `container` + type: 'element_inline', + // The insert mode of current component in AiMake studio. + // can be: + // one or combine of `t` and `b` and `r` and `l` + insertionModes: 'lr', + // The handle list of current component in AiMake studio. + // can be: + // an array contains one and more of ['cut', 'copy', 'paste', 'delete', 'duplicate'] + handles: ['cut', 'copy', 'paste', 'delete', 'duplicate'], + // Whether the component can be actived. + shouldActive: true, + // Whether the component can be dragged. + shouldDrag: true, + // The props of current component in AiMake studio. + // Each property contains following keys: + // - `name`: string. required. The property's name + // - `label`: string. required. The property's name to display + // - `renderer`: string. required. The property's editor. can be: (@冰骊) + // - `defaultValue`: any. not required. The property's default value + // - `params`: any. not required. The parameters for property's editor + // - `placeholder`: string. not required. The placeholder for property's editor + // - `hint`: string. not required. The hint for property's editor + props: [{ + name: 'margin', + label: '外边距', + renderer: 'Quadrant' + }, { + name: 'width', + label: '宽度', + defaultValue: '224px', + renderer: 'Width' + }, { + name: 'height', + label: '高度', + defaultValue: '126px', + renderer: 'Height' + }, { + name: 'backgroundColor', + label: '背景色', + defaultValue: '#FFF6E0', + renderer: false + }, { + name: 'textAlign', + label: '对齐', + defaultValue: 'center', + renderer: false + }, { + name: 'border', + label: '边框', + defaultValue: '1px dashed rgb(170, 170, 170)', + renderer: false + }, { + name: 'children', + label: '内容', + defaultValue: '暂不支持此组件', + renderer: false + }] + } +}; +export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/container.js new file mode 100644 index 000000000..1bc655412 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/container.js @@ -0,0 +1,5 @@ + + import AIMakePlaceholder from './index.js'; + import manifest from './manifest.js'; + export default { origin: AIMakePlaceholder, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/index.js new file mode 100644 index 000000000..e2f4941eb --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/index.js @@ -0,0 +1,65 @@ +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; +import _defineProperty from "@babel/runtime/helpers/defineProperty"; +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import HOCBoxModelProps from '../utils/HOCBoxModelProps'; +import HOCLayoutProps from '../utils/HOCLayoutProps'; + +var AIMakePlaceholder = +/*#__PURE__*/ +function (_Component) { + _inherits(AIMakePlaceholder, _Component); + + function AIMakePlaceholder() { + _classCallCheck(this, AIMakePlaceholder); + + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakePlaceholder).apply(this, arguments)); + } + + _createClass(AIMakePlaceholder, [{ + key: "render", + value: function render() { + var _this$props = this.props, + children = _this$props.children, + styleBoxModel = _this$props.styleBoxModel, + styleLayout = _this$props.styleLayout, + style = _this$props.style; + var styles = { ...styleBoxModel, + ...styleLayout, + ...style + }; + var placeholderStyle = { + display: 'inline-block', + border: '1px dashed #aaa', + lineHeight: styles.height, + backgroundColor: '#F5E075', + overflow: 'hidden', + textAlign: 'center', + ...styles + }; + return React.createElement("div", { + style: placeholderStyle + }, children); + } + }]); + + return AIMakePlaceholder; +}(Component); + +_defineProperty(AIMakePlaceholder, "propTypes", { + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]), + styleBoxModel: PropTypes.object.isRequired, + styleLayout: PropTypes.object.isRequired, + style: PropTypes.object +}); + +_defineProperty(AIMakePlaceholder, "defaultProps", { + children: '', + style: {} +}); + +export default HOCBoxModelProps(HOCLayoutProps(AIMakePlaceholder)); \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.js new file mode 100644 index 000000000..022906cdd --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.js @@ -0,0 +1 @@ +{"componentName":"AIMakePlaceholder","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"AIMakePlaceholder","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"oneOfType","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleLayout","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.json new file mode 100644 index 000000000..bbbe45981 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":{"type":"oneOfType","value":[{"type":"arrayOf","value":"node"},"node"]}},{"name":"styleBoxModel","propType":{"type":"object","isRequired":true}},{"name":"styleLayout","propType":{"type":"object","isRequired":true}},{"name":"style","propType":"object"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/amContainer.js new file mode 100644 index 000000000..e15166beb --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/amContainer.js @@ -0,0 +1,11 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; + +var getComponent = function () { + return Promise.resolve(component); +}; + +export default { + getComponent, + manifest: amManifest +}; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/amManifest.js new file mode 100644 index 000000000..b3dfd39e0 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/amManifest.js @@ -0,0 +1,115 @@ +/** + * The template of manifest for AiMake studio. + */ +var manifest = { + // The name of current component. + name: 'AIMakeText', + // The description of current component. + description: '富文本', + // The coverimage's url of current component. + coverImage: 'https://img.alicdn.com/tfs/TB15R_xVzDpK1RjSZFrXXa78VXa-192-48.png', + // The category of current component in AiMake studio. + // can be: + // `分栏` or `文本` or `按钮` or `标签` or `标签页` or `表格` or `单选` or `分割线` + // or `分页` or `复选` or `滑动条` or `进度条` or `卡片` or `开关` or `缺省状态` + // or `日期选择` or `输入框` or `搜索框` or `图表` or `图片` or `下拉选择` or `表单行` + // or `树控件` or `折叠面板` or `占位图` + category: '文本', + // The preview list of current component in AiMake studio. + // Each preset contains following keys: + // - `alias`: string. required. The previewing component's name to display + // - `thumbnail`: string. not required. The previewing component's thumbnail + // - `customProps`: object. not required. + // The previewing component's customize props, e.g. { [propName]: [propValue] } + // - `colSpan`: number. not required. default 24 (1~24). The previewing component's size when to display + presets: [{ + alias: '富文本', + thumbnail: 'https://img.alicdn.com/tfs/TB15R_xVzDpK1RjSZFrXXa78VXa-192-48.png', + colSpan: 12, + customProps: { + type: 'label', + fontSize: '12px', + fontWeight: 'normal', + children: '文本内容' + } + }], + // Other settings of current component for AiMake studio. + settings: { + // The render type of current component in AiMake studio. + // can be: + // `element_inline` or `element_block` or `container` + type: 'element_inline', + // The insert mode of current component in AiMake studio. + // can be: + // one or combine of `t` and `b` and `r` and `l` + insertionModes: 'tbrl', + // The handle list of current component in AiMake studio. + // can be: + // an array contains one and more of ['cut', 'copy', 'paste', 'delete', 'duplicate'] + handles: ['cut', 'copy', 'paste', 'delete', 'duplicate'], + // Whether the component can be actived. + shouldActive: true, + // Whether the component can be dragged. + shouldDrag: true, + // The props of current component in AiMake studio. + // Each property contains following keys: + // - `name`: string. required. The property's name + // - `label`: string. required. The property's name to display + // - `renderer`: string. required. The property's editor. can be: (@冰骊) + // - `defaultValue`: any. not required. The property's default value + // - `params`: any. not required. The parameters for property's editor + // - `placeholder`: string. not required. The placeholder for property's editor + // - `hint`: string. not required. The hint for property's editor + props: [{ + name: 'type', + label: '类型', + renderer: 'Select', + defaultValue: 'label', + params: [{ + label: '一级标题', + value: 'h1' + }, { + label: '二级标题', + value: 'h2' + }, { + label: '三级标题', + value: 'h3' + }, { + label: '段落', + value: 'p' + }, { + label: '标签', + value: 'label' + }] + }, { + name: 'margin', + label: '外边距', + renderer: 'Quadrant' + }, { + name: 'color', + label: '文字颜色', + renderer: 'Color' + }, { + name: 'fontSize', + label: '字号', + renderer: 'FontSize', + defaultValue: '12px' + }, { + name: 'fontWeight', + label: '字重', + renderer: 'FontWeight', + defaultValue: 'normal' + }, { + name: 'lineHeight', + label: '行高', + defaultValue: undefined, + renderer: 'LineHeight' + }, { + name: 'children', + label: '内容', + defaultValue: '文本内容', + renderer: 'TextArea' + }] + } +}; +export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/container.js new file mode 100644 index 000000000..3aa59d068 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/container.js @@ -0,0 +1,5 @@ + + import AIMakeText from './index.js'; + import manifest from './manifest.js'; + export default { origin: AIMakeText, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/index.js new file mode 100644 index 000000000..38aa92bbc --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/index.js @@ -0,0 +1,95 @@ +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; +import _inherits from "@babel/runtime/helpers/inherits"; +import _defineProperty from "@babel/runtime/helpers/defineProperty"; +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import HOCBoxModelProps from '../utils/HOCBoxModelProps'; +import HOCTextProps from '../utils/HOCTextProps'; +import HOCLayoutProps from '../utils/HOCLayoutProps'; +import HOCBackgroundProps from '../utils/HOCBackgroundProps'; + +var AIMakeText = +/*#__PURE__*/ +function (_Component) { + _inherits(AIMakeText, _Component); + + function AIMakeText() { + var _this; + + _classCallCheck(this, AIMakeText); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AIMakeText).call(this, ...args)); + + _defineProperty(_assertThisInitialized(_this), "generateComponentType", function (componentType) { + var componentNameMap = { + h1: 'h1', + h2: 'h2', + h3: 'h3', + h4: 'h4', + h5: 'h5', + paragraph: 'p', + label: 'label' + }; + return componentNameMap[componentType] || 'div'; + }); + + return _this; + } + + _createClass(AIMakeText, [{ + key: "render", + value: function render() { + var _this$props = this.props, + children = _this$props.children, + type = _this$props.type, + styleBoxModel = _this$props.styleBoxModel, + styleText = _this$props.styleText, + styleLayout = _this$props.styleLayout, + styleBackground = _this$props.styleBackground, + style = _this$props.style; + var styles = { ...styleBoxModel, + ...styleText, + ...styleLayout, + ...styleBackground, + ...style + }; + var Comp = this.generateComponentType(type); + var labelStyle = Comp === 'label' ? { + display: 'inline-block' + } : {}; + return React.createElement(Comp, { + className: "AIMakeText", + style: Object.assign(labelStyle, styles) + }, [children]); + } + }]); + + return AIMakeText; +}(Component); + +_defineProperty(AIMakeText, "propTypes", { + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node, PropTypes.string]), + type: PropTypes.string, + styleBoxModel: PropTypes.object.isRequired, + styleText: PropTypes.object.isRequired, + styleLayout: PropTypes.object.isRequired, + styleBackground: PropTypes.object.isRequired, + style: PropTypes.object +}); + +_defineProperty(AIMakeText, "defaultProps", { + children: '', + type: '', + // paragraph || label + style: {} +}); + +export default HOCBoxModelProps(HOCTextProps(HOCLayoutProps(HOCBackgroundProps(AIMakeText)))); \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.js new file mode 100644 index 000000000..d0d95a4d2 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.js @@ -0,0 +1 @@ +{"componentName":"AIMakeText","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"AIMakeText","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"oneOfType","description":""},{"name":"type","propType":"string","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleText","propType":"object","description":""},{"name":"styleLayout","propType":"object","description":""},{"name":"styleBackground","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.json new file mode 100644 index 000000000..4ae0e73c1 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":{"type":"oneOfType","value":[{"type":"arrayOf","value":"node"},"node","string"]}},{"name":"type","propType":"string"},{"name":"styleBoxModel","propType":{"type":"object","isRequired":true}},{"name":"styleText","propType":{"type":"object","isRequired":true}},{"name":"styleLayout","propType":{"type":"object","isRequired":true}},{"name":"styleBackground","propType":{"type":"object","isRequired":true}},{"name":"style","propType":"object"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/amContainer.js new file mode 100644 index 000000000..e15166beb --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/amContainer.js @@ -0,0 +1,11 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; + +var getComponent = function () { + return Promise.resolve(component); +}; + +export default { + getComponent, + manifest: amManifest +}; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/amManifest.js new file mode 100644 index 000000000..a2d6f233b --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/amManifest.js @@ -0,0 +1,25 @@ +var manifest = { + name: 'Root', + description: '底板', + coverImage: '', + category: '', + presets: [], + settings: { + type: 'container', + insertionModes: 'v', + handles: ['paste'], + shouldActive: true, + shouldDrag: false, + props: [{ + name: 'padding', + label: '内边距', + renderer: 'Quadrant' + }, { + name: 'backgroundColor', + label: '背景颜色', + defaultValue: '#F5F6FA', + renderer: 'Color' + }] + } +}; +export default manifest; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/container.js new file mode 100644 index 000000000..cf5c95640 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/container.js @@ -0,0 +1,5 @@ + + import Root from './index.js'; + import manifest from './manifest.js'; + export default { origin: Root, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/index.js new file mode 100644 index 000000000..f38bbc319 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/index.js @@ -0,0 +1,51 @@ +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; +import _defineProperty from "@babel/runtime/helpers/defineProperty"; +import React from 'react'; +import PropTypes from 'prop-types'; + +var Root = +/*#__PURE__*/ +function (_React$Component) { + _inherits(Root, _React$Component); + + function Root() { + _classCallCheck(this, Root); + + return _possibleConstructorReturn(this, _getPrototypeOf(Root).apply(this, arguments)); + } + + _createClass(Root, [{ + key: "render", + value: function render() { + var _this$props = this.props, + style = _this$props.style, + children = _this$props.children; + var newStyle = Object.assign({}, Root.defaultProps.style, style); + return React.createElement("div", { + style: newStyle + }, children); + } + }]); + + return Root; +}(React.Component); + +_defineProperty(Root, "propTypes", { + style: PropTypes.object, + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]) +}); + +_defineProperty(Root, "defaultProps", { + style: { + padding: 0, + backgroundColor: '#f0f2f5', + minHeight: '100%' + }, + children: null +}); + +export default Root; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.js new file mode 100644 index 000000000..756d388b2 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.js @@ -0,0 +1 @@ +{"componentName":"Root","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"Root","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"style","propType":"object","description":"","defaultValue":"{\n padding: 0,\n backgroundColor: '#f0f2f5',\n minHeight: '100%'\n}"},{"name":"children","propType":"oneOfType","description":""}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.json new file mode 100644 index 000000000..3b2498e18 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"style","propType":"object"},{"name":"children","propType":{"type":"oneOfType","value":["element",{"type":"arrayOf","value":"element"}]}}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/style/index.css b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/style/index.css new file mode 100644 index 000000000..8692a70c5 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/style/index.css @@ -0,0 +1,15 @@ +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/style/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/style/index.js new file mode 100644 index 000000000..4582418a4 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/style/index.js @@ -0,0 +1 @@ +import "./index.css"; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/style/index.less b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/style/index.less new file mode 100644 index 000000000..dc3680eb4 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/style/index.less @@ -0,0 +1,8 @@ +// Alignment +.text-left { text-align: left; } +.text-right { text-align: right; } +.text-center { text-align: center; } +.text-justify { text-align: justify; } +.text-nowrap { white-space: nowrap; } + +// BoxModel \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCBackgroundProps.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCBackgroundProps.js new file mode 100644 index 000000000..208780e4c --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCBackgroundProps.js @@ -0,0 +1,74 @@ +import _extends from "@babel/runtime/helpers/extends"; +import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; +import _inherits from "@babel/runtime/helpers/inherits"; +import _defineProperty from "@babel/runtime/helpers/defineProperty"; +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +/** + * (HOC)注入背景相关属性配置 + * 包含 'backgroundColor' + * @param {*} WrappedComponent + */ + +var HOCBackgroundProps = function (WrappedComponent) { + var _class, _temp; + + var PROPS = { + backgroundColor: 'backgroundColor' + }; + return _temp = _class = + /*#__PURE__*/ + function (_Component) { + _inherits(_class, _Component); + + function _class() { + var _this; + + _classCallCheck(this, _class); + + for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) { + _args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, ..._args)); + + _defineProperty(_assertThisInitialized(_this), "parseStyle", function (args) { + var style = {}; + Object.keys(PROPS).forEach(function (item) { + // if props isn't false + if (!args[item]) return; + style[PROPS[item]] = args[item]; + }); + return style; + }); + + return _this; + } + + _createClass(_class, [{ + key: "render", + value: function render() { + var _this$props = this.props, + backgroundColor = _this$props.backgroundColor, + otherProps = _objectWithoutProperties(_this$props, ["backgroundColor"]); + + return React.createElement(WrappedComponent, _extends({}, otherProps, { + styleBackground: this.parseStyle(this.props) + })); + } + }]); + + return _class; + }(Component), _defineProperty(_class, "propTypes", { + backgroundColor: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]) + }), _defineProperty(_class, "defaultProps", { + backgroundColor: false + }), _temp; +}; + +export default HOCBackgroundProps; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCBoxModelProps.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCBoxModelProps.js new file mode 100644 index 000000000..a923afa6e --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCBoxModelProps.js @@ -0,0 +1,103 @@ +import _extends from "@babel/runtime/helpers/extends"; +import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; +import _inherits from "@babel/runtime/helpers/inherits"; +import _defineProperty from "@babel/runtime/helpers/defineProperty"; +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +var parseJoin = function (value) { + return value.join(' '); +}; +/** + * (HOC)注入盒子模型相关属性配置 + * 包含 'display', 'margin', 'border', 'padding', 'width', 'height', 'borderRadius' + * @param {*} WrappedComponent + */ + + +var HOCBoxModelProps = function (WrappedComponent) { + var _class, _temp; + + var PROPS = { + display: 'display', + margin: 'margin', + border: 'border', + padding: 'padding', + width: 'width', + height: 'height', + borderRadius: 'borderRadius' + }; + return _temp = _class = + /*#__PURE__*/ + function (_Component) { + _inherits(_class, _Component); + + function _class() { + var _this; + + _classCallCheck(this, _class); + + for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) { + _args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, ..._args)); + + _defineProperty(_assertThisInitialized(_this), "parseStyle", function (args) { + var style = {}; + Object.keys(PROPS).forEach(function (item) { + // if props isn't false + if (!args[item]) return; + style[PROPS[item]] = Array.isArray(args[item]) ? parseJoin(args[item]) : args[item]; + }); + return style; + }); + + return _this; + } + + _createClass(_class, [{ + key: "render", + value: function render() { + var _this$props = this.props, + display = _this$props.display, + margin = _this$props.margin, + border = _this$props.border, + padding = _this$props.padding, + width = _this$props.width, + height = _this$props.height, + borderRadius = _this$props.borderRadius, + otherProps = _objectWithoutProperties(_this$props, ["display", "margin", "border", "padding", "width", "height", "borderRadius"]); + + return React.createElement(WrappedComponent, _extends({}, otherProps, { + styleBoxModel: this.parseStyle(this.props) + })); + } + }]); + + return _class; + }(Component), _defineProperty(_class, "propTypes", { + display: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + margin: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]), + border: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]), + padding: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]), + width: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + borderRadius: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]) + }), _defineProperty(_class, "defaultProps", { + display: false, + margin: false, + border: false, + padding: false, + width: false, + height: false, + borderRadius: false + }), _temp; +}; + +export default HOCBoxModelProps; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCFlexLayoutProps.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCFlexLayoutProps.js new file mode 100644 index 000000000..a372ca0cd --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCFlexLayoutProps.js @@ -0,0 +1,90 @@ +import _extends from "@babel/runtime/helpers/extends"; +import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; +import _inherits from "@babel/runtime/helpers/inherits"; +import _defineProperty from "@babel/runtime/helpers/defineProperty"; +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +/** + * (HOC)注入flex布局相关属性配置 + * 包含 'alignItems', 'justifyContent', 'flexDirection' + * @param {*} WrappedComponent + */ + +var HOCFlexLayoutProps = function (WrappedComponent) { + var _class, _temp; + + var PROPS = { + alignItems: 'alignItems', + justifyContent: 'justifyContent', + flexDirection: 'flexDirection', + flexWrap: 'flexWrap' + }; + return _temp = _class = + /*#__PURE__*/ + function (_Component) { + _inherits(_class, _Component); + + function _class() { + var _this; + + _classCallCheck(this, _class); + + for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) { + _args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, ..._args)); + + _defineProperty(_assertThisInitialized(_this), "parseStyle", function (args) { + var style = {}; + + if (args.style && args.style.display === 'flex') { + Object.keys(PROPS).forEach(function (item) { + // if props isn't false + if (!args[item]) return; + style[PROPS[item]] = args[item]; + }); + } + + return style; + }); + + return _this; + } + + _createClass(_class, [{ + key: "render", + value: function render() { + var _this$props = this.props, + alignItems = _this$props.alignItems, + justifyContent = _this$props.justifyContent, + flexDirection = _this$props.flexDirection, + flexWrap = _this$props.flexWrap, + otherProps = _objectWithoutProperties(_this$props, ["alignItems", "justifyContent", "flexDirection", "flexWrap"]); + + return React.createElement(WrappedComponent, _extends({}, otherProps, { + styleFlexLayout: this.parseStyle(this.props) + })); + } + }]); + + return _class; + }(Component), _defineProperty(_class, "propTypes", { + alignItems: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + justifyContent: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + flexDirection: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + flexWrap: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]) + }), _defineProperty(_class, "defaultProps", { + alignItems: false, + justifyContent: false, + flexDirection: false, + flexWrap: false + }), _temp; +}; + +export default HOCFlexLayoutProps; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCLayoutProps.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCLayoutProps.js new file mode 100644 index 000000000..b3d228f23 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCLayoutProps.js @@ -0,0 +1,82 @@ +import _extends from "@babel/runtime/helpers/extends"; +import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; +import _inherits from "@babel/runtime/helpers/inherits"; +import _defineProperty from "@babel/runtime/helpers/defineProperty"; +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +/** + * (HOC)注入布局相关属性配置 + * 包含 'align', 'lineHeight', 'verticalAlign' + * @param {*} WrappedComponent + */ + +var HOCLayoutProps = function (WrappedComponent) { + var _class, _temp; + + var PROPS = { + align: 'textAlign', + lineHeight: 'lineHeight', + verticalAlign: 'verticalAlign' + }; + return _temp = _class = + /*#__PURE__*/ + function (_Component) { + _inherits(_class, _Component); + + function _class() { + var _this; + + _classCallCheck(this, _class); + + for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) { + _args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, ..._args)); + + _defineProperty(_assertThisInitialized(_this), "parseStyle", function (args) { + var style = {}; + Object.keys(PROPS).forEach(function (item) { + // if props isn't false + if (!args[item]) return; + style[PROPS[item]] = args[item]; + }); + return style; + }); + + return _this; + } + + _createClass(_class, [{ + key: "render", + value: function render() { + var _this$props = this.props, + align = _this$props.align, + lineHeight = _this$props.lineHeight, + verticalAlign = _this$props.verticalAlign, + otherProps = _objectWithoutProperties(_this$props, ["align", "lineHeight", "verticalAlign"]); + + return React.createElement(WrappedComponent, _extends({}, otherProps, { + styleLayout: this.parseStyle(this.props) + })); + } + }]); + + return _class; + }(Component), _defineProperty(_class, "propTypes", { + align: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + lineHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + verticalAlign: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]) + }), _defineProperty(_class, "defaultProps", { + align: false, + lineHeight: false, + verticalAlign: false + }), _temp; +}; + +export default HOCLayoutProps; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCTextProps.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCTextProps.js new file mode 100644 index 000000000..9b2490209 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/utils/HOCTextProps.js @@ -0,0 +1,82 @@ +import _extends from "@babel/runtime/helpers/extends"; +import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; +import _inherits from "@babel/runtime/helpers/inherits"; +import _defineProperty from "@babel/runtime/helpers/defineProperty"; +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +/** + * (HOC)注入文本相关属性配置 + * 包含 'fontSize', 'fontWeight', 'color' + * @param {*} WrappedComponent + */ + +var HOCTextProps = function (WrappedComponent) { + var _class, _temp; + + var PROPS = { + fontSize: 'fontSize', + fontWeight: 'fontWeight', + color: 'color' + }; + return _temp = _class = + /*#__PURE__*/ + function (_Component) { + _inherits(_class, _Component); + + function _class() { + var _this; + + _classCallCheck(this, _class); + + for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) { + _args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, ..._args)); + + _defineProperty(_assertThisInitialized(_this), "parseStyle", function (args) { + var style = {}; + Object.keys(PROPS).forEach(function (item) { + // if props isn't false + if (!args[item]) return; + style[PROPS[item]] = args[item]; + }); + return style; + }); + + return _this; + } + + _createClass(_class, [{ + key: "render", + value: function render() { + var _this$props = this.props, + fontSize = _this$props.fontSize, + fontWeight = _this$props.fontWeight, + color = _this$props.color, + otherProps = _objectWithoutProperties(_this$props, ["fontSize", "fontWeight", "color"]); + + return React.createElement(WrappedComponent, _extends({}, otherProps, { + styleText: this.parseStyle(this.props) + })); + } + }]); + + return _class; + }(Component), _defineProperty(_class, "propTypes", { + fontSize: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + fontWeight: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + color: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]) + }), _defineProperty(_class, "defaultProps", { + fontSize: false, + fontWeight: false, + color: false + }), _temp; +}; + +export default HOCTextProps; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js new file mode 100644 index 000000000..e427eea0d --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js @@ -0,0 +1,8 @@ +import AIMakeBlank from './basic/AIMakeBlank'; +import AIMakeIcon from './basic/AIMakeIcon'; +import AIMakeImage from './basic/AIMakeImage'; +import AIMakeLink from './basic/AIMakeLink'; +import AIMakePlaceholder from './basic/AIMakePlaceholder'; +import AIMakeText from './basic/AIMakeText'; +import Root from './basic/Root'; +export { AIMakeBlank, AIMakeIcon, AIMakeImage, AIMakeLink, AIMakePlaceholder, AIMakeText, Root }; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/package.json b/packages/material-parser/test/fixtures/multiple-exported-component/package.json new file mode 100644 index 000000000..7c7aa8454 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/package.json @@ -0,0 +1,22 @@ +{ + "name": "multiple-exported-component", + "description": "提供最基础、通用的物料组件", + "version": "1.0.0", + "main": "lib/index.js", + "module": "es/index.js", + "dependencies": { + "classnames": "^2.2.6", + "prop-types": "^15.7.2", + "react": "^16.8.5", + "react-dom": "^16.8.5" + }, + "devDependencies": { + "cross-spawn": "^6.0.5" + }, + "peerDependencies": { + "react": "^16.8.6" + }, + "publishConfig": { + "registry": "https://registry.npm.alibaba-inc.com" + } +} diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/amContainer.js new file mode 100644 index 000000000..1eccfe080 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/amContainer.js @@ -0,0 +1,6 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; + +const getComponent = () => Promise.resolve(component); + +export default { getComponent, manifest: amManifest }; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/amManifest.js new file mode 100644 index 000000000..66bb458d8 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/amManifest.js @@ -0,0 +1,158 @@ +/** + * The template of manifest for AiMake studio. + */ + +function _update(Nygma, node) { + const attributes = node.get(); + const { + display, + flexDirection, + alignItems, + justifyContent, + flexWrap, + } = attributes; + const isFlex = display === 'flex'; + node.set({ + display, + flexDirection: isFlex ? flexDirection : undefined, + alignItems: isFlex ? alignItems : undefined, + justifyContent: isFlex ? justifyContent : undefined, + flexWrap: isFlex ? flexWrap : undefined, + }); +} + +const manifest = { + // The name of current component. + name: 'AIMakeBlank', + // The description of current component. + description: '空白卡片', + // The coverimage's url of current component. + coverImage: + 'https://img.alicdn.com/tfs/TB1un9tqntYBeNjy1XdXXXXyVXa-366-124.png', + // The category of current component in AiMake studio. + // can be: + // `分栏` or `文本` or `按钮` or `标签` or `标签页` or `表格` or `单选` or `分割线` + // or `分页` or `复选` or `滑动条` or `进度条` or `卡片` or `开关` or `缺省状态` + // or `日期选择` or `输入框` or `搜索框` or `图表` or `图片` or `下拉选择` or `表单行` + // or `树控件` or `折叠面板` or `占位图` + category: '布局', // card.blank + // The preview list of current component in AiMake studio. + // Each preset contains following keys: + // - `alias`: string. required. The previewing component's name to display + // - `thumbnail`: string. not required. The previewing component's thumbnail + // - `customProps`: object. not required. + // The previewing component's customize props, e.g. { [propName]: [propValue] } + // - `colSpan`: number. not required. default 24 (1~24). The previewing component's size when to display + presets: [ + { + alias: '空白卡片', + thumbnail: + 'https://img.alicdn.com/tfs/TB1ucPNVsbpK1RjSZFyXXX_qFXa-198-120.png', + colSpan: 12, + customProps: { + id: '', + textAlign: 'left', + padding: '12px', + width: '100%', + backgroundColor: '#FFF', + }, + }, + ], + // Other settings of current component for AiMake studio. + settings: { + // The render type of current component in AiMake studio. + // can be: + // `element_inline` or `element_block` or `container` + type: 'container', + // The insert mode of current component in AiMake studio. + // can be: + // one or combine of `t` and `b` and `r` and `l` + insertionModes: 'tbrlv', + // The handle list of current component in AiMake studio. + // can be: + // an array contains one and more of ['cut', 'copy', 'paste', 'delete', 'duplicate'] + handles: ['cut', 'copy', 'paste', 'delete', 'duplicate'], + // Whether the component can be actived. + shouldActive: true, + // Whether the component can be dragged. + shouldDrag: true, + lifeCycle: { + didMount: (props) => { + const { Nygma, dragInstance } = props; + const Drager = dragInstance.NygmaNode; + _update(Nygma, Drager); + }, + didUpdate: (Nygma, node, args) => { + const newvalue = args[1]; + const oldvalue = args[2]; + if (JSON.stringify(newvalue) !== JSON.stringify(oldvalue)) { + _update(Nygma, node); + } + }, + }, + // The props of current component in AiMake studio. + // Each property contains following keys: + // - `name`: string. required. The property's name + // - `label`: string. required. The property's name to display + // - `renderer`: string. required. The property's editor. can be: (@冰骊) + // - `defaultValue`: any. not required. The property's default value + // - `params`: any. not required. The parameters for property's editor + // - `placeholder`: string. not required. The placeholder for property's editor + // - `hint`: string. not required. The hint for property's editor + props: [ + { + name: 'id', + label: 'id', + defaultValue: '', + renderer: 'Input', + }, + { + name: 'textAlign', + label: '水平对齐', + defaultValue: 'left', + renderer: 'TextAlign', + }, + { + name: 'margin', + label: '外边距', + renderer: 'Quadrant', + }, + { + name: 'padding', + label: '内边距', + renderer: 'Quadrant', + defaultValue: '12px', + }, + { + name: 'width', + label: '宽度', + defaultValue: '100%', + renderer: 'Width', + }, + { + name: 'height', + label: '高度', + renderer: 'Height', + defaultValue: undefined, + }, + { + name: 'backgroundColor', + label: '背景颜色', + renderer: 'Color', + defaultValue: '#FFF', + }, + { + name: 'border', + label: '边框', + renderer: 'BarBorder', + }, + { + name: 'display', + label: '布局设置', + renderer: 'FlexLayout', + }, + ], + }, +}; + +export default manifest; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/container.js new file mode 100644 index 000000000..0da32f4be --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/container.js @@ -0,0 +1,5 @@ + + import AIMakeBlank from './../../../es/basic/AIMakeBlank/index.js'; + import manifest from './manifest.js'; + export default { origin: AIMakeBlank, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/index.js new file mode 100644 index 000000000..d16f34007 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/index.js @@ -0,0 +1,61 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +import HOCBoxModelProps from '../utils/HOCBoxModelProps'; +import HOCLayoutProps from '../utils/HOCLayoutProps'; +import HOCBackgroundProps from '../utils/HOCBackgroundProps'; +import HOCFlexLayoutProps from '../utils/HOCFlexLayoutProps'; + +class AIMakeBlank extends Component { + static propTypes = { + children: PropTypes.oneOfType([ + PropTypes.arrayOf(PropTypes.node), + PropTypes.node, + ]), + styleBoxModel: PropTypes.object.isRequired, + styleLayout: PropTypes.object.isRequired, + styleBackground: PropTypes.object.isRequired, + styleFlexLayout: PropTypes.object.isRequired, + style: PropTypes.object, + id: PropTypes.string, + }; + + static defaultProps = { + children: [], + style: {}, + id: '', + }; + + render() { + const merged = {}; + const { + children, + styleBoxModel, + styleLayout, + styleBackground, + styleFlexLayout, + style, + id, + } = this.props; + + const styles = { + ...styleBoxModel, + ...styleLayout, + ...styleBackground, + ...styleFlexLayout, + ...style, + }; + if (id) { + merged.id = id; + } + return ( +
+ {children} +
+ ); + } +} + +export default HOCBoxModelProps( + HOCLayoutProps(HOCBackgroundProps(HOCFlexLayoutProps(AIMakeBlank))) +); diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/manifest.js new file mode 100644 index 000000000..17c6c16d0 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/manifest.js @@ -0,0 +1 @@ +{"componentName":"AIMakeBlank","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeBlank","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"oneOfType","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleLayout","propType":"object","description":""},{"name":"styleBackground","propType":"object","description":""},{"name":"styleFlexLayout","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"},{"name":"id","propType":"string","description":""}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/manifest.json new file mode 100644 index 000000000..482a32c96 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":{"type":"oneOfType","value":[{"type":"arrayOf","value":"node"},"node"]}},{"name":"styleBoxModel","propType":{"type":"object","isRequired":true}},{"name":"styleLayout","propType":{"type":"object","isRequired":true}},{"name":"styleBackground","propType":{"type":"object","isRequired":true}},{"name":"styleFlexLayout","propType":{"type":"object","isRequired":true}},{"name":"style","propType":"object"},{"name":"id","propType":"string"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/IconFont.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/IconFont.js new file mode 100644 index 000000000..e0f766754 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/IconFont.js @@ -0,0 +1,51 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +// 缓存已加载的字体文件 +const customCache = new Set(); + +// 动态加载字体文件 +export default function createFromIconfont(options) { + const { scriptUrl } = options; + if ( + typeof document !== 'undefined' + && typeof window !== 'undefined' + && typeof document.createElement === 'function' + && typeof scriptUrl === 'string' + && scriptUrl.length + && !customCache.has(scriptUrl) + ) { + const script = document.createElement('script'); + script.setAttribute('src', scriptUrl); + script.setAttribute('data-namespace', scriptUrl); + customCache.add(scriptUrl); + document.body.appendChild(script); + } + + class IconFont extends Component { + render() { + const { type, ...restProps } = this.props; + const innerSvgProps = { + width: '1em', + height: '1em', + fill: 'currentColor', + 'aria-hidden': 'true', + focusable: 'false', + }; + // 引用指定svg + const content = ; + + return ( + + {content} + + ); + } + } + + IconFont.propTypes = { + type: PropTypes.string.isRequired, // icon + }; + + return IconFont; +} diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/amContainer.js new file mode 100644 index 000000000..98b0a9687 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/amContainer.js @@ -0,0 +1,7 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; +import createFromIconfont from './IconFont'; + +const getComponent = () => Promise.resolve(component); + +export default { getComponent, manifest: amManifest, createFromIconfont }; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/amManifest.js new file mode 100644 index 000000000..ae1354fc3 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/amManifest.js @@ -0,0 +1,89 @@ +/** + * The template of manifest for AiMake studio. + */ +const manifest = { + // The name of current component. + name: 'AIMakeIcon', + // The description of current component. + description: '图标', + // The coverimage's url of current component. + coverImage: '', + // The category of current component in AiMake studio. + // can be: + // `分栏` or `文本` or `按钮` or `标签` or `标签页` or `表格` or `单选` or `分割线` + // or `分页` or `复选` or `滑动条` or `进度条` or `卡片` or `开关` or `缺省状态` + // or `日期选择` or `输入框` or `搜索框` or `图表` or `图片` or `下拉选择` or `表单行` + // or `树控件` or `折叠面板` or `占位图` + category: 'AIMakeIcon', + // The preview list of current component in AiMake studio. + // Each preset contains following keys: + // - `alias`: string. required. The previewing component's name to display + // - `thumbnail`: string. not required. The previewing component's thumbnail + // - `customProps`: object. not required. + // The previewing component's customize props, e.g. { [propName]: [propValue] } + // - `colSpan`: number. not required. default 24 (1~24). The previewing component's size when to display + presets: [], + // Other settings of current component for AiMake studio. + settings: { + // The render type of current component in AiMake studio. + // can be: + // `element_inline` or `element_block` or `container` + type: 'element_inline', + // The insert mode of current component in AiMake studio. + // can be: + // one or combine of `t` and `b` and `r` and `l` + insertionModes: 'rl', + // The handle list of current component in AiMake studio. + // can be: + // an array contains one and more of ['cut', 'copy', 'paste', 'delete', 'duplicate'] + handles: ['cut', 'copy', 'paste', 'delete', 'duplicate'], + // Whether the component can be actived. + shouldActive: true, + // Whether the component can be dragged. + shouldDrag: true, + // The props of current component in AiMake studio. + // Each property contains following keys: + // - `name`: string. required. The property's name + // - `label`: string. required. The property's name to display + // - `renderer`: string. required. The property's editor. can be: (@冰骊) + // - `defaultValue`: any. not required. The property's default value + // - `params`: any. not required. The parameters for property's editor + // - `placeholder`: string. not required. The placeholder for property's editor + // - `hint`: string. not required. The hint for property's editor + props: [ + { + name: 'margin', + label: '外边距', + renderer: 'Quadrant', + }, + { + name: 'color', + label: '图标颜色', + renderer: 'Color', + defaultValue: '#333', + }, + { + name: 'fontSize', + label: '图标大小', + renderer: 'FontSize', + defaultValue: '16px', + }, + { + name: 'display', + label: '显示', + defaultValue: 'inline-block', + }, + { + name: 'className', + label: '图标类型', + defaultValue: 'iconfont', + renderer: false, + params: { + placeholder: '请输入Iconfont名', + }, + }, + ], + }, +}; + +export default manifest; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/container.js new file mode 100644 index 000000000..0423821b5 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/container.js @@ -0,0 +1,5 @@ + + import AIMakeIcon from './../../../es/basic/AIMakeIcon/index.js'; + import manifest from './manifest.js'; + export default { origin: AIMakeIcon, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/index.js new file mode 100644 index 000000000..83dd1e910 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/index.js @@ -0,0 +1,59 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import classNames from 'classnames'; + +import createFromIconfont from './IconFont'; + +class AIMakeIcon extends Component { + static propTypes = { + className: PropTypes.string, + iconClassName: PropTypes.string, + children: PropTypes.oneOfType([ + PropTypes.arrayOf(PropTypes.node), + PropTypes.node, + ]), + styleBoxModel: PropTypes.object.isRequired, + styleText: PropTypes.object.isRequired, + styleBackground: PropTypes.object.isRequired, + style: PropTypes.object, + }; + + static defaultProps = { + className: '', + iconClassName: 'iconfont', + children: '', + style: {}, + }; + + render() { + const { + className, + iconClassName, + children, + styleBoxModel, + styleText, + styleBackground, + style, + ...otherProps + } = this.props; + const styles = { + ...styleBoxModel, + ...styleText, + ...styleBackground, + ...style, + }; + return ( + + {children} + + ); + } +} + +AIMakeIcon.createFromIconfont = createFromIconfont; + +export default AIMakeIcon; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/manifest.js new file mode 100644 index 000000000..21824462a --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/manifest.js @@ -0,0 +1 @@ +{"componentName":"AIMakeIcon","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeIcon","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"className","propType":"string","description":""},{"name":"iconClassName","propType":"string","description":""},{"name":"children","propType":"oneOfType","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleText","propType":"object","description":""},{"name":"styleBackground","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/manifest.json new file mode 100644 index 000000000..410ac1a62 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"className","propType":"string"},{"name":"iconClassName","propType":"string"},{"name":"children","propType":{"type":"oneOfType","value":[{"type":"arrayOf","value":"node"},"node"]}},{"name":"styleBoxModel","propType":{"type":"object","isRequired":true}},{"name":"styleText","propType":{"type":"object","isRequired":true}},{"name":"styleBackground","propType":{"type":"object","isRequired":true}},{"name":"style","propType":"object"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/amContainer.js new file mode 100644 index 000000000..1eccfe080 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/amContainer.js @@ -0,0 +1,6 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; + +const getComponent = () => Promise.resolve(component); + +export default { getComponent, manifest: amManifest }; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/amManifest.js new file mode 100644 index 000000000..8e0bbf38a --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/amManifest.js @@ -0,0 +1,99 @@ +/** + * The template of manifest for AiMake studio. + */ +const manifest = { + // The name of current component. + name: 'AIMakeImage', + // The description of current component. + description: '图片', + // The coverimage's url of current component. + coverImage: + 'https://img.alicdn.com/tfs/TB17gMFp1uSBuNjy1XcXXcYjFXa-172-120.png', + // The category of current component in AiMake studio. + // can be: + // `分栏` or `文本` or `按钮` or `标签` or `标签页` or `表格` or `单选` or `分割线` + // or `分页` or `复选` or `滑动条` or `进度条` or `卡片` or `开关` or `缺省状态` + // or `日期选择` or `输入框` or `搜索框` or `图表` or `图片` or `下拉选择` or `表单行` + // or `树控件` or `折叠面板` or `占位图` + category: '线条图像', + // The preview list of current component in AiMake studio. + // Each preset contains following keys: + // - `alias`: string. required. The previewing component's name to display + // - `thumbnail`: string. not required. The previewing component's thumbnail + // - `customProps`: object. not required. + // The previewing component's customize props, e.g. { [propName]: [propValue] } + // - `colSpan`: number. not required. default 24 (1~24). The previewing component's size when to display + presets: [ + { + alias: '图片', + thumbnail: + 'https://img.alicdn.com/tfs/TB17gMFp1uSBuNjy1XcXXcYjFXa-172-120.png', + colSpan: 12, + customProps: { + width: '224px', + height: '126px', + src: + 'https://img.alicdn.com/tfs/TB1RtEMGbSYBuNjSspfXXcZCpXa-448-252.png', + }, + }, + ], + // Other settings of current component for AiMake studio. + settings: { + // The render type of current component in AiMake studio. + // can be: + // `element_inline` or `element_block` or `container` + type: 'element_inline', + // The insert mode of current component in AiMake studio. + // can be: + // one or combine of `t` and `b` and `r` and `l` + insertionModes: 'rl', + // The handle list of current component in AiMake studio. + // can be: + // an array contains one and more of ['cut', 'copy', 'paste', 'delete', 'duplicate'] + handles: ['cut', 'copy', 'paste', 'delete', 'duplicate'], + // Whether the component can be actived. + shouldActive: true, + // Whether the component can be dragged. + shouldDrag: true, + // The props of current component in AiMake studio. + // Each property contains following keys: + // - `name`: string. required. The property's name + // - `label`: string. required. The property's name to display + // - `renderer`: string. required. The property's editor. can be: (@冰骊) + // - `defaultValue`: any. not required. The property's default value + // - `params`: any. not required. The parameters for property's editor + // - `placeholder`: string. not required. The placeholder for property's editor + // - `hint`: string. not required. The hint for property's editor + props: [ + { + name: 'margin', + label: '外边距', + renderer: 'Quadrant', + }, + { + name: 'width', + label: '宽度', + defaultValue: '224px', + renderer: 'Width', + }, + { + name: 'height', + label: '高度', + defaultValue: '126px', + renderer: 'Height', + }, + { + name: 'src', + label: '图片URL', + renderer: 'Uploader', + placeholder: + 'eg: https://img.alicdn.com/tfs/TB1RtEMGbSYBuNjSspfXXcZCpXa-448-252.png', + hint: '请填入图片的URL', + defaultValue: + 'https://img.alicdn.com/tfs/TB1RtEMGbSYBuNjSspfXXcZCpXa-448-252.png', + }, + ], + }, +}; + +export default manifest; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/container.js new file mode 100644 index 000000000..190140b13 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/container.js @@ -0,0 +1,5 @@ + + import AIMakeImage from './../../../es/basic/AIMakeImage/index.js'; + import manifest from './manifest.js'; + export default { origin: AIMakeImage, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/index.js new file mode 100644 index 000000000..edb316342 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/index.js @@ -0,0 +1,26 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +import HOCBoxModelProps from '../utils/HOCBoxModelProps'; + +class AIMakeImage extends Component { + static propTypes = { + styleBoxModel: PropTypes.object.isRequired, + style: PropTypes.object, + }; + + static defaultProps = { + style: {}, + }; + + render() { + const { styleBoxModel, style, ...otherProps } = this.props; + const styles = { + ...styleBoxModel, + ...style, + }; + return AIMakeImage; + } +} + +export default HOCBoxModelProps(AIMakeImage); diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/manifest.js new file mode 100644 index 000000000..b5ffde284 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/manifest.js @@ -0,0 +1 @@ +{"componentName":"AIMakeImage","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeImage","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"styleBoxModel","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/manifest.json new file mode 100644 index 000000000..382cec354 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"styleBoxModel","propType":{"type":"object","isRequired":true}},{"name":"style","propType":"object"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/amContainer.js new file mode 100644 index 000000000..1eccfe080 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/amContainer.js @@ -0,0 +1,6 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; + +const getComponent = () => Promise.resolve(component); + +export default { getComponent, manifest: amManifest }; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/amManifest.js new file mode 100644 index 000000000..0797b0184 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/amManifest.js @@ -0,0 +1,115 @@ +/** + * The template of manifest for AiMake studio. + */ +const manifest = { + // The name of current component. + name: 'AIMakeLink', + // The description of current component. + description: '链接', + // The coverimage's url of current component. + coverImage: + 'https://img.alicdn.com/tfs/TB1otbyVwTqK1RjSZPhXXXfOFXa-192-48.png', + // The category of current component in AiMake studio. + // can be: + // `分栏` or `文本` or `按钮` or `标签` or `标签页` or `表格` or `单选` or `分割线` + // or `分页` or `复选` or `滑动条` or `进度条` or `卡片` or `开关` or `缺省状态` + // or `日期选择` or `输入框` or `搜索框` or `图表` or `图片` or `下拉选择` or `表单行` + // or `树控件` or `折叠面板` or `占位图` + category: '文本', + // The preview list of current component in AiMake studio. + // Each preset contains following keys: + // - `alias`: string. required. The previewing component's name to display + // - `thumbnail`: string. not required. The previewing component's thumbnail + // - `customProps`: object. not required. + // The previewing component's customize props, e.g. { [propName]: [propValue] } + // - `colSpan`: number. not required. default 24 (1~24). The previewing component's size when to display + presets: [ + { + alias: '链接', + thumbnail: + 'https://img.alicdn.com/tfs/TB1otbyVwTqK1RjSZPhXXXfOFXa-192-48.png', + colSpan: 12, + customProps: { + color: '#3788FF', + fontSize: '12px', + fontWeight: 'normal', + href: '#', + children: '链接', + }, + }, + ], + // Other settings of current component for AiMake studio. + settings: { + // The render type of current component in AiMake studio. + // can be: + // `element_inline` or `element_block` or `container` + type: 'element_inline', + // The insert mode of current component in AiMake studio. + // can be: + // one or combine of `t` and `b` and `r` and `l` + insertionModes: 'lrv', + // The handle list of current component in AiMake studio. + // can be: + // an array contains one and more of ['cut', 'copy', 'paste', 'delete', 'duplicate'] + handles: ['cut', 'copy', 'paste', 'delete', 'duplicate'], + // Whether the component can be actived. + shouldActive: true, + // Whether the component can be dragged. + shouldDrag: true, + // The props of current component in AiMake studio. + // Each property contains following keys: + // - `name`: string. required. The property's name + // - `label`: string. required. The property's name to display + // - `renderer`: string. required. The property's editor. can be: (@冰骊) + // - `defaultValue`: any. not required. The property's default value + // - `params`: any. not required. The parameters for property's editor + // - `placeholder`: string. not required. The placeholder for property's editor + // - `hint`: string. not required. The hint for property's editor + props: [ + { + name: 'margin', + label: '外边距', + renderer: 'Quadrant', + }, + { + name: 'color', + label: '文字颜色', + renderer: 'Color', + defaultValue: '#3788FF', + }, + { + name: 'fontSize', + label: '字号', + renderer: 'FontSize', + defaultValue: '12px', + }, + { + name: 'fontWeight', + label: '字重', + renderer: 'FontWeight', + defaultValue: 'normal', + }, + { + name: 'lineHeight', + label: '行高', + defaultValue: undefined, + renderer: 'LineHeight', + }, + { + name: 'href', + label: '链接URL', + renderer: 'Input', + placeholder: '请输入链接URL', + defaultValue: '#', + }, + { + name: 'children', + label: '内容', + defaultValue: '链接', + renderer: 'TextArea', + }, + ], + }, +}; + +export default manifest; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/container.js new file mode 100644 index 000000000..a1c952252 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/container.js @@ -0,0 +1,5 @@ + + import AIMakeLink from './../../../es/basic/AIMakeLink/index.js'; + import manifest from './manifest.js'; + export default { origin: AIMakeLink, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/index.js new file mode 100644 index 000000000..5eeaa45bc --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/index.js @@ -0,0 +1,57 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +import HOCBoxModelProps from '../utils/HOCBoxModelProps'; +import HOCTextProps from '../utils/HOCTextProps'; +import HOCLayoutProps from '../utils/HOCLayoutProps'; +import HOCBackgroundProps from '../utils/HOCBackgroundProps'; + +class AIMakeLink extends Component { + static propTypes = { + children: PropTypes.oneOfType([ + PropTypes.arrayOf(PropTypes.node), + PropTypes.node, + ]), + styleBoxModel: PropTypes.object.isRequired, + styleText: PropTypes.object.isRequired, + styleLayout: PropTypes.object.isRequired, + styleBackground: PropTypes.object.isRequired, + style: PropTypes.object, + }; + + static defaultProps = { + children: '', + style: {}, + }; + + render() { + const { + children, + styleBoxModel, + styleText, + styleLayout, + styleBackground, + style, + ...otherProps + } = this.props; + const styles = { + ...styleBoxModel, + ...styleText, + ...styleLayout, + ...styleBackground, + ...style, + }; + if (typeof children !== 'string') { + styles.display = 'inline-block'; + } + return ( + + {[children]} + + ); + } +} + +export default HOCBoxModelProps( + HOCTextProps(HOCLayoutProps(HOCBackgroundProps(AIMakeLink))) +); diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/manifest.js new file mode 100644 index 000000000..377983d6d --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/manifest.js @@ -0,0 +1 @@ +{"componentName":"AIMakeLink","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeLink","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"oneOfType","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleText","propType":"object","description":""},{"name":"styleLayout","propType":"object","description":""},{"name":"styleBackground","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/manifest.json new file mode 100644 index 000000000..4a6347ce0 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":{"type":"oneOfType","value":[{"type":"arrayOf","value":"node"},"node"]}},{"name":"styleBoxModel","propType":{"type":"object","isRequired":true}},{"name":"styleText","propType":{"type":"object","isRequired":true}},{"name":"styleLayout","propType":{"type":"object","isRequired":true}},{"name":"styleBackground","propType":{"type":"object","isRequired":true}},{"name":"style","propType":"object"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/amContainer.js new file mode 100644 index 000000000..1eccfe080 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/amContainer.js @@ -0,0 +1,6 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; + +const getComponent = () => Promise.resolve(component); + +export default { getComponent, manifest: amManifest }; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/amManifest.js new file mode 100644 index 000000000..e4cb0e8e1 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/amManifest.js @@ -0,0 +1,115 @@ +/** + * The template of manifest for AiMake studio. + */ +const manifest = { + // The name of current component. + name: 'AIMakePlaceholder', + // The description of current component. + description: '占位图', + // The coverimage's url of current component. + coverImage: + 'https://img.alicdn.com/tfs/TB1RxDup3mTBuNjy1XbXXaMrVXa-362-120.png', + // The category of current component in AiMake studio. + // can be: + // `分栏` or `文本` or `按钮` or `标签` or `标签页` or `表格` or `单选` or `分割线` + // or `分页` or `复选` or `滑动条` or `进度条` or `卡片` or `开关` or `缺省状态` + // or `日期选择` or `输入框` or `搜索框` or `图表` or `图片` or `下拉选择` or `表单行` + // or `树控件` or `折叠面板` or `占位图` + category: '占位图', + // The preview list of current component in AiMake studio. + // Each preset contains following keys: + // - `alias`: string. required. The previewing component's name to display + // - `thumbnail`: string. not required. The previewing component's thumbnail + // - `customProps`: object. not required. + // The previewing component's customize props, e.g. { [propName]: [propValue] } + // - `colSpan`: number. not required. default 24 (1~24). The previewing component's size when to display + presets: [ + { + alias: '占位图', + thumbnail: + 'https://img.alicdn.com/tfs/TB1RxDup3mTBuNjy1XbXXaMrVXa-362-120.png', + colSpan: 24, + customProps: { + width: '224px', + height: '126px', + backgroundColor: '#FFF6E0', + textAlign: 'center', + border: '1px dashed rgb(170, 170, 170)', + children: '暂不支持此组件', + }, + }, + ], + // Other settings of current component for AiMake studio. + settings: { + // The render type of current component in AiMake studio. + // can be: + // `element_inline` or `element_block` or `container` + type: 'element_inline', + // The insert mode of current component in AiMake studio. + // can be: + // one or combine of `t` and `b` and `r` and `l` + insertionModes: 'lr', + // The handle list of current component in AiMake studio. + // can be: + // an array contains one and more of ['cut', 'copy', 'paste', 'delete', 'duplicate'] + handles: ['cut', 'copy', 'paste', 'delete', 'duplicate'], + // Whether the component can be actived. + shouldActive: true, + // Whether the component can be dragged. + shouldDrag: true, + // The props of current component in AiMake studio. + // Each property contains following keys: + // - `name`: string. required. The property's name + // - `label`: string. required. The property's name to display + // - `renderer`: string. required. The property's editor. can be: (@冰骊) + // - `defaultValue`: any. not required. The property's default value + // - `params`: any. not required. The parameters for property's editor + // - `placeholder`: string. not required. The placeholder for property's editor + // - `hint`: string. not required. The hint for property's editor + props: [ + { + name: 'margin', + label: '外边距', + renderer: 'Quadrant', + }, + { + name: 'width', + label: '宽度', + defaultValue: '224px', + renderer: 'Width', + }, + { + name: 'height', + label: '高度', + defaultValue: '126px', + renderer: 'Height', + }, + { + name: 'backgroundColor', + label: '背景色', + defaultValue: '#FFF6E0', + renderer: false, + }, + { + name: 'textAlign', + label: '对齐', + defaultValue: 'center', + renderer: false, + }, + { + name: 'border', + label: '边框', + defaultValue: '1px dashed rgb(170, 170, 170)', + renderer: false, + }, + { + name: 'children', + label: '内容', + defaultValue: '暂不支持此组件', + renderer: false, + }, + ], + }, +}; + +export default manifest; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/container.js new file mode 100644 index 000000000..3fac3e6e4 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/container.js @@ -0,0 +1,5 @@ + + import AIMakePlaceholder from './../../../es/basic/AIMakePlaceholder/index.js'; + import manifest from './manifest.js'; + export default { origin: AIMakePlaceholder, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/index.js new file mode 100644 index 000000000..60cdbb1dd --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/index.js @@ -0,0 +1,45 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +import HOCBoxModelProps from '../utils/HOCBoxModelProps'; +import HOCLayoutProps from '../utils/HOCLayoutProps'; + +class AIMakePlaceholder extends Component { + static propTypes = { + children: PropTypes.oneOfType([ + PropTypes.arrayOf(PropTypes.node), + PropTypes.node, + ]), + styleBoxModel: PropTypes.object.isRequired, + styleLayout: PropTypes.object.isRequired, + style: PropTypes.object, + }; + + static defaultProps = { + children: '', + style: {}, + }; + + render() { + const { + children, styleBoxModel, styleLayout, style, + } = this.props; + const styles = { + ...styleBoxModel, + ...styleLayout, + ...style, + }; + const placeholderStyle = { + display: 'inline-block', + border: '1px dashed #aaa', + lineHeight: styles.height, + backgroundColor: '#F5E075', + overflow: 'hidden', + textAlign: 'center', + ...styles, + }; + return
{children}
; + } +} + +export default HOCBoxModelProps(HOCLayoutProps(AIMakePlaceholder)); diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/manifest.js new file mode 100644 index 000000000..7456ed578 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/manifest.js @@ -0,0 +1 @@ +{"componentName":"AIMakePlaceholder","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakePlaceholder","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"oneOfType","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleLayout","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/manifest.json new file mode 100644 index 000000000..bbbe45981 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":{"type":"oneOfType","value":[{"type":"arrayOf","value":"node"},"node"]}},{"name":"styleBoxModel","propType":{"type":"object","isRequired":true}},{"name":"styleLayout","propType":{"type":"object","isRequired":true}},{"name":"style","propType":"object"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/amContainer.js new file mode 100644 index 000000000..1eccfe080 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/amContainer.js @@ -0,0 +1,6 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; + +const getComponent = () => Promise.resolve(component); + +export default { getComponent, manifest: amManifest }; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/amManifest.js new file mode 100644 index 000000000..b84fcba79 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/amManifest.js @@ -0,0 +1,119 @@ +/** + * The template of manifest for AiMake studio. + */ +const manifest = { + // The name of current component. + name: 'AIMakeText', + // The description of current component. + description: '富文本', + // The coverimage's url of current component. + coverImage: + 'https://img.alicdn.com/tfs/TB15R_xVzDpK1RjSZFrXXa78VXa-192-48.png', + // The category of current component in AiMake studio. + // can be: + // `分栏` or `文本` or `按钮` or `标签` or `标签页` or `表格` or `单选` or `分割线` + // or `分页` or `复选` or `滑动条` or `进度条` or `卡片` or `开关` or `缺省状态` + // or `日期选择` or `输入框` or `搜索框` or `图表` or `图片` or `下拉选择` or `表单行` + // or `树控件` or `折叠面板` or `占位图` + category: '文本', + // The preview list of current component in AiMake studio. + // Each preset contains following keys: + // - `alias`: string. required. The previewing component's name to display + // - `thumbnail`: string. not required. The previewing component's thumbnail + // - `customProps`: object. not required. + // The previewing component's customize props, e.g. { [propName]: [propValue] } + // - `colSpan`: number. not required. default 24 (1~24). The previewing component's size when to display + presets: [ + { + alias: '富文本', + thumbnail: + 'https://img.alicdn.com/tfs/TB15R_xVzDpK1RjSZFrXXa78VXa-192-48.png', + colSpan: 12, + customProps: { + type: 'label', + fontSize: '12px', + fontWeight: 'normal', + children: '文本内容', + }, + }, + ], + // Other settings of current component for AiMake studio. + settings: { + // The render type of current component in AiMake studio. + // can be: + // `element_inline` or `element_block` or `container` + type: 'element_inline', + // The insert mode of current component in AiMake studio. + // can be: + // one or combine of `t` and `b` and `r` and `l` + insertionModes: 'tbrl', + // The handle list of current component in AiMake studio. + // can be: + // an array contains one and more of ['cut', 'copy', 'paste', 'delete', 'duplicate'] + handles: ['cut', 'copy', 'paste', 'delete', 'duplicate'], + // Whether the component can be actived. + shouldActive: true, + // Whether the component can be dragged. + shouldDrag: true, + // The props of current component in AiMake studio. + // Each property contains following keys: + // - `name`: string. required. The property's name + // - `label`: string. required. The property's name to display + // - `renderer`: string. required. The property's editor. can be: (@冰骊) + // - `defaultValue`: any. not required. The property's default value + // - `params`: any. not required. The parameters for property's editor + // - `placeholder`: string. not required. The placeholder for property's editor + // - `hint`: string. not required. The hint for property's editor + props: [ + { + name: 'type', + label: '类型', + renderer: 'Select', + defaultValue: 'label', + params: [ + { label: '一级标题', value: 'h1' }, + { label: '二级标题', value: 'h2' }, + { label: '三级标题', value: 'h3' }, + { label: '段落', value: 'p' }, + { label: '标签', value: 'label' }, + ], + }, + { + name: 'margin', + label: '外边距', + renderer: 'Quadrant', + }, + { + name: 'color', + label: '文字颜色', + renderer: 'Color', + }, + { + name: 'fontSize', + label: '字号', + renderer: 'FontSize', + defaultValue: '12px', + }, + { + name: 'fontWeight', + label: '字重', + renderer: 'FontWeight', + defaultValue: 'normal', + }, + { + name: 'lineHeight', + label: '行高', + defaultValue: undefined, + renderer: 'LineHeight', + }, + { + name: 'children', + label: '内容', + defaultValue: '文本内容', + renderer: 'TextArea', + }, + ], + }, +}; + +export default manifest; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/container.js new file mode 100644 index 000000000..fee69fe8b --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/container.js @@ -0,0 +1,5 @@ + + import AIMakeText from './../../../es/basic/AIMakeText/index.js'; + import manifest from './manifest.js'; + export default { origin: AIMakeText, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/index.js new file mode 100644 index 000000000..71ea40aa0 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/index.js @@ -0,0 +1,72 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +import HOCBoxModelProps from '../utils/HOCBoxModelProps'; +import HOCTextProps from '../utils/HOCTextProps'; +import HOCLayoutProps from '../utils/HOCLayoutProps'; +import HOCBackgroundProps from '../utils/HOCBackgroundProps'; + +class AIMakeText extends Component { + static propTypes = { + children: PropTypes.oneOfType([ + PropTypes.arrayOf(PropTypes.node), + PropTypes.node, + PropTypes.string, + ]), + type: PropTypes.string, + styleBoxModel: PropTypes.object.isRequired, + styleText: PropTypes.object.isRequired, + styleLayout: PropTypes.object.isRequired, + styleBackground: PropTypes.object.isRequired, + style: PropTypes.object, + }; + + static defaultProps = { + children: '', + type: '', // paragraph || label + style: {}, + }; + + generateComponentType = (componentType) => { + const componentNameMap = { + h1: 'h1', + h2: 'h2', + h3: 'h3', + h4: 'h4', + h5: 'h5', + paragraph: 'p', + label: 'label', + }; + return componentNameMap[componentType] || 'div'; + }; + + render() { + const { + children, + type, + styleBoxModel, + styleText, + styleLayout, + styleBackground, + style, + } = this.props; + const styles = { + ...styleBoxModel, + ...styleText, + ...styleLayout, + ...styleBackground, + ...style, + }; + const Comp = this.generateComponentType(type); + const labelStyle = Comp === 'label' ? { display: 'inline-block' } : {}; + return ( + + {[children]} + + ); + } +} + +export default HOCBoxModelProps( + HOCTextProps(HOCLayoutProps(HOCBackgroundProps(AIMakeText))) +); diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/manifest.js new file mode 100644 index 000000000..b275a1815 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/manifest.js @@ -0,0 +1 @@ +{"componentName":"AIMakeText","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeText","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"oneOfType","description":""},{"name":"type","propType":"string","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleText","propType":"object","description":""},{"name":"styleLayout","propType":"object","description":""},{"name":"styleBackground","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/manifest.json new file mode 100644 index 000000000..4ae0e73c1 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":{"type":"oneOfType","value":[{"type":"arrayOf","value":"node"},"node","string"]}},{"name":"type","propType":"string"},{"name":"styleBoxModel","propType":{"type":"object","isRequired":true}},{"name":"styleText","propType":{"type":"object","isRequired":true}},{"name":"styleLayout","propType":{"type":"object","isRequired":true}},{"name":"styleBackground","propType":{"type":"object","isRequired":true}},{"name":"style","propType":"object"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/amContainer.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/amContainer.js new file mode 100644 index 000000000..1eccfe080 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/amContainer.js @@ -0,0 +1,6 @@ +import component from './index.js'; +import amManifest from './amManifest.js'; + +const getComponent = () => Promise.resolve(component); + +export default { getComponent, manifest: amManifest }; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/amManifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/amManifest.js new file mode 100644 index 000000000..951356cd0 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/amManifest.js @@ -0,0 +1,29 @@ +const manifest = { + name: 'Root', + description: '底板', + coverImage: '', + category: '', + presets: [], + settings: { + type: 'container', + insertionModes: 'v', + handles: ['paste'], + shouldActive: true, + shouldDrag: false, + props: [ + { + name: 'padding', + label: '内边距', + renderer: 'Quadrant', + }, + { + name: 'backgroundColor', + label: '背景颜色', + defaultValue: '#F5F6FA', + renderer: 'Color', + }, + ], + }, +}; + +export default manifest; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/container.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/container.js new file mode 100644 index 000000000..5f8fde0cd --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/container.js @@ -0,0 +1,5 @@ + + import Root from './../../../es/basic/Root/index.js'; + import manifest from './manifest.js'; + export default { origin: Root, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/index.js new file mode 100644 index 000000000..86cc89915 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/index.js @@ -0,0 +1,29 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +class Root extends React.Component { + static propTypes = { + style: PropTypes.object, + children: PropTypes.oneOfType([ + PropTypes.element, + PropTypes.arrayOf(PropTypes.element), + ]), + }; + + static defaultProps = { + style: { + padding: 0, + backgroundColor: '#f0f2f5', + minHeight: '100%', + }, + children: null, + }; + + render() { + const { style, children } = this.props; + const newStyle = Object.assign({}, Root.defaultProps.style, style); + return
{children}
; + } +} + +export default Root; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/manifest.js new file mode 100644 index 000000000..2ec2d9e3e --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/manifest.js @@ -0,0 +1 @@ +{"componentName":"Root","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"Root","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"style","propType":"object","description":"","defaultValue":"{\n padding: 0,\n backgroundColor: '#f0f2f5',\n minHeight: '100%'\n}"},{"name":"children","propType":"oneOfType","description":""}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/manifest.json new file mode 100644 index 000000000..3b2498e18 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/manifest.json @@ -0,0 +1 @@ +{"title":"multiple-exported-component","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"style","propType":"object"},{"name":"children","propType":{"type":"oneOfType","value":["element",{"type":"arrayOf","value":"element"}]}}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/style/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/style/index.js new file mode 100644 index 000000000..d74e52ee9 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/style/index.js @@ -0,0 +1 @@ +import './index.less'; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/style/index.less b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/style/index.less new file mode 100644 index 000000000..dc3680eb4 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/style/index.less @@ -0,0 +1,8 @@ +// Alignment +.text-left { text-align: left; } +.text-right { text-align: right; } +.text-center { text-align: center; } +.text-justify { text-align: justify; } +.text-nowrap { white-space: nowrap; } + +// BoxModel \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCBackgroundProps.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCBackgroundProps.js new file mode 100644 index 000000000..012ade534 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCBackgroundProps.js @@ -0,0 +1,44 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +/** + * (HOC)注入背景相关属性配置 + * 包含 'backgroundColor' + * @param {*} WrappedComponent + */ +const HOCBackgroundProps = (WrappedComponent) => { + const PROPS = { + backgroundColor: 'backgroundColor', + }; + return class extends Component { + static propTypes = { + backgroundColor: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + }; + + static defaultProps = { + backgroundColor: false, + }; + + parseStyle = (args) => { + const style = {}; + Object.keys(PROPS).forEach((item) => { + // if props isn't false + if (!args[item]) return; + style[PROPS[item]] = args[item]; + }); + return style; + }; + + render() { + const { backgroundColor, ...otherProps } = this.props; + return ( + + ); + } + }; +}; + +export default HOCBackgroundProps; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCBoxModelProps.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCBoxModelProps.js new file mode 100644 index 000000000..9e879b652 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCBoxModelProps.js @@ -0,0 +1,75 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +const parseJoin = value => value.join(' '); + +/** + * (HOC)注入盒子模型相关属性配置 + * 包含 'display', 'margin', 'border', 'padding', 'width', 'height', 'borderRadius' + * @param {*} WrappedComponent + */ +const HOCBoxModelProps = (WrappedComponent) => { + const PROPS = { + display: 'display', + margin: 'margin', + border: 'border', + padding: 'padding', + width: 'width', + height: 'height', + borderRadius: 'borderRadius', + }; + return class extends Component { + static propTypes = { + display: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + margin: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]), + border: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]), + padding: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]), + width: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + borderRadius: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + }; + + static defaultProps = { + display: false, + margin: false, + border: false, + padding: false, + width: false, + height: false, + borderRadius: false, + }; + + parseStyle = (args) => { + const style = {}; + Object.keys(PROPS).forEach((item) => { + // if props isn't false + if (!args[item]) return; + style[PROPS[item]] = Array.isArray(args[item]) + ? parseJoin(args[item]) + : args[item]; + }); + return style; + }; + + render() { + const { + display, + margin, + border, + padding, + width, + height, + borderRadius, + ...otherProps + } = this.props; + return ( + + ); + } + }; +}; + +export default HOCBoxModelProps; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCFlexLayoutProps.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCFlexLayoutProps.js new file mode 100644 index 000000000..eb1e1b31a --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCFlexLayoutProps.js @@ -0,0 +1,61 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +/** + * (HOC)注入flex布局相关属性配置 + * 包含 'alignItems', 'justifyContent', 'flexDirection' + * @param {*} WrappedComponent + */ +const HOCFlexLayoutProps = (WrappedComponent) => { + const PROPS = { + alignItems: 'alignItems', + justifyContent: 'justifyContent', + flexDirection: 'flexDirection', + flexWrap: 'flexWrap', + }; + return class extends Component { + static propTypes = { + alignItems: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + justifyContent: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + flexDirection: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + flexWrap: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + }; + + static defaultProps = { + alignItems: false, + justifyContent: false, + flexDirection: false, + flexWrap: false, + }; + + parseStyle = (args) => { + const style = {}; + if (args.style && args.style.display === 'flex') { + Object.keys(PROPS).forEach((item) => { + // if props isn't false + if (!args[item]) return; + style[PROPS[item]] = args[item]; + }); + } + return style; + }; + + render() { + const { + alignItems, + justifyContent, + flexDirection, + flexWrap, + ...otherProps + } = this.props; + return ( + + ); + } + }; +}; + +export default HOCFlexLayoutProps; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCLayoutProps.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCLayoutProps.js new file mode 100644 index 000000000..b16a8c162 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCLayoutProps.js @@ -0,0 +1,52 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +/** + * (HOC)注入布局相关属性配置 + * 包含 'align', 'lineHeight', 'verticalAlign' + * @param {*} WrappedComponent + */ +const HOCLayoutProps = (WrappedComponent) => { + const PROPS = { + align: 'textAlign', + lineHeight: 'lineHeight', + verticalAlign: 'verticalAlign', + }; + return class extends Component { + static propTypes = { + align: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + lineHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + verticalAlign: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + }; + + static defaultProps = { + align: false, + lineHeight: false, + verticalAlign: false, + }; + + parseStyle = (args) => { + const style = {}; + Object.keys(PROPS).forEach((item) => { + // if props isn't false + if (!args[item]) return; + style[PROPS[item]] = args[item]; + }); + return style; + }; + + render() { + const { + align, lineHeight, verticalAlign, ...otherProps + } = this.props; + return ( + + ); + } + }; +}; + +export default HOCLayoutProps; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCTextProps.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCTextProps.js new file mode 100644 index 000000000..c34b18d37 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/utils/HOCTextProps.js @@ -0,0 +1,52 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +/** + * (HOC)注入文本相关属性配置 + * 包含 'fontSize', 'fontWeight', 'color' + * @param {*} WrappedComponent + */ +const HOCTextProps = (WrappedComponent) => { + const PROPS = { + fontSize: 'fontSize', + fontWeight: 'fontWeight', + color: 'color', + }; + return class extends Component { + static propTypes = { + fontSize: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + fontWeight: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + color: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + }; + + static defaultProps = { + fontSize: false, + fontWeight: false, + color: false, + }; + + parseStyle = (args) => { + const style = {}; + Object.keys(PROPS).forEach((item) => { + // if props isn't false + if (!args[item]) return; + style[PROPS[item]] = args[item]; + }); + return style; + }; + + render() { + const { + fontSize, fontWeight, color, ...otherProps + } = this.props; + return ( + + ); + } + }; +}; + +export default HOCTextProps; diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/src/index.js b/packages/material-parser/test/fixtures/multiple-exported-component/src/index.js new file mode 100644 index 000000000..9ae1753f6 --- /dev/null +++ b/packages/material-parser/test/fixtures/multiple-exported-component/src/index.js @@ -0,0 +1,17 @@ +import AIMakeBlank from './basic/AIMakeBlank'; +import AIMakeIcon from './basic/AIMakeIcon'; +import AIMakeImage from './basic/AIMakeImage'; +import AIMakeLink from './basic/AIMakeLink'; +import AIMakePlaceholder from './basic/AIMakePlaceholder'; +import AIMakeText from './basic/AIMakeText'; +import Root from './basic/Root'; + +export { + AIMakeBlank, + AIMakeIcon, + AIMakeImage, + AIMakeLink, + AIMakePlaceholder, + AIMakeText, + Root, +}; diff --git a/packages/material-parser/test/fixtures/single-exported-component/es/container.js b/packages/material-parser/test/fixtures/single-exported-component/es/container.js new file mode 100644 index 000000000..761a9c675 --- /dev/null +++ b/packages/material-parser/test/fixtures/single-exported-component/es/container.js @@ -0,0 +1,5 @@ + + import Demo from './index.js'; + import manifest from './manifest.js'; + export default { origin: Demo, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/single-exported-component/es/index.js b/packages/material-parser/test/fixtures/single-exported-component/es/index.js new file mode 100644 index 000000000..d9ba0104c --- /dev/null +++ b/packages/material-parser/test/fixtures/single-exported-component/es/index.js @@ -0,0 +1,85 @@ +import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; +import _createClass from "@babel/runtime/helpers/createClass"; +import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; + +/* eslint-disable react/no-unused-prop-types */ + +/* eslint-disable react/require-default-props */ +import React from 'react'; +import PropTypes from 'prop-types'; +import "./main.css"; + +var Demo = +/*#__PURE__*/ +function (_React$Component) { + _inherits(Demo, _React$Component); + + function Demo() { + _classCallCheck(this, Demo); + + return _possibleConstructorReturn(this, _getPrototypeOf(Demo).apply(this, arguments)); + } + + _createClass(Demo, [{ + key: "render", + value: function render() { + return React.createElement("div", null, " Test "); + } + }]); + + return Demo; +}(React.Component); + +Demo.propTypes = { + optionalArray: PropTypes.array, + optionalBool: PropTypes.bool, + optionalFunc: PropTypes.func, + optionalNumber: PropTypes.number, + optionalObject: PropTypes.object, + optionalString: PropTypes.string, + optionalSymbol: PropTypes.symbol, + // Anything that can be rendered: numbers, strings, elements or an array + // (or fragment) containing these types. + optionalNode: PropTypes.node, + // A React element (ie. ). + optionalElement: PropTypes.element, + // A React element type (ie. MyComponent). + optionalElementType: PropTypes.elementType, + // You can also declare that a prop is an instance of a class. This uses + // JS's instanceof operator. + optionalMessage: PropTypes.instanceOf(Demo), + // You can ensure that your prop is limited to specific values by treating + // it as an enum. + optionalEnum: PropTypes.oneOf(['News', 'Photos']), + // An object that could be one of many types + optionalUnion: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.instanceOf(Demo)]), + // An array of a certain type + optionalArrayOf: PropTypes.arrayOf(PropTypes.number), + // An object with property values of a certain type + optionalObjectOf: PropTypes.objectOf(PropTypes.number), + // You can chain any of the above with `isRequired` to make sure a warning + // is shown if the prop isn't provided. + // An object taking on a particular shape + optionalObjectWithShape: PropTypes.shape({ + optionalProperty: PropTypes.string, + requiredProperty: PropTypes.number.isRequired + }), + optionalObjectWithShape2: PropTypes.shape({ + optionalProperty: PropTypes.string, + requiredProperty: PropTypes.number.isRequired + }).isRequired, + // An object with warnings on extra properties + optionalObjectWithStrictShape: PropTypes.exact({ + optionalProperty: PropTypes.string, + requiredProperty: PropTypes.number.isRequired + }), + requiredFunc: PropTypes.func.isRequired, + // A value of any data type + requiredAny: PropTypes.any.isRequired +}; +Demo.defaultProps = { + optionalNumber: 123 +}; +export default Demo; \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/single-exported-component/es/main.css b/packages/material-parser/test/fixtures/single-exported-component/es/main.css new file mode 100644 index 000000000..620f1985f --- /dev/null +++ b/packages/material-parser/test/fixtures/single-exported-component/es/main.css @@ -0,0 +1,6 @@ +@charset "UTF-8"; +/* 不引入依赖组件的样式,比如组件 import { Button } from '@alife/next'; */ +/* 不需要在main.scss中引入 @import '~@alife/next/lib/button/index.scss'; */ +/* 但是在lib/index.scss中需要引入 @import '~@alife/next/lib/button/index.scss'; */ +/* 如果需要引入主题变量引入此段 */ +/* 组件自身样式 */ diff --git a/packages/material-parser/test/fixtures/single-exported-component/es/main.scss b/packages/material-parser/test/fixtures/single-exported-component/es/main.scss new file mode 100644 index 000000000..ac45616a5 --- /dev/null +++ b/packages/material-parser/test/fixtures/single-exported-component/es/main.scss @@ -0,0 +1,11 @@ +/* 不引入依赖组件的样式,比如组件 import { Button } from '@alife/next'; */ +/* 不需要在main.scss中引入 @import '~@alife/next/lib/button/index.scss'; */ +/* 但是在lib/index.scss中需要引入 @import '~@alife/next/lib/button/index.scss'; */ + +/* 如果需要引入主题变量引入此段 */ +// @import '~@alife/next/variables.scss'; + +/* 组件自身样式 */ +// .custom-component { +// color: $color-brand1-1; +// } diff --git a/packages/material-parser/test/fixtures/single-exported-component/es/manifest.js b/packages/material-parser/test/fixtures/single-exported-component/es/manifest.js new file mode 100644 index 000000000..98cfde9b0 --- /dev/null +++ b/packages/material-parser/test/fixtures/single-exported-component/es/manifest.js @@ -0,0 +1 @@ +{"componentName":"Demo","title":"","docUrl":"","screenshot":"","npm":{"package":"single-exported-component","version":"1.0.0","exportName":"Demo","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"optionalArray","propType":"array","description":""},{"name":"optionalBool","propType":"bool","description":""},{"name":"optionalFunc","propType":"func","description":""},{"name":"optionalNumber","propType":"number","description":""},{"name":"optionalObject","propType":"object","description":""},{"name":"optionalString","propType":"string","description":""},{"name":"optionalSymbol","propType":"symbol","description":""},{"name":"optionalNode","propType":"node","description":""},{"name":"optionalElement","propType":"element","description":""},{"name":"optionalElementType","propType":"elementType","description":""},{"name":"optionalMessage","propType":"instanceOf","description":""},{"name":"optionalEnum","propType":"oneOf","description":""},{"name":"optionalUnion","propType":"oneOfType","description":""},{"name":"optionalArrayOf","propType":"arrayOf","description":""},{"name":"optionalObjectOf","propType":"objectOf","description":""},{"name":"optionalObjectWithShape","propType":"shape","description":""},{"name":"optionalObjectWithShape2","propType":"shape","description":""},{"name":"optionalObjectWithStrictShape","propType":"exact","description":""},{"name":"requiredFunc","propType":"func","description":""},{"name":"requiredAny","propType":"any","description":""}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/single-exported-component/es/manifest.json b/packages/material-parser/test/fixtures/single-exported-component/es/manifest.json new file mode 100644 index 000000000..18cfc93c4 --- /dev/null +++ b/packages/material-parser/test/fixtures/single-exported-component/es/manifest.json @@ -0,0 +1 @@ +{"title":"single-exported-component","docUrl":"","screenshot":"","npm":{"package":"single-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"optionalArray","propType":"array"},{"name":"optionalBool","propType":"bool"},{"name":"optionalFunc","propType":"func"},{"name":"optionalNumber","propType":"number","defaultValue":123},{"name":"optionalObject","propType":"object"},{"name":"optionalString","propType":"string"},{"name":"optionalSymbol","propType":"symbol"},{"name":"optionalNode","propType":"node"},{"name":"optionalElement","propType":"element"},{"name":"optionalElementType","propType":"elementType"},{"name":"optionalMessage","propType":{"type":"instanceOf","value":"Demo"}},{"name":"optionalEnum","propType":{"type":"oneOf","value":["News","Photos"]}},{"name":"optionalUnion","propType":{"type":"oneOfType","value":["string","number",{"type":"instanceOf","value":"Demo"}]}},{"name":"optionalArrayOf","propType":{"type":"arrayOf","value":"number"}},{"name":"optionalObjectOf","propType":{"type":"objectOf","value":"number"}},{"name":"optionalObjectWithShape","propType":{"type":"shape","value":[{"name":"optionalProperty","propType":"string"},{"name":"requiredProperty","propType":{"type":"number","isRequired":true}}]}},{"name":"optionalObjectWithShape2","propType":{"type":"shape","isRequired":true,"value":[{"name":"optionalProperty","propType":"string"},{"name":"requiredProperty","propType":{"type":"number","isRequired":true}}]}},{"name":"optionalObjectWithStrictShape","propType":{"type":"exact","value":[{"name":"optionalProperty","propType":"string"},{"name":"requiredProperty","propType":{"type":"number","isRequired":true}}]}},{"name":"requiredFunc","propType":{"type":"func","isRequired":true}},{"name":"requiredAny","propType":{"type":"any","isRequired":true}}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/single-exported-component/package.json b/packages/material-parser/test/fixtures/single-exported-component/package.json new file mode 100644 index 000000000..d1c283cd3 --- /dev/null +++ b/packages/material-parser/test/fixtures/single-exported-component/package.json @@ -0,0 +1,30 @@ +{ + "name": "single-exported-component", + "description": "", + "version": "1.0.0", + "main": "src/index.js", + "module": "es/index.js", + "files": [ + "demo/", + "lib/", + "es/", + "build/" + ], + "scripts": { + "postversion": "node ./scripts/postversion.js" + }, + "dependencies": { + "prop-types": "^15.7.2", + "react": "^16.8.5", + "react-dom": "^16.8.5" + }, + "devDependencies": { + "cross-spawn": "^6.0.5" + }, + "peerDependencies": { + "react": "^16.8.6" + }, + "publishConfig": { + "registry": "https://registry.npm.alibaba-inc.com" + } +} diff --git a/packages/material-parser/test/fixtures/single-exported-component/src/container.js b/packages/material-parser/test/fixtures/single-exported-component/src/container.js new file mode 100644 index 000000000..63d497dd0 --- /dev/null +++ b/packages/material-parser/test/fixtures/single-exported-component/src/container.js @@ -0,0 +1,5 @@ + + import Demo from './../es/index.js'; + import manifest from './manifest.js'; + export default { origin: Demo, manifest }; + \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/single-exported-component/src/index.js b/packages/material-parser/test/fixtures/single-exported-component/src/index.js new file mode 100644 index 000000000..adca5ec9d --- /dev/null +++ b/packages/material-parser/test/fixtures/single-exported-component/src/index.js @@ -0,0 +1,82 @@ +/* eslint-disable react/no-unused-prop-types */ +/* eslint-disable react/require-default-props */ +import React from 'react'; +import PropTypes from 'prop-types'; + +import './main.scss'; + +class Demo extends React.Component { + render() { + return
Test
; + } +} + +Demo.propTypes = { + optionalArray: PropTypes.array, + optionalBool: PropTypes.bool, + optionalFunc: PropTypes.func, + optionalNumber: PropTypes.number, + optionalObject: PropTypes.object, + optionalString: PropTypes.string, + optionalSymbol: PropTypes.symbol, + + // Anything that can be rendered: numbers, strings, elements or an array + // (or fragment) containing these types. + optionalNode: PropTypes.node, + + // A React element (ie. ). + optionalElement: PropTypes.element, + + // A React element type (ie. MyComponent). + optionalElementType: PropTypes.elementType, + + // You can also declare that a prop is an instance of a class. This uses + // JS's instanceof operator. + optionalMessage: PropTypes.instanceOf(Demo), + + // You can ensure that your prop is limited to specific values by treating + // it as an enum. + optionalEnum: PropTypes.oneOf(['News', 'Photos']), + + // An object that could be one of many types + optionalUnion: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.number, + PropTypes.instanceOf(Demo), + ]), + + // An array of a certain type + optionalArrayOf: PropTypes.arrayOf(PropTypes.number), + + // An object with property values of a certain type + optionalObjectOf: PropTypes.objectOf(PropTypes.number), + + // You can chain any of the above with `isRequired` to make sure a warning + // is shown if the prop isn't provided. + + // An object taking on a particular shape + optionalObjectWithShape: PropTypes.shape({ + optionalProperty: PropTypes.string, + requiredProperty: PropTypes.number.isRequired, + }), + + optionalObjectWithShape2: PropTypes.shape({ + optionalProperty: PropTypes.string, + requiredProperty: PropTypes.number.isRequired, + }).isRequired, + + // An object with warnings on extra properties + optionalObjectWithStrictShape: PropTypes.exact({ + optionalProperty: PropTypes.string, + requiredProperty: PropTypes.number.isRequired, + }), + + requiredFunc: PropTypes.func.isRequired, + + // A value of any data type + requiredAny: PropTypes.any.isRequired, +}; + +Demo.defaultProps = {}; + +export default Demo; diff --git a/packages/material-parser/test/fixtures/single-exported-component/src/main.scss b/packages/material-parser/test/fixtures/single-exported-component/src/main.scss new file mode 100644 index 000000000..ac45616a5 --- /dev/null +++ b/packages/material-parser/test/fixtures/single-exported-component/src/main.scss @@ -0,0 +1,11 @@ +/* 不引入依赖组件的样式,比如组件 import { Button } from '@alife/next'; */ +/* 不需要在main.scss中引入 @import '~@alife/next/lib/button/index.scss'; */ +/* 但是在lib/index.scss中需要引入 @import '~@alife/next/lib/button/index.scss'; */ + +/* 如果需要引入主题变量引入此段 */ +// @import '~@alife/next/variables.scss'; + +/* 组件自身样式 */ +// .custom-component { +// color: $color-brand1-1; +// } diff --git a/packages/material-parser/test/fixtures/single-exported-component/src/manifest.js b/packages/material-parser/test/fixtures/single-exported-component/src/manifest.js new file mode 100644 index 000000000..98cfde9b0 --- /dev/null +++ b/packages/material-parser/test/fixtures/single-exported-component/src/manifest.js @@ -0,0 +1 @@ +{"componentName":"Demo","title":"","docUrl":"","screenshot":"","npm":{"package":"single-exported-component","version":"1.0.0","exportName":"Demo","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"optionalArray","propType":"array","description":""},{"name":"optionalBool","propType":"bool","description":""},{"name":"optionalFunc","propType":"func","description":""},{"name":"optionalNumber","propType":"number","description":""},{"name":"optionalObject","propType":"object","description":""},{"name":"optionalString","propType":"string","description":""},{"name":"optionalSymbol","propType":"symbol","description":""},{"name":"optionalNode","propType":"node","description":""},{"name":"optionalElement","propType":"element","description":""},{"name":"optionalElementType","propType":"elementType","description":""},{"name":"optionalMessage","propType":"instanceOf","description":""},{"name":"optionalEnum","propType":"oneOf","description":""},{"name":"optionalUnion","propType":"oneOfType","description":""},{"name":"optionalArrayOf","propType":"arrayOf","description":""},{"name":"optionalObjectOf","propType":"objectOf","description":""},{"name":"optionalObjectWithShape","propType":"shape","description":""},{"name":"optionalObjectWithShape2","propType":"shape","description":""},{"name":"optionalObjectWithStrictShape","propType":"exact","description":""},{"name":"requiredFunc","propType":"func","description":""},{"name":"requiredAny","propType":"any","description":""}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/single-exported-component/src/manifest.json b/packages/material-parser/test/fixtures/single-exported-component/src/manifest.json new file mode 100644 index 000000000..18cfc93c4 --- /dev/null +++ b/packages/material-parser/test/fixtures/single-exported-component/src/manifest.json @@ -0,0 +1 @@ +{"title":"single-exported-component","docUrl":"","screenshot":"","npm":{"package":"single-exported-component","version":"1.0.0","exportName":"","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"optionalArray","propType":"array"},{"name":"optionalBool","propType":"bool"},{"name":"optionalFunc","propType":"func"},{"name":"optionalNumber","propType":"number","defaultValue":123},{"name":"optionalObject","propType":"object"},{"name":"optionalString","propType":"string"},{"name":"optionalSymbol","propType":"symbol"},{"name":"optionalNode","propType":"node"},{"name":"optionalElement","propType":"element"},{"name":"optionalElementType","propType":"elementType"},{"name":"optionalMessage","propType":{"type":"instanceOf","value":"Demo"}},{"name":"optionalEnum","propType":{"type":"oneOf","value":["News","Photos"]}},{"name":"optionalUnion","propType":{"type":"oneOfType","value":["string","number",{"type":"instanceOf","value":"Demo"}]}},{"name":"optionalArrayOf","propType":{"type":"arrayOf","value":"number"}},{"name":"optionalObjectOf","propType":{"type":"objectOf","value":"number"}},{"name":"optionalObjectWithShape","propType":{"type":"shape","value":[{"name":"optionalProperty","propType":"string"},{"name":"requiredProperty","propType":{"type":"number","isRequired":true}}]}},{"name":"optionalObjectWithShape2","propType":{"type":"shape","isRequired":true,"value":[{"name":"optionalProperty","propType":"string"},{"name":"requiredProperty","propType":{"type":"number","isRequired":true}}]}},{"name":"optionalObjectWithStrictShape","propType":{"type":"exact","value":[{"name":"optionalProperty","propType":"string"},{"name":"requiredProperty","propType":{"type":"number","isRequired":true}}]}},{"name":"requiredFunc","propType":{"type":"func","isRequired":true}},{"name":"requiredAny","propType":{"type":"any","isRequired":true}}]} \ No newline at end of file diff --git a/packages/material-parser/test/generator/Generator.ts b/packages/material-parser/test/generator/Generator.ts new file mode 100644 index 000000000..dead5622e --- /dev/null +++ b/packages/material-parser/test/generator/Generator.ts @@ -0,0 +1,188 @@ +import test from 'ava'; +import { ensureFile, writeFile } from 'fs-extra'; +import { join } from 'path'; +import { IComponentMaterial } from '../../src/otter-core'; + +import Generator from '../../src/generator/Generator'; +import ReactParser from '../../src/parser/ReactParser'; +import Scanner from '../../src/scanner/Scanner'; +import { IMaterializeOptions, IMaterialParsedModel } from '../../src/types'; +import { getFromFixtures } from '../helpers'; + +const multiExportedComptPath = getFromFixtures('multiple-exported-component'); +const singleExportedComptPath = getFromFixtures('single-exported-component'); +// const antdComptPath = getFromFixtures('antd-component'); +const fusionComptPath = getFromFixtures('fusion-next-component'); + +async function generate( + options: IMaterializeOptions +): Promise { + const scanner = new Scanner(options); + const scanModel = await scanner.scan(); + const parser = new ReactParser(options); + const parsedModels: IMaterialParsedModel[] = await parser.parse(scanModel); + const generator = new Generator(options); + const actual: IComponentMaterial = await generator.generate( + scanModel, + parsedModels + ); + + return actual; +} + +test.serial('generate multiple exported components', async t => { + const options: IMaterializeOptions = { + cwd: multiExportedComptPath, + entry: multiExportedComptPath, + accesser: 'local', + isExportedAsMultiple: true, + }; + + const actual = await generate(options); + + t.snapshot(actual); +}); + +test.serial('generate single exported components', async t => { + const options: IMaterializeOptions = { + cwd: singleExportedComptPath, + entry: singleExportedComptPath, + accesser: 'local', + isExportedAsMultiple: false, + }; + // const scanner = new Scanner(options); + // const scanModel = await scanner.scan(); + // const parser = new ReactParser(options); + // const parsedModels: IMaterialParsedModel[] = await parser.parse(scanModel); + // const generator = new Generator(options); + // t.log('parsedModels', JSON.stringify(parsedModels,null,2)); + // const actual: IComponentMaterial = await generator.generate( + // scanModel, + // parsedModels + // ); + const actual = await generate(options); + + t.snapshot(actual); +}); + +test.serial('generate single exported components with extensions', async t => { + const options: IMaterializeOptions = { + cwd: singleExportedComptPath, + entry: singleExportedComptPath, + accesser: 'local', + isExportedAsMultiple: false, + extensions: { + 'mat:config:manifest': async (params: { + manifestObj: IComponentMaterial; + manifestFilePath: string; + }): Promise<{ + manifestJSON: string; + manifestFilePath: string; + manifestObj: IComponentMaterial; + }> => { + const manifestJSON: string = JSON.stringify( + params.manifestObj + ); + // 将 manifest 文件存储到指定目录下 + const manifestFilePath = params.manifestFilePath.replace( + '/es/', + '/src/' + ); + await writeFile(manifestFilePath, manifestJSON); + return { + manifestJSON, + manifestObj: params.manifestObj, + manifestFilePath, + }; + }, + }, + }; + + const actual = await generate(options); + + t.snapshot(actual); +}); + +test.serial( + 'generate multiple exported components with extensions', + async t => { + const options: IMaterializeOptions = { + cwd: multiExportedComptPath, + entry: multiExportedComptPath, + accesser: 'local', + isExportedAsMultiple: true, + extensions: { + 'mat:config:manifest': async (params: { + manifestObj: IComponentMaterial; + manifestFilePath: string; + }): Promise<{ + manifestJSON: string; + manifestFilePath: string; + manifestObj: IComponentMaterial; + }> => { + const manifestJSON: string = JSON.stringify( + params.manifestObj + ); + // 将 manifest 文件存储到指定目录下 + const manifestFilePath = params.manifestFilePath.replace( + '/es/', + '/src/' + ); + + await writeFile(manifestFilePath, manifestJSON); + + return Promise.resolve({ + manifestJSON, + manifestObj: params.manifestObj, + manifestFilePath, + }); + }, + }, + }; + + const actual = await generate(options); + + t.snapshot(actual); + } +); + +// test.serial('generate @alife/next components', async t => { +// const options: IMaterializeOptions = { +// cwd: fusionComptPath, +// entry: join(fusionComptPath, 'node_modules/@alife/next'), +// accesser: 'local', +// isExportedAsMultiple: true, +// extensions: { +// 'mat:config:manifest': async (params: { +// manifestObj: IComponentMaterial; +// manifestFilePath: string; +// }): Promise<{ +// manifestJSON: string; +// manifestFilePath: string; +// manifestObj: IComponentMaterial; +// }> => { +// const manifestJSON: string = JSON.stringify( +// params.manifestObj +// ); +// // 将 manifest 文件存储到指定目录下 +// const manifestFilePath = params.manifestFilePath.replace( +// '/node_modules/@alife/next/es/', +// '/src/@alife/next/' +// ); + +// await ensureFile(manifestFilePath); +// await writeFile(manifestFilePath, manifestJSON); + +// return Promise.resolve({ +// manifestJSON, +// manifestObj: params.manifestObj, +// manifestFilePath, +// }); +// }, +// }, +// }; + +// const actual = await generate(options); + +// t.snapshot(actual); +// }); diff --git a/packages/material-parser/test/helpers/index.ts b/packages/material-parser/test/helpers/index.ts new file mode 100644 index 000000000..2b0c7e70b --- /dev/null +++ b/packages/material-parser/test/helpers/index.ts @@ -0,0 +1,10 @@ +import { join } from 'path'; + +const baseDir = join(__dirname, '../fixtures'); + +/** + * 从 fixtures 下获取文件完整路径 + */ +export const getFromFixtures = (...args: string[]) => { + return join(baseDir, ...args); +}; diff --git a/packages/material-parser/test/parser/ReactParser.ts b/packages/material-parser/test/parser/ReactParser.ts new file mode 100644 index 000000000..9b7dbafd0 --- /dev/null +++ b/packages/material-parser/test/parser/ReactParser.ts @@ -0,0 +1,40 @@ +import test from 'ava'; +import ReactParser from '../../src/parser/ReactParser'; +import Scanner from '../../src/scanner/Scanner'; +import { IMaterializeOptions, IMaterialParsedModel } from '../../src/types'; +import { getFromFixtures } from '../helpers'; + +const multiExportedComptPath = getFromFixtures('multiple-exported-component'); +const singleExportedComptPath = getFromFixtures('single-exported-component'); + +test.serial('parse es6 multiple exported component by local', async t => { + const options: IMaterializeOptions = { + cwd: multiExportedComptPath, + entry: multiExportedComptPath, + accesser: 'local', + isExportedAsMultiple: true, + }; + + const scanner = new Scanner(options); + const scanModel = await scanner.scan(); + const parser = new ReactParser(options); + const actual: IMaterialParsedModel[] = await parser.parse(scanModel); + + t.snapshot(actual); +}); + +test.serial('parse es6 single exported component by local', async t => { + const options: IMaterializeOptions = { + cwd: singleExportedComptPath, + entry: singleExportedComptPath, + accesser: 'local', + isExportedAsMultiple: false, + }; + + const scanner = new Scanner(options); + const scanModel = await scanner.scan(); + const parser = new ReactParser(options); + const actual: IMaterialParsedModel[] = await parser.parse(scanModel); + + t.snapshot(actual); +}); diff --git a/packages/material-parser/test/parser/snapshots/ReactParser.ts.md b/packages/material-parser/test/parser/snapshots/ReactParser.ts.md new file mode 100644 index 000000000..e22b6777d --- /dev/null +++ b/packages/material-parser/test/parser/snapshots/ReactParser.ts.md @@ -0,0 +1,1039 @@ +# Snapshot report for `test/parser/ReactParser.ts` + +The actual snapshot is saved in `ReactParser.ts.snap`. + +Generated by [AVA](https://ava.li). + +## parse es6 multiple exported component by local + +> Snapshot 1 + + [ + { + componentNames: [], + defaultExportName: '', + exportModules: [ + { + exportedName: 'AIMakeBlank', + localName: 'AIMakeBlank', + source: './basic/AIMakeBlank', + }, + { + exportedName: 'AIMakeIcon', + localName: 'AIMakeIcon', + source: './basic/AIMakeIcon', + }, + { + exportedName: 'AIMakeImage', + localName: 'AIMakeImage', + source: './basic/AIMakeImage', + }, + { + exportedName: 'AIMakeLink', + localName: 'AIMakeLink', + source: './basic/AIMakeLink', + }, + { + exportedName: 'AIMakePlaceholder', + localName: 'AIMakePlaceholder', + source: './basic/AIMakePlaceholder', + }, + { + exportedName: 'AIMakeText', + localName: 'AIMakeText', + source: './basic/AIMakeText', + }, + { + exportedName: 'Root', + localName: 'Root', + source: './basic/Root', + }, + ], + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + importModules: [ + { + importDefaultName: 'AIMakeBlank', + localName: 'AIMakeBlank', + source: './basic/AIMakeBlank', + }, + { + importDefaultName: 'AIMakeIcon', + localName: 'AIMakeIcon', + source: './basic/AIMakeIcon', + }, + { + importDefaultName: 'AIMakeImage', + localName: 'AIMakeImage', + source: './basic/AIMakeImage', + }, + { + importDefaultName: 'AIMakeLink', + localName: 'AIMakeLink', + source: './basic/AIMakeLink', + }, + { + importDefaultName: 'AIMakePlaceholder', + localName: 'AIMakePlaceholder', + source: './basic/AIMakePlaceholder', + }, + { + importDefaultName: 'AIMakeText', + localName: 'AIMakeText', + source: './basic/AIMakeText', + }, + { + importDefaultName: 'Root', + localName: 'Root', + source: './basic/Root', + }, + ], + propsDefaults: [], + propsTypes: [], + subModules: [], + }, + { + componentNames: [ + { + exportedName: 'AIMakeBlank', + localName: 'AIMakeBlank', + }, + ], + defaultExportName: 'AIMakeBlank', + exportModules: [], + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/index.js', + importModules: [ + { + importDefaultName: '_extends', + localName: '_extends', + source: '@babel/runtime/helpers/extends', + }, + { + importDefaultName: '_classCallCheck', + localName: '_classCallCheck', + source: '@babel/runtime/helpers/classCallCheck', + }, + { + importDefaultName: '_createClass', + localName: '_createClass', + source: '@babel/runtime/helpers/createClass', + }, + { + importDefaultName: '_possibleConstructorReturn', + localName: '_possibleConstructorReturn', + source: '@babel/runtime/helpers/possibleConstructorReturn', + }, + { + importDefaultName: '_getPrototypeOf', + localName: '_getPrototypeOf', + source: '@babel/runtime/helpers/getPrototypeOf', + }, + { + importDefaultName: '_inherits', + localName: '_inherits', + source: '@babel/runtime/helpers/inherits', + }, + { + importDefaultName: '_defineProperty', + localName: '_defineProperty', + source: '@babel/runtime/helpers/defineProperty', + }, + { + importDefaultName: 'React', + localName: 'React', + source: 'react', + }, + { + importName: 'Component', + localName: 'Component', + source: 'react', + }, + { + importDefaultName: 'PropTypes', + localName: 'PropTypes', + source: 'prop-types', + }, + { + importDefaultName: 'HOCBoxModelProps', + localName: 'HOCBoxModelProps', + source: '../utils/HOCBoxModelProps', + }, + { + importDefaultName: 'HOCLayoutProps', + localName: 'HOCLayoutProps', + source: '../utils/HOCLayoutProps', + }, + { + importDefaultName: 'HOCBackgroundProps', + localName: 'HOCBackgroundProps', + source: '../utils/HOCBackgroundProps', + }, + { + importDefaultName: 'HOCFlexLayoutProps', + localName: 'HOCFlexLayoutProps', + source: '../utils/HOCFlexLayoutProps', + }, + ], + propsDefaults: [ + { + defaultValue: '{}', + name: 'style', + }, + ], + propsTypes: [ + { + name: 'children', + required: false, + type: 'oneOfType', + }, + { + name: 'styleBoxModel', + required: false, + type: 'object', + }, + { + name: 'styleLayout', + required: false, + type: 'object', + }, + { + name: 'styleBackground', + required: false, + type: 'object', + }, + { + name: 'styleFlexLayout', + required: false, + type: 'object', + }, + { + name: 'style', + required: false, + type: 'object', + }, + { + name: 'id', + required: false, + type: 'string', + }, + ], + subModules: [ + { + isValueAnonymousFunc: false, + objectName: [ + 'merged', + ], + propertyName: 'id', + value: 'id', + }, + ], + }, + { + componentNames: [ + { + exportedName: 'AIMakeIcon', + localName: 'AIMakeIcon', + }, + ], + defaultExportName: 'AIMakeIcon', + exportModules: [], + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/index.js', + importModules: [ + { + importDefaultName: '_extends', + localName: '_extends', + source: '@babel/runtime/helpers/extends', + }, + { + importDefaultName: '_objectWithoutProperties', + localName: '_objectWithoutProperties', + source: '@babel/runtime/helpers/objectWithoutProperties', + }, + { + importDefaultName: '_classCallCheck', + localName: '_classCallCheck', + source: '@babel/runtime/helpers/classCallCheck', + }, + { + importDefaultName: '_createClass', + localName: '_createClass', + source: '@babel/runtime/helpers/createClass', + }, + { + importDefaultName: '_possibleConstructorReturn', + localName: '_possibleConstructorReturn', + source: '@babel/runtime/helpers/possibleConstructorReturn', + }, + { + importDefaultName: '_getPrototypeOf', + localName: '_getPrototypeOf', + source: '@babel/runtime/helpers/getPrototypeOf', + }, + { + importDefaultName: '_inherits', + localName: '_inherits', + source: '@babel/runtime/helpers/inherits', + }, + { + importDefaultName: '_defineProperty', + localName: '_defineProperty', + source: '@babel/runtime/helpers/defineProperty', + }, + { + importDefaultName: 'React', + localName: 'React', + source: 'react', + }, + { + importName: 'Component', + localName: 'Component', + source: 'react', + }, + { + importDefaultName: 'PropTypes', + localName: 'PropTypes', + source: 'prop-types', + }, + { + importDefaultName: 'classNames', + localName: 'classNames', + source: 'classnames', + }, + { + importDefaultName: 'createFromIconfont', + localName: 'createFromIconfont', + source: './IconFont', + }, + ], + propsDefaults: [ + { + defaultValue: '{}', + name: 'style', + }, + ], + propsTypes: [ + { + name: 'className', + required: false, + type: 'string', + }, + { + name: 'iconClassName', + required: false, + type: 'string', + }, + { + name: 'children', + required: false, + type: 'oneOfType', + }, + { + name: 'styleBoxModel', + required: false, + type: 'object', + }, + { + name: 'styleText', + required: false, + type: 'object', + }, + { + name: 'styleBackground', + required: false, + type: 'object', + }, + { + name: 'style', + required: false, + type: 'object', + }, + ], + subModules: [ + { + isValueAnonymousFunc: false, + objectName: [ + 'AIMakeIcon', + ], + propertyName: 'createFromIconfont', + value: 'createFromIconfont', + }, + ], + }, + { + componentNames: [ + { + exportedName: 'AIMakeImage', + localName: 'AIMakeImage', + }, + ], + defaultExportName: 'AIMakeImage', + exportModules: [], + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/index.js', + importModules: [ + { + importDefaultName: '_extends', + localName: '_extends', + source: '@babel/runtime/helpers/extends', + }, + { + importDefaultName: '_objectWithoutProperties', + localName: '_objectWithoutProperties', + source: '@babel/runtime/helpers/objectWithoutProperties', + }, + { + importDefaultName: '_classCallCheck', + localName: '_classCallCheck', + source: '@babel/runtime/helpers/classCallCheck', + }, + { + importDefaultName: '_createClass', + localName: '_createClass', + source: '@babel/runtime/helpers/createClass', + }, + { + importDefaultName: '_possibleConstructorReturn', + localName: '_possibleConstructorReturn', + source: '@babel/runtime/helpers/possibleConstructorReturn', + }, + { + importDefaultName: '_getPrototypeOf', + localName: '_getPrototypeOf', + source: '@babel/runtime/helpers/getPrototypeOf', + }, + { + importDefaultName: '_inherits', + localName: '_inherits', + source: '@babel/runtime/helpers/inherits', + }, + { + importDefaultName: '_defineProperty', + localName: '_defineProperty', + source: '@babel/runtime/helpers/defineProperty', + }, + { + importDefaultName: 'React', + localName: 'React', + source: 'react', + }, + { + importName: 'Component', + localName: 'Component', + source: 'react', + }, + { + importDefaultName: 'PropTypes', + localName: 'PropTypes', + source: 'prop-types', + }, + { + importDefaultName: 'HOCBoxModelProps', + localName: 'HOCBoxModelProps', + source: '../utils/HOCBoxModelProps', + }, + ], + propsDefaults: [ + { + defaultValue: '{}', + name: 'style', + }, + ], + propsTypes: [ + { + name: 'styleBoxModel', + required: false, + type: 'object', + }, + { + name: 'style', + required: false, + type: 'object', + }, + ], + subModules: [], + }, + { + componentNames: [ + { + exportedName: 'AIMakeLink', + localName: 'AIMakeLink', + }, + ], + defaultExportName: 'AIMakeLink', + exportModules: [], + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/index.js', + importModules: [ + { + importDefaultName: '_extends', + localName: '_extends', + source: '@babel/runtime/helpers/extends', + }, + { + importDefaultName: '_objectWithoutProperties', + localName: '_objectWithoutProperties', + source: '@babel/runtime/helpers/objectWithoutProperties', + }, + { + importDefaultName: '_classCallCheck', + localName: '_classCallCheck', + source: '@babel/runtime/helpers/classCallCheck', + }, + { + importDefaultName: '_createClass', + localName: '_createClass', + source: '@babel/runtime/helpers/createClass', + }, + { + importDefaultName: '_possibleConstructorReturn', + localName: '_possibleConstructorReturn', + source: '@babel/runtime/helpers/possibleConstructorReturn', + }, + { + importDefaultName: '_getPrototypeOf', + localName: '_getPrototypeOf', + source: '@babel/runtime/helpers/getPrototypeOf', + }, + { + importDefaultName: '_inherits', + localName: '_inherits', + source: '@babel/runtime/helpers/inherits', + }, + { + importDefaultName: '_defineProperty', + localName: '_defineProperty', + source: '@babel/runtime/helpers/defineProperty', + }, + { + importDefaultName: 'React', + localName: 'React', + source: 'react', + }, + { + importName: 'Component', + localName: 'Component', + source: 'react', + }, + { + importDefaultName: 'PropTypes', + localName: 'PropTypes', + source: 'prop-types', + }, + { + importDefaultName: 'HOCBoxModelProps', + localName: 'HOCBoxModelProps', + source: '../utils/HOCBoxModelProps', + }, + { + importDefaultName: 'HOCTextProps', + localName: 'HOCTextProps', + source: '../utils/HOCTextProps', + }, + { + importDefaultName: 'HOCLayoutProps', + localName: 'HOCLayoutProps', + source: '../utils/HOCLayoutProps', + }, + { + importDefaultName: 'HOCBackgroundProps', + localName: 'HOCBackgroundProps', + source: '../utils/HOCBackgroundProps', + }, + ], + propsDefaults: [ + { + defaultValue: '{}', + name: 'style', + }, + ], + propsTypes: [ + { + name: 'children', + required: false, + type: 'oneOfType', + }, + { + name: 'styleBoxModel', + required: false, + type: 'object', + }, + { + name: 'styleText', + required: false, + type: 'object', + }, + { + name: 'styleLayout', + required: false, + type: 'object', + }, + { + name: 'styleBackground', + required: false, + type: 'object', + }, + { + name: 'style', + required: false, + type: 'object', + }, + ], + subModules: [], + }, + { + componentNames: [ + { + exportedName: 'AIMakePlaceholder', + localName: 'AIMakePlaceholder', + }, + ], + defaultExportName: 'AIMakePlaceholder', + exportModules: [], + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/index.js', + importModules: [ + { + importDefaultName: '_classCallCheck', + localName: '_classCallCheck', + source: '@babel/runtime/helpers/classCallCheck', + }, + { + importDefaultName: '_createClass', + localName: '_createClass', + source: '@babel/runtime/helpers/createClass', + }, + { + importDefaultName: '_possibleConstructorReturn', + localName: '_possibleConstructorReturn', + source: '@babel/runtime/helpers/possibleConstructorReturn', + }, + { + importDefaultName: '_getPrototypeOf', + localName: '_getPrototypeOf', + source: '@babel/runtime/helpers/getPrototypeOf', + }, + { + importDefaultName: '_inherits', + localName: '_inherits', + source: '@babel/runtime/helpers/inherits', + }, + { + importDefaultName: '_defineProperty', + localName: '_defineProperty', + source: '@babel/runtime/helpers/defineProperty', + }, + { + importDefaultName: 'React', + localName: 'React', + source: 'react', + }, + { + importName: 'Component', + localName: 'Component', + source: 'react', + }, + { + importDefaultName: 'PropTypes', + localName: 'PropTypes', + source: 'prop-types', + }, + { + importDefaultName: 'HOCBoxModelProps', + localName: 'HOCBoxModelProps', + source: '../utils/HOCBoxModelProps', + }, + { + importDefaultName: 'HOCLayoutProps', + localName: 'HOCLayoutProps', + source: '../utils/HOCLayoutProps', + }, + ], + propsDefaults: [ + { + defaultValue: '{}', + name: 'style', + }, + ], + propsTypes: [ + { + name: 'children', + required: false, + type: 'oneOfType', + }, + { + name: 'styleBoxModel', + required: false, + type: 'object', + }, + { + name: 'styleLayout', + required: false, + type: 'object', + }, + { + name: 'style', + required: false, + type: 'object', + }, + ], + subModules: [], + }, + { + componentNames: [ + { + exportedName: 'AIMakeText', + localName: 'AIMakeText', + }, + ], + defaultExportName: 'AIMakeText', + exportModules: [], + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/index.js', + importModules: [ + { + importDefaultName: '_classCallCheck', + localName: '_classCallCheck', + source: '@babel/runtime/helpers/classCallCheck', + }, + { + importDefaultName: '_createClass', + localName: '_createClass', + source: '@babel/runtime/helpers/createClass', + }, + { + importDefaultName: '_possibleConstructorReturn', + localName: '_possibleConstructorReturn', + source: '@babel/runtime/helpers/possibleConstructorReturn', + }, + { + importDefaultName: '_getPrototypeOf', + localName: '_getPrototypeOf', + source: '@babel/runtime/helpers/getPrototypeOf', + }, + { + importDefaultName: '_assertThisInitialized', + localName: '_assertThisInitialized', + source: '@babel/runtime/helpers/assertThisInitialized', + }, + { + importDefaultName: '_inherits', + localName: '_inherits', + source: '@babel/runtime/helpers/inherits', + }, + { + importDefaultName: '_defineProperty', + localName: '_defineProperty', + source: '@babel/runtime/helpers/defineProperty', + }, + { + importDefaultName: 'React', + localName: 'React', + source: 'react', + }, + { + importName: 'Component', + localName: 'Component', + source: 'react', + }, + { + importDefaultName: 'PropTypes', + localName: 'PropTypes', + source: 'prop-types', + }, + { + importDefaultName: 'HOCBoxModelProps', + localName: 'HOCBoxModelProps', + source: '../utils/HOCBoxModelProps', + }, + { + importDefaultName: 'HOCTextProps', + localName: 'HOCTextProps', + source: '../utils/HOCTextProps', + }, + { + importDefaultName: 'HOCLayoutProps', + localName: 'HOCLayoutProps', + source: '../utils/HOCLayoutProps', + }, + { + importDefaultName: 'HOCBackgroundProps', + localName: 'HOCBackgroundProps', + source: '../utils/HOCBackgroundProps', + }, + ], + propsDefaults: [ + { + defaultValue: '{}', + name: 'style', + }, + ], + propsTypes: [ + { + name: 'children', + required: false, + type: 'oneOfType', + }, + { + name: 'type', + required: false, + type: 'string', + }, + { + name: 'styleBoxModel', + required: false, + type: 'object', + }, + { + name: 'styleText', + required: false, + type: 'object', + }, + { + name: 'styleLayout', + required: false, + type: 'object', + }, + { + name: 'styleBackground', + required: false, + type: 'object', + }, + { + name: 'style', + required: false, + type: 'object', + }, + ], + subModules: [], + }, + { + componentNames: [ + { + exportedName: 'Root', + localName: 'Root', + }, + ], + defaultExportName: 'Root', + exportModules: [], + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/index.js', + importModules: [ + { + importDefaultName: '_classCallCheck', + localName: '_classCallCheck', + source: '@babel/runtime/helpers/classCallCheck', + }, + { + importDefaultName: '_createClass', + localName: '_createClass', + source: '@babel/runtime/helpers/createClass', + }, + { + importDefaultName: '_possibleConstructorReturn', + localName: '_possibleConstructorReturn', + source: '@babel/runtime/helpers/possibleConstructorReturn', + }, + { + importDefaultName: '_getPrototypeOf', + localName: '_getPrototypeOf', + source: '@babel/runtime/helpers/getPrototypeOf', + }, + { + importDefaultName: '_inherits', + localName: '_inherits', + source: '@babel/runtime/helpers/inherits', + }, + { + importDefaultName: '_defineProperty', + localName: '_defineProperty', + source: '@babel/runtime/helpers/defineProperty', + }, + { + importDefaultName: 'React', + localName: 'React', + source: 'react', + }, + { + importDefaultName: 'PropTypes', + localName: 'PropTypes', + source: 'prop-types', + }, + ], + propsDefaults: [ + { + defaultValue: `{␊ + padding: 0,␊ + backgroundColor: '#f0f2f5',␊ + minHeight: '100%'␊ + }`, + name: 'style', + }, + ], + propsTypes: [ + { + name: 'style', + required: false, + type: 'object', + }, + { + name: 'children', + required: false, + type: 'oneOfType', + }, + ], + subModules: [], + }, + ] + +## parse es6 single exported component by local + +> Snapshot 1 + + [ + { + componentNames: [ + { + exportedName: 'Demo', + localName: 'Demo', + }, + ], + defaultExportName: 'Demo', + exportModules: [], + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js', + importModules: [ + { + importDefaultName: '_classCallCheck', + localName: '_classCallCheck', + source: '@babel/runtime/helpers/classCallCheck', + }, + { + importDefaultName: '_createClass', + localName: '_createClass', + source: '@babel/runtime/helpers/createClass', + }, + { + importDefaultName: '_possibleConstructorReturn', + localName: '_possibleConstructorReturn', + source: '@babel/runtime/helpers/possibleConstructorReturn', + }, + { + importDefaultName: '_getPrototypeOf', + localName: '_getPrototypeOf', + source: '@babel/runtime/helpers/getPrototypeOf', + }, + { + importDefaultName: '_inherits', + localName: '_inherits', + source: '@babel/runtime/helpers/inherits', + }, + { + importDefaultName: 'React', + localName: 'React', + source: 'react', + }, + { + importDefaultName: 'PropTypes', + localName: 'PropTypes', + source: 'prop-types', + }, + ], + propsDefaults: [], + propsTypes: [ + { + name: 'optionalArray', + required: false, + type: 'array', + }, + { + name: 'optionalBool', + required: false, + type: 'bool', + }, + { + name: 'optionalFunc', + required: false, + type: 'func', + }, + { + name: 'optionalNumber', + required: false, + type: 'number', + }, + { + name: 'optionalObject', + required: false, + type: 'object', + }, + { + name: 'optionalString', + required: false, + type: 'string', + }, + { + name: 'optionalSymbol', + required: false, + type: 'symbol', + }, + { + name: 'optionalNode', + required: false, + type: 'node', + }, + { + name: 'optionalElement', + required: false, + type: 'element', + }, + { + name: 'optionalElementType', + required: false, + type: 'elementType', + }, + { + name: 'optionalMessage', + required: false, + type: 'instanceOf', + }, + { + name: 'optionalEnum', + required: false, + type: 'oneOf', + }, + { + name: 'optionalUnion', + required: false, + type: 'oneOfType', + }, + { + name: 'optionalArrayOf', + required: false, + type: 'arrayOf', + }, + { + name: 'optionalObjectOf', + required: false, + type: 'objectOf', + }, + { + name: 'optionalObjectWithShape', + required: false, + type: 'shape', + }, + { + name: 'optionalObjectWithShape2', + required: true, + type: 'shape', + }, + { + name: 'optionalObjectWithStrictShape', + required: false, + type: 'exact', + }, + { + name: 'requiredFunc', + required: false, + type: 'func', + }, + { + name: 'requiredAny', + required: false, + type: 'any', + }, + ], + subModules: [], + }, + ] diff --git a/packages/material-parser/test/parser/snapshots/ReactParser.ts.snap b/packages/material-parser/test/parser/snapshots/ReactParser.ts.snap new file mode 100644 index 000000000..4eb00f231 Binary files /dev/null and b/packages/material-parser/test/parser/snapshots/ReactParser.ts.snap differ diff --git a/packages/material-parser/test/scanner/Scanner.ts b/packages/material-parser/test/scanner/Scanner.ts new file mode 100644 index 000000000..982524e5f --- /dev/null +++ b/packages/material-parser/test/scanner/Scanner.ts @@ -0,0 +1,31 @@ +import test from 'ava'; +import Scanner from '../../src/scanner/Scanner'; +import { IMaterializeOptions } from '../../src/types'; +import { getFromFixtures } from '../helpers'; + +const multiExportedComptPath = getFromFixtures('multiple-exported-component'); +const singleExportedComptPath = getFromFixtures('single-exported-component'); + +test.serial('scan multiple exported component', async t => { + const scanner = new Scanner({ + cwd: multiExportedComptPath, + entry: multiExportedComptPath, + accesser: 'local', + isExportedAsMultiple: true, + } as IMaterializeOptions); + + const actual = await scanner.scan(); + t.snapshot(actual); +}); + +test.serial('scan single exported component', async t => { + const scanner = new Scanner({ + cwd: singleExportedComptPath, + entry: singleExportedComptPath, + accesser: 'local', + isExportedAsMultiple: false, + } as IMaterializeOptions); + + const actual = await scanner.scan(); + t.snapshot(actual); +}); diff --git a/packages/material-parser/test/scanner/snapshots/Scanner.ts.md b/packages/material-parser/test/scanner/snapshots/Scanner.ts.md new file mode 100644 index 000000000..dea63989c --- /dev/null +++ b/packages/material-parser/test/scanner/snapshots/Scanner.ts.md @@ -0,0 +1,633 @@ +# Snapshot report for `test/scanner/Scanner.ts` + +The actual snapshot is saved in `Scanner.ts.snap`. + +Generated by [AVA](https://ava.li). + +## scan multiple exported component + +> Snapshot 1 + + { + mainEntry: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + modules: [ + { + fileContent: `import AIMakeBlank from './basic/AIMakeBlank';␊ + import AIMakeIcon from './basic/AIMakeIcon';␊ + import AIMakeImage from './basic/AIMakeImage';␊ + import AIMakeLink from './basic/AIMakeLink';␊ + import AIMakePlaceholder from './basic/AIMakePlaceholder';␊ + import AIMakeText from './basic/AIMakeText';␊ + import Root from './basic/Root';␊ + export { AIMakeBlank, AIMakeIcon, AIMakeImage, AIMakeLink, AIMakePlaceholder, AIMakeText, Root };␊ + `, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + }, + { + fileContent: `import _extends from "@babel/runtime/helpers/extends";␊ + import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React, { Component } from 'react';␊ + import PropTypes from 'prop-types';␊ + import HOCBoxModelProps from '../utils/HOCBoxModelProps';␊ + import HOCLayoutProps from '../utils/HOCLayoutProps';␊ + import HOCBackgroundProps from '../utils/HOCBackgroundProps';␊ + import HOCFlexLayoutProps from '../utils/HOCFlexLayoutProps';␊ + ␊ + var AIMakeBlank =␊ + /*#__PURE__*/␊ + function (_Component) {␊ + _inherits(AIMakeBlank, _Component);␊ + ␊ + function AIMakeBlank() {␊ + _classCallCheck(this, AIMakeBlank);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakeBlank).apply(this, arguments));␊ + }␊ + ␊ + _createClass(AIMakeBlank, [{␊ + key: "render",␊ + value: function render() {␊ + var merged = {};␊ + var _this$props = this.props,␊ + children = _this$props.children,␊ + styleBoxModel = _this$props.styleBoxModel,␊ + styleLayout = _this$props.styleLayout,␊ + styleBackground = _this$props.styleBackground,␊ + styleFlexLayout = _this$props.styleFlexLayout,␊ + style = _this$props.style,␊ + id = _this$props.id;␊ + var styles = { ...styleBoxModel,␊ + ...styleLayout,␊ + ...styleBackground,␊ + ...styleFlexLayout,␊ + ...style␊ + };␊ + ␊ + if (id) {␊ + merged.id = id;␊ + }␊ + ␊ + return React.createElement("div", _extends({␊ + style: styles␊ + }, merged), children);␊ + }␊ + }]);␊ + ␊ + return AIMakeBlank;␊ + }(Component);␊ + ␊ + _defineProperty(AIMakeBlank, "propTypes", {␊ + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),␊ + styleBoxModel: PropTypes.object.isRequired,␊ + styleLayout: PropTypes.object.isRequired,␊ + styleBackground: PropTypes.object.isRequired,␊ + styleFlexLayout: PropTypes.object.isRequired,␊ + style: PropTypes.object,␊ + id: PropTypes.string␊ + });␊ + ␊ + _defineProperty(AIMakeBlank, "defaultProps", {␊ + children: [],␊ + style: {},␊ + id: ''␊ + });␊ + ␊ + export default HOCBoxModelProps(HOCLayoutProps(HOCBackgroundProps(HOCFlexLayoutProps(AIMakeBlank))));`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/index.js', + }, + { + fileContent: `import _extends from "@babel/runtime/helpers/extends";␊ + import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";␊ + import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React, { Component } from 'react';␊ + import PropTypes from 'prop-types';␊ + import classNames from 'classnames';␊ + import createFromIconfont from './IconFont';␊ + ␊ + var AIMakeIcon =␊ + /*#__PURE__*/␊ + function (_Component) {␊ + _inherits(AIMakeIcon, _Component);␊ + ␊ + function AIMakeIcon() {␊ + _classCallCheck(this, AIMakeIcon);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakeIcon).apply(this, arguments));␊ + }␊ + ␊ + _createClass(AIMakeIcon, [{␊ + key: "render",␊ + value: function render() {␊ + var _this$props = this.props,␊ + className = _this$props.className,␊ + iconClassName = _this$props.iconClassName,␊ + children = _this$props.children,␊ + styleBoxModel = _this$props.styleBoxModel,␊ + styleText = _this$props.styleText,␊ + styleBackground = _this$props.styleBackground,␊ + style = _this$props.style,␊ + otherProps = _objectWithoutProperties(_this$props, ["className", "iconClassName", "children", "styleBoxModel", "styleText", "styleBackground", "style"]);␊ + ␊ + var styles = { ...styleBoxModel,␊ + ...styleText,␊ + ...styleBackground,␊ + ...style␊ + };␊ + return React.createElement("i", _extends({}, otherProps, {␊ + className: classNames(className, iconClassName),␊ + style: styles␊ + }), children);␊ + }␊ + }]);␊ + ␊ + return AIMakeIcon;␊ + }(Component);␊ + ␊ + _defineProperty(AIMakeIcon, "propTypes", {␊ + className: PropTypes.string,␊ + iconClassName: PropTypes.string,␊ + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),␊ + styleBoxModel: PropTypes.object.isRequired,␊ + styleText: PropTypes.object.isRequired,␊ + styleBackground: PropTypes.object.isRequired,␊ + style: PropTypes.object␊ + });␊ + ␊ + _defineProperty(AIMakeIcon, "defaultProps", {␊ + className: '',␊ + iconClassName: 'iconfont',␊ + children: '',␊ + style: {}␊ + });␊ + ␊ + AIMakeIcon.createFromIconfont = createFromIconfont;␊ + export default AIMakeIcon;`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/index.js', + }, + { + fileContent: `import _extends from "@babel/runtime/helpers/extends";␊ + import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";␊ + import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React, { Component } from 'react';␊ + import PropTypes from 'prop-types';␊ + import HOCBoxModelProps from '../utils/HOCBoxModelProps';␊ + ␊ + var AIMakeImage =␊ + /*#__PURE__*/␊ + function (_Component) {␊ + _inherits(AIMakeImage, _Component);␊ + ␊ + function AIMakeImage() {␊ + _classCallCheck(this, AIMakeImage);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakeImage).apply(this, arguments));␊ + }␊ + ␊ + _createClass(AIMakeImage, [{␊ + key: "render",␊ + value: function render() {␊ + var _this$props = this.props,␊ + styleBoxModel = _this$props.styleBoxModel,␊ + style = _this$props.style,␊ + otherProps = _objectWithoutProperties(_this$props, ["styleBoxModel", "style"]);␊ + ␊ + var styles = { ...styleBoxModel,␊ + ...style␊ + };␊ + return React.createElement("img", _extends({}, otherProps, {␊ + style: styles,␊ + alt: "AIMakeImage"␊ + }));␊ + }␊ + }]);␊ + ␊ + return AIMakeImage;␊ + }(Component);␊ + ␊ + _defineProperty(AIMakeImage, "propTypes", {␊ + styleBoxModel: PropTypes.object.isRequired,␊ + style: PropTypes.object␊ + });␊ + ␊ + _defineProperty(AIMakeImage, "defaultProps", {␊ + style: {}␊ + });␊ + ␊ + export default HOCBoxModelProps(AIMakeImage);`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/index.js', + }, + { + fileContent: `import _extends from "@babel/runtime/helpers/extends";␊ + import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";␊ + import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React, { Component } from 'react';␊ + import PropTypes from 'prop-types';␊ + import HOCBoxModelProps from '../utils/HOCBoxModelProps';␊ + import HOCTextProps from '../utils/HOCTextProps';␊ + import HOCLayoutProps from '../utils/HOCLayoutProps';␊ + import HOCBackgroundProps from '../utils/HOCBackgroundProps';␊ + ␊ + var AIMakeLink =␊ + /*#__PURE__*/␊ + function (_Component) {␊ + _inherits(AIMakeLink, _Component);␊ + ␊ + function AIMakeLink() {␊ + _classCallCheck(this, AIMakeLink);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakeLink).apply(this, arguments));␊ + }␊ + ␊ + _createClass(AIMakeLink, [{␊ + key: "render",␊ + value: function render() {␊ + var _this$props = this.props,␊ + children = _this$props.children,␊ + styleBoxModel = _this$props.styleBoxModel,␊ + styleText = _this$props.styleText,␊ + styleLayout = _this$props.styleLayout,␊ + styleBackground = _this$props.styleBackground,␊ + style = _this$props.style,␊ + otherProps = _objectWithoutProperties(_this$props, ["children", "styleBoxModel", "styleText", "styleLayout", "styleBackground", "style"]);␊ + ␊ + var styles = { ...styleBoxModel,␊ + ...styleText,␊ + ...styleLayout,␊ + ...styleBackground,␊ + ...style␊ + };␊ + ␊ + if (typeof children !== 'string') {␊ + styles.display = 'inline-block';␊ + }␊ + ␊ + return React.createElement("a", _extends({}, otherProps, {␊ + style: styles␊ + }), [children]);␊ + }␊ + }]);␊ + ␊ + return AIMakeLink;␊ + }(Component);␊ + ␊ + _defineProperty(AIMakeLink, "propTypes", {␊ + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),␊ + styleBoxModel: PropTypes.object.isRequired,␊ + styleText: PropTypes.object.isRequired,␊ + styleLayout: PropTypes.object.isRequired,␊ + styleBackground: PropTypes.object.isRequired,␊ + style: PropTypes.object␊ + });␊ + ␊ + _defineProperty(AIMakeLink, "defaultProps", {␊ + children: '',␊ + style: {}␊ + });␊ + ␊ + export default HOCBoxModelProps(HOCTextProps(HOCLayoutProps(HOCBackgroundProps(AIMakeLink))));`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/index.js', + }, + { + fileContent: `import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React, { Component } from 'react';␊ + import PropTypes from 'prop-types';␊ + import HOCBoxModelProps from '../utils/HOCBoxModelProps';␊ + import HOCLayoutProps from '../utils/HOCLayoutProps';␊ + ␊ + var AIMakePlaceholder =␊ + /*#__PURE__*/␊ + function (_Component) {␊ + _inherits(AIMakePlaceholder, _Component);␊ + ␊ + function AIMakePlaceholder() {␊ + _classCallCheck(this, AIMakePlaceholder);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(AIMakePlaceholder).apply(this, arguments));␊ + }␊ + ␊ + _createClass(AIMakePlaceholder, [{␊ + key: "render",␊ + value: function render() {␊ + var _this$props = this.props,␊ + children = _this$props.children,␊ + styleBoxModel = _this$props.styleBoxModel,␊ + styleLayout = _this$props.styleLayout,␊ + style = _this$props.style;␊ + var styles = { ...styleBoxModel,␊ + ...styleLayout,␊ + ...style␊ + };␊ + var placeholderStyle = {␊ + display: 'inline-block',␊ + border: '1px dashed #aaa',␊ + lineHeight: styles.height,␊ + backgroundColor: '#F5E075',␊ + overflow: 'hidden',␊ + textAlign: 'center',␊ + ...styles␊ + };␊ + return React.createElement("div", {␊ + style: placeholderStyle␊ + }, children);␊ + }␊ + }]);␊ + ␊ + return AIMakePlaceholder;␊ + }(Component);␊ + ␊ + _defineProperty(AIMakePlaceholder, "propTypes", {␊ + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),␊ + styleBoxModel: PropTypes.object.isRequired,␊ + styleLayout: PropTypes.object.isRequired,␊ + style: PropTypes.object␊ + });␊ + ␊ + _defineProperty(AIMakePlaceholder, "defaultProps", {␊ + children: '',␊ + style: {}␊ + });␊ + ␊ + export default HOCBoxModelProps(HOCLayoutProps(AIMakePlaceholder));`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/index.js', + }, + { + fileContent: `import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React, { Component } from 'react';␊ + import PropTypes from 'prop-types';␊ + import HOCBoxModelProps from '../utils/HOCBoxModelProps';␊ + import HOCTextProps from '../utils/HOCTextProps';␊ + import HOCLayoutProps from '../utils/HOCLayoutProps';␊ + import HOCBackgroundProps from '../utils/HOCBackgroundProps';␊ + ␊ + var AIMakeText =␊ + /*#__PURE__*/␊ + function (_Component) {␊ + _inherits(AIMakeText, _Component);␊ + ␊ + function AIMakeText() {␊ + var _this;␊ + ␊ + _classCallCheck(this, AIMakeText);␊ + ␊ + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {␊ + args[_key] = arguments[_key];␊ + }␊ + ␊ + _this = _possibleConstructorReturn(this, _getPrototypeOf(AIMakeText).call(this, ...args));␊ + ␊ + _defineProperty(_assertThisInitialized(_this), "generateComponentType", function (componentType) {␊ + var componentNameMap = {␊ + h1: 'h1',␊ + h2: 'h2',␊ + h3: 'h3',␊ + h4: 'h4',␊ + h5: 'h5',␊ + paragraph: 'p',␊ + label: 'label'␊ + };␊ + return componentNameMap[componentType] || 'div';␊ + });␊ + ␊ + return _this;␊ + }␊ + ␊ + _createClass(AIMakeText, [{␊ + key: "render",␊ + value: function render() {␊ + var _this$props = this.props,␊ + children = _this$props.children,␊ + type = _this$props.type,␊ + styleBoxModel = _this$props.styleBoxModel,␊ + styleText = _this$props.styleText,␊ + styleLayout = _this$props.styleLayout,␊ + styleBackground = _this$props.styleBackground,␊ + style = _this$props.style;␊ + var styles = { ...styleBoxModel,␊ + ...styleText,␊ + ...styleLayout,␊ + ...styleBackground,␊ + ...style␊ + };␊ + var Comp = this.generateComponentType(type);␊ + var labelStyle = Comp === 'label' ? {␊ + display: 'inline-block'␊ + } : {};␊ + return React.createElement(Comp, {␊ + className: "AIMakeText",␊ + style: Object.assign(labelStyle, styles)␊ + }, [children]);␊ + }␊ + }]);␊ + ␊ + return AIMakeText;␊ + }(Component);␊ + ␊ + _defineProperty(AIMakeText, "propTypes", {␊ + children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node, PropTypes.string]),␊ + type: PropTypes.string,␊ + styleBoxModel: PropTypes.object.isRequired,␊ + styleText: PropTypes.object.isRequired,␊ + styleLayout: PropTypes.object.isRequired,␊ + styleBackground: PropTypes.object.isRequired,␊ + style: PropTypes.object␊ + });␊ + ␊ + _defineProperty(AIMakeText, "defaultProps", {␊ + children: '',␊ + type: '',␊ + // paragraph || label␊ + style: {}␊ + });␊ + ␊ + export default HOCBoxModelProps(HOCTextProps(HOCLayoutProps(HOCBackgroundProps(AIMakeText))));`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/index.js', + }, + { + fileContent: `import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + import _defineProperty from "@babel/runtime/helpers/defineProperty";␊ + import React from 'react';␊ + import PropTypes from 'prop-types';␊ + ␊ + var Root =␊ + /*#__PURE__*/␊ + function (_React$Component) {␊ + _inherits(Root, _React$Component);␊ + ␊ + function Root() {␊ + _classCallCheck(this, Root);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(Root).apply(this, arguments));␊ + }␊ + ␊ + _createClass(Root, [{␊ + key: "render",␊ + value: function render() {␊ + var _this$props = this.props,␊ + style = _this$props.style,␊ + children = _this$props.children;␊ + var newStyle = Object.assign({}, Root.defaultProps.style, style);␊ + return React.createElement("div", {␊ + style: newStyle␊ + }, children);␊ + }␊ + }]);␊ + ␊ + return Root;␊ + }(React.Component);␊ + ␊ + _defineProperty(Root, "propTypes", {␊ + style: PropTypes.object,␊ + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)])␊ + });␊ + ␊ + _defineProperty(Root, "defaultProps", {␊ + style: {␊ + padding: 0,␊ + backgroundColor: '#f0f2f5',␊ + minHeight: '100%'␊ + },␊ + children: null␊ + });␊ + ␊ + export default Root;`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/index.js', + }, + ], + pkgName: 'multiple-exported-component', + pkgVersion: '1.0.0', + sourceType: 'module', + } + +## scan single exported component + +> Snapshot 1 + + { + mainEntry: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js', + modules: [ + { + fileContent: `import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊ + import _createClass from "@babel/runtime/helpers/createClass";␊ + import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊ + import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊ + import _inherits from "@babel/runtime/helpers/inherits";␊ + ␊ + /* eslint-disable react/no-unused-prop-types */␊ + ␊ + /* eslint-disable react/require-default-props */␊ + import React from 'react';␊ + import PropTypes from 'prop-types';␊ + import "./main.css";␊ + ␊ + var Demo =␊ + /*#__PURE__*/␊ + function (_React$Component) {␊ + _inherits(Demo, _React$Component);␊ + ␊ + function Demo() {␊ + _classCallCheck(this, Demo);␊ + ␊ + return _possibleConstructorReturn(this, _getPrototypeOf(Demo).apply(this, arguments));␊ + }␊ + ␊ + _createClass(Demo, [{␊ + key: "render",␊ + value: function render() {␊ + return React.createElement("div", null, " Test ");␊ + }␊ + }]);␊ + ␊ + return Demo;␊ + }(React.Component);␊ + ␊ + Demo.propTypes = {␊ + optionalArray: PropTypes.array,␊ + optionalBool: PropTypes.bool,␊ + optionalFunc: PropTypes.func,␊ + optionalNumber: PropTypes.number,␊ + optionalObject: PropTypes.object,␊ + optionalString: PropTypes.string,␊ + optionalSymbol: PropTypes.symbol,␊ + // Anything that can be rendered: numbers, strings, elements or an array␊ + // (or fragment) containing these types.␊ + optionalNode: PropTypes.node,␊ + // A React element (ie. ).␊ + optionalElement: PropTypes.element,␊ + // A React element type (ie. MyComponent).␊ + optionalElementType: PropTypes.elementType,␊ + // You can also declare that a prop is an instance of a class. This uses␊ + // JS's instanceof operator.␊ + optionalMessage: PropTypes.instanceOf(Demo),␊ + // You can ensure that your prop is limited to specific values by treating␊ + // it as an enum.␊ + optionalEnum: PropTypes.oneOf(['News', 'Photos']),␊ + // An object that could be one of many types␊ + optionalUnion: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.instanceOf(Demo)]),␊ + // An array of a certain type␊ + optionalArrayOf: PropTypes.arrayOf(PropTypes.number),␊ + // An object with property values of a certain type␊ + optionalObjectOf: PropTypes.objectOf(PropTypes.number),␊ + // You can chain any of the above with `isRequired` to make sure a warning␊ + // is shown if the prop isn't provided.␊ + // An object taking on a particular shape␊ + optionalObjectWithShape: PropTypes.shape({␊ + optionalProperty: PropTypes.string,␊ + requiredProperty: PropTypes.number.isRequired␊ + }),␊ + optionalObjectWithShape2: PropTypes.shape({␊ + optionalProperty: PropTypes.string,␊ + requiredProperty: PropTypes.number.isRequired␊ + }).isRequired,␊ + // An object with warnings on extra properties␊ + optionalObjectWithStrictShape: PropTypes.exact({␊ + optionalProperty: PropTypes.string,␊ + requiredProperty: PropTypes.number.isRequired␊ + }),␊ + requiredFunc: PropTypes.func.isRequired,␊ + // A value of any data type␊ + requiredAny: PropTypes.any.isRequired␊ + };␊ + Demo.defaultProps = {};␊ + export default Demo;`, + filePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js', + }, + ], + pkgName: 'single-exported-component', + pkgVersion: '1.0.0', + sourceType: 'module', + } diff --git a/packages/material-parser/test/scanner/snapshots/Scanner.ts.snap b/packages/material-parser/test/scanner/snapshots/Scanner.ts.snap new file mode 100644 index 000000000..fc7332acc Binary files /dev/null and b/packages/material-parser/test/scanner/snapshots/Scanner.ts.snap differ diff --git a/packages/material-parser/test/validate/fixtures/basic-error/schema.json b/packages/material-parser/test/validate/fixtures/basic-error/schema.json new file mode 100644 index 000000000..d1c6f5d8d --- /dev/null +++ b/packages/material-parser/test/validate/fixtures/basic-error/schema.json @@ -0,0 +1,18 @@ +{ + "componentName": "Select", + "title": "下拉选择器", + "description": "适用于下拉选择,下拉多选等场景", + "tags": ["xx", "yy"], + "docUrl": "https://fusion-demo.alibaba-inc.com/demos/next/select", + "screenshot": "https://img.alicdn.com/tfs/TB1osvGNXzqK1RjSZFoXXbfcXXa-1149-854.png", + "icon": "url/fsdfasdfa.svg", + "devMode": "proCode", + "npm": { + "package": "@ali/deep", + "exportName": "Button", + "subName": "Icon.Option", + "main": "", + "destructuring": true, + "version": "0.1.13" + } +} \ No newline at end of file diff --git a/packages/material-parser/test/validate/fixtures/basic-success/schema.json b/packages/material-parser/test/validate/fixtures/basic-success/schema.json new file mode 100644 index 000000000..3b0f63b83 --- /dev/null +++ b/packages/material-parser/test/validate/fixtures/basic-success/schema.json @@ -0,0 +1,19 @@ +{ + "componentName": "Select", + "title": "下拉选择器", + "description": "适用于下拉选择,下拉多选等场景", + "tags": ["xx", "yy"], + "docUrl": "https://fusion-demo.alibaba-inc.com/demos/next/select", + "screenshot": "https://img.alicdn.com/tfs/TB1osvGNXzqK1RjSZFoXXbfcXXa-1149-854.png", + "icon": "url/fsdfasdfa.svg", + "devMode": "proCode", + "npm": { + "package": "@ali/deep", + "exportName": "Button", + "subName": "Icon.Option", + "main": "", + "destructuring": true, + "version": "0.1.13" + }, + "props": [] +} diff --git a/packages/material-parser/test/validate/fixtures/configure/schema.json b/packages/material-parser/test/validate/fixtures/configure/schema.json new file mode 100644 index 000000000..0bdce1623 --- /dev/null +++ b/packages/material-parser/test/validate/fixtures/configure/schema.json @@ -0,0 +1,68 @@ +{ + "componentName": "Select", + "title": "下拉选择器", + "description": "适用于下拉选择,下拉多选等场景", + "tags": ["xx", "yy"], + "docUrl": "https://fusion-demo.alibaba-inc.com/demos/next/select", + "screenshot": "https://img.alicdn.com/tfs/TB1osvGNXzqK1RjSZFoXXbfcXXa-1149-854.png", + "icon": "url/fsdfasdfa.svg", + "devMode": "proCode", + "npm": { + "package": "@ali/deep", + "exportName": "Button", + "subName": "Icon.Option", + "main": "", + "destructuring": true, + "version": "0.1.13" + }, + "props": [], + "configure": { + "props": [ + { + "type": "field", + "title": "field", + "name": "field", + "setter": { + "componentName": "Mixin", + "props": { + "onlyChangeType": false, + "defaultType": "Input", + "typeMap": { + "Input": {}, + "Select": {} + } + } + } + }, + { + "type": "group", + "title": "group", + "items": [ + { + "type": "field", + "componentName": "Function", + "props": { + "defaultValue": "function(){ console.log('aloha') }" + } + }, + { + "type": "field", + "componentName": "Number", + "props": { + "value": 123 + } + } + ] + } + ], + "component": { + "isContainer": true, + "isModal": false, + "descriptor": "title", + "nestingRule": { + "childWhitelist": ["SelectOption"], + "parentWhitelist": ["Select", "Table"] + } + } + } +} \ No newline at end of file diff --git a/packages/material-parser/test/validate/fixtures/props-basic-type/schema.json b/packages/material-parser/test/validate/fixtures/props-basic-type/schema.json new file mode 100644 index 000000000..e8fecb328 --- /dev/null +++ b/packages/material-parser/test/validate/fixtures/props-basic-type/schema.json @@ -0,0 +1,71 @@ +{ + "componentName": "Select", + "title": "下拉选择器", + "description": "适用于下拉选择,下拉多选等场景", + "tags": ["xx", "yy"], + "docUrl": "https://fusion-demo.alibaba-inc.com/demos/next/select", + "screenshot": "https://img.alicdn.com/tfs/TB1osvGNXzqK1RjSZFoXXbfcXXa-1149-854.png", + "icon": "url/fsdfasdfa.svg", + "devMode": "proCode", + "npm": { + "package": "@ali/deep", + "exportName": "Button", + "subName": "Icon.Option", + "main": "", + "destructuring": true, + "version": "0.1.13" + }, + "props": [ + { + "name": "placeholder", + "propType": "string", + "description": "占位提示", + "defaultValue": "请输入..." + }, + { + "name": "disabled", + "propType": "bool", + "description": "disabled", + "defaultValue": false + }, + { + "name": "size", + "propType": "number", + "description": "尺寸", + "defaultValue": 10 + }, + { + "name": "dataSource", + "propType": "array", + "description": "下拉选项配置", + "defaultValue": [] + }, + { + "name": "object", + "propType": "object", + "description": "object", + "defaultValue": { + "a": 123, + "b": 234 + } + }, + { + "name": "node", + "propType": "node", + "description": "node" + }, + { + "name": "element", + "propType": "element", + "description": "element" + }, + { + "name": "onClick", + "propType": { + "type": "func", + "isRequired": true + }, + "description": "下拉选项配置" + } + ] +} \ No newline at end of file diff --git a/packages/material-parser/test/validate/fixtures/props-complex-type/schema.json b/packages/material-parser/test/validate/fixtures/props-complex-type/schema.json new file mode 100644 index 000000000..fdb40a5af --- /dev/null +++ b/packages/material-parser/test/validate/fixtures/props-complex-type/schema.json @@ -0,0 +1,95 @@ +{ + "componentName": "Select", + "title": "下拉选择器", + "description": "适用于下拉选择,下拉多选等场景", + "tags": ["xx", "yy"], + "docUrl": "https://fusion-demo.alibaba-inc.com/demos/next/select", + "screenshot": "https://img.alicdn.com/tfs/TB1osvGNXzqK1RjSZFoXXbfcXXa-1149-854.png", + "icon": "url/fsdfasdfa.svg", + "devMode": "proCode", + "npm": { + "package": "@ali/deep", + "exportName": "Button", + "subName": "Icon.Option", + "main": "", + "destructuring": true, + "version": "0.1.13" + }, + "props": [ + { + "name": "oneOf", + "propType": { + "type": "oneOf", + "value": ["a", "b", "c"] + } + }, + { + "name": "oneOfType", + "propType": { + "type": "oneOfType", + "value": ["string", "number", { + "type": "array", + "isRequired": true + }] + } + }, + { + "name": "arrayOf", + "propType": "number" + }, + { + "name": "objectOf", + "propType": "number" + }, + { + "name": "size", + "propType": "number", + "description": "尺寸", + "defaultValue": 10 + }, + { + "name": "dataSource", + "propType": "array", + "description": "下拉选项配置", + "defaultValue": [] + }, + { + "name": "shape", + "propType": { + "type": "shape", + "value": [ + { + "name": "color", + "propType": "string" + }, + { + "name": "fontSize", + "propType": { + "type": "number", + "isRequired": true + } + } + ] + } + }, + { + "name": "exact", + "propType": { + "type": "exact", + "value": [ + { + "name": "name", + "propType": "string" + }, + { + "name": "quantity", + "propType": { + "type": "number", + "isRequired": true + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/packages/material-parser/test/validate/index.ts b/packages/material-parser/test/validate/index.ts new file mode 100644 index 000000000..e90d9b3dd --- /dev/null +++ b/packages/material-parser/test/validate/index.ts @@ -0,0 +1,34 @@ +import Ajv from 'ajv'; +import test from 'ava'; +import fs = require('fs'); +import yaml = require('js-yaml'); +import path = require('path'); +const schema = yaml.load(fs.readFileSync(path.resolve(__dirname, '../../schemas/schema.yml'), 'utf8')); +const ajv = new Ajv({jsonPointers: true}); +const validate = ajv.compile(schema); + +let fixtures = fs.readdirSync(path.join(__dirname, 'fixtures')); +fixtures = fixtures.filter(item => !item.includes('.skip')); +if (fixtures.find(item => item.includes('.only'))) { + fixtures = fixtures.filter(item => item.includes('.only')); +} + +for (const dir of fixtures) { + const fullPath = path.join(__dirname, 'fixtures', dir); + test(`should be right in dir ${dir}`, async (t) => { + const json = yaml.safeLoad(fs.readFileSync(path.resolve(fullPath, 'schema.json'), 'utf-8')); + let validateResult: any = validate(json); + if (validateResult === true) { + validateResult = { + success: true, + }; + } else { + validateResult = { + success: false, + errors: validate.errors, + }; + } + + t.snapshot(validateResult); + }); +} \ No newline at end of file diff --git a/packages/material-parser/tsconfig.json b/packages/material-parser/tsconfig.json new file mode 100644 index 000000000..469dcb033 --- /dev/null +++ b/packages/material-parser/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "lib" + }, + "include": ["src/**/*"], + "exclude": ["schemas"] +} diff --git a/packages/plugin-settings/package-lock.json b/packages/plugin-settings/package-lock.json new file mode 100644 index 000000000..8534e31fe --- /dev/null +++ b/packages/plugin-settings/package-lock.json @@ -0,0 +1,1055 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@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/react": { + "version": "16.9.23", + "resolved": "https://registry.npm.alibaba-inc.com/@types/react/download/@types/react-16.9.23.tgz", + "integrity": "sha1-GmbG1Gi6EaiUOtlYqMs+c3VoJxw=", + "requires": { + "@types/prop-types": "*", + "csstype": "^2.2.0" + }, + "dependencies": { + "@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npm.alibaba-inc.com/@types/prop-types/download/@types/prop-types-15.7.3.tgz", + "integrity": "sha1-KrDV2i5YFflLC51LldHl8kOrLKc=" + }, + "csstype": { + "version": "2.6.9", + "resolved": "https://registry.npm.alibaba-inc.com/csstype/download/csstype-2.6.9.tgz", + "integrity": "sha1-BRQdDNVXpWuIkTlMGRHEDIqY0Jg=" + } + } + }, + "@types/react-dom": { + "version": "16.9.5", + "resolved": "https://registry.npm.alibaba-inc.com/@types/react-dom/download/@types/react-dom-16.9.5.tgz", + "integrity": "sha1-XeYQsEo10H/9j0TtrZOnEDLZqqc=", + "requires": { + "@types/react": "*" + } + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npm.alibaba-inc.com/eslint/download/eslint-6.8.0.tgz", + "integrity": "sha1-YiYtZylzn5J1cjgkMC+yJ8jJP/s=", + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "@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/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" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/@types/color-name/download/@types/color-name-1.1.1.tgz", + "integrity": "sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA=" + }, + "acorn": { + "version": "7.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/acorn/download/acorn-7.1.1.tgz", + "integrity": "sha1-41Zo3gtALzWd5RXFSCoaufiaab8=" + }, + "acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/acorn-jsx/download/acorn-jsx-5.2.0.tgz", + "integrity": "sha1-TGYGkXPW/daO2FI5/CViJhgrLr4=" + }, + "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-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-escapes/download/ansi-escapes-4.3.1.tgz", + "integrity": "sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE=", + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npm.alibaba-inc.com/type-fest/download/type-fest-0.11.0.tgz", + "integrity": "sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E=" + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-regex/download/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=" + }, + "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" + } + }, + "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=" + }, + "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=" + }, + "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" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/callsites/download/callsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=" + }, + "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" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npm.alibaba-inc.com/chardet/download/chardet-0.7.0.tgz", + "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=" + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/cli-cursor/download/cli-cursor-3.1.0.tgz", + "integrity": "sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/cli-width/download/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + }, + "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=" + }, + "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=" + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/cross-spawn/download/cross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" + } + } + }, + "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" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/doctrine/download/doctrine-3.0.0.tgz", + "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", + "requires": { + "esutils": "^2.0.2" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/emoji-regex/download/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=" + }, + "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-scope": { + "version": "5.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/eslint-scope/download/eslint-scope-5.0.0.tgz", + "integrity": "sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=", + "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=" + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/espree/download/espree-6.2.1.tgz", + "integrity": "sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o=", + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + }, + "esquery": { + "version": "1.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/esquery/download/esquery-1.1.0.tgz", + "integrity": "sha1-xcC2bzg+dlZAT4azEzTXJSTt20g=", + "requires": { + "estraverse": "^4.0.0" + } + }, + "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=" + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/external-editor/download/external-editor-3.1.0.tgz", + "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "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-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=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npm.alibaba-inc.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/figures/download/figures-3.2.0.tgz", + "integrity": "sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/file-entry-cache/download/file-entry-cache-5.0.1.tgz", + "integrity": "sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=", + "requires": { + "flat-cache": "^2.0.1" + } + }, + "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=" + }, + "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=" + }, + "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=" + }, + "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": "5.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/glob-parent/download/glob-parent-5.1.0.tgz", + "integrity": "sha1-X0wdHnSNMM1zrSlEs1d6gbCB6MI=", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/globals/download/globals-12.4.0.tgz", + "integrity": "sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg=", + "requires": { + "type-fest": "^0.8.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=" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npm.alibaba-inc.com/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npm.alibaba-inc.com/ignore/download/ignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=" + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/import-fresh/download/import-fresh-3.2.1.tgz", + "integrity": "sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY=", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "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=" + }, + "inquirer": { + "version": "7.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/inquirer/download/inquirer-7.1.0.tgz", + "integrity": "sha1-EpigGFmIPhfHJkuChwrhA0+S3Sk=", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npm.alibaba-inc.com/ansi-styles/download/ansi-styles-4.2.1.tgz", + "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/chalk/download/chalk-3.0.0.tgz", + "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.alibaba-inc.com/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/strip-ansi/download/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/supports-color/download/supports-color-7.1.0.tgz", + "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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": "3.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=" + }, + "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-promise": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/is-promise/download/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "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" + } + }, + "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=" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/levn/download/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npm.alibaba-inc.com/lodash/download/lodash-4.17.15.tgz", + "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/mimic-fn/download/mimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=" + }, + "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=" + }, + "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=" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npm.alibaba-inc.com/mute-stream/download/mute-stream-0.0.8.tgz", + "integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npm.alibaba-inc.com/nice-try/download/nice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=" + }, + "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" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/onetime/download/onetime-5.1.0.tgz", + "integrity": "sha1-//DzyRYX/mK7UBiWNumayKbfe+U=", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npm.alibaba-inc.com/optionator/download/optionator-0.8.3.tgz", + "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/parent-module/download/parent-module-1.0.1.tgz", + "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", + "requires": { + "callsites": "^3.0.0" + } + }, + "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-key": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/path-key/download/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/prelude-ls/download/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npm.alibaba-inc.com/progress/download/progress-2.0.3.tgz", + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/regexpp/download/regexpp-2.0.1.tgz", + "integrity": "sha1-jRnTHPYySCtYkEn4KB+T28uk0H8=" + }, + "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=" + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/restore-cursor/download/restore-cursor-3.1.0.tgz", + "integrity": "sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "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" + } + }, + "run-async": { + "version": "2.4.0", + "resolved": "https://registry.npm.alibaba-inc.com/run-async/download/run-async-2.4.0.tgz", + "integrity": "sha1-5ZBUpbhods+uB/Qx0Yy63cWU8eg=", + "requires": { + "is-promise": "^2.1.0" + } + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npm.alibaba-inc.com/rxjs/download/rxjs-6.5.4.tgz", + "integrity": "sha1-4Hd/4NGEzseHLfFH8wNXLUFOIRw=", + "requires": { + "tslib": "^1.9.0" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npm.alibaba-inc.com/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/shebang-command/download/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/shebang-regex/download/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "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=" + }, + "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" + }, + "dependencies": { + "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=" + } + } + }, + "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=" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/string-width/download/string-width-4.2.0.tgz", + "integrity": "sha1-lSGCxGzHssMT0VluYjmSvRY7crU=", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npm.alibaba-inc.com/strip-ansi/download/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "requires": { + "ansi-regex": "^5.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" + }, + "dependencies": { + "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=" + } + } + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npm.alibaba-inc.com/strip-json-comments/download/strip-json-comments-3.0.1.tgz", + "integrity": "sha1-hXE5dakfuHvxswXMp3OV5A0qZKc=" + }, + "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" + } + }, + "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" + }, + "dependencies": { + "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=" + }, + "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=" + }, + "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" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npm.alibaba-inc.com/text-table/download/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npm.alibaba-inc.com/through/download/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npm.alibaba-inc.com/tmp/download/tmp-0.0.33.tgz", + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tslib": { + "version": "1.11.1", + "resolved": "https://registry.npm.alibaba-inc.com/tslib/download/tslib-1.11.1.tgz", + "integrity": "sha1-6xXRKIJ/vuKEFUnhcfRe0zisfjU=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npm.alibaba-inc.com/type-check/download/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npm.alibaba-inc.com/type-fest/download/type-fest-0.8.1.tgz", + "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=" + }, + "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" + } + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npm.alibaba-inc.com/v8-compile-cache/download/v8-compile-cache-2.1.0.tgz", + "integrity": "sha1-4U3jezGm0ZT1aQ1n78Tn9vxqsw4=" + }, + "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" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npm.alibaba-inc.com/word-wrap/download/word-wrap-1.2.3.tgz", + "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=" + }, + "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" + } + } + } + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npm.alibaba-inc.com/prettier/download/prettier-1.19.1.tgz", + "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=" + }, + "ts-node": { + "version": "8.6.2", + "resolved": "https://registry.npm.alibaba-inc.com/ts-node/download/ts-node-8.6.2.tgz", + "integrity": "sha1-dBmgE5GoGPuvpvgmozwaE+lGTjU=", + "requires": { + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.6", + "yn": "3.1.1" + }, + "dependencies": { + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npm.alibaba-inc.com/arg/download/arg-4.1.3.tgz", + "integrity": "sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/buffer-from/download/buffer-from-1.1.1.tgz", + "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=" + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npm.alibaba-inc.com/diff/download/diff-4.0.2.tgz", + "integrity": "sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0=" + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npm.alibaba-inc.com/make-error/download/make-error-1.3.6.tgz", + "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I=" + }, + "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=" + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npm.alibaba-inc.com/source-map-support/download/source-map-support-0.5.16.tgz", + "integrity": "sha1-CuBp5/47p1OMZMmFFeNTOerFoEI=", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npm.alibaba-inc.com/yn/download/yn-3.1.1.tgz", + "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A=" + } + } + }, + "typescript": { + "version": "3.8.3", + "resolved": "https://registry.npm.alibaba-inc.com/typescript/download/typescript-3.8.3.tgz", + "integrity": "sha1-QJ64VE6gM1cRIFhp7EWKsQnuEGE=" + } + } +} diff --git a/templates/src/index.d.ts b/templates/src/index.d.ts new file mode 100644 index 000000000..e69de29bb diff --git a/templates/src/index.js b/templates/src/index.js new file mode 100644 index 000000000..fb029417c --- /dev/null +++ b/templates/src/index.js @@ -0,0 +1,3 @@ +"use strict"; +// +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/templates/src/index.js.map b/templates/src/index.js.map new file mode 100644 index 000000000..67b67fe20 --- /dev/null +++ b/templates/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA,EAAE"} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 4719291d5..ef844fdbe 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,8 +9,5 @@ "resolveJsonModule": true, "sourceMap": true }, - "exclude": [ - "**/test", - "**/lib" - ] -} \ No newline at end of file + "exclude": ["**/test", "**/lib"] +} diff --git a/tslint.json b/tslint.json index 7ad2bb75a..fbc6b2423 100644 --- a/tslint.json +++ b/tslint.json @@ -1,9 +1,6 @@ { "defaultSeverity": "error", - "extends": [ - "tslint:recommended", - "tslint-config-prettier" - ], + "extends": ["tslint:recommended", "tslint-config-prettier"], "rulesDirectory": ["tslint-plugin-prettier"], "rules": { "prettier": true, @@ -11,4 +8,4 @@ "no-var-requires": false, "no-console": false } -} \ No newline at end of file +}