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/packages/designer/package-lock.json b/packages/designer/package-lock.json new file mode 100644 index 000000000..0a9c614f6 --- /dev/null +++ b/packages/designer/package-lock.json @@ -0,0 +1,2226 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@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=" + }, + "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=" + } + } + }, + "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/material-parser/package.json b/packages/material-parser/package.json index 95fd2c630..c81deee55 100644 --- a/packages/material-parser/package.json +++ b/packages/material-parser/package.json @@ -23,18 +23,20 @@ "scripts": { "build": "tsc", "prebuild": "npm run schema", - "test": "ava --verbose --serial", + "test": "ava", "test:snapshot": "ava --update-snapshots", "schema": "node ./scripts/transform.js" }, "ava": { - "compileEnhancements": false, "snapshotDir": "test/fixtures/__snapshots__", "extensions": [ "ts" ], "require": [ "ts-node/register" + ], + "include": [ + "test/generator/Generator.ts" ] }, "license": "MIT", @@ -47,6 +49,7 @@ "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/src/generator/Generator.ts b/packages/material-parser/src/generator/Generator.ts index 575cdaea5..6d2b15db6 100644 --- a/packages/material-parser/src/generator/Generator.ts +++ b/packages/material-parser/src/generator/Generator.ts @@ -155,32 +155,13 @@ class Generator implements IGenerator { const defaultValueItem = matParsedModel.propsDefaults.find( inner => inner.name === item.name, ); - const propItem: Partial = { - name: item.name, - }; - if ( - [ - 'array', - 'bool', - 'func', - 'number', - 'object', - 'string', - 'node', - 'element', - 'any', - ].includes(item.type) - ) { - propItem.propType = item.type as PropType; - } else { - propItem.propType = { - type: item.type, - // @ts-ignore - value: item.value, - } as PropType; - } + let propItem: Partial = item; + if (defaultValueItem) { - propItem.defaultValue = defaultValueItem.defaultValue; + propItem = { + ...propItem, + defaultValue: defaultValueItem.defaultValue, + }; } props.push(propItem as PropsSection['props'][0]); }); diff --git a/packages/material-parser/src/parser/ReactParser.ts b/packages/material-parser/src/parser/ReactParser.ts index 8548b0bc8..cd1c17227 100644 --- a/packages/material-parser/src/parser/ReactParser.ts +++ b/packages/material-parser/src/parser/ReactParser.ts @@ -1,13 +1,55 @@ import { CodeGenerator } from '@babel/generator'; -import { parse } from '@babel/parser'; +// import { parse } from '@babel/parser'; +const buildParser = require('react-docgen/dist/babelParser').default; 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, SourceType } from '../types'; +import { + IMaterialParsedModel, + IMaterialScanModel, + IPropType, + IPropTypes, + SourceType, +} from '../types'; import BaseParser from './BaseParser'; const log = debug.extend('mat'); +const parser = buildParser(); +function transformType(item: any): any { + switch (typeof item) { + case 'string': + return { + propType: item, + }; + case 'object': + if (Array.isArray(item)) { + return item.map(transformType); + } else if (Object.keys(item).length === 1 && item.name) { + return { + propType: item.name, + }; + } else if (item.name === 'shape' || item.name === 'exact') { + return { + propType: item.name, + value: Object.keys(item.value).map(name => { + return { + name, + ...transformType(item.value[name]), + }; + }), + }; + } else if (item.name === 'enum') { + return item.value.map((x: any) => x.value); + } else { + return { + propType: item.name, + isRequired: item.required, + }; + } + } +} /** * 解析 react 生态下的组件 * @@ -31,10 +73,10 @@ class ReactParser extends BaseParser { source: string; }> > { - const ast = await parse(fileContent, { - sourceType: sourceType === SourceType.MODULE ? 'module' : 'script', - plugins: ['jsx'], - }); + const ast = parser.parse(fileContent); + + // @ts-ignore + ast.__src = fileContent; const specifiers: any = []; @@ -77,6 +119,139 @@ class ReactParser extends BaseParser { return specifiers; } + public static parseProperties(objectPath: any): IPropTypes { + const results: IPropTypes = objectPath.get('properties').map((p: any) => ({ + name: p.get('key').node.name, + ...transformType(ReactDocUtils.getPropType(p.get('value'))), + })); + // console.log(JSON.stringify(results, null, 2)); + // objectPath.node.properties.forEach((prop: any) => { + // if (t.isProperty(prop)) { + // if (t.isMemberExpression(prop.value)) { + // if (t.isIdentifier(prop.value.object)) { + // // 支持 optionalArray: PropTypes.array 写法 + // results.push({ + // name: prop.key.name, + // type: prop.value.property.name, + // required: false, + // }); + // } + // if (t.isMemberExpression(prop.value.object)) { + // // 支持 optionalArray: PropTypes.array.isRequired 写法 + // results.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 写法 + // results.push({ + // name: prop.key.name, + // type: prop.value.object.callee.property.name, + // value: ReactParser.parseProperties( + // prop.value.object.arguments[0], + // ), + // required: prop.value.property.name === 'isRequired', + // }); + // } + // } + // if ( + // t.isCallExpression(prop.value) && + // t.isMemberExpression(prop.value.callee) + // ) { + // // 支持 optionalArray: PropTypes.shape() 写法 + // results.push({ + // name: prop.key.name, + // type: prop.value.callee.property.name, + // value: ReactParser.parsePropsTypesES6(prop.value.arguments[0], ''), + // required: false, + // }); + // } + // } + // }); + + return results; + // public return []; + } + + /** + * 解析 AST 获取 propsTypes + * 支持的写法: + * - static propTypes = { sth: PropTypes.any.isRequired } + * - Demo.propTypes = {} + * + * @private + * @param {*} ast + * @param {string} defaultExportName + * @returns {} + * @memberof ReactParser + */ + public static parsePropsTypesES6( + ast: any, + defaultExportName: string, + ): IPropTypes { + const results: any[] = []; + traverse(ast, { + enter(path) { + // 支持 static propTypes = { sth: PropTypes.any.isRequired }; 写法 + if ( + t.isExpressionStatement(path.node) && + t.isCallExpression(path.node.expression) + ) { + const args = path.node.expression.arguments; + if ( + t.isIdentifier(args[0]) && + // args[0].name === defaultExportName && + t.isLiteral(args[1]) && + (args[1] as any).value === 'propTypes' && + t.isObjectExpression(args[2]) + ) { + // const properties = (args[2] as t.ObjectExpression).properties; + results.push( + ...ReactParser.parseProperties( + path + // @ts-ignore + .get('expression') + // @ts-ignore + .get('arguments')[2], + ), + ); + } + } + + // 支持 Demo.propTypes = {}; 写法 + 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 === defaultExportName && + ['propTypes'].includes(path.node.expression.left.property.name) + ) { + debugger; + // 处理 propTypes + results.push( + // @ts-ignore + ...ReactParser.parseProperties(path.get('expression').get('right')), + ); + } + }, + noScope: defaultExportName ? false : true, + }); + return results; + } + public async parseES5( model: IMaterialScanModel, ): Promise { @@ -95,10 +270,10 @@ class ReactParser extends BaseParser { item => item.filePath === model.mainEntry, ); // log('mainEntryItem', mainEntryItem); - const ast = await parse(mainEntryItem.file, { - sourceType: 'script', - plugins: ['jsx'], - }); + const ast = parser.parse(mainEntryItem.file); + + // @ts-ignore + ast.__src = mainEntryItem.file; // 获取 defaultExportName traverse(ast, { @@ -430,11 +605,10 @@ class ReactParser extends BaseParser { filePath: string; fileContent: string; }): Promise { - const ast = await parse(params.fileContent, { - sourceType: - params.model.sourceType === SourceType.MODULE ? 'module' : 'script', - plugins: ['jsx'], - }); + const ast = parser.parse(params.fileContent); + + // @ts-ignore + ast.__src = params.fileContent; const defaultExportName = await this.parseDefaultExportNameES6(ast); const componentNames = await this.parseComponentNamesES6(ast); @@ -444,7 +618,7 @@ class ReactParser extends BaseParser { params.model.sourceType, ); const subModules = await this.parseSubModulesES6(ast); - const propsTypes = await this.parsePropsTypesES6(ast, defaultExportName); + const propsTypes = ReactParser.parsePropsTypesES6(ast, defaultExportName); const propsDefaults = await this.parseDefaultPropsES6( ast, defaultExportName, @@ -717,161 +891,6 @@ class ReactParser extends BaseParser { return results; } - /** - * 解析 AST 获取 propsTypes - * 支持的写法: - * - static propTypes = { sth: PropTypes.any.isRequired } - * - Demo.propTypes = {} - * - * @private - * @param {*} ast - * @param {string} defaultExportName - * @returns {Promise>} - * @memberof ReactParser - */ - private async parsePropsTypesES6( - ast: any, - defaultExportName: string, - ): Promise< - Array<{ - name: string; - type: string; - typeRaw?: any; - required: boolean; - }> - > { - const results: any[] = []; - traverse(ast, { - enter(path) { - // 支持 static propTypes = { sth: PropTypes.any.isRequired }; 写法 - if ( - t.isExpressionStatement(path.node) && - t.isCallExpression(path.node.expression) - ) { - const args = path.node.expression.arguments; - if ( - t.isIdentifier(args[0]) && - // args[0].name === defaultExportName && - t.isLiteral(args[1]) && - (args[1] as any).value === 'propTypes' && - t.isObjectExpression(args[2]) - ) { - const properties = (args[2] as t.ObjectExpression).properties; - properties.forEach((prop: any) => { - if (t.isProperty(prop)) { - if (t.isMemberExpression(prop.value)) { - if (t.isIdentifier(prop.value.object)) { - // 支持 optionalArray: PropTypes.array 写法 - results.push({ - name: prop.key.name, - type: prop.value.property.name, - required: false, - }); - } - if (t.isMemberExpression(prop.value.object)) { - // 支持 optionalArray: PropTypes.array.isRequired 写法 - results.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 写法 - results.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() 写法 - results.push({ - name: prop.key.name, - type: prop.value.callee.property.name, - required: false, - }); - } - } - }); - } - } - - // 支持 Demo.propTypes = {}; 写法 - 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 === defaultExportName && - ['propTypes'].includes(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 写法 - results.push({ - name: prop.key.name, - type: prop.value.property.name, - required: false, - }); - } - if (t.isMemberExpression(prop.value.object)) { - // 支持 optionalArray: PropTypes.array.isRequired 写法 - results.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 写法 - results.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() 写法 - results.push({ - name: prop.key.name, - type: prop.value.callee.property.name, - required: false, - }); - } - } - }); - } - }, - }); - return results; - } - /** * 解析 AST 获取 defaultProps * 支持的写法: @@ -897,64 +916,64 @@ class ReactParser extends BaseParser { }> > { const results: any[] = []; - traverse(ast, { - enter(path) { - if ( - t.isExpressionStatement(path.node) && - t.isCallExpression(path.node.expression) - ) { - const args = path.node.expression.arguments; - if ( - t.isIdentifier(args[0]) && - // args[0].name === defaultExportName && - t.isLiteral(args[1]) && - (args[1] as any).value === 'defaultProps' && - t.isObjectExpression(args[2]) - ) { - const properties = (args[2] as t.ObjectExpression).properties; - properties.forEach((prop: any) => { - if (t.isProperty(prop)) { - if (t.isObjectExpression(prop.value)) { - const defaultValue = new CodeGenerator( - t.objectExpression(prop.value.properties), - ).generate().code; - results.push({ - name: prop.key.name, - defaultValue, - }); - } - } - }); - } - } + // traverse(ast, { + // enter(path) { + // if ( + // t.isExpressionStatement(path.node) && + // t.isCallExpression(path.node.expression) + // ) { + // const args = path.node.expression.arguments; + // if ( + // t.isIdentifier(args[0]) && + // // args[0].name === defaultExportName && + // t.isLiteral(args[1]) && + // (args[1] as any).value === 'defaultProps' && + // t.isObjectExpression(args[2]) + // ) { + // const properties = (args[2] as t.ObjectExpression).properties; + // properties.forEach((prop: any) => { + // if (t.isProperty(prop)) { + // if (t.isObjectExpression(prop.value)) { + // const defaultValue = new CodeGenerator( + // t.objectExpression(prop.value.properties), + // ).generate().code; + // results.push({ + // name: prop.key.name, + // defaultValue, + // }); + // } + // } + // }); + // } + // } - 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 === defaultExportName && - ['defaultProps'].includes(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; - results.push({ - name: prop.key.name, - defaultValue, - }); - } - } - }); - } - }, - }); + // 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 === defaultExportName && + // ['defaultProps'].includes(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; + // results.push({ + // name: prop.key.name, + // defaultValue, + // }); + // } + // } + // }); + // } + // }, + // }); return results; } } diff --git a/packages/material-parser/src/types/IMaterialParsedModel.ts b/packages/material-parser/src/types/IMaterialParsedModel.ts index be0738d2d..a36e64bff 100644 --- a/packages/material-parser/src/types/IMaterialParsedModel.ts +++ b/packages/material-parser/src/types/IMaterialParsedModel.ts @@ -1,7 +1,16 @@ /** * 对应解析器分析出的一些关键信息 */ -interface IMaterialParsedModel { +export interface IPropType { + name: string; + type: string; + value?: IPropTypes; + required: boolean; +} + +export type IPropTypes = IPropType[]; + +export interface IMaterialParsedModel { filePath: string; defaultExportName: string; componentNames: Array<{ @@ -30,16 +39,9 @@ interface IMaterialParsedModel { // value 是否对应匿名函数 isValueAnonymousFunc: boolean; }>; - propsTypes: Array<{ - name: string; - type: string; - typeRaw?: any; - required: boolean; - }>; + propsTypes: IPropTypes; propsDefaults: Array<{ name: string; defaultValue: any; }>; } - -export default IMaterialParsedModel; diff --git a/packages/material-parser/src/types/index.ts b/packages/material-parser/src/types/index.ts index 22a743e76..06f5ae80e 100644 --- a/packages/material-parser/src/types/index.ts +++ b/packages/material-parser/src/types/index.ts @@ -6,7 +6,7 @@ import ICompiler from './ICompiler'; import IExtensionConfigManifest from './IExtensionConfigManifest'; import IGenerator from './IGenerator'; import IMaterializeOptions from './IMaterializeOptions'; -import IMaterialParsedModel from './IMaterialParsedModel'; +export * from './IMaterialParsedModel'; import IMaterialScanModel from './IMaterialScanModel'; import IParser from './IParser'; import IScanner from './IScanner'; @@ -20,7 +20,6 @@ export { IExtensionConfigManifest, IMaterializeOptions, IMaterialScanModel, - IMaterialParsedModel, SourceType, ChannelType, EcologyType, diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.md b/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.md index e40e4f0d7..fe9b21702 100644 --- a/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.md +++ b/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.md @@ -2,7 +2,7 @@ The actual snapshot is saved in `Materialize.ts.snap`. -Generated by [AVA](https://ava.li). +Generated by [AVA](https://avajs.dev). ## materialize multiple exported component by local @@ -25,11 +25,9 @@ Generated by [AVA](https://ava.li). }, props: [ { + isRequired: undefined, name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, { name: 'styleBoxModel', @@ -48,7 +46,6 @@ Generated by [AVA](https://ava.li). propType: 'object', }, { - defaultValue: '{}', name: 'style', propType: 'object', }, @@ -85,11 +82,9 @@ Generated by [AVA](https://ava.li). propType: 'string', }, { + isRequired: undefined, name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, { name: 'styleBoxModel', @@ -104,7 +99,6 @@ Generated by [AVA](https://ava.li). propType: 'object', }, { - defaultValue: '{}', name: 'style', propType: 'object', }, @@ -133,7 +127,6 @@ Generated by [AVA](https://ava.li). propType: 'object', }, { - defaultValue: '{}', name: 'style', propType: 'object', }, @@ -158,11 +151,9 @@ Generated by [AVA](https://ava.li). }, props: [ { + isRequired: undefined, name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, { name: 'styleBoxModel', @@ -181,7 +172,6 @@ Generated by [AVA](https://ava.li). propType: 'object', }, { - defaultValue: '{}', name: 'style', propType: 'object', }, @@ -206,11 +196,9 @@ Generated by [AVA](https://ava.li). }, props: [ { + isRequired: undefined, name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, { name: 'styleBoxModel', @@ -221,7 +209,6 @@ Generated by [AVA](https://ava.li). propType: 'object', }, { - defaultValue: '{}', name: 'style', propType: 'object', }, @@ -246,11 +233,9 @@ Generated by [AVA](https://ava.li). }, props: [ { + isRequired: undefined, name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, { name: 'type', @@ -273,7 +258,6 @@ Generated by [AVA](https://ava.li). propType: 'object', }, { - defaultValue: '{}', name: 'style', propType: 'object', }, @@ -298,20 +282,13 @@ Generated by [AVA](https://ava.li). }, props: [ { - defaultValue: `{␊ - padding: 0,␊ - backgroundColor: '#f0f2f5',␊ - minHeight: '100%'␊ - }`, name: 'style', propType: 'object', }, { + isRequired: undefined, name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, ], screenshot: '', @@ -366,10 +343,7 @@ Generated by [AVA](https://ava.li). }, { name: 'optionalSymbol', - propType: { - type: 'symbol', - value: undefined, - }, + propType: 'symbol', }, { name: 'optionalNode', @@ -381,66 +355,80 @@ Generated by [AVA](https://ava.li). }, { name: 'optionalElementType', - propType: { - type: 'elementType', - value: undefined, - }, + propType: 'elementType', }, { + isRequired: undefined, name: 'optionalMessage', - propType: { - type: 'instanceOf', - value: undefined, - }, + propType: 'instanceOf', }, { + 0: '\'News\'', + 1: '\'Photos\'', name: 'optionalEnum', - propType: { - type: 'oneOf', - value: undefined, - }, }, { + isRequired: undefined, name: 'optionalUnion', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, { + isRequired: undefined, name: 'optionalArrayOf', - propType: { - type: 'arrayOf', - value: undefined, - }, + propType: 'arrayOf', }, { + isRequired: undefined, name: 'optionalObjectOf', - propType: { - type: 'objectOf', - value: undefined, - }, + propType: 'objectOf', }, { name: 'optionalObjectWithShape', - propType: { - type: 'shape', - value: undefined, - }, + propType: 'shape', + value: [ + { + isRequired: false, + name: 'optionalProperty', + propType: 'string', + }, + { + isRequired: true, + name: 'requiredProperty', + propType: 'number', + }, + ], }, { name: 'optionalObjectWithShape2', - propType: { - type: 'shape', - value: undefined, - }, + propType: 'shape', + value: [ + { + isRequired: false, + name: 'optionalProperty', + propType: 'string', + }, + { + isRequired: true, + name: 'requiredProperty', + propType: 'number', + }, + ], }, { name: 'optionalObjectWithStrictShape', - propType: { - type: 'exact', - value: undefined, - }, + propType: 'exact', + value: [ + { + isRequired: false, + name: 'optionalProperty', + propType: 'string', + }, + { + isRequired: true, + name: 'requiredProperty', + propType: 'number', + }, + ], }, { name: 'requiredFunc', diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.snap b/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.snap index 0636b4e20..4ae2a9c88 100644 Binary files a/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.snap 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 index bc1857728..92d7eeb69 100644 --- a/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.md +++ b/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.md @@ -2,7 +2,7 @@ The actual snapshot is saved in `LocalAccesser.ts.snap`. -Generated by [AVA](https://ava.li). +Generated by [AVA](https://avajs.dev). ## access multiple exported component by local @@ -25,11 +25,9 @@ Generated by [AVA](https://ava.li). }, props: [ { + isRequired: undefined, name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, { name: 'styleBoxModel', @@ -48,7 +46,6 @@ Generated by [AVA](https://ava.li). propType: 'object', }, { - defaultValue: '{}', name: 'style', propType: 'object', }, @@ -85,11 +82,9 @@ Generated by [AVA](https://ava.li). propType: 'string', }, { + isRequired: undefined, name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, { name: 'styleBoxModel', @@ -104,7 +99,6 @@ Generated by [AVA](https://ava.li). propType: 'object', }, { - defaultValue: '{}', name: 'style', propType: 'object', }, @@ -133,7 +127,6 @@ Generated by [AVA](https://ava.li). propType: 'object', }, { - defaultValue: '{}', name: 'style', propType: 'object', }, @@ -158,11 +151,9 @@ Generated by [AVA](https://ava.li). }, props: [ { + isRequired: undefined, name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, { name: 'styleBoxModel', @@ -181,7 +172,6 @@ Generated by [AVA](https://ava.li). propType: 'object', }, { - defaultValue: '{}', name: 'style', propType: 'object', }, @@ -206,11 +196,9 @@ Generated by [AVA](https://ava.li). }, props: [ { + isRequired: undefined, name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, { name: 'styleBoxModel', @@ -221,7 +209,6 @@ Generated by [AVA](https://ava.li). propType: 'object', }, { - defaultValue: '{}', name: 'style', propType: 'object', }, @@ -246,11 +233,9 @@ Generated by [AVA](https://ava.li). }, props: [ { + isRequired: undefined, name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, { name: 'type', @@ -273,7 +258,6 @@ Generated by [AVA](https://ava.li). propType: 'object', }, { - defaultValue: '{}', name: 'style', propType: 'object', }, @@ -298,20 +282,13 @@ Generated by [AVA](https://ava.li). }, props: [ { - defaultValue: `{␊ - padding: 0,␊ - backgroundColor: '#f0f2f5',␊ - minHeight: '100%'␊ - }`, name: 'style', propType: 'object', }, { + isRequired: undefined, name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, ], screenshot: '', @@ -366,10 +343,7 @@ Generated by [AVA](https://ava.li). }, { name: 'optionalSymbol', - propType: { - type: 'symbol', - value: undefined, - }, + propType: 'symbol', }, { name: 'optionalNode', @@ -381,66 +355,80 @@ Generated by [AVA](https://ava.li). }, { name: 'optionalElementType', - propType: { - type: 'elementType', - value: undefined, - }, + propType: 'elementType', }, { + isRequired: undefined, name: 'optionalMessage', - propType: { - type: 'instanceOf', - value: undefined, - }, + propType: 'instanceOf', }, { + 0: '\'News\'', + 1: '\'Photos\'', name: 'optionalEnum', - propType: { - type: 'oneOf', - value: undefined, - }, }, { + isRequired: undefined, name: 'optionalUnion', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, { + isRequired: undefined, name: 'optionalArrayOf', - propType: { - type: 'arrayOf', - value: undefined, - }, + propType: 'arrayOf', }, { + isRequired: undefined, name: 'optionalObjectOf', - propType: { - type: 'objectOf', - value: undefined, - }, + propType: 'objectOf', }, { name: 'optionalObjectWithShape', - propType: { - type: 'shape', - value: undefined, - }, + propType: 'shape', + value: [ + { + isRequired: false, + name: 'optionalProperty', + propType: 'string', + }, + { + isRequired: true, + name: 'requiredProperty', + propType: 'number', + }, + ], }, { name: 'optionalObjectWithShape2', - propType: { - type: 'shape', - value: undefined, - }, + propType: 'shape', + value: [ + { + isRequired: false, + name: 'optionalProperty', + propType: 'string', + }, + { + isRequired: true, + name: 'requiredProperty', + propType: 'number', + }, + ], }, { name: 'optionalObjectWithStrictShape', - propType: { - type: 'exact', - value: undefined, - }, + propType: 'exact', + value: [ + { + isRequired: false, + name: 'optionalProperty', + propType: 'string', + }, + { + isRequired: true, + name: 'requiredProperty', + propType: 'number', + }, + ], }, { name: 'requiredFunc', 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 index 9c8796bc2..a1f33fe5d 100644 Binary files a/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.snap 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 index 8622d25b9..85d277700 100644 --- a/packages/material-parser/test/fixtures/__snapshots__/test/generator/Generator.ts.md +++ b/packages/material-parser/test/fixtures/__snapshots__/test/generator/Generator.ts.md @@ -2,639 +2,7 @@ The actual snapshot is saved in `Generator.ts.snap`. -Generated by [AVA](https://ava.li). - -## 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', - manifestJS: undefined, - manifestObj: { - componentName: 'AIMakeBlank', - docUrl: '', - npm: { - destructuring: false, - exportName: 'AIMakeBlank', - 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: undefined, - }, - }, - { - name: 'styleBoxModel', - propType: 'object', - }, - { - name: 'styleLayout', - propType: 'object', - }, - { - name: 'styleBackground', - propType: 'object', - }, - { - name: 'styleFlexLayout', - propType: 'object', - }, - { - defaultValue: '{}', - name: 'style', - propType: 'object', - }, - { - name: 'id', - propType: 'string', - }, - ], - screenshot: '', - title: '', - }, - }, - { - manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.json', - manifestJS: undefined, - manifestObj: { - componentName: 'AIMakeIcon', - docUrl: '', - npm: { - destructuring: false, - exportName: 'AIMakeIcon', - 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: undefined, - }, - }, - { - name: 'styleBoxModel', - propType: 'object', - }, - { - name: 'styleText', - propType: 'object', - }, - { - name: 'styleBackground', - propType: 'object', - }, - { - defaultValue: '{}', - name: 'style', - propType: 'object', - }, - ], - screenshot: '', - title: '', - }, - }, - { - manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.json', - manifestJS: undefined, - manifestObj: { - componentName: 'AIMakeImage', - docUrl: '', - npm: { - destructuring: false, - exportName: 'AIMakeImage', - 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: 'object', - }, - { - defaultValue: '{}', - name: 'style', - propType: 'object', - }, - ], - screenshot: '', - title: '', - }, - }, - { - manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.json', - manifestJS: undefined, - manifestObj: { - componentName: 'AIMakeLink', - docUrl: '', - npm: { - destructuring: false, - exportName: 'AIMakeLink', - 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: undefined, - }, - }, - { - name: 'styleBoxModel', - propType: 'object', - }, - { - name: 'styleText', - propType: 'object', - }, - { - name: 'styleLayout', - propType: 'object', - }, - { - name: 'styleBackground', - propType: 'object', - }, - { - defaultValue: '{}', - name: 'style', - propType: 'object', - }, - ], - screenshot: '', - title: '', - }, - }, - { - manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.json', - manifestJS: undefined, - manifestObj: { - componentName: 'AIMakePlaceholder', - docUrl: '', - npm: { - destructuring: false, - exportName: 'AIMakePlaceholder', - 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: undefined, - }, - }, - { - name: 'styleBoxModel', - propType: 'object', - }, - { - name: 'styleLayout', - propType: 'object', - }, - { - defaultValue: '{}', - name: 'style', - propType: 'object', - }, - ], - screenshot: '', - title: '', - }, - }, - { - manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.json', - manifestJS: undefined, - manifestObj: { - componentName: 'AIMakeText', - docUrl: '', - npm: { - destructuring: false, - exportName: 'AIMakeText', - 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: undefined, - }, - }, - { - name: 'type', - propType: 'string', - }, - { - name: 'styleBoxModel', - propType: 'object', - }, - { - name: 'styleText', - propType: 'object', - }, - { - name: 'styleLayout', - propType: 'object', - }, - { - name: 'styleBackground', - propType: 'object', - }, - { - defaultValue: '{}', - name: 'style', - propType: 'object', - }, - ], - screenshot: '', - title: '', - }, - }, - { - manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.json', - manifestJS: undefined, - manifestObj: { - componentName: 'Root', - docUrl: '', - npm: { - destructuring: false, - exportName: 'Root', - 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: [ - { - defaultValue: `{␊ - padding: 0,␊ - backgroundColor: '#f0f2f5',␊ - minHeight: '100%'␊ - }`, - name: 'style', - propType: 'object', - }, - { - name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, - }, - ], - screenshot: '', - title: '', - }, - }, - ] - -## 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', - manifestJS: undefined, - manifestObj: { - componentName: 'AIMakeBlank', - docUrl: '', - npm: { - destructuring: false, - exportName: 'AIMakeBlank', - 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: undefined, - }, - }, - { - name: 'styleBoxModel', - propType: 'object', - }, - { - name: 'styleLayout', - propType: 'object', - }, - { - name: 'styleBackground', - propType: 'object', - }, - { - name: 'styleFlexLayout', - propType: 'object', - }, - { - defaultValue: '{}', - name: 'style', - propType: 'object', - }, - { - name: 'id', - propType: 'string', - }, - ], - screenshot: '', - title: '', - }, - }, - { - manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/manifest.json', - manifestJS: undefined, - manifestObj: { - componentName: 'AIMakeIcon', - docUrl: '', - npm: { - destructuring: false, - exportName: 'AIMakeIcon', - 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: undefined, - }, - }, - { - name: 'styleBoxModel', - propType: 'object', - }, - { - name: 'styleText', - propType: 'object', - }, - { - name: 'styleBackground', - propType: 'object', - }, - { - defaultValue: '{}', - name: 'style', - propType: 'object', - }, - ], - screenshot: '', - title: '', - }, - }, - { - manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/manifest.json', - manifestJS: undefined, - manifestObj: { - componentName: 'AIMakeImage', - docUrl: '', - npm: { - destructuring: false, - exportName: 'AIMakeImage', - 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: 'object', - }, - { - defaultValue: '{}', - name: 'style', - propType: 'object', - }, - ], - screenshot: '', - title: '', - }, - }, - { - manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/manifest.json', - manifestJS: undefined, - manifestObj: { - componentName: 'AIMakeLink', - docUrl: '', - npm: { - destructuring: false, - exportName: 'AIMakeLink', - 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: undefined, - }, - }, - { - name: 'styleBoxModel', - propType: 'object', - }, - { - name: 'styleText', - propType: 'object', - }, - { - name: 'styleLayout', - propType: 'object', - }, - { - name: 'styleBackground', - propType: 'object', - }, - { - defaultValue: '{}', - name: 'style', - propType: 'object', - }, - ], - screenshot: '', - title: '', - }, - }, - { - manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/manifest.json', - manifestJS: undefined, - manifestObj: { - componentName: 'AIMakePlaceholder', - docUrl: '', - npm: { - destructuring: false, - exportName: 'AIMakePlaceholder', - 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: undefined, - }, - }, - { - name: 'styleBoxModel', - propType: 'object', - }, - { - name: 'styleLayout', - propType: 'object', - }, - { - defaultValue: '{}', - name: 'style', - propType: 'object', - }, - ], - screenshot: '', - title: '', - }, - }, - { - manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/manifest.json', - manifestJS: undefined, - manifestObj: { - componentName: 'AIMakeText', - docUrl: '', - npm: { - destructuring: false, - exportName: 'AIMakeText', - 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: undefined, - }, - }, - { - name: 'type', - propType: 'string', - }, - { - name: 'styleBoxModel', - propType: 'object', - }, - { - name: 'styleText', - propType: 'object', - }, - { - name: 'styleLayout', - propType: 'object', - }, - { - name: 'styleBackground', - propType: 'object', - }, - { - defaultValue: '{}', - name: 'style', - propType: 'object', - }, - ], - screenshot: '', - title: '', - }, - }, - { - manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/manifest.json', - manifestJS: undefined, - manifestObj: { - componentName: 'Root', - docUrl: '', - npm: { - destructuring: false, - exportName: 'Root', - 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: [ - { - defaultValue: `{␊ - padding: 0,␊ - backgroundColor: '#f0f2f5',␊ - minHeight: '100%'␊ - }`, - name: 'style', - propType: 'object', - }, - { - name: 'children', - propType: { - type: 'oneOfType', - value: undefined, - }, - }, - ], - screenshot: '', - title: '', - }, - }, - ] +Generated by [AVA](https://avajs.dev). ## generate single exported components @@ -682,10 +50,7 @@ Generated by [AVA](https://ava.li). }, { name: 'optionalSymbol', - propType: { - type: 'symbol', - value: undefined, - }, + propType: 'symbol', }, { name: 'optionalNode', @@ -697,203 +62,80 @@ Generated by [AVA](https://ava.li). }, { name: 'optionalElementType', - propType: { - type: 'elementType', - value: undefined, - }, + propType: 'elementType', }, { + isRequired: undefined, name: 'optionalMessage', - propType: { - type: 'instanceOf', - value: undefined, - }, + propType: 'instanceOf', }, { + 0: '\'News\'', + 1: '\'Photos\'', name: 'optionalEnum', - propType: { - type: 'oneOf', - value: undefined, - }, }, { + isRequired: undefined, name: 'optionalUnion', - propType: { - type: 'oneOfType', - value: undefined, - }, + propType: 'union', }, { + isRequired: undefined, name: 'optionalArrayOf', - propType: { - type: 'arrayOf', - value: undefined, - }, + propType: 'arrayOf', }, { + isRequired: undefined, name: 'optionalObjectOf', - propType: { - type: 'objectOf', - value: undefined, - }, + propType: 'objectOf', }, { name: 'optionalObjectWithShape', - propType: { - type: 'shape', - value: undefined, - }, + propType: 'shape', + value: [ + { + isRequired: false, + name: 'optionalProperty', + propType: 'string', + }, + { + isRequired: true, + name: 'requiredProperty', + propType: 'number', + }, + ], }, { name: 'optionalObjectWithShape2', - propType: { - type: 'shape', - value: undefined, - }, + propType: 'shape', + value: [ + { + isRequired: false, + name: 'optionalProperty', + propType: 'string', + }, + { + isRequired: true, + name: 'requiredProperty', + propType: 'number', + }, + ], }, { name: 'optionalObjectWithStrictShape', - propType: { - type: 'exact', - value: undefined, - }, - }, - { - name: 'requiredFunc', - propType: 'func', - }, - { - name: 'requiredAny', - propType: 'any', - }, - ], - screenshot: '', - title: '', - }, - }, - ] - -## 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', - manifestJS: undefined, - manifestObj: { - componentName: 'Demo', - docUrl: '', - npm: { - destructuring: false, - exportName: 'Demo', - 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', - }, - { - name: 'optionalNumber', - propType: 'number', - }, - { - name: 'optionalObject', - propType: 'object', - }, - { - name: 'optionalString', - propType: 'string', - }, - { - name: 'optionalSymbol', - propType: { - type: 'symbol', - value: undefined, - }, - }, - { - name: 'optionalNode', - propType: 'node', - }, - { - name: 'optionalElement', - propType: 'element', - }, - { - name: 'optionalElementType', - propType: { - type: 'elementType', - value: undefined, - }, - }, - { - name: 'optionalMessage', - propType: { - type: 'instanceOf', - value: undefined, - }, - }, - { - name: 'optionalEnum', - propType: { - type: 'oneOf', - value: undefined, - }, - }, - { - name: 'optionalUnion', - propType: { - type: 'oneOfType', - value: undefined, - }, - }, - { - name: 'optionalArrayOf', - propType: { - type: 'arrayOf', - value: undefined, - }, - }, - { - name: 'optionalObjectOf', - propType: { - type: 'objectOf', - value: undefined, - }, - }, - { - name: 'optionalObjectWithShape', - propType: { - type: 'shape', - value: undefined, - }, - }, - { - name: 'optionalObjectWithShape2', - propType: { - type: 'shape', - value: undefined, - }, - }, - { - name: 'optionalObjectWithStrictShape', - propType: { - type: 'exact', - value: undefined, - }, + propType: 'exact', + value: [ + { + isRequired: false, + name: 'optionalProperty', + propType: 'string', + }, + { + isRequired: true, + name: 'requiredProperty', + propType: 'number', + }, + ], }, { name: 'requiredFunc', 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 index 1d83d01b3..2e435fcd3 100644 Binary files a/packages/material-parser/test/fixtures/__snapshots__/test/generator/Generator.ts.snap 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 index e22b6777d..96255e4d6 100644 --- a/packages/material-parser/test/fixtures/__snapshots__/test/parser/ReactParser.ts.md +++ b/packages/material-parser/test/fixtures/__snapshots__/test/parser/ReactParser.ts.md @@ -2,7 +2,7 @@ The actual snapshot is saved in `ReactParser.ts.snap`. -Generated by [AVA](https://ava.li). +Generated by [AVA](https://avajs.dev). ## parse es6 multiple exported component by local @@ -173,59 +173,39 @@ Generated by [AVA](https://ava.li). source: '../utils/HOCFlexLayoutProps', }, ], - propsDefaults: [ - { - defaultValue: '{}', - name: 'style', - }, - ], + propsDefaults: [], propsTypes: [ { + isRequired: undefined, name: 'children', - required: false, - type: 'oneOfType', + propType: 'union', }, { name: 'styleBoxModel', - required: false, - type: 'object', + propType: 'object', }, { name: 'styleLayout', - required: false, - type: 'object', + propType: 'object', }, { name: 'styleBackground', - required: false, - type: 'object', + propType: 'object', }, { name: 'styleFlexLayout', - required: false, - type: 'object', + propType: 'object', }, { name: 'style', - required: false, - type: 'object', + propType: 'object', }, { name: 'id', - required: false, - type: 'string', - }, - ], - subModules: [ - { - isValueAnonymousFunc: false, - objectName: [ - 'merged', - ], - propertyName: 'id', - value: 'id', + propType: 'string', }, ], + subModules: [], }, { componentNames: [ @@ -304,47 +284,36 @@ Generated by [AVA](https://ava.li). source: './IconFont', }, ], - propsDefaults: [ - { - defaultValue: '{}', - name: 'style', - }, - ], + propsDefaults: [], propsTypes: [ { name: 'className', - required: false, - type: 'string', + propType: 'string', }, { name: 'iconClassName', - required: false, - type: 'string', + propType: 'string', }, { + isRequired: undefined, name: 'children', - required: false, - type: 'oneOfType', + propType: 'union', }, { name: 'styleBoxModel', - required: false, - type: 'object', + propType: 'object', }, { name: 'styleText', - required: false, - type: 'object', + propType: 'object', }, { name: 'styleBackground', - required: false, - type: 'object', + propType: 'object', }, { name: 'style', - required: false, - type: 'object', + propType: 'object', }, ], subModules: [ @@ -430,22 +399,15 @@ Generated by [AVA](https://ava.li). source: '../utils/HOCBoxModelProps', }, ], - propsDefaults: [ - { - defaultValue: '{}', - name: 'style', - }, - ], + propsDefaults: [], propsTypes: [ { name: 'styleBoxModel', - required: false, - type: 'object', + propType: 'object', }, { name: 'style', - required: false, - type: 'object', + propType: 'object', }, ], subModules: [], @@ -537,42 +499,32 @@ Generated by [AVA](https://ava.li). source: '../utils/HOCBackgroundProps', }, ], - propsDefaults: [ - { - defaultValue: '{}', - name: 'style', - }, - ], + propsDefaults: [], propsTypes: [ { + isRequired: undefined, name: 'children', - required: false, - type: 'oneOfType', + propType: 'union', }, { name: 'styleBoxModel', - required: false, - type: 'object', + propType: 'object', }, { name: 'styleText', - required: false, - type: 'object', + propType: 'object', }, { name: 'styleLayout', - required: false, - type: 'object', + propType: 'object', }, { name: 'styleBackground', - required: false, - type: 'object', + propType: 'object', }, { name: 'style', - required: false, - type: 'object', + propType: 'object', }, ], subModules: [], @@ -644,32 +596,24 @@ Generated by [AVA](https://ava.li). source: '../utils/HOCLayoutProps', }, ], - propsDefaults: [ - { - defaultValue: '{}', - name: 'style', - }, - ], + propsDefaults: [], propsTypes: [ { + isRequired: undefined, name: 'children', - required: false, - type: 'oneOfType', + propType: 'union', }, { name: 'styleBoxModel', - required: false, - type: 'object', + propType: 'object', }, { name: 'styleLayout', - required: false, - type: 'object', + propType: 'object', }, { name: 'style', - required: false, - type: 'object', + propType: 'object', }, ], subModules: [], @@ -756,47 +700,36 @@ Generated by [AVA](https://ava.li). source: '../utils/HOCBackgroundProps', }, ], - propsDefaults: [ - { - defaultValue: '{}', - name: 'style', - }, - ], + propsDefaults: [], propsTypes: [ { + isRequired: undefined, name: 'children', - required: false, - type: 'oneOfType', + propType: 'union', }, { name: 'type', - required: false, - type: 'string', + propType: 'string', }, { name: 'styleBoxModel', - required: false, - type: 'object', + propType: 'object', }, { name: 'styleText', - required: false, - type: 'object', + propType: 'object', }, { name: 'styleLayout', - required: false, - type: 'object', + propType: 'object', }, { name: 'styleBackground', - required: false, - type: 'object', + propType: 'object', }, { name: 'style', - required: false, - type: 'object', + propType: 'object', }, ], subModules: [], @@ -853,26 +786,16 @@ Generated by [AVA](https://ava.li). source: 'prop-types', }, ], - propsDefaults: [ - { - defaultValue: `{␊ - padding: 0,␊ - backgroundColor: '#f0f2f5',␊ - minHeight: '100%'␊ - }`, - name: 'style', - }, - ], + propsDefaults: [], propsTypes: [ { name: 'style', - required: false, - type: 'object', + propType: 'object', }, { + isRequired: undefined, name: 'children', - required: false, - type: 'oneOfType', + propType: 'union', }, ], subModules: [], @@ -935,103 +858,124 @@ Generated by [AVA](https://ava.li). propsTypes: [ { name: 'optionalArray', - required: false, - type: 'array', + propType: 'array', }, { name: 'optionalBool', - required: false, - type: 'bool', + propType: 'bool', }, { name: 'optionalFunc', - required: false, - type: 'func', + propType: 'func', }, { name: 'optionalNumber', - required: false, - type: 'number', + propType: 'number', }, { name: 'optionalObject', - required: false, - type: 'object', + propType: 'object', }, { name: 'optionalString', - required: false, - type: 'string', + propType: 'string', }, { name: 'optionalSymbol', - required: false, - type: 'symbol', + propType: 'symbol', }, { name: 'optionalNode', - required: false, - type: 'node', + propType: 'node', }, { name: 'optionalElement', - required: false, - type: 'element', + propType: 'element', }, { name: 'optionalElementType', - required: false, - type: 'elementType', + propType: 'elementType', }, { + isRequired: undefined, name: 'optionalMessage', - required: false, - type: 'instanceOf', + propType: 'instanceOf', }, { + 0: '\'News\'', + 1: '\'Photos\'', name: 'optionalEnum', - required: false, - type: 'oneOf', }, { + isRequired: undefined, name: 'optionalUnion', - required: false, - type: 'oneOfType', + propType: 'union', }, { + isRequired: undefined, name: 'optionalArrayOf', - required: false, - type: 'arrayOf', + propType: 'arrayOf', }, { + isRequired: undefined, name: 'optionalObjectOf', - required: false, - type: 'objectOf', + propType: 'objectOf', }, { name: 'optionalObjectWithShape', - required: false, - type: 'shape', + propType: 'shape', + value: [ + { + isRequired: false, + name: 'optionalProperty', + propType: 'string', + }, + { + isRequired: true, + name: 'requiredProperty', + propType: 'number', + }, + ], }, { name: 'optionalObjectWithShape2', - required: true, - type: 'shape', + propType: 'shape', + value: [ + { + isRequired: false, + name: 'optionalProperty', + propType: 'string', + }, + { + isRequired: true, + name: 'requiredProperty', + propType: 'number', + }, + ], }, { name: 'optionalObjectWithStrictShape', - required: false, - type: 'exact', + propType: 'exact', + value: [ + { + isRequired: false, + name: 'optionalProperty', + propType: 'string', + }, + { + isRequired: true, + name: 'requiredProperty', + propType: 'number', + }, + ], }, { name: 'requiredFunc', - required: false, - type: 'func', + propType: 'func', }, { name: 'requiredAny', - required: false, - type: 'any', + propType: 'any', }, ], subModules: [], 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 index 4eb00f231..550492400 100644 Binary files a/packages/material-parser/test/fixtures/__snapshots__/test/parser/ReactParser.ts.snap 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 index dea63989c..c6263431e 100644 --- a/packages/material-parser/test/fixtures/__snapshots__/test/scanner/Scanner.ts.md +++ b/packages/material-parser/test/fixtures/__snapshots__/test/scanner/Scanner.ts.md @@ -2,7 +2,7 @@ The actual snapshot is saved in `Scanner.ts.snap`. -Generated by [AVA](https://ava.li). +Generated by [AVA](https://avajs.dev). ## scan multiple exported component 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 index 143620a94..7cc54a369 100644 --- a/packages/material-parser/test/fixtures/__snapshots__/test/validate/index.ts.md +++ b/packages/material-parser/test/fixtures/__snapshots__/test/validate/index.ts.md @@ -2,7 +2,7 @@ The actual snapshot is saved in `index.ts.snap`. -Generated by [AVA](https://ava.li). +Generated by [AVA](https://avajs.dev). ## should be right in dir basic-error 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 index 44a517687..05b55086f 100644 --- 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 @@ -1 +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":{"type":"oneOfType"}},{"name":"styleBoxModel","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"styleFlexLayout","propType":"object"},{"name":"style","propType":"object","defaultValue":"{}"},{"name":"id","propType":"string"}]} \ No newline at end of file +{"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":"union"},{"name":"styleBoxModel","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"styleFlexLayout","propType":"object"},{"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/manifest.json b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.json index e3c51f31e..506e8ec9d 100644 --- 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 @@ -1 +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"},{"name":"iconClassName","propType":"string"},{"name":"children","propType":{"type":"oneOfType"}},{"name":"styleBoxModel","propType":"object"},{"name":"styleText","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"style","propType":"object","defaultValue":"{}"}]} \ No newline at end of file +{"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"},{"name":"iconClassName","propType":"string"},{"name":"children","propType":"union"},{"name":"styleBoxModel","propType":"object"},{"name":"styleText","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"style","propType":"object"}]} \ 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 index 76a5bb10f..ceb9f04c0 100644 --- 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 @@ -1 +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"},{"name":"style","propType":"object","defaultValue":"{}"}]} \ No newline at end of file +{"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"},{"name":"style","propType":"object"}]} \ 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 index 6557dd4f6..c9a853d92 100644 --- 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 @@ -1 +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":{"type":"oneOfType"}},{"name":"styleBoxModel","propType":"object"},{"name":"styleText","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"style","propType":"object","defaultValue":"{}"}]} \ No newline at end of file +{"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":"union"},{"name":"styleBoxModel","propType":"object"},{"name":"styleText","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"style","propType":"object"}]} \ 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 index 91203f99b..2a81c74be 100644 --- 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 @@ -1 +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":{"type":"oneOfType"}},{"name":"styleBoxModel","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"style","propType":"object","defaultValue":"{}"}]} \ No newline at end of file +{"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":"union"},{"name":"styleBoxModel","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"style","propType":"object"}]} \ 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 index 06231166e..288ff813a 100644 --- 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 @@ -1 +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":{"type":"oneOfType"}},{"name":"type","propType":"string"},{"name":"styleBoxModel","propType":"object"},{"name":"styleText","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"style","propType":"object","defaultValue":"{}"}]} \ No newline at end of file +{"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":"union"},{"name":"type","propType":"string"},{"name":"styleBoxModel","propType":"object"},{"name":"styleText","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"style","propType":"object"}]} \ 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 index 666da89a5..06b8ece40 100644 --- 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 @@ -1 +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","defaultValue":"{\n padding: 0,\n backgroundColor: '#f0f2f5',\n minHeight: '100%'\n}"},{"name":"children","propType":{"type":"oneOfType"}}]} \ No newline at end of file +{"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"},{"name":"children","propType":"union"}]} \ 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 index 4c5c7745a..9c78c9ee8 100644 --- a/packages/material-parser/test/fixtures/single-exported-component/es/manifest.json +++ b/packages/material-parser/test/fixtures/single-exported-component/es/manifest.json @@ -1 +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"},{"name":"optionalBool","propType":"bool"},{"name":"optionalFunc","propType":"func"},{"name":"optionalNumber","propType":"number"},{"name":"optionalObject","propType":"object"},{"name":"optionalString","propType":"string"},{"name":"optionalSymbol","propType":{"type":"symbol"}},{"name":"optionalNode","propType":"node"},{"name":"optionalElement","propType":"element"},{"name":"optionalElementType","propType":{"type":"elementType"}},{"name":"optionalMessage","propType":{"type":"instanceOf"}},{"name":"optionalEnum","propType":{"type":"oneOf"}},{"name":"optionalUnion","propType":{"type":"oneOfType"}},{"name":"optionalArrayOf","propType":{"type":"arrayOf"}},{"name":"optionalObjectOf","propType":{"type":"objectOf"}},{"name":"optionalObjectWithShape","propType":{"type":"shape"}},{"name":"optionalObjectWithShape2","propType":{"type":"shape"}},{"name":"optionalObjectWithStrictShape","propType":{"type":"exact"}},{"name":"requiredFunc","propType":"func"},{"name":"requiredAny","propType":"any"}]} \ No newline at end of file +{"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"},{"name":"optionalBool","propType":"bool"},{"name":"optionalFunc","propType":"func"},{"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":"instanceOf"},{"0":"'News'","1":"'Photos'","name":"optionalEnum"},{"name":"optionalUnion","propType":"union"},{"name":"optionalArrayOf","propType":"arrayOf"},{"name":"optionalObjectOf","propType":"objectOf"},{"name":"optionalObjectWithShape","propType":"shape","value":[{"name":"optionalProperty","propType":"string","isRequired":false},{"name":"requiredProperty","propType":"number","isRequired":true}]},{"name":"optionalObjectWithShape2","propType":"shape","value":[{"name":"optionalProperty","propType":"string","isRequired":false},{"name":"requiredProperty","propType":"number","isRequired":true}]},{"name":"optionalObjectWithStrictShape","propType":"exact","value":[{"name":"optionalProperty","propType":"string","isRequired":false},{"name":"requiredProperty","propType":"number","isRequired":true}]},{"name":"requiredFunc","propType":"func"},{"name":"requiredAny","propType":"any"}]} \ No newline at end of file diff --git a/packages/material-parser/test/generator/Generator.ts b/packages/material-parser/test/generator/Generator.ts index dead5622e..f58b2dc72 100644 --- a/packages/material-parser/test/generator/Generator.ts +++ b/packages/material-parser/test/generator/Generator.ts @@ -43,7 +43,7 @@ test.serial('generate multiple exported components', async t => { t.snapshot(actual); }); -test.serial('generate single exported components', async t => { +test.only('generate single exported components', async t => { const options: IMaterializeOptions = { cwd: singleExportedComptPath, entry: singleExportedComptPath,