{"_id":"@ixinwu-ngp/web-framework","_rev":"37-040784b50052bda62f7d8d895bad3fc3","name":"@ixinwu-ngp/web-framework","dist-tags":{"latest":"1.2.14"},"versions":{"1.0.0":{"name":"@ixinwu-ngp/web-framework","version":"1.0.0","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ngp/materials-block":"^1.0.0","@ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ngp/web-core":"1.2.3","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"1.0.3","_id":"@ixinwu-ngp/web-framework@1.0.0","dist":{"shasum":"47b61b336faf3f1600346343de5aeea4a1acadca","integrity":"sha512-tdzBCnnYfy0cOfZ7gRgOlAIoEbwaqOxuSU6AYMmByTb92fk5BXTAOVTu9s9EhhUkDjQ0x3lbSaf6zOwhd6y7tw==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.0.0.tgz","fileCount":132,"unpackedSize":255668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcMBUYCRA9TVsSAnZWagAAmzEP/AyxRvNLpYlPaGq/zOT1\nFnizOTMMyunx6e+6zxTyVIwdNt/wjB9WQLIEFHWOfCUG5Samk1HMC4MGxy9P\n7hrs34g6BwN2VfurkNOEd0qtGR09eHHQw2jQFXD2wa8aKXHM+iQ1J92OvSC3\ns+WEGBgMtYatbjz57TOwJ17Fh/OKf9z5YkBukbDBWTkK7Rbx7gpZ8ki9TJu1\n46Tb+kI9IPPr4ym7mARFdG7sSjxZMZ9KfbF4tNRCYHY2OnfV/Ey23Vk78OA8\nsejY38c+0upSVETaEjjGGSbI3R0+eHvlete7Mw7JKsl8AmYdr+0skYOjnKqM\n7G2lfRNrFerym7+r/oIQfxtR51lXT5QZu441S34Q3dIhoZeE2I0FrJk2+CKQ\n3h9Ng88vBH5h0JW24a2NmvSQc75EuMLzfO8jOTvXv6BT5Lwt/NwqQJHIsZs2\nLW+bM87xTTCUwaQfrYaMY5s8gCpkm0BcfO0fPnmXtekZMZ/4rotty6C41O7P\n4Ya8BGCCMqZ2eRFlHIkfGGr2wvrwOZkA4G+T7UJCB3D2vGV1nZUFQjBSlS5S\nnKL80m1hCuPRU2fxZmUif8zhc/2NbmceqPRF0YuKtgv0KRdLHM4X9MI2rhSO\nLjCReDiL3nm8B/M6LmucV15oQH86D59oYZ2MAotnxfsK8LO+RaY80Dmlm8bc\nLjvI\r\n=EchF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdyx8PL/QpUtkh5i27+DDh9sVCQ8rXZaNFqDkAuTD0lwIgM8CkEZ5UX4st6Tz7ozmo/JzfIsDlD48BtBYorME65I4="}]},"maintainers":[{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.0.0_1546654999233_0.1877382543365127"},"_hasShrinkwrap":false},"1.0.1":{"name":"@ixinwu-ngp/web-framework","version":"1.0.1","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.1","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.0.1","dist":{"shasum":"de555a0237cb873be1f90d4986bcfed5137f8c74","integrity":"sha512-9kCAoe/o4Ny27O3b8fdkhq2VfjjisNfOWcFMbi7ZKXsZ+XkTHvAC7gVR2i/0P4w3XA00ygANZFnQNnNVSZgEPQ==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.0.1.tgz","fileCount":132,"unpackedSize":255894,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNdXICRA9TVsSAnZWagAAjDUP/1qhYCoFuygpdpiwgfEb\nx8pBP5V/Q4f0PC3hAW3cX2QMIX8qAXSBYHchq5XFWYLYdq8wz2rBjaxkm3qP\n2eowECem6UKRHCE4m6XHQecG2JbmKYW7xE1ejEFROWmonUJf+KoYUswPMOfN\n1Nw362qJ+VQNQlnrMTZxBepkDzzgvE+te06Aq3wqQAZDMadDkTWhdRsnAsUv\nMGjl6uL+F2WwtBv5LIB6L45/a8wNAAhNrAZ1bYsVdTikyCeFK+GdcwF/XLeV\n7agMdYmurSfGNtwNvsjay1WVawIUKOitBliLxmBnuf9cxZcYJ7N3iqSWuNpB\nglZQ9Ffz4JwCR/Oy5+ZbzBCmIgno7LSDH5FE1Xii3e9EC09708EIT6laILbp\nHQF4iTYeilWdTdbCO1x7C7WZRY3Rzz2H+YQPua0dPfHSgzd7fon0G7nXREKt\nK9S8AdA+f/v7Nw0YI8FBB+3Mf14JOj0tziwZcF5j6S8GXg6HCf1B77AtKcob\nrxE2+BTDLL9yJJR7n3HcBCK6Fel2w8ZbH4AdBYdzX8TOY0jOEghtmG7/VyA8\n37mlPZmXGMsAwktzdkAa7QJpDDrrzgzmDOoL8f1l0BVUVgaJfmveD0fyzFeT\nsdazBYj/0VIEZWDShMOr4K8gWM+QFzrG2sPOxnd8tInLu2+OicDvG6ZXnXIV\nkS7z\r\n=iJCy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3Q3jFBGMkpAu2r8LVNmOfQv+8Lc/Ag3mCeEHwjuQxNgIhAMc7wlroOyvvFa2NqFCnAd/Q6WQNTrx+LVV2xL2GNgf3"}]},"maintainers":[{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.0.1_1547032008084_0.5865622780932509"},"_hasShrinkwrap":false},"1.0.2":{"name":"@ixinwu-ngp/web-framework","version":"1.0.2","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.1","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.0.2","dist":{"shasum":"d157aa58109391fcc18761b74f764eb6c09bfc81","integrity":"sha512-mJbfex547pdF46NKJvw+nvp/iXL1HEw7q6CQZxwTHrCoykBKT4VMd6dVnuW8GfMBZCp89H9CQqy52Q6Zo3YKuQ==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.0.2.tgz","fileCount":132,"unpackedSize":259280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNdgMCRA9TVsSAnZWagAAm4kP/3KuoQMmAfS9yzpIsHXi\nMh2CXC5yVthU6Roo2HN+K9+9BNMAGKVod4Pp13O0Ff76Gsl5GFE/cgoVtrDw\np9+0dZEULoI/8SgM4lhbXB2unwwM6CvKZd9t/N6VQ64liKw8EwNcB12tFDUc\nNAi+1+H/NcBBHu5m0x/kRZIxr9B0JpBSNVLmWF634mMfijl1l246ZhQMV3bZ\nEz4FP1TBiiXarZd+EDRwfzaUaPi/q5d7Rf9IbMB+OvP+pNHY6nhp3dBDVzQe\nzVKiNZoylHdQvFjMXPferDNr/KBLyeV5w8pEwvKUpok3W9deMmyAeARcCRHA\nmZ4oS9H5aNumJuXCQhQmF4xjO+HrqqfPMLiWvZ5lW5g6gzsntUZ/+HWHY98Z\nH8ZbN8zC2jVl+bIZhdzhUjlU8IPZ2E0NQYg21G/1bHJ7YyqjzU9TapsxKQ3t\ncj+AShNyO1ah8Y/wEStenkIqzi9DNp8eMDHqvXyh4TvdYkDm1AGKieeSEFfr\nXdr2bALpQ/DYZz8OhERvgCIepuMePwzqa7LmnyeSOz4uk2mNIeYa2XloW5UN\nEwpZ9vfVa4SUtJ2bXcn+efIQF+mL9TvaaKL5pC9W0dYgVFaSd33gPhDjwlVd\nGQja5FPqrQoX78uscyZK3hx7LUY7/WqaylUgO0T/QDJ36neAqnTRb74Q+UG2\nib2Z\r\n=0Kml\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkZh5jF3mxR0CCstiZU7t4v7jjQic+al0Y76yAjaniYQIgFhrFPJX2p9AzQfy7SYIhncYd2Xu0kQCLZRpvZqenFhI="}]},"maintainers":[{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.0.2_1547032588147_0.4202866435896473"},"_hasShrinkwrap":false},"1.0.3":{"name":"@ixinwu-ngp/web-framework","version":"1.0.3","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.1","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.0.3","dist":{"shasum":"47ead6f29a575a182487639ae89ee1ff48829368","integrity":"sha512-4RViIeArEjrc3vKXmdz056GmFCK0BZs2ph0Wv5rYQ67KjBkjV65WOdmfmo0UiICi0PbixAA1SXamNm4GtnpGuw==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.0.3.tgz","fileCount":132,"unpackedSize":258570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPCeSCRA9TVsSAnZWagAAQ20QAJ0gwU96VtDn//LaxERm\nXAruhvEcuZ3CiGFenjtfovvItInfwAyjqlxL5+MRTuWS/LSFmd8qeVwWEVIT\nxR855JpdzJ8XPXqp538e6nBwPazi9l24A87DcEEgCHoKHSChi+LeObmvBn5s\nsZC/2XMpQ5P0jC7uh9mlQIW8gmYGpVsIpDsw8f3jsLRCu3Z1flYti6AXTp2n\ngFfPcWhqDJ7G2JF4k4O6wEG3iJS4ukWWKj83gKTcLho5g4jtRCs4UvNM+Uyz\nv/q2Vi4UZmw1ixt1nKgQ15JZVq+b/6tTDdp8uyxGtijJ7I8RvkUs9jo+Xuv3\nG/4aiY1p4RoZylBW5dxgNzfLijeRAQjNgao0FfbSYO7SaRGvvP4juyoK8uT3\nHL77lDtYw+b3WvK9zo0R4GXYpYGJe6Id+vEELvMJos8l9PK6kNXs20Vby8zm\nx/wg/J07od57sN65ecPYdNTtehSjGZ8BxbenQTpAiJi9Vuc2s70Cs76/0Zq+\nWlLO8729vmOqxJrcJRM9X1Kd2dzYAiBTWFAkCuW141XOjfw4norZNMsQr7DK\n72aZlgpoTcgSv7aKNFU0PhMQVeZZZkz6EHzuwIcYmsByaCcbhFs3b0r7eMtK\n0UPCYzZ+IBNXVzpLTJh+C7DROpR+b0mivj0WBWcWr5rvzzLnR0beoSHnYlB9\nsEBo\r\n=l13g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEqx+Qy4F1a326HJb4wIhmJJYmiqQ5NW7jC/2JwBkhzdAiBeEuu4dFArHnPeU2X+5Yigz1r1FIJdPOkm1BkvIlkLpA=="}]},"maintainers":[{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.0.3_1547446162179_0.21703475509116732"},"_hasShrinkwrap":false},"1.0.4":{"name":"@ixinwu-ngp/web-framework","version":"1.0.4","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.1","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.0.4","dist":{"shasum":"97f811d9fac4b86cec78fa107bcb22075783978a","integrity":"sha512-lsxydZ4n8ArXDEevSucL1Ol2O+36QJWVfzPa9raEyjAtlIexhvLUdGrIgYcMoU/hGjHnkAWTYo2GDcNKwYicsg==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.0.4.tgz","fileCount":132,"unpackedSize":259713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRS5qCRA9TVsSAnZWagAAidgP/i7M7xAQZuefLLExrltp\nmHl30YntPeDeTNUvQNV/MRwXlPpeKHIsmQhvPmP/FhibpkbX18PZVP9uXOkI\nT0xNaP8f3v7zuQwASiJicIlxa2NMq6W+bG+zG3mW/2LAfKX/yN3kfNyr+I/+\n44o0kYATl59d2jlP5btRxYdrIZ6wooa1zpXlCWXsCKG9HENSt8N/fdYkPxSW\no5+arsrdwSi2COvwd+VtkmzkMdAmXfWEfm0DWwzMmnW+4BHzmXHHgh5T3QXZ\nsJr/67l1DxM0Hfp1kdsYnNx1CMAC52PACn1wlAVQsXe2TcXyq9FDZiLKxdn6\nQh+qCck73IXZ/D21ANLINeLuc47XwJI2aR3QQ97o4+yozMl4fsnXJyrHLnQH\no5wrvCqg7EdhIZGDE2sQ0qg2a/uE6VpuwskDh9YyAHUToOmaFkwFaFvbYL/o\nIQi+8aYZZLM3D1QJYX91AfJMigdIIaB9zAgVXHRJ88Nr4leNqVuErVVgpl3d\nZe401TEUkA3gBlSlUdTZN3klCfO0+sBP288xCNZP7ybkPoCxQ5ICa8Qy68+R\ncIraH5E1YsKjQ/RuTYv6WGYW3GEQQ1B9cmmp8X+g5tEpO1vgIT29384HZ9Lf\nJ979PdiXCcdpSGYCANpqg9E72AESW1ef/gmGDCSjs1ZTQeaDraTLmPXSHSVb\na8In\r\n=N9oD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEK9hPZnLUJuDMC3Lm1XwCGsyq+z6Apb2cxJ1cMq2ybnAiAn7AiOkeShWgAjm8ipj202+6kNtNBeJHn/Cg4YAnL05Q=="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.0.4_1548037738124_0.11441166030328143"},"_hasShrinkwrap":false},"1.0.5":{"name":"@ixinwu-ngp/web-framework","version":"1.0.5","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.1","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.0.5","dist":{"shasum":"f806dc0bf0ba271b44957e61b6fe0d49bd3cd458","integrity":"sha512-tchZA+yFkq2eKpJSoZjlrrW7E1ltGvhEAmHxWmQGsDNVbCabTWeykNXL0lQ2wBz5qe+Y4EWsiur7rcaIbBWm0Q==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.0.5.tgz","fileCount":132,"unpackedSize":260174,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRS6XCRA9TVsSAnZWagAAInkQAJcDL9vb6Gx0crLPuifJ\nbhvrhKCo0wS8kZJ9Rp5Z7RR2nHh/JzMLoajjrWD6CVPOWRDGhn2Z2TwguY8d\nrP3PdgpBE63S0QMMgakWWv65wiGcCjixmyInLRxedGjmXdtynKSnqYC15H4x\ntR8NBWCU3YD/8OP5fCVxwkWt5IfF1IIMdfZ1leTMRFhGwdagKDGHOVYBZWbv\n0kl7n6d26Aa1u00rZYci4/kbNY5xCcEKqdFanO/ef62G7zi+x5rbIr2l1jS1\nEdHkU3IgFltOcUB5HKDfkvhpISZsPMEYVc5iQqKNeXoSicYxWbq0/4mdZF03\nvmCAVjLK6SUSk5nzfH8UblPG/86jxuB+kvv7nwbWso+1OdmrA0If4lEzz1bQ\nUs3qyn9zvUw04AguBnT9TMx8mK+F9qaVXYFXLKfIdvbWz4pXxaoIK8sC43PY\nCirErvSCQ25dRCEo5V2KXFj9/q/MH+xd5I56HInRHA8Kw2ZT11qgdivlutDA\nQ4ZMWP7QC8qTieQdb/UIFk6y6/wpgEYJ1RJ9wt07KIS/5mRP7D4ZyjVNTRE3\nMGRum/iyQzB0irc2dUxUZgN4nrr6b7KtyvmdUz+KZqHM+uZjgzFlS2nBwV6t\nRx84lpiDmI23DH7DgKJT9Hy6pEk7I9UbP8jCQKNG/e5PTV2OsFP/rpkBnjeS\nxMW9\r\n=LNw6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCo0a04f2zXm7D6E7NtvQDHUjGDFIoH10kJk4Ion29/2QIhAJq3pwT6mLus789rXnUCryq8fWO3UDK6Udh/9MjEsTPw"}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.0.5_1548037782516_0.9715447088985025"},"_hasShrinkwrap":false},"1.0.6":{"name":"@ixinwu-ngp/web-framework","version":"1.0.6","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.1","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.0.6","dist":{"shasum":"2ab806b11d05225e2e5bf8c7f3d3f607892c629b","integrity":"sha512-nWAGeHcQ5bLLSCGiiJLy35D6Gmruk+RRwVxd3l8rxol4HxxClIBwcwhMKtHTVHUzT6Erg6whjua2W0F6awN6ew==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.0.6.tgz","fileCount":132,"unpackedSize":260099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRS+tCRA9TVsSAnZWagAABOIQAI4Ywaamex+AbxyWB24m\n+A5+aQyghMdvfh911u+1KOs1H+Hh587KaRlVWk1HhdjKxcx9OnyJeaupThXk\nb/Wjkoy3TIPLz/RaDaVecBj9Rk/byd/Z6j0RcRG5hngHmTmlJcnPc33o+J14\nPmb/q/jfjFvBjtpUbGvQChnVQCSUk8PnKLOLF1LF1ZaKNJo1Oi+qX4uz9Iqf\ngRi9ybIGgn5LCPqV7WLSrPsElrPncyKZ10VqnwkJyvQhKvFmONr9ZIvrAxY2\noDzca6+gEakXHfK44ZACBVJ/28euEpMzVVWmUBERA9K7xAuMrkDZ+DItp849\nmuQ49oKYLP6g7KQtp5MXTgncnVF2fTu9xsYbSFBT52xStQ/j2p922QtxxJ8L\n5w3z4VilRgf6+Q3mxnS3m6YgFqCtCrjsrOw9d2gdoePpXWV1fT4ulUeoxTeU\n01Aqvw5QQRT37o9FqhS+RiBi0HN6cz21JFVRH+oPCY+awTqHF+W+TvkLJ23j\n/wR7t8E50UUrn2HkXe9wkq/FWMLfbmoKXWPzrydZJZj/fxTMOOhGhONrN9Jw\n/hEQ2gmmVsyLQKR8HscWhZP2cUQ5GFVTLdSwSTo1xnjQXFgonyhZkG1ghvax\nVZ+/2zsilDKuiMt28pP+lm11sg6WCHsnL8mfExVj/DzA/BBV10lagzrE9iaB\nm3Vw\r\n=yFW3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDMxmtp0fSJKkDZcomrhHSEUC9zD//tnMZbw2r9rFjgPAiEAjanoz94+rMhacwA1y8xUgvUR0UNmZLthDlwm6ebnl0o="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.0.6_1548038061232_0.28714798071580283"},"_hasShrinkwrap":false},"1.0.7":{"name":"@ixinwu-ngp/web-framework","version":"1.0.7","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.1","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.0.7","dist":{"shasum":"f08f315ccda23b49ac5a6d35844708d519651c38","integrity":"sha512-FZ4JcTVkGLALtzS5cpUdmjDg4Ffg02peX/hNe7a6oKT8yZjCTAPMns7UVxl7aZq+4eoDw94NJzKb/HmMBftm+Q==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.0.7.tgz","fileCount":123,"unpackedSize":256550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUWn+CRA9TVsSAnZWagAAvPMQAJJr/wLK5W0aAqjJTEdL\nb9vrqEeIU/BIuoB0T7Nhmxdo33T5rWjfL8M8p0EPAv7igx6Z7pHjFEcCvT/B\ncvgA8ytZUkrBajfufR2961OKeeWgnlwtklOOOY1rMOAMKDY2AkLdlI80KIyT\nsKYQ2nP+577lLt7tqrya68p4qOpan6zs90NP3WWKp9uOs23xHcfn7WZ9+pgD\nzwkliAPTIXlRWjwKOW4UtYS+UUdtWK9iz0pODJNzDoNjU3skWjMcyEV3+81c\npEIVrWp8L2EKCEkhOnQmQMeD3V6O0yW1i3HId9Grlkn8dccdhlv14bmrrWI7\nSuQgOZfVtptGu2lrtqpCyo/x68Z67diXduif/esp6WQVE4YJiWuSzu5dAXcm\ng2FmxGF71x/llZiV8ViFQ0uiPEC20lSQXSremPIAJX9B9J/Tli+OIJTPhJBn\n4UNBTYwt2lBpDeqC54yx9KUwvxgvmK0PAyNg1tGkTD7AivPu2K7EMIPYZe7u\nYiAMrxiZuR+Ks82b7fyGDhZG5tXa0duTO6A1r2fa2TBl7y4BbSOEfxeoKu53\nDGwwyNFoM08rk5Uf57sUi0EW+LtXvumarITDQx1xS4LbpTFUfYbwn1OkPeSI\nN/NtxLZ6uFditKChAentH25rqCwIld77yquuFvF/SEArSKn2sdYBleMODKL2\nxL1b\r\n=TMfd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnVnRCLU9m6FoZHQKpxD/vVj7hAyrOuVpCFd/r6ZYgFAIhAJad3DFkS2/VlNgk4lLurBjZQ2Fkg0HeQ1NueVcL0/GA"}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.0.7_1548839421783_0.17852997151811123"},"_hasShrinkwrap":false},"1.0.8":{"name":"@ixinwu-ngp/web-framework","version":"1.0.8","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.1","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.0.8","dist":{"shasum":"74ed7fcfafbd218633a048fe1b512611a583aeb2","integrity":"sha512-GwXPFDfZ72Z+4tQtiOlQFdspMIW2cHFUpGMW39z3axTchJhE7h/FHleTyDdkj2WaA2H6R5bf9ebMiRhyCCQneg==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.0.8.tgz","fileCount":123,"unpackedSize":256646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZm04CRA9TVsSAnZWagAA4AQP/jDglECdY1cvpHQmS1uX\n7EI+n7wv1kuIThcPmjui23EPG71cWyD+1yxGEKfWiXNsWXzkBp+/ggP9mlkH\no+L1TYp2aBGRB0xDlqwlAtFqgJvsU5QzPhn1IgvfeCOjyJpWSUzqmWRuKNuS\nsxVAKThYdfFN9y/DLIm0c91Jvhc/37qVSJGokF3BFSN8jVroW8lc29WrbxaI\n31JvzRi9stuB1mfoKNzyzygJtl751JjhPoLfsIcVHq5mGpMtHw0IIHzXkb5p\nNCyVFvvpbhw/s1ZULTAiWJgewL+ywiVvldilKHT5wuvLiPp9DJOvvzGKIQKh\nDDD3hx5NNUA3/xsgWePFRMsjdCjJ97IPjwnZ25IKehiiekI83B8AlLn60zQ9\nVNUllx+2jfjJnpgvivw89fM3FQUQA8IUcrY2RBAshyEmtktm0WRxWYRimPTw\n291IqKHkCsvk6ZZ5Jlg2OKTP1MZNL3hm3XTS6zn8cgkLWQHPzr1sJXfrx4vm\nelwjTnQWQCJqn3IC+eCMlOWi9HASc+gtme6Jy0Yv41JGh7tmVR4uKG37RkCF\nlsN+Cpr4D8iZRaXZVLC9jlrQt5+WorvP3AhqoV04jHVs7893985YF0SlC6dj\nYViY0lCyisaftMFuem5m8sQHauFjdEboJ218IyN0bTr2/TAjq+G5zDhZP98Q\n23U4\r\n=tNJX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHnvhNDPpbw+1FQBgQtmspGgm6DGEp2hy2KAr+2CzeHFAiEAjnBW/quRN7T1C26X5KU1T0hp7JCNuEyjwDmBt3EKGBg="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.0.8_1550216503360_0.2361930306824136"},"_hasShrinkwrap":false},"1.0.9":{"name":"@ixinwu-ngp/web-framework","version":"1.0.9","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.3","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.0.9","dist":{"shasum":"5a58af5d9407009265fabaefcb1a84538d84cff0","integrity":"sha512-3Tlnx9LgGQwpyKOzMI0NP2dwfIieEQknJZdo2EuoO4GwuPppsvLldU6KOONIu5tCg4z5juZbum1220TJNk98sg==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.0.9.tgz","fileCount":123,"unpackedSize":256646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZnGYCRA9TVsSAnZWagAAjtUP/0KSqJauLthYBo0sn7rl\n7If4vY5dd0Z/vHaVHFFWIxppf0EnybsGd1kxxk8+fHyzmVbXs1kQWXXkR5fU\nK7eGzdKkgFozqwDCwj02lZh48DH5blZ4wW4x+aSmeyHY6QJRxhy2ttFkLqM7\n1sEVKAhTM5CW5Q05G40uGTnbkB1Lk/0P30axg38bPmO/1b5No6MfvMHql6GB\nmhu17fo7aQMCrTeldfDSLmTA0g4G8ElTcEV0nasyHrXl8JkjFwh26kTsAnrm\nguy5gqhQ4X5SbYouVvJs3FRCPAuNaoaF3XFV0OAV2tEdfq/kPf5EWQH4K70Y\nBlClNRqUVQDgR0+9K8G48czCr98VBMX3sNTKZZFJwzt4foduNpqx5VGUL795\nUlhnhgI6O+Cn4aCJg0+Aqr0vLfeNXsUVep1yHMs87F7pX5bMnsdY8PNw1jcl\nnrKi/6KDgmniM8NVWDIy4vKd1hreIMQwIe8qru3MIVyDwuJVyJmjsfsZSsrZ\nDpIaK1EbmvSW+wp2vYipY6S0QspdM3imdTEaJ1MO9XRTE976GJbvtodzd0Z7\n/dIOew1OAwmwepfqV9QleA2+39HgDfgPfHV7Pq7QPr0+5mYsK05HGTklAos+\nBdjxtw9ZBaj5EPz0mNrgyibAiA3xk0BbmLAjA7UcLG+p/nigvu/z6gE+ok+a\nVDVw\r\n=g45I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFbTkfimRM4T/mg3eJSsACmTAjZPn8Z+a0EV+TkAaecJAiEA3GFwf92GJMTqSQYQCgyEvCLSKl6vEG0YbwM29Mg5YkM="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.0.9_1550217623927_0.06032932680124148"},"_hasShrinkwrap":false},"1.1.0":{"name":"@ixinwu-ngp/web-framework","version":"1.1.0","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.4","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.1.0","dist":{"shasum":"24b39c7c68fc9ab056114a4bad290bf0c66ee344","integrity":"sha512-l4NQ/rbLQUlE6CWw86NhfH5So2I3t5vjeIgxDo8GGjhNbuT/WATeCFcA+Z3welgz1NZJbuuFA+mLFSiHSpt8Zw==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.1.0.tgz","fileCount":123,"unpackedSize":256646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZnLzCRA9TVsSAnZWagAAPPcP/185ZLeQdfj/8XhA+2Vm\nDOiMXlDcJFx/VynLdBWWreyeiCMBPzs4H/mckRB1/fOuISTr044wOxWaP5Rp\nP0liZbxa6D9fLbFpLFpFVNmfy4qwfMkDj1oXD17BlqGavAUkq6ihuw9SkGq4\no9QGHteCq5qXVEfAb7qboBLhdds1pOOAL/R4Fh/YPx5tQGE22ICcBmhN/Z6p\n1KFcLyYa0VkmimEctcx1SrmR2vxpXNP8S6BhPHEu8mdSKGQrcYY3LtqdFtza\nGsZAs80RK7NZgulc64MxBhp3BhQ5cw5dcOmLVzd9NcjTbTmtSfHXqTUM0drH\nHvPVGnGqHGpkmXfLdEt2fINWLIkJseL5smCurKGMvgWW4O63yWhbDQz3fqtj\nxMsWH2W6yTcru52dkxcmEauGx37tiGpJnU94Zz75DkIzNgqjPd6xa0z1au5x\nVZD9lCP+57MHa+j3i7hr7sz6yzmrs+MF98fmdHJCLcERjqVGFvdd8Q+iclDu\nlnxXQ7lrEXshYv7DPwHeuMkIH7XyUGjhLY5gDjz/WE1u+nA3HGfRkGoOaxmy\nuoTUZLic9P4z5AV39uFwAdJB5+KvOgkUA1uQ463GdTpNHs8SaBYIArBEbFg3\nSGPiRCrYVqZlbZ6A673zeF//oTENPdZXvpP90Hb9CJ7mBQunRx/ux71aWlbF\nNQ7b\r\n=gIPO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBNVcsEMoR7Vewdii+Q6yZ4/Uo3MF8+LEgVumWGDo8nhAiEAtYNYLcr2acDi07KqBkdbMK82VJBkidrhShTPFUFL4+w="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.1.0_1550217970402_0.8184930150157681"},"_hasShrinkwrap":false},"1.1.1":{"name":"@ixinwu-ngp/web-framework","version":"1.1.1","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.5","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.1.1","dist":{"shasum":"432a8683154f0846251dd39a47ea6359b042ae0e","integrity":"sha512-b6AtgU5s5JLIZ0Mav/kld5tJyexQTcwwca98wkUaD2upuMUy+tsyQUZoduXqL++gUE0/VtNOElDqcRYy2h0Y6Q==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.1.1.tgz","fileCount":123,"unpackedSize":256646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZnPhCRA9TVsSAnZWagAAWQEP/RxzDFnLZaEPJuBkm36G\nJ1+v/i6yvg1FXebUoh2jAu/+1gUnn7p5ipCoZ5bI0Sk+1W43TB9kjWvFGRCq\nhxFHKesaMoSlxut1dMBA3hQ6IiE2rRE70H3Aa8Pzc29DMcj4U1WR2kkqxifB\nU0Fni7M41Gubtp0kevgcOP+ERFPjecUZGjlhLq02Z8chtXD8r4HZvgItonNq\n108P6n5ByAPRIT1l32gMQGE/jbKOFBnHp1zLC4jx5S7MvxGIUrqI7k9l66co\nGyxwhes9++a3AzIvmE2+ZWGjViYPvwq/qZCFtKabAGAQvxycPPjmjr3CI84W\nXBRmemgzFwb/tYIsp7IyZlLitW7IXV0HlaeoL2zgFNHEuhAPSLEZih4Ddl4C\n8kJCt0PehJbVS/bAs1y3F8v8i5R8JIy0bnLoUEVUVHfTl8hh+XmgYRruiBdQ\nACNsf8f/v7E+vTvkSUe0XhffhoNicv0Rx7r3jcWAgEXngmb0D9a8YkhSlhrv\nIBAYlakmLUWolSrZ4eKv8QuNIo+WjqzcH0HRjVIZi3RwHAU2i2nwJ5nKQPZd\ngfU5s2rLVyEXrCLZlXcXrqdSiVP2CCxIgR8FDLcG4OkuQu4zFXaJOvTQNgQz\n1VaTwe+WOAaNSKZISyYqcOa0bM6ugxQoqHXg9frid0wI8ZBUK8MJf7gmsWYn\nn3wm\r\n=Xcfy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgKT7OEKKyUuKKVLMS2i/yiKDgKJI8J35h5X+o9kXo8gIhAJQufeip/YIMa8AKhvhalu+0l4LOrV8JBc07h2CMKxpa"}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.1.1_1550218208722_0.47678852801827"},"_hasShrinkwrap":false},"1.1.2":{"name":"@ixinwu-ngp/web-framework","version":"1.1.2","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.6","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.1.2","dist":{"shasum":"e6131acbcc387586041c6c6d7489b83c5a08274a","integrity":"sha512-sqMvERC9sbmrTml+Mn7+Yv5CN/5HGv5Dp0V1usytpMthcKiwv/PBty6o2+ESuY2j1c2gCsRWC8Qxv6Z8cHs2GA==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.1.2.tgz","fileCount":123,"unpackedSize":256646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZnVzCRA9TVsSAnZWagAAzLAP/3Jia8nOkxNJWTGWwGp+\nw8ePJ4yH/zfYJsAMpBTUUWDtqlIKX6U+9xVoI5/54cu72aGqynAolROZMOki\niVsm07Q5aQKSlSRT/nPWrAMvrR8+aTaZ7f1dL+R3jsqnY7PibALJEtwJjT3K\n+HdyfgFm3OUGo+wo76j6HH+IlBCp7XDoAnzfSx4RoeQX0fGZ3om6NFUo5D/w\n7llW7wkVqURBj78qAcZdpFqJmNQheBH5aAVkru0kgP6wFbF1xyXox2kJ+PGi\n7pj1ZG3hFhiVq3qofUWpY0uJbc7vcQ/U0fX/qfLuwLXNWujP1SIuo+3tKepA\nLlfvIGcrRVlawob7etPLxBWKOjlJb2LmtQ2SyRevb5bDHcyKZcFyrFONJRpP\n9M2kopoHJMIvaAam9NaQflagHTrWnQT2n3oTRMUnw5qPEdbca8gMx8YsFvxR\n0CdbxI8wY/QfMeZmW2j9iMSkOavWdjc2fPNestDDZvna6RK383VIxRl/0FqZ\n/3OVE5EpSM0FKD+B85HRlX3aCRtrkoRfJ7xBH4mVZnHr9xfF/qA7WqMiGAfY\n3R4TK4lKi1/e4gIXL51r66SGvSEzGNC6MMKL7RgDXn1iO19tY42vT9Asu/jr\nLrjmmQbc/al5r5mO2qDtQuvjIa1ZMWpQXZwyLNnsGgeAG1RftJ64XOCeokBw\nV5oj\r\n=PWMF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvQ8458AytlDfKjSUQZWo3yuYyCjKeQQL9UwqaPd5f/QIgRUBRiwnLGhk+EPMiVRKLH1RqDlljUYtr3PwSBPESZQs="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.1.2_1550218610804_0.2572970171864759"},"_hasShrinkwrap":false},"1.1.3":{"name":"@ixinwu-ngp/web-framework","version":"1.1.3","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.7","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.1.3","dist":{"shasum":"4363e6b601609ea68c4df1dfe7f98470e1216432","integrity":"sha512-sSvjb92idXsd+T7px/VglOIuHv0lkX9RDZvfbBy4B3+e48BN2E+qEHQTREPRgCzsJzH7Cr46M0xA8LjyEOzsxA==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.1.3.tgz","fileCount":123,"unpackedSize":256646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZnanCRA9TVsSAnZWagAA1YMP/j9C9Yyjo7QwRhCOu63w\nijEkFV5Pu2q8BCYEbf5qX/f1I6SXT3pTl7wwmxIXYGIJyf9Yqp6w5+ZsvXC3\n4CUtPGO/Dzitfu/C6rKBMwdZA6Zlv4r7GGyFJzHMcdt9VrPRwHBsLZu+RFup\nUD8LqgBI37Nsn0YGmYO6FAQnvXarhlpAawc1gD4cWKvpuDt3DYKzWDI8/rGq\nQCEiX4xvD8d9GiPpTq92ombU2fAnmj6EviCn9QcASNfK+2p79Dj19CfFunSI\no+se2ThmA4nbX2qEnC2TO3duen1JuF6IovqJ4zn4Foa4fo56l+ElYz00MKs1\nb+L9TdrpOGNG415+AvZBUYalorRYEbdvUeQKzHTD5+vGXEVo+b+nhz3NVQUE\n1dNLztJIGoYaQh/9TSsGQt7rnIsFT74i/OaWNlr/+GmDLLNVufpNm8kPQK4z\njUddKGOAaF3s1+/cjsdGSQxWScSCekWM/moa+ktzMJm00OqwtADhI2tvChzw\nHlqVKICXSLACuWZmKEnfa7R+SktqxjQJqI7d4g3f4k0dgCKXI0zWyc+VgSGp\nvgXbMCU2bQ3OR/NHYrqPGAsSTl2Tp1m5alj4BffZ/Q8ahlALJtU755NvmWLc\nYBzWg7N4bV7lHYjToYSEsk2kVnrlsAQ+8AKgCTQgmNKZtjMAd+HX7bvmC3Iz\nI0An\r\n=5jXD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEiJZtCNSlxgrcDIZnM3Q9x66/qb6YiILx8WbjdLDQcxAiAPsUbsGL6Vf4fAN8csipdJT/JEtD1ZXoi0Tlk00tkRoQ=="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.1.3_1550218919218_0.9269551620943584"},"_hasShrinkwrap":false},"1.1.4":{"name":"@ixinwu-ngp/web-framework","version":"1.1.4","repository":{"type":"git","url":"git@code.aliyun.com:ngp/web-framework.git"},"author":{"name":"huangqiang@ixinwu"},"license":"MIT","main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.0.8","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"对前端开发抽象形成View，reducer，handle三个主要概念的开发模式","_id":"@ixinwu-ngp/web-framework@1.1.4","dist":{"shasum":"f09e8668e985f590246db14f3fd8307aa6c26f35","integrity":"sha512-KhKfQNCVYfTOeBJz1vFPaUSCe+gkhb/lU7kZxbdHdgYp43teiTrsAdQhX7HDMnV9P1ODmMSbI6GxIYgRpsaAYA==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.1.4.tgz","fileCount":123,"unpackedSize":256646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcahClCRA9TVsSAnZWagAAM5YQAKLK8NvAkYLT30QvVLs5\nmLBQhi/SXtAdyTqAGSFfBuRJLDv52xQW+KQYwC6zP7au5DeOPTmFPKNU9koB\n7RpcApjpk6aZKVOcsgjBwzdoWLte/21EVTafxx71ZmqjA0erA/hNi9+yJUwk\n01ct9u6z8EZYVJs+fu4ajRv/nsY+7kK5nxlA+Goy9uCmZ/5Qy49Z2jEiRFll\n0pTx/tCcspjWO6vJU4c1oWLgjOQ3+flWdOhk7nVSaWkrpIdJBm1nYKtFVGgi\n5RSoeY/Eu6zL9/vGEG9JkGjTeuEKw5NRwtBppHUHxiWqNFABpldf6KmQKIzy\nzR1VXDC10tm9HjNhlsojN0tm0AWWvVlRZ2JuG6cM8Vt3z3IvLZe+8A6YHy6j\nCH7bfPfuuyXFJ91KRzzVIatQjJrpHdK9p9TOWkODsmVEuDfbmNkFbsJDga8u\nFSFg02GyKGsFbItBMNDeXp4PGA5Y1qwCKHcxReXS9P9AQ9zCu0+SXn+8+Mtd\niV4UHxKhijieUkd2JVuusQBeosiSc+Fw9AROa1/ZhEI+5Q5agdq6j8nDD9Ie\n7TDO7wLuB2Me1jl5BvCSXccGcTQ3OQC8SQ3kntZ8Ey/Z7LOMN38xfbCrhjrL\no+x/376H/zBiw52m7VT51TWTP3hA8QgbD2qXEqsuYGrchWcL96K5LIoucE/W\n3A1X\r\n=oLA9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKz+AMLBiT8x+zdi+oJbUWlteLxDQJS6+OwoOaVOJFxAIgL60bzaWAaREzQPcUHIoySdRegOhBLYoQ9n6iuZyX8js="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.1.4_1550454948770_0.4958313579528981"},"_hasShrinkwrap":false},"1.1.5":{"name":"@ixinwu-ngp/web-framework","version":"1.1.5","repository":{"type":"git","url":"git@github.com:zhuoluo-hq/web-framework.git"},"author":{"name":"huangqiang","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.1.0","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"前端开发框架，快速构建SPA应用，封装应用App/页面Page/区块Block/Bundle代码层级","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015-present Dan Abramov\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@ixinwu-ngp/web-framework@1.1.5","dist":{"shasum":"482c38d4bbc527d09f10e41f7253d8bb3d30f7ff","integrity":"sha512-qjY8xAQtzAfqgHNp+EWIsLfvqxqqTPeUZw1DTmk+u3PWmJgUWNG8FDsMYtxrS6j1gdIhz7S34EB/6a1GgeR4XA==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.1.5.tgz","fileCount":124,"unpackedSize":259309,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcb5W3CRA9TVsSAnZWagAAZNYQAJv5pne/DMMKwhEcqBZ/\nznEn0NfsRh0w2UNmBP6Ccsk2IZ6m/GOX1p4qhrmY6M6iC3/YARZm5qCrmCDg\nESTmgSg4i1WWvo9za72vZnSyzU211otzQMuwVZLbQlXMj4814KUrWlBDM8KH\nCpfyMQReScL7qUcbykqfIt2O6fbH0VJrk/GW9BGoXN03VYDlZGvpxp2QwU4s\nO6wFY4IMoAXQgDhhjql77/eHsiSENBM4qdh9+DWK5KFcdqLLad1ObFz/2JNZ\nUkzCVqmkHRmYox9rGC4YHtgek2qtFIWzj0pxSdl2cAeRYnGk2GJjTAUOTg6u\nkCDNxDlB+yK8iwWA1sJ27UHcrtdu3QJgNSUV49PB1+GX9rmNe0G+dxiL6Gx+\nt3ccqTHmOA9IGZR6ZsRw8vNHWOxolFjn6UbQ85bVsh8I0mOmfWszhfSSQzD1\nFAqczpVFHoFwl2Xas9oww441sFozm/WsfRLno0LczmJUuL4WsNImb1REQGsX\n55pF00NKwCB8tpFbiLKvS+ukIP2+BharCTFKBSaR2BshIGWcARGD76BC+Cgy\nDM4s8hE0iSbqXqSPx2e/UoCD8lH6vFkkuZgdzqFhPGGYe2Jrqqvb/oLtwC7k\n4UNJbPI556pw0GT7YDws4mQftBs0fmzO691TOH7vovrSsN03DEdJWAi/2WQx\ndbr0\r\n=PeqD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICmJawB8yNfYtG7Q9sfmuEfdquTeHWeK8FqI09RRt2TyAiEAps1dxSIii+xNPdvbr8OYj5TcZWSLY7X77mlb94BT3SQ="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.1.5_1550816694444_0.9533702847823136"},"_hasShrinkwrap":false},"1.1.6":{"name":"@ixinwu-ngp/web-framework","version":"1.1.6","repository":{"type":"git","url":"git@github.com:zhuoluo-hq/web-framework.git"},"author":{"name":"huangqiang","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.1.1","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015-present Dan Abramov\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@ixinwu-ngp/web-framework@1.1.6","dist":{"shasum":"f3e4b1a9fd5167520e0806b7fd6114b2aa177dbd","integrity":"sha512-G//3UUKz/9HZrveJQW3KCvGkB963PvN3+lBaMWtnaa3qlp1fvG5zuAGw0Z+Xb8Sd+vFQe0KLekja/TSmiU9lfQ==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.1.6.tgz","fileCount":129,"unpackedSize":285718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdMpTCRA9TVsSAnZWagAAjpkP/2DjZnqd7tZo/wnDuyIS\ngnCqDzuDZiygprRiTvEztB1Z6Zz84kr7s0PJ7u1NLIUUa2VB2ks/iXCQnYAO\nzaMYGC/lcN0u+8/S9uUR48pCv8RP/4OYmDz/SR1JEY34eTW0E3RG/kfQENjl\njOE3At0RD/fAPrN5eSGNbntIcDJ/r5NuhtfPt+LsQdE8EIIUPNg9Jj2RMNSW\nJdSWgnUbBpaC64wLGAWeaxOAjy+wxU2PsJH8WlBde7eo4IgvS6xMYm6CzMBS\nGVjAZlXTN3KXuYZx31y/jX+LoTMIK106aDMAOZD0XlaapOIzOXIkPnq0ZRxE\nltAYzNxtscfwJCQJlooaKU9Y9d1eQTH6pWmSCV+guqOu3TOjW7BW/Ke1X/w1\nvdx1+XGnw0oBQYsZGbQhBurzegxP7v26rG1zIW5PNQypa0ORTVjWsEFwSQyR\no9gW4E6XdlVq2taARwaVsNGlhv3hJnBjRrkQEPQim03xfglD6M3US977uhHE\n7FvCSPSrq8R+NN4tfX9w77RbVEXhzGQZt1sAi4vIMs5R/xGybpWtAYVQW+WB\n3Vm6aot6Sb65imKHbsMi1N1fUc2295hiQoHMmvl+3Snbb/64918rrfoOTiAT\np1KiiVl7Iilq4ibiiZCoRWU5leoseIrPRFpRWjtewntozb1rUQhwjCBGCrfR\nGy2R\r\n=G+UP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8xPkqx4XAArjLqft5zbTUhtky/1t+67NBan8cN75g0gIgRlwILkWjCj/OCT540KEJEWe0ca7JgN5bo+A5wQmumOk="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.1.6_1551157842303_0.26977561482384105"},"_hasShrinkwrap":false},"1.1.7":{"name":"@ixinwu-ngp/web-framework","version":"1.1.7","repository":{"type":"git","url":"git@github.com:zhuoluo-hq/web-framework.git"},"author":{"name":"huangqiang","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.1.2","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/plugin-transform-runtime":"^7.3.4","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015-present Dan Abramov\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@ixinwu-ngp/web-framework@1.1.7","dist":{"shasum":"4e052ca3e1763ad0d6d60a0f9730a463f918b7fc","integrity":"sha512-ynR8c/V8XYXq74BNm47PhcZFxMFmN+/Bw/5YNv/d4Mt6oEZ5RygUT9a11D054LCgOumdEtbchY5Wv2MRDw0aDQ==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.1.7.tgz","fileCount":129,"unpackedSize":239790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdQIUCRA9TVsSAnZWagAACx8P/2r39j+lu9GzDpea6r2C\nHFqudRcYzP551bOdbS76TXDB0+Ahe855zjqrekeBbpFgMVuIfXVVx8iD477v\nFUriy97ZnIPZfdSJvVGCvdVqLZzp5nNAdMHWLZ6UUmZuhyFAlj8LynTyseDO\nV8L8salnIP1wmjDBck6vCo2Dly2jwUONtnpJ0CwzaZiBrvJ2mYKQRmIA9r2W\n8VVCyMNRea0jrnE7bKj0jOPbBvJYW8GrZcPGDjE+v6GlIiB5UgKlZ0ByztSJ\naESZbVdyM0At6K+8ZhU/O+nTVGO5gdF8Ym6/S/T9A0gwCPPzB+OTK0UKz5pj\nzNE+SFh3Ry6zD1u4ePOnHAmI5BcHJIxEZzcKt4inokjAlqVfj7RnCzL0b1Uy\nhY+FjPAXEilgdHe5vetURScmdB8zZhFHZW4whm7wQ01DP5pBOyPpyFj8+eJF\nh0lepFPny2wXQcbcHih0kG7FyDLYbntoiKzSIaiocWuRQgUgujkrVnOOIS8r\nNx0lc/ZCb2WX1Tp16K1Rr6IYVdID1XDvc1iQC8HuNCdS2T1nh0aA/fo8H0Qx\nAO+0GFqm4Y5LKiQ56f3P73EZ8+xrGnnxltNZj+8ulLp3y+kOYLpwjYNluThu\njXIxPoil2qyECLuCE593r4bK5a5AuOHT8+ZGEiMOW/w9j9GycvPmnAqA6/2k\niKJ1\r\n=8TNP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYrnbnI4DU2imhpyMm/zSfMxNDONxjkKiIQnqR5cO9vgIgaGGk4pHgXQY4zSmh7yF2YXB1LWdPSDA3bGoQfODOK8M="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.1.7_1551172115268_0.11096842455511058"},"_hasShrinkwrap":false},"1.1.8":{"name":"@ixinwu-ngp/web-framework","version":"1.1.8","repository":{"type":"git","url":"git@github.com:zhuoluo-hq/web-framework.git"},"author":{"name":"huangqiang","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"babel src --out-dir es","clean":"rimraf lib dist es coverage","build":"yarn clean && yarn build:es && yarn build:commonjs"},"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/polyfill":"^7.0.0","@ixinwu-ngp/web-core":"1.1.3","isomorphic-fetch":"^2.2.1","query-string":"^6.2.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.2"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/plugin-transform-runtime":"^7.3.4","@babel/preset-env":"^7.1.5","@babel/preset-react":"^7.0.0","babel-eslint":"^10.0.1","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-babel":"^5.2.1","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-mocha":"^5.2.0","eslint-plugin-react":"^7.11.1","prettier":"^1.15.1","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-terser":"^3.0.0"},"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015-present Dan Abramov\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@ixinwu-ngp/web-framework@1.1.8","dist":{"shasum":"34c34bc734302a9cba859b4d4358398869fbcb7e","integrity":"sha512-B7MkrlHIhjvy8vFSY2OPHKgQGZ2ShauWlLJ+L/AzRW64yQYw0IkxYDWGYWzpk6REp55Xgx82CTlpNKKQ8Qo3XQ==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.1.8.tgz","fileCount":129,"unpackedSize":239790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdQc0CRA9TVsSAnZWagAAahYP/AxF75W44NjpI1rw00FU\nhQUlwl342XbqmUbDEgU8RxR6sA4PntovDsq2rvoRx//WUn7mGhvnv6BaH6c6\n7bJWlCbWIccKgqUdw4nvsdHjmN5SYudMYMITFbBlZPs7SwsZtRYVjymu3B9n\nvVTqGy7IH/gqW0Di4+B/c+P6WHOxUe9KoSFdY0yiiOpJlxN6lYXg8PL70oPk\nesHdo/LSw8Qfk6a1TadbInyAw8k/p200QBwLiN9RHgY/hyHHzMzg6M/MHJyZ\nCxMtPtHdtGodX1tbCCWC7e2igZLlJwxg9hgrozpitKGFGjSml2UpON4LPJim\nlKHRJ1fiOk8FVC759g7GrkFu7bGEp0GGzvebBkZHLeg7KL9WWb7gqxByPNdg\nJxPMWO1Kg13LV7T9zwMgl3VvSuc/bKwJg84p2fwV8K7VfuL/OvmRJ/vHGF4Z\nEZE1mfMuAHohHJiZTt7KbDsGt2CFqzru42eqkMlVJ+E7oWBD9iocdvbXWO9Q\ncxgio0csciSM4yCuJ80BWcnPy9tUouWAf2F2vkeRK3SqHpz6+xMdNpnVWYvH\nbP201hjM3glKC5lsePxSXd1PuSJTt0XZCy6+KQkS8XmMhXhrvJuaGX8j9q5f\nGx2GwTYDdPziTFMCpPNFZpa740UQ7AVZxz9qu5XXOnS1KOvZ7bUezwRleCJE\ngRBL\r\n=Oo+A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/rFG6EoY20E20pSMtHOIAJB7RnDWUwApPXm/2hJLS3wIhAPc9towsd0EW0FqQVXbPO59tpskf6CRCpmsAMX5AtAtO"}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.1.8_1551173427264_0.8464432528536103"},"_hasShrinkwrap":false},"1.1.9":{"name":"@ixinwu-ngp/web-framework","version":"1.1.9","repository":{"type":"git","url":"git@github.com:zhuoluo-hq/web-framework.git"},"author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@ixinwu-ngp/web-core":"1.1.3","isomorphic-fetch":"^2.2.1","qs":"^6.6.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.1.9","dist":{"shasum":"7f48315a7f6bd07b853c7ec85ef0f6cd38ab866b","integrity":"sha512-2dDtM38HVkPFjCL3EHmtty6u/A9fZRH4NncLG9rX61J23JnujmLwmeuJTZV9AEaTNo2bT40VxULJHSl9Wgqk3A==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.1.9.tgz","fileCount":86,"unpackedSize":151203,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcf2s6CRA9TVsSAnZWagAAnOMP/3IuEEYV5iFB8oLWEYOn\nUEjDZXnmaPpW/K9goIAgXVy8htNCjEF0lsg+XEjnIll7tqgYwvTJPzkvTT6b\ni80PafDQq7qtvUsiK4q91zQ3n40uTeRZ+Lb6UtTEqbpF/aITWHGCv2k4qXGg\nKPQaU7zr4ro9dG5XTGpohJN/SDzHCtZwSjSvEJ+CGs2YlP6fvXkVDq7DIKEn\n4Eew1Fzkc2jFGokCPL5EovC0wMyqK2R1vfMjW4YPWVRCN25GYPDDm/k9a4q9\noKnxxwKjJwKhVjbgw5rZ17rQQRrpECsDQCvdEW8VxYY9ncpidlmrX6EpUT0F\nTRrm+6dQ0DtCHUjUdzIIb54QekzsM2XNB1t9O/Rf+LkG67F9JG/SaPGAgvmj\ncFesNJtD3jZuVnrTTDvEV9MFw6Kheq2ZYWUGOkZclGPlE97GdKYWxoWAFS0r\nV5RBrTOyFExAydgTCfERsoSVK+AYIj4HLiDLViEhrzEad4+q2GWAnHqj1E8i\nUjiO+KRkgCldqfkhY5yZoC0FzCPxJd4VmqzvRhrLQ13bJ6RzkI4Bx9xXqTGk\nZT508cbX53UvmJGEuH+rBRje8jt9AuqTbPghuAPFWGHaVb0MLtj1ccYUQW4V\naq2/qGV3clI3NxmU/GgBlsK/0AyK4meGOzOwftU06Rw9MNI5RF3Y8So+vhSc\nUZ50\r\n=18xX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDw8cg7yqti0Ojj4xyQAFXTBZ3eQEBFkna9hV1j7/dE7AiAEVQTOPWlH2fohXy7LArO5aLkmdjmeA/T6cCVRV1X+Qg=="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.1.9_1551854394005_0.1560986267202682"},"_hasShrinkwrap":false},"1.2.0":{"name":"@ixinwu-ngp/web-framework","version":"1.2.0","repository":{"type":"git","url":"git@github.com:zhuoluo-hq/web-framework.git"},"author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@ixinwu-ngp/web-core":"1.1.4","isomorphic-fetch":"^2.2.1","qs":"^6.6.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.0","dist":{"shasum":"e58bf256b2a9b2db1658977902c30bebac6ecb0d","integrity":"sha512-FFpd3WOEjNOPfeTf9xpLcUnXj3cQ7K0Jn1ID2WMtIrUwM6s1IKIdn8k6Skidc1gUQFYSAJLSd7B07Jc1pcr8bg==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.0.tgz","fileCount":86,"unpackedSize":151203,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcf2/PCRA9TVsSAnZWagAAUgEP/i9uw44hav5vn3Z7QTIw\n4M2A9FG+Atw9vyfpixsmIH2Wcdw+7DMNTvTzTfxRNMHni403lrVO/g1TD3U3\nTaxQ0/Tv+uNCN0TqgT1EeRuC3SJtKh2TGues5O/LdiQjTwv9PVZqMe/AdXYw\nDqRsT/5rpx8C8wUhl7x6NCWjZFtA3xMMI0o/YKjoSJqe7VJE0WYqFB7zs+nS\nA2BS3Jfl1vamd3IUCWfJsVucPOioutgHDek8W4vzb1QESM2NRsdj4cluufI4\n4BoUNC0o+NcQzwzFxwHbXvA4ivWA/I1/cUCRQRF4VnP9ASnNImj1YmbRaJp/\naCgl0hoTHZgPBmReUFBwN+gvjk/KtleAmwH3bdFIIyh+Opjp6HZ/GMF6jSCw\nQDmo59BNmsD5+TJZwfakTugPBgEs1jM2sUwe8CDBapkjY4Qt+D8lCi3caOax\nDj1OZ/u4nEWxIkM7abS/SV1iVqbo3vDrl/DjL1cxoFABeRUxVyOjUs7j9Zwg\nFSdUDy7nCS7gcMuJdQ4a9KMVL22XoUr6eZo24KFqMq42h51X+4hzDNXVGplt\n+bVNINlo9OUQkVFcfVKl7YLdtOmknGsmUu2KrNZmCapDOzfJJnGyEDIJb6uM\nwM5YDBHsKunpQvG0ttl2xdh1Vnk7+ophrcs9eE23XaHIdHaaDNUePx1UJrBx\neu/r\r\n=BwM1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIENxdPjwoStbSW7PonW0DtayjYlWg2VUCD4Q0nVilM0+AiEAqcXFuzvJ1jAkKi5wefyqS9+19LUZjbv3KLcg51gIQ4Y="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.0_1551855566971_0.8115725671086134"},"_hasShrinkwrap":false},"1.2.1":{"name":"@ixinwu-ngp/web-framework","version":"1.2.1","repository":{"type":"git","url":"git@github.com:zhuoluo-hq/web-framework.git"},"author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@ixinwu-ngp/web-core":"1.1.3","isomorphic-fetch":"^2.2.1","qs":"^6.6.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.1","dist":{"shasum":"13524da49d0bc917ceb86f2a3b855b0e24f03ab2","integrity":"sha512-6IxdN8rBtv5l4grcflBaPwBZHNTu80YwJTeG8L0w6lgJ5QCmCX1k6UtWqZHj5qjuZlCid6cKrGkSMsMNxuwh4A==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.1.tgz","fileCount":88,"unpackedSize":151669,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgHzYCRA9TVsSAnZWagAAKNgP/RQ0y/OBuhWc/+CZIonl\ndaULgTrxVJ2t5IhCM85Saz28IY65oNeHGYhlKDbwkovIMUNaWlejhqpqS2ZL\nGoAYLPrC3A0uxnTfthYm185DQsxwSi8HBg252i5MFdwOlLckkG4VMuNXSdeC\nOMwnO5x2l+xWCSCPqv5LTm/6jeYoPF5slsJJjmV2aTHhykkbhENiSoGZQCqv\nNwN+b8NoqgWxUJ0CGY3TQa5a4w86BWeoOpRAPmP+DNaigIq+T71s1ok9pVX4\nyTe2gwtG322aNFQK2Rd+laTTGZYIw6+0Sny/uFVfmHgBUM757X8ABfMBjB64\nmI/2DNUuTFsRS2s0SbmDYH3G/TSxXCS5c5mK+UKi36XtEQ51cmEb0x30lRSi\nVbXSlKbXsmpjgBmcoSaU0iHuRU7q0BpIJItfTSCNyUQcpAsJ1FDCuGC+hfK0\nhQLNkjkPjA5ssdZQStv/eWD/vdPCQGh1XqolUn3Wy0/HsTkV9DWS1ZMz1q8b\nWWkTKELOzSTht6uLSXnUNppOjjG8XHLZZxzTtCJdLsyjD72G91vMzMiFbbSp\nxmV5zhIZZDUJjArBoxfZNtjnb6C7QzLVJE/ThXy4LhSakA0SNRb326NwRgpb\nOIpXl0kfI7TatqDRjUOg/2Rm7b2KEGvMUu9SWLlgNx7iSE8/QSBvD5CW5q6C\nXAr5\r\n=lagT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEb3trkVKo+PevzPIsUrcWYfiAODjGAdI3lv0tjWfiZcAiAJX5+F/SCk0YUWfHfttg438U/zFFvWHsnbBLGF+7oxxQ=="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.1_1551924439682_0.21596518166478273"},"_hasShrinkwrap":false},"1.2.2":{"name":"@ixinwu-ngp/web-framework","version":"1.2.2","repository":{"type":"git","url":"git@github.com:zhuoluo-hq/web-framework.git"},"author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@ixinwu-ngp/web-core":"1.1.4","isomorphic-fetch":"^2.2.1","qs":"^6.6.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.2","dist":{"shasum":"56b0c2295170231e0635aab132e57e3f4e0d85c6","integrity":"sha512-0rosr6SyKq558kSXhzH1ZdRCXd6wKW3kYerOMuC5Tw7ditDwUkQ1E1E+wSTcbtz0y20NYpRBNDCV/CUUBAecCQ==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.2.tgz","fileCount":88,"unpackedSize":151920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgH95CRA9TVsSAnZWagAABaoP/RihzqduRdxIKSholOMq\nAVzv4BQoaqkF/fpj34LSXaSIQvZFEWN+FLLAX8hWb9WdFtSvDtKiOjssnhdF\nMzKHxFJSvqWNBX3L0/H00xHqmtFjTq8s0oHjJmrrQkl0RXtKXjjxPhGpxwhn\nguxf3StluUuUSJZhjC7R4YuY5kQawmZg9gw29m8B0aXmxmxDhbzLwZs1O/ut\nMFcr79MbTA4+MqFbjXSoM9LjDQs+4wXhtHw/H9SraaSKv8RBmWPlDsQ2W3mP\nvmd7sqC0Ereio13UP6CfG371V6/A66FtKWMerMv0UKVl/IcgdGFDHRIXZNRn\nSM/lCpRQn0/ah7TZ8yD6zylYVg/mnsn40q1uadCBvBhTDWGWn7zsHzlF+ykw\nxbGn8tBx9fpIcxfgJwUuji51AEOBoMIrEM+B+3pOuEUalt52atlzHF07R6KW\ny0BG8nSoD817PbSgg4t+W0q424huF+eGLtqIj6tizR51FmghEAmZ2wVrodZM\nNCFGi+HS75VeDUR2HNRBv8OlDofxSlfjBWh8yLepYdHFyiYGCVoVWaKrGSnt\na/NdlBptd6Iigqcomny03vfCko3MYGZNDXHQ3IUp94oVwissiTvGs3Z3bF79\nb78gOnCqWBA1OKU1va+F5+NOUeMkKULclNY/25VgO6BSwvi+lRSGLlRNWtTm\nHFm5\r\n=LMDc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrC+FZPSnXfCs1WI9C5DuELpNvXXLC15wbQExil3tMawIhAP5PwTGM+xtLZGRwnHhKCB6RX9GQc5URHBlRhX5swnTT"}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.2_1551925112646_0.20511033808384727"},"_hasShrinkwrap":false},"1.2.3":{"name":"@ixinwu-ngp/web-framework","version":"1.2.3","repository":{"type":"git","url":"git@github.com:zhuoluo-hq/web-framework.git"},"author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@ixinwu-ngp/web-core":"1.1.4","isomorphic-fetch":"^2.2.1","qs":"^6.6.0","react-click-outside":"^3.0.1","react-jss":"^8.6.1","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.3","dist":{"shasum":"15dd33070522f747568ca1ec676950327158d4fb","integrity":"sha512-UoKvn2GAHzGMk9ZCKxc/1KFwRd+s/vEKluHQmXn7HYGj3vAvQwfQPoT8flZusXrvxRoVLyoxJQapywLaLvAB2Q==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.3.tgz","fileCount":88,"unpackedSize":152327,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchkTRCRA9TVsSAnZWagAAfd0P/3922q6X//CH80hhSy90\n2OEbaUWQitJY/u5BW9rmRBVhpXjSZY4eDAzqzIu9zu5YwqZhvRwYuOwic16k\nFfbIHyvv7rjNQFicUkmCvWpkfpKgff4mkrK0TuCdWBKkuMHN0lxn+DbDeM2L\njXoKKFO952EAuj7BtHA5x2mW4uMEgPchFzqZ6CMJhFXIZxG4dLMBl4impc6O\n5M27jud7jGbRPr1HxAlMC7uSXK3UrOoeKEUP1T4tkBD2pQi05enLmrSBySTd\nb66U69pkmZvOHWdNZUb2bquPUwgEHugF+unVEhvBSc7pS+BnGiIRqGd+LqFm\nXg2WOqzpaxkDRrpH3OfkcPRDrpGk+zbVDTSBVxMOQYJJtm/bWWOIfwa/Umz8\ndvOIDGEClFv8iH+LRafPjx8wVZGK519A5qUH0RMoigVvFVhDf0EsnYDq72Jd\nHMtL/RBAw6hvLi+58HtTshjjOTnralMstsdrvsVOuRhj+mdVHIoKevL9u53M\nFDvMXi2jXlvYd5fCEGkOkCHUZCITaLfDThH+DRA6QpvrRwpUCknbXi7UYMA3\nz7bPaAj0Xkokhxiz0cklKZFvMCL7pDJnZMFRByIpR37kTSRbZmJNM4IIY2t/\nUbXmCJJ/YAER9+9FdRMjaOA3uXuZmQLKxkk92P0w/Hp34kTaEUc+r8qeMCbC\n5cwU\r\n=BNOb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPg3p0X+6+vU6YFbVdmIvnPDiHRwrcV8uTGUIMaqSMxAIgKAPzRoVLHpjhTo+rOh9/I88kUrquxUPnsvY8Weg2CBA="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.3_1552303312877_0.18170119630611792"},"_hasShrinkwrap":false},"1.2.4":{"name":"@ixinwu-ngp/web-framework","version":"1.2.4","repository":{"type":"git","url":"git@github.com:zhuoluo-hq/web-framework.git"},"author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/runtime":"7.1.2","@ixinwu-ngp/web-core":"1.1.4","@types/jss":"^9.5.6","@types/react-transition-group":"^2.0.8","brcast":"^3.0.1","csstype":"^2.5.2","debounce":"^1.1.0","deepmerge":"^2.0.1","dom-helpers":"^3.2.1","hoist-non-react-statics":"^2.5.0","is-plain-object":"^2.0.4","isomorphic-fetch":"^2.2.1","jss":"^9.3.3","jss-camel-case":"^6.0.0","jss-default-unit":"^8.0.2","jss-global":"^3.0.0","jss-nested":"^6.0.1","jss-props-sort":"^6.0.0","jss-vendor-prefixer":"^7.0.0","keycode":"^2.1.9","normalize-scroll-left":"^0.1.2","popper.js":"^1.14.1","prop-types":"^15.6.0","qs":"^6.6.0","react-click-outside":"^3.0.1","react-event-listener":"^0.6.2","react-jss":"^8.6.1","react-transition-group":"^2.2.1","recompose":"0.28.0 - 0.30.0","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.4","dist":{"shasum":"fd4f54754828520126c914ad065fc6a30720323b","integrity":"sha512-9nkLUTcdyRWm43ZabzLNRXm7/ggXvxBn5vcLSRPNt2NY8vXngmn9WeOFGYQ8Ejh0uiNdzC+zhNqJ2knKbjhTPg==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.4.tgz","fileCount":116,"unpackedSize":210332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckZvrCRA9TVsSAnZWagAArl4P/Rw6xfK8Q0GOzZ86kJ9k\njtDD9CKwMk8+QTk5UlFGxD+lCW2/w+Nx8rNiy/62cDQLGfHgDc9aVzbx70SR\nRbMN87AieJaGkiTWYC5qMqfLdcJhobgJ+PKaRUcPWU3veYHR3bpNNjYV9nK/\nrc5xONIDYMqqNNKu7i0ujMb+txiYXljSu7m81nYykEaDR8IU6lUTvSrley8b\nMuhY6T2c0VwvKR9zFz0PTq4j4eRtcmj8pZJs24viVQ6HOwnxBQU2tbF6uUeQ\nZq/NJ0lT47mChW8aAqOjI+hRUR4UkIsXZWRLAdxf1DnHmMaGom59nu/SLLO3\nfF2bHyPSeT2tr7XqikCMYNVVC+lclGgouncu/lWXHMLrVjYKJb2UQCpSGCv+\nOjcGJHJ8DzCaRcY7FemRfwzkZ7PeCMT9uhSUmPzsJCY0O5vm+7oJLp06qZoi\nlLNQWu8cHeHaE0T7MngCgqZfToqFu/7nq6aoL8bbU2wymdoP/euujiZqiOpQ\nSe0idrsust++cQV6EHJeuUFPO+wl6VbFB8TrAlrWTrU410UQrLyy0jK0MBKm\natwCmWKkyE/zQHqVZ247kdzbqe1iBgaZFGFYPwQ8NkC5wwKL4IYO2FJHfg9T\niEvJwArN3vE/nYkUsZ4OK0DFh4+5XRqerbLvZyZORTX9yzi8FkgUIMURYKS4\nR0pC\r\n=e6V8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC6LHiXtZltHrLqAKEwfVrbIV5HBJhvyGezQCct2B9wTAiB+7S6M7hLK7f7bePsBS6U3Wma1xQR6GwwxqW+rj2jkLg=="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.4_1553046506319_0.8397128230139281"},"_hasShrinkwrap":false},"1.2.5":{"name":"@ixinwu-ngp/web-framework","version":"1.2.5","repository":{"type":"git","url":"git@github.com:zhuoluo-hq/web-framework.git"},"author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-block":"^1.0.0","@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/runtime":"7.1.2","@ixinwu-ngp/web-core":"1.1.4","@types/jss":"^9.5.6","@types/react-transition-group":"^2.0.8","brcast":"^3.0.1","csstype":"^2.5.2","debounce":"^1.1.0","deepmerge":"^2.0.1","dom-helpers":"^3.2.1","hoist-non-react-statics":"^2.5.0","is-plain-object":"^2.0.4","isomorphic-fetch":"^2.2.1","jss":"^9.3.3","jss-camel-case":"^6.0.0","jss-default-unit":"^8.0.2","jss-global":"^3.0.0","jss-nested":"^6.0.1","jss-props-sort":"^6.0.0","jss-vendor-prefixer":"^7.0.0","keycode":"^2.1.9","normalize-scroll-left":"^0.1.2","popper.js":"^1.14.1","prop-types":"^15.6.0","qs":"^6.6.0","react-click-outside":"^3.0.1","react-event-listener":"^0.6.2","react-jss":"^8.6.1","react-transition-group":"^2.2.1","recompose":"0.28.0 - 0.30.0","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.5","dist":{"shasum":"f9d94899e092193610db1bb087cc393113dfe650","integrity":"sha512-MOVmCMnunX0Tp57UFzwklkMOiojcHPZv4xcwMxZqPV1SLaW2k36S86ry/PDvJDSVCsGKqbiqh5Z2Pf9M+vlFXw==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.5.tgz","fileCount":120,"unpackedSize":214249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmb0bCRA9TVsSAnZWagAAqZUQAKNwio+se7veeNKS/Oqr\niau6lchL5De75LwYF1S8XSdblUb1xIJwjWdbSeR3I0EPLgVgOv2TbAZkGphC\nTNXifoGxkRvJxFsB/yGgbCKWEGkPE4mrapWpEJ3umwmqSN4XRGAep720dgCE\nmw0Zgd4HBwF7xjuj7MmtuHKbQahixHRgzh9eIlWQ+FLpyWuASki67Le30QzF\nvThFLxMzLIXnaM46MDBhLaqHhJMvxImRW1JEimXtmizCujiWAIUMwEPAkPcn\nVXYuMcSyrjQObvyFY9VgghhkWGG1i4gdy1ArUxKInj4dvdD24zo4PX7mmL0S\nQoGu/soVjWZ2TTYMNljdVHRt8dxBZYTcqFiHwhFZ30/wUk63YnT634xzrcmG\nFKmkq4R1Ia6Y8AunQnu7iCrrttY9TIUtbgXu9k4oskyeq3zVaaoboef/FhYo\nhtbGn9ykqt+gqh+xxzEuzcHTPG8FI7PN7vpWsIM1e58Pbb9ZLJsOdQkAsaV0\ntS6Q4PjQxu28Vi+crJp+h0ggSZeHRLA713tFE0OJMU8I0LQkPm8DUlTjMnp4\nVgJpDsk/dmqKkUbE0Wtylcj7tsHltGKHZ9P5rZHMymVEP7WHq35Y/MJfDm/N\ndvweJU+wr0NsJxYdeq6EjPIM43cMk+ZaTBPdSaFLGcJkidAamwd5wMW28ke7\nZUyl\r\n=Kpmi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDlcT7r7Q66f+TVD2xkc+c5m5QwdQfIzb+5l/gMtCBvgIhAPAp4DBc3IClD8i4twJy6h+EcvM7USL4bhglgQkyqwDs"}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.5_1553579290453_0.3910358213710843"},"_hasShrinkwrap":false},"1.2.6":{"name":"@ixinwu-ngp/web-framework","version":"1.2.6","author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/runtime":"7.1.2","@ixinwu-ngp/web-core":"1.1.4","@types/jss":"^9.5.6","@types/react-transition-group":"^2.0.8","brcast":"^3.0.1","csstype":"^2.5.2","debounce":"^1.1.0","deepmerge":"^2.0.1","dom-helpers":"^3.2.1","hoist-non-react-statics":"^2.5.0","is-plain-object":"^2.0.4","isomorphic-fetch":"^2.2.1","jss":"^9.3.3","jss-camel-case":"^6.0.0","jss-default-unit":"^8.0.2","jss-global":"^3.0.0","jss-nested":"^6.0.1","jss-props-sort":"^6.0.0","jss-vendor-prefixer":"^7.0.0","keycode":"^2.1.9","normalize-scroll-left":"^0.1.2","popper.js":"^1.14.1","prop-types":"^15.6.0","qs":"^6.6.0","react-click-outside":"^3.0.1","react-event-listener":"^0.6.2","react-jss":"^8.6.1","react-transition-group":"^2.2.1","recompose":"0.28.0 - 0.30.0","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.6","dist":{"shasum":"7403b21357aa0a1c547b0ed1e8bd9e3139bbe1e5","integrity":"sha512-w9WGQAKnxvd9Oymv4NVojcarURRsws7LSYXTRKgaduNRQkv1zj0GPFvFmiqunnWHhBxnsXExw8SQ4e+51GOihQ==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.6.tgz","fileCount":120,"unpackedSize":214213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmdJjCRA9TVsSAnZWagAAjCgP/32asB7jooQ7eufxUmar\nbZ8c4PRklpi7YNIfiJ0ZQzefa4rdYReqfucY4bnJN+ideLfAN3xCAqv07g+2\nzSLY51PImY/qMp7rElpcIs+GBgszyWbIUQynZJgXaWeM0eRHyYPfvRJlXNfg\nS/vMsrGfgF0p9Jmf3sWHbMthPMq6prcozYj6dG9ufEH34vzCGCEOSShAzstk\nSySThcoxGLRKshQAoy7r69H9gBLtnJ/Te+cPJmC/jyfjmkPwIBOZqNaW0FN/\nfJ7W5ArBXrPabCP9We72bpRkZfPQ0BGvb7ruls/VtRd2JDwJ2YsGM/onceQw\nc6QaYnk3ivGMM4FsvtuXRRrhFdp8N39mUsxt/OZC0M9Yy8K4RdPUn/WvPXkr\ni5DGzl/94trysh+qMEiyo+oEMHdkYQOlFSj2uuO7CShXsFWnsYWBaULMPy6c\nHzLbs+Z4GZ0VqQ1OPfI5To9xRFx2SBY7xWXv1BDzD7RdairPI5bK574ldLJF\npdNA4cQf5izPJroNU77XZsvVkY3jldgIRqlPRqxafgGp/WcctJVrm9rbk9JW\naPKN29qYbQmo4joYqBpsXdeR7yXimNvSAHrIHMfnMnxBFNK6Dz3DcVH4zgmV\njls1r4bN2SL0iNaKiNwCSYCj0Q+p3x+zF756Jic6ovb2t0FeTagtbKwxJJbo\nBBUS\r\n=EetF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCHyPvCKTfkbEdA6FbpYvXek+jUrIG0oJqbS/TT6sMfI0CIQCuOoShF5PNYA94Mb8vprBSC0c7+MpH5ggdDB52fFbV5w=="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.6_1553584738555_0.16516338863081814"},"_hasShrinkwrap":false},"1.2.7":{"name":"@ixinwu-ngp/web-framework","version":"1.2.7","author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./src/index.js","module":"./src/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"scripts":{"build:commonjs":"cross-env BABEL_ENV=commonjs babel --root-mode upward src --out-dir build/lib","build:es":"babel --root-mode upward src --out-dir build/es","build:copy-files":"node ./scripts/copy-files.js","clean":"rimraf build","build":"npm run clean && npm run build:es && npm run build:commonjs && npm run build:copy-files","release":"yarn build && yarn publish build"},"peerDependencies":{"@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/runtime":"7.1.2","@ixinwu-ngp/web-core":"1.1.4","@types/jss":"^9.5.6","@types/react-transition-group":"^2.0.8","brcast":"^3.0.1","csstype":"^2.5.2","debounce":"^1.1.0","deepmerge":"^2.0.1","dom-helpers":"^3.2.1","hoist-non-react-statics":"^2.5.0","is-plain-object":"^2.0.4","isomorphic-fetch":"^2.2.1","jss":"^9.3.3","jss-camel-case":"^6.0.0","jss-default-unit":"^8.0.2","jss-global":"^3.0.0","jss-nested":"^6.0.1","jss-props-sort":"^6.0.0","jss-vendor-prefixer":"^7.0.0","keycode":"^2.1.9","normalize-scroll-left":"^0.1.2","popper.js":"^1.14.1","prop-types":"^15.6.0","qs":"^6.6.0","react-click-outside":"^3.0.1","react-event-listener":"^0.6.2","react-jss":"^8.6.1","react-transition-group":"^2.2.1","recompose":"0.28.0 - 0.30.0","warning":"^4.0.1"},"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.7","dist":{"shasum":"1165f6d82bbce1e02d62d8caa0df72b6cfd42211","integrity":"sha512-azW+Vrvs58n+UTy/6fRLWsZ8DsMEW4UUit6/CQxNeA5XoRe0X9KrBUKaRM+OWrm9ByeVvLAbvTwCuE7+4sdwaQ==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.7.tgz","fileCount":189,"unpackedSize":318940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmdNwCRA9TVsSAnZWagAAufMP/iS3tKuEENnMdJeDEAkM\neMSTSKx2Qgr23DybD8fmNmIq7oRZHqYAmq+Kmyn1l3XocqX7qXb41Lkdk1Mt\nwSKCFcORd8GVnsclZtQ2CppkvDQUcMe/8RPpLA7X4LV7e3lskVtcC4xNKDtG\nDuuAQ68cNColjK0+22iiPz7OpxdT51Fd4RpWwoAm97SEF7LhSd9z4Y/BCgBB\nKhjUNkEkne80sN/tgDhtII9dyvBt/QJzlaqg2En7K4YWGl1fQkjGeVp9XDEI\nVRzpv+TCIrBFxCk9CJ0l6ApDnGljV9puNXLk5KmS/aSnHSkdOf3F9BAQxwhe\n14YRd4kbQBCcZ1U3V2E8YBgR7JVjJnb3BMDKsM8ajZ5n6WKwrUbeWBcGRDHW\nJFha0pSz7CSiF+SvXAVLdVN3HLID7CtyOY3mHouZgCjLxBShVqMqhsysCuJw\nDeFPmkpez4U9aHOvdMQtgwIBuySZEj//qsGpX+ZIuffVKZMo0bVYSqC9LyVc\nfpD6N8wRSvzl+qODDmJO6/BXW/tduVzLgK+eUGggzkvLUP7yH1hlUWUAPFVH\nQalfUpZbxx+J/H/Vuv7jQP0HQ/JNw6JwuHq0+huzBH1/5CwAHUT8XtJtHhM+\n9Fk0LPFWZmHDME1NC4+/1fcOrp5Kh4yqu8cC750eRWWg2zTjP7NN2JVufww6\nqDVJ\r\n=okld\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFCtltFvKpopuYCldfZFd/g4KURpQm+pphfeQIoKbsaUAiEAhofMPx36UvnDNV28C8O5U4Ij9LlEURYOizZSu1SXmmM="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.7_1553585008053_0.13971956066170277"},"_hasShrinkwrap":false},"1.2.8":{"name":"@ixinwu-ngp/web-framework","version":"1.2.8","author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/runtime":"7.1.2","@ixinwu-ngp/web-core":"1.1.4","@types/jss":"^9.5.6","@types/react-transition-group":"^2.0.8","brcast":"^3.0.1","csstype":"^2.5.2","debounce":"^1.1.0","deepmerge":"^2.0.1","dom-helpers":"^3.2.1","hoist-non-react-statics":"^2.5.0","is-plain-object":"^2.0.4","isomorphic-fetch":"^2.2.1","jss":"^9.3.3","jss-camel-case":"^6.0.0","jss-default-unit":"^8.0.2","jss-global":"^3.0.0","jss-nested":"^6.0.1","jss-props-sort":"^6.0.0","jss-vendor-prefixer":"^7.0.0","keycode":"^2.1.9","normalize-scroll-left":"^0.1.2","popper.js":"^1.14.1","prop-types":"^15.6.0","qs":"^6.6.0","react-click-outside":"^3.0.1","react-event-listener":"^0.6.2","react-jss":"^8.6.1","react-transition-group":"^2.2.1","recompose":"0.28.0 - 0.30.0","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.8","dist":{"shasum":"48efd77dd8b3717d047d0bbeeaa96d4562e85431","integrity":"sha512-KgwUFW4B9GmwgwR98yvATnB9k7c6Kmav02pjzlawe9/oojmiWLxiSlR4qciomFaR+YepREBmUzqJBTY73fHVJQ==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.8.tgz","fileCount":120,"unpackedSize":214213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmdRKCRA9TVsSAnZWagAAyaAP/RfbkD9JtVQjfAr4d1rB\n1q4rtxgS3sKGn9ghMEjObURHlW67uYTs6HeUTmp7cjr+zZaFMQ4kxaVNnmd3\nlHl2Zjip8tn/zhTtyN5h1YTYkam421VPdcBEPcinBpCuS5HLjRFzO/JTaUmv\nKtn5cgLfJR0ohIB1z775fESMxKnPJjVdCLIEDerxEdNI1m2oZRLvp/IvSKCe\nOLY2BiXB0GPW+NRLZL7Ar1Z8nGsldv8q2ywNfRD3knKdtfb64yQgEere4cpl\nELNkzY8IarZfeCx7n4Y/dmiMyvxGd9SD67jqnHBxDx7nKJV+XTOA0d4cxC0d\nVoHtCUBN4I/c9godN34hLq28a+PASFL9ey8P4EOuSbGOnPG+0UA7gTepeo86\n3l5qRH2nI/7cVninvqXMJRbUII2X61vfqjxHEwrq736t6DZ+NOWEK8iYeN1L\ntBlw3l/13OLbwDyBaXPsydsMNq829BGOSJVN8PiRJb1pkHQkFwcYP4k5QDMg\nElXFSfpk1a26VX9TGfoBF1qzHqfaaxqRs+rzLbMnU1CbkjcJAWdwytSE9tsU\nYj+0p/KOVDyc9CwjyYU38SDPZW6Z6jD7rsmYVCxandg6Gqdk7GeRJq+kLcED\nGRHEriU3e1cVGUNN/gOA3yY1jgAhjXcCtr2L3pupuACR1ZBYg7qCLxE4yUxx\nx0UZ\r\n=Z3n6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoFDLbDyOSd7mVT9D36q8rVu6AS0adRqmNH+tCZWu0RgIhAPs2sAF8zqb1x3ou7YQs5o98kOunDm/POuzJgIuE+KAG"}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.8_1553585225490_0.7771273820974371"},"_hasShrinkwrap":false},"1.2.9":{"name":"@ixinwu-ngp/web-framework","version":"1.2.9","author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-component":"^1.0.0","js-cookie":"^2.2.0","prop-types":"^15.6.2","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@babel/runtime":"7.1.2","@ixinwu-ngp/web-core":"1.1.4","@types/jss":"^9.5.6","@types/react-transition-group":"^2.0.8","brcast":"^3.0.1","csstype":"^2.5.2","debounce":"^1.1.0","deepmerge":"^2.0.1","dom-helpers":"^3.2.1","hoist-non-react-statics":"^2.5.0","is-plain-object":"^2.0.4","isomorphic-fetch":"^2.2.1","jss":"^9.3.3","jss-camel-case":"^6.0.0","jss-default-unit":"^8.0.2","jss-global":"^3.0.0","jss-nested":"^6.0.1","jss-props-sort":"^6.0.0","jss-vendor-prefixer":"^7.0.0","keycode":"^2.1.9","normalize-scroll-left":"^0.1.2","popper.js":"^1.14.1","prop-types":"^15.6.0","qs":"^6.6.0","react-click-outside":"^3.0.1","react-event-listener":"^0.6.2","react-jss":"^8.6.1","react-transition-group":"^2.2.1","recompose":"0.28.0 - 0.30.0","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.9","dist":{"shasum":"52bec8ee4318702aa1e3db3f2b88801132950150","integrity":"sha512-4bPefGgKe4eGRMyvhfRHHZh/+P/hSyFtST30rf3RppsHFH3E2zdFDneY67S8d6SGKD1NA/zblHo+HsxS1j4gYQ==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.9.tgz","fileCount":120,"unpackedSize":214311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmdU6CRA9TVsSAnZWagAADr8QAJ50tnqpMIBAe2qLfXG7\nlrr0iT503MTPdGzVy9NQjNR2btl+HNutnt3Ixo1AKveEL+fOB7DdX58ztPcd\nla3de4UuVr0vwAdoLUnRcoSlBEaUyGVkeQA4F3/ReIVxltAe9KlHkDggkIwW\nu4k5GnjoKIHWbN42tfx47W8AO/DHSYQLeLFL2W5U5cOTPWqaXWE/zRZzUU61\nHzJp+g/2hzAif2QoI3TeMsaMFoHnDzSp8uG0NKTkh8H3drsXrMuAlT0vn0ef\nOi/XzdCKHmOjU5mZapfS0JY4mXcDjPTa7O4kLjLDYSCtaG4358FwkRfDXOj4\n60VwjCAqwE2gEpK0ZSfv/FWemdJlknodMWTX4gSPpjs5HYtoo5bnqmcxVTzJ\n3RbvbZMj+Vwg0H0lZmu2R3j/pDd4NFItMyw+AFcKIwuDSi41xIk0jlkGizgi\nTC0+bs5aQbUbrrZG4y60x1m1jAaXYepVewl77XZLBHoH0ZsYDOdSk/DuT7rz\nNgCzxD3t5GiiBOolBCAjuUjUWXyUFP32k86OwLbW8T1twtEOe9yi8M2aFr1X\nvbSCiyDeytNgTFLybtwYqVazAgnOhW5L5t+n5LOb+v4jrIv62NLRSXmpnXaN\nXOMLWLAOlgNYCodPzIEzXiiZWWQQZ1uaPU00SaCCChPlB+dtfNE40sBa2fqM\nfSbD\r\n=Yru9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3aCp465KDyqFwZQ/jqfl9LemsUEVAOrD9iG73OcVU7QIgCHYtKnnHP7/gJrarpZhyzEW/dCwZppXdDqf86cpJMy4="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.9_1553585464520_0.37848373626149523"},"_hasShrinkwrap":false},"1.2.10":{"name":"@ixinwu-ngp/web-framework","version":"1.2.10","author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-component":"^1.0.0","prop-types":"^15.6.2","react":"^16.6.1","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@ixinwu-ngp/web-core":"1.1.4","@ixinwu-ngp/web-styles":"^1.0.0","@types/jss":"^9.5.6","@types/react-transition-group":"^2.0.8","brcast":"^3.0.1","csstype":"^2.5.2","debounce":"^1.1.0","deepmerge":"^2.0.1","dom-helpers":"^3.2.1","hoist-non-react-statics":"^2.5.0","is-plain-object":"^2.0.4","isomorphic-fetch":"^2.2.1","jss":"^9.3.3","jss-camel-case":"^6.0.0","jss-default-unit":"^8.0.2","jss-global":"^3.0.0","jss-nested":"^6.0.1","jss-props-sort":"^6.0.0","jss-vendor-prefixer":"^7.0.0","keycode":"^2.1.9","normalize-scroll-left":"^0.1.2","popper.js":"^1.14.1","prop-types":"^15.6.0","qs":"^6.6.0","react-click-outside":"^3.0.1","react-event-listener":"^0.6.2","react-jss":"^8.6.1","react-transition-group":"^2.2.1","recompose":"0.28.0 - 0.30.0","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.10","dist":{"shasum":"f8fd0854bc9d58ed9887fd8efe23908dcd166186","integrity":"sha512-An3FK2nUis60zNqYG4FSirADXVwPDQyade7I0K3OHJZmKHaXoOi7UUCqWQxRNLgHXDVc1cft6D7xWq7zAWnWog==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.10.tgz","fileCount":90,"unpackedSize":152749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmeFSCRA9TVsSAnZWagAArKUP/3pIepglJDIE5m0B6Dwr\nt/KHDUztz34JDNoLILaxE6PDOLiYtkhXtnZG4CXrRYb+FpD4XuyzDiNksvn4\nhwo+oHjVv17AlxOhRo1ZDuLPa3yAhNLP+8nFQUYnNJtIgZ+97061+PJ/OCpi\n1D6pLp77jxE9ts1W/HcNLjC2Ojs1sCCSQqWsmvMFmbAN6ESoJkhSpSl3CV8Y\nzH6KNMHM2ej+OdrQsgziWyQ4V4BSSCXEiKN6rHfJO2mxB156hdfanXYPsqvl\nUZ3la9yWAF7RecKwSYBSgUuQYouzaqP5OmX8v/Lby9g0MNioy7ujV0246GWW\n3HNEuWgdWYgtK7Ry9IlKztve6vd+469pdN/IeQ0vFeU/ANuI/WhWqO8rRcUl\nstGSSS6vNwNzKU3v0tQKaH1IZKr2isde0eVhpv39/TjfLJfYZwG1TtXVXz5D\ntJPYROsIn6tLYNjgP97CrP3lomAqrs+TI1N8QrwrP5HKSZw4RzOcAQ8fngoM\n8TLaulHgi0E6AqLeQnHpslrQ3F9IC0KwR9L/7Y1xtDmYRMHU3vnNQxwlaM+e\nrGrinC03Oq5vLeNdPMEdB5T5KOl6iEM1mGtSZHCLNzmy+yozf50vtYFW1Txx\nOXBHf1ofD0IYoXApV7fMgpS2diXh3AwDcJ6AkK5+J0cn2sYqisM8X2igKbVx\nxbd3\r\n=tbqq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF9qw7plCZhU1rycsxQIUHu+B2wJlORsIHLHZDpcybylAiEAjsK/DEuzXpmqtmoYMIbmGqpYYNh6yFl9IxkCIM8e8fI="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.10_1553588560920_0.4863798664760417"},"_hasShrinkwrap":false},"1.2.11":{"name":"@ixinwu-ngp/web-framework","version":"1.2.11","author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-component":"^1.0.0","prop-types":"^15.6.2","react":"^16.6.1","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@ixinwu-ngp/web-core":"1.1.4","@ixinwu-ngp/web-styles":"^1.0.0","@types/jss":"^9.5.6","@types/react-transition-group":"^2.0.8","brcast":"^3.0.1","csstype":"^2.5.2","debounce":"^1.1.0","deepmerge":"^2.0.1","dom-helpers":"^3.2.1","hoist-non-react-statics":"^2.5.0","is-plain-object":"^2.0.4","isomorphic-fetch":"^2.2.1","jss":"^9.3.3","jss-camel-case":"^6.0.0","jss-default-unit":"^8.0.2","jss-global":"^3.0.0","jss-nested":"^6.0.1","jss-props-sort":"^6.0.0","jss-vendor-prefixer":"^7.0.0","keycode":"^2.1.9","normalize-scroll-left":"^0.1.2","popper.js":"^1.14.1","prop-types":"^15.6.0","qs":"^6.6.0","react-click-outside":"^3.0.1","react-event-listener":"^0.6.2","react-jss":"^8.6.1","react-transition-group":"^2.2.1","recompose":"0.28.0 - 0.30.0","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.11","dist":{"shasum":"39f3250b3380b89647ca3e0f2d2cca86c255fab3","integrity":"sha512-om0Dbn1byPbzbZJFMCiCmA6D5Zjv+PD6HywfOwpI+/2WpIcH0eJdv8L4L1p6P7BijXocBtNHK/bBBnWlDhX/5g==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.11.tgz","fileCount":90,"unpackedSize":152347,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmeNbCRA9TVsSAnZWagAA4g4P/2ip7hOnO7QcynhtiU3b\nl5nFtbX108q9bcTuZzZUdKItSU/xZa6oAJnUA77GFd00QVNN2YcPZVGZi7HL\nXB/3mTkRb7XI0pt73Qhdhn9OpgRdMQgLTF+1tIUEaLeRx8gGP1q/DH88UYAA\nSCWT7cFHz6iVDKuYg5CT4vfaFGdL+cSTVcoynsPqpiVfzys8Il/ZfwMptGB2\nKRwQPzIOlchpNdr6u6srsghLmhWpu+614wYAhD+lPoigB5qGVBRUw2jaldZo\nXAOQ2H7fg6P60UcVpU9E2MBXIAPvBfWwkbzPXZlAtT/TQuIyMfsp0/EGYS1r\nNWMwuwPiPpZlXynHJg/9dnBP7sARqEWmsM44Y1t8pTGydFkilY+2fm50ECaD\nqKrwz0stCSjNi9pqkOY+hrkqyaN8+49kofdgh8+1LxrP9IbpjD9cr3snoEhS\nkeMJxgwBjW5rbg53UKCUQJL6eAQoFQnx5Pyb7ftECs99Q4pECQQuZlqu3/it\nJ7HDq0tOQhTpV5MWTqRm0zW7gtROyCyoXrQRmfjTBmfeNq/hmPYuQe7RuJcQ\nZIeq5GM1lpcEeytadZI86F49iVb6uwPEEYeknSPjHDRcaR26vC9lxW5dtPln\nq5YPDNqEDzs45+bKxWrwL5SOE5urLIN2kmYowP5gWN6ScGBVMqN7YombKuFR\nx1oh\r\n=VHy/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAoI9Fs9+qB3UdfIzMNASI1W2xCbTnjueWBAnxqVrKydAiBkA48PYLRTbi87VddwcfsvYNNYEzAs0ULILpUJnRcCBw=="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.11_1553589083063_0.5367470099441232"},"_hasShrinkwrap":false},"1.2.12":{"name":"@ixinwu-ngp/web-framework","version":"1.2.12","author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-component":"^1.0.0","prop-types":"^15.6.2","react":"^16.6.1","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@ixinwu-ngp/web-core":"1.1.4","@ixinwu-ngp/web-styles":"^1.0.0","@types/jss":"^9.5.6","@types/react-transition-group":"^2.0.8","brcast":"^3.0.1","csstype":"^2.5.2","debounce":"^1.1.0","deepmerge":"^2.0.1","dom-helpers":"^3.2.1","hoist-non-react-statics":"^2.5.0","is-plain-object":"^2.0.4","isomorphic-fetch":"^2.2.1","jss":"^9.3.3","jss-camel-case":"^6.0.0","jss-default-unit":"^8.0.2","jss-global":"^3.0.0","jss-nested":"^6.0.1","jss-props-sort":"^6.0.0","jss-vendor-prefixer":"^7.0.0","keycode":"^2.1.9","normalize-scroll-left":"^0.1.2","popper.js":"^1.14.1","prop-types":"^15.6.0","qs":"^6.6.0","react-click-outside":"^3.0.1","react-event-listener":"^0.6.2","react-jss":"^8.6.1","react-transition-group":"^2.2.1","recompose":"0.28.0 - 0.30.0","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.12","dist":{"shasum":"55f02a90def1d556ea9f71b561f5c75fc26c91aa","integrity":"sha512-YJgLZkJdz0o33uT/23vMS6Eg+wWnsQS8Um06Sg7Q/RQvXKC6czI25wF+5j8EJgyjA1a4WsoqreWjB7361S1oug==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.12.tgz","fileCount":90,"unpackedSize":152145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmeP2CRA9TVsSAnZWagAAU5AP/j6wsAtu9D12h4hJMX36\nZxC1owN7GtbcfucmiDaAEXocndeitJDDyrpHvyYhXJOKYkolgixzgQym+iDI\nxud4mSLScb3MdClG0M/pv3zBgY5XR7dWdJQJXpVsYbbqtrdAGztjZCfROh4b\n3whM3ZkWXfnY1weVr81XV0iD+OdVci/yyqnGH4iyLnS6QkCuxgnIcy9cZ3JZ\nwP+tW0vs0PWnN1MU5xxLElD2/52WLmsq5cbd60QvheTuRKj/CdqsA2KAIptm\nevGcHFpB9ZzPYeAGpBu1yXtPZMY17zbdJqLTFs1/8ljvdbXkxFch6rcDLCHn\n7qEcnPhku8hromJi3qWpvgt2T9vLBIb0aZhmfARss19JsY22lNgVRjf7xscO\nNsJADexBl6zzW+qJRITH1B1o/Z3uo9UUEg23tS2i8+bkF+hoONFVXjRBk/qp\nEfD/Jn0/0EWdQObtGo1UwzAzsV7qLhft9n70xyCGXGvl9qKz9LDbZOfS5fr6\nmxJJohnxdbn6tWRRWboctufz8Bu2+3YJD0DwP/rBDEStLtQHH1+q9c2KgecA\nvL9/7Yl50hrW4mIDNvjT752tSnuvt+j1Rk91fgMQ3HFJhRN+2htYC44DLUR+\nm6Spe2PANKmZFnUn9snWBQgoqnzVFDkIreJgV1xp/YjdcLrSogbue7ojM01z\n8dK1\r\n=Ymbj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHBbOaXyfqLJ04bLXaRHiDwJBixJuIUJzMl7VrOP5g5ZAiEA2MJkA85gQkBRfFbFZHe1p7oZTFzi+YhW0vWhlZQzCRs="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.12_1553589238327_0.03585128434436835"},"_hasShrinkwrap":false},"1.2.13":{"name":"@ixinwu-ngp/web-framework","version":"1.2.13","author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-component":"^1.0.0","prop-types":"^15.6.2","react":"^16.6.1","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@ixinwu-ngp/web-core":"1.1.5","@ixinwu-ngp/web-styles":"^1.0.0","@types/jss":"^9.5.6","@types/react-transition-group":"^2.0.8","brcast":"^3.0.1","csstype":"^2.5.2","debounce":"^1.1.0","deepmerge":"^2.0.1","dom-helpers":"^3.2.1","hoist-non-react-statics":"^2.5.0","is-plain-object":"^2.0.4","isomorphic-fetch":"^2.2.1","jss":"^9.3.3","jss-camel-case":"^6.0.0","jss-default-unit":"^8.0.2","jss-global":"^3.0.0","jss-nested":"^6.0.1","jss-props-sort":"^6.0.0","jss-vendor-prefixer":"^7.0.0","keycode":"^2.1.9","normalize-scroll-left":"^0.1.2","popper.js":"^1.14.1","prop-types":"^15.6.0","qs":"^6.6.0","react-click-outside":"^3.0.1","react-event-listener":"^0.6.2","react-jss":"^8.6.1","react-transition-group":"^2.2.1","recompose":"0.28.0 - 0.30.0","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.13","dist":{"shasum":"9eca84414bbaea4b3cd16335d067ba3ec91d2430","integrity":"sha512-A990Q/M67Itof0AYI07ciph0fw2OdvSfUsrPURhaG+ZH3SpZGKh/l5BRNXLjqreNZDXy8QiqkbWHEJsHbqFB/Q==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.13.tgz","fileCount":90,"unpackedSize":152145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOWi7CRA9TVsSAnZWagAAbLAP/2fCEtcQ+CCAtvsmMr+n\nrioQoBv28bDysQY13KJyc2hQ0swW0qnYlftS20HG9WWVL2UuQlSEDn2Qc3uT\nzCvjG4G5U1wopNqbkS6AnQSoL0L5lGzEca6Y1OsqKU/wAZGm/HSWhEhjG9yt\nWVj0Z9Apmogl35N7eYJq9vfzhbJiLULmWm2voUz4vr6aLGu1CnEZTMiq12L8\nQVnQhxTL09ymo7ANNRPCyZmwYJTA+FZRKfun+e7kInnFtXeJdHkiAldz1dUJ\n0CSNMxJpyWGq5oPpbtz1HniNZPy0TTV5xnyjGYcLw88d4KZB2s5Y/JD7uzgt\ndMRW+Awk7QMfBtQBI98si5ns6AymWuWpYeV12qyXl/3r3pUGxlnH3YMLEgcp\nD5NLXhr/pWEmpOR/ZJvLg44gHDvyrMrCS5lED8oSwfrqFB8eeDF+T9rZ6UuU\no9aw0Nsljvsqg5ZBgCuso3Jtf/jJJFgI7qm7O1HGCQVp+hDoeP1SUwt1VkDq\nsEg1OTf8NcMjX9ylmy24RWMKcWtxBaG+CNNSE/Z5Ex6ifaBMxjRTEShDQIrX\njavYvUwys+VyeW1fV1JjI8UuYgAnllll6QyAbdRvQ9F8ufFf51zwRrnXi/N2\nu0l7FNrIRA4tBoqFJ0ywRNp6TEDGrh/C5SVIN8qLAQDQhRWAr0ptr0heqCB5\n52ms\r\n=+3BG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfvBiKDwf5dZwk3/T9npQ8URiZZcSrvYpT3FqiCs5t0wIhAM7O4Y/S7Z1TYuHvvc8BL8xufx6ZMLMt0I2ENm14p0rD"}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.13_1564043450581_0.8443678199704254"},"_hasShrinkwrap":false},"1.2.14":{"name":"@ixinwu-ngp/web-framework","version":"1.2.14","author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework","license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","module":"./es/index.js","keywords":["react","reactjs","react-redux","redux","redux-saga"],"peerDependencies":{"@ixinwu-ngp/materials-component":"^1.0.0","prop-types":"^15.6.2","react":"^16.6.1","react-dom":"^16.6.1","react-router":"^4.3.1","react-router-dom":"^4.3.1"},"dependencies":{"@ixinwu-ngp/web-core":"1.1.5","@ixinwu-ngp/web-styles":"^1.0.0","@types/jss":"^9.5.6","@types/react-transition-group":"^2.0.8","brcast":"^3.0.1","csstype":"^2.5.2","debounce":"^1.1.0","deepmerge":"^2.0.1","dom-helpers":"^3.2.1","hoist-non-react-statics":"^2.5.0","is-plain-object":"^2.0.4","isomorphic-fetch":"^2.2.1","jss":"^9.3.3","jss-camel-case":"^6.0.0","jss-default-unit":"^8.0.2","jss-global":"^3.0.0","jss-nested":"^6.0.1","jss-props-sort":"^6.0.0","jss-vendor-prefixer":"^7.0.0","keycode":"^2.1.9","normalize-scroll-left":"^0.1.2","popper.js":"^1.14.1","prop-types":"^15.6.0","qs":"^6.6.0","react-click-outside":"^3.0.1","react-event-listener":"^0.6.2","react-jss":"^8.6.1","react-transition-group":"^2.2.1","recompose":"0.28.0 - 0.30.0","warning":"^4.0.1"},"private":false,"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","_id":"@ixinwu-ngp/web-framework@1.2.14","dist":{"shasum":"f8c61538c87bc0f6eb36c5d585010c6eccf22e51","integrity":"sha512-LN9iThZgl5tlhEQY5TYHZN+SqVUewf1K/0ukit/4QVPJu+fhkrM3NXU3PUAoseY8isSLBKn//txv/WFil2dTfA==","tarball":"https://registry.npmjs.org/@ixinwu-ngp/web-framework/-/web-framework-1.2.14.tgz","fileCount":90,"unpackedSize":152145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOWunCRA9TVsSAnZWagAAmkIP/RwRidBTklRUaI0cQq9i\nlurjRIzOhOrGBTcWVzvpTYo/aPRq11WOxhHHJbxP4VY5Kua+Jd7f2WT0+RVp\nyCgW415aXmL0nQub74wgAjhjBRZ2rkUP/yDXt7D1HeMic/+OymaxhrsV3g9x\nh6X9ds1h3N4drX4hcUzlYsCmz5bszcWLPZw5CvxnWKaeXATAU27wWDQVpzOu\nxhiOnUs9NqzDO2Y0JrxuwwRrxoD4IZVeC8V1PWg3SS+lQ3GEil8Rz60xob+N\noi2GgNoRUMn9qdTyIeWXZtH0tAzz2D9Q8h4Pa41frd/TgvruGpGktR054Xjt\nnobtCBczUrXltiQzkc9xUjDcV0NYs6v2RuN/pDkXaa9IfF+Pf2DSs4TQhxZ9\nnv7ntB/oYP0baCj4yiw0dHla/jCMdY4JyjOnXd5lLoI7Tz9hkk9a7LWXvDPM\n5C3R+FxuQQtEJsv5ADqaA60GYrWn92kPkSe1yuy53JWSSAwI9WcvuKeN77kb\nPj0tlU/zI2XBhPh86JPc5j3LfZ8NvLqsYKS03Gzphz6exWpa9keUCOom97YF\nz3QyFrxb0ALNGkGwnOY/RTj9AtabkhjtxmtZ5kC/DkaYvWvVdTIhgPopA2PE\n//8+bqfwSFP3kb8qEGVwlMicOKC3Qd1zmSE1ePFgwC+vySqZs7sRX2GTDVj5\nbKA3\r\n=17xu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIANgOs/VsCp/x2uzioa4wSi6zwjVs/DL81DAPBriT++tAiBiBleZavuCkNHtZxqX7XRnFdDacV+LyNJJDSG/8uu6Ow=="}]},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"_npmUser":{"name":"zhuoluo","email":"zhuoluo.hq@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-framework_1.2.14_1564044198581_0.7505218825690296"},"_hasShrinkwrap":false}},"time":{"created":"2019-01-05T02:23:18.985Z","1.0.0":"2019-01-05T02:23:19.345Z","modified":"2022-04-05T21:26:57.140Z","1.0.1":"2019-01-09T11:06:48.262Z","1.0.2":"2019-01-09T11:16:28.272Z","1.0.3":"2019-01-14T06:09:22.327Z","1.0.4":"2019-01-21T02:28:58.245Z","1.0.5":"2019-01-21T02:29:42.619Z","1.0.6":"2019-01-21T02:34:21.354Z","1.0.7":"2019-01-30T09:10:21.885Z","1.0.8":"2019-02-15T07:41:43.563Z","1.0.9":"2019-02-15T08:00:24.142Z","1.1.0":"2019-02-15T08:06:10.597Z","1.1.1":"2019-02-15T08:10:08.891Z","1.1.2":"2019-02-15T08:16:50.958Z","1.1.3":"2019-02-15T08:21:59.364Z","1.1.4":"2019-02-18T01:55:48.935Z","1.1.5":"2019-02-22T06:24:54.591Z","1.1.6":"2019-02-26T05:10:42.491Z","1.1.7":"2019-02-26T09:08:35.549Z","1.1.8":"2019-02-26T09:30:27.443Z","1.1.9":"2019-03-06T06:39:54.143Z","1.2.0":"2019-03-06T06:59:27.204Z","1.2.1":"2019-03-07T02:07:19.829Z","1.2.2":"2019-03-07T02:18:32.808Z","1.2.3":"2019-03-11T11:21:53.029Z","1.2.4":"2019-03-20T01:48:26.646Z","1.2.5":"2019-03-26T05:48:10.625Z","1.2.6":"2019-03-26T07:18:58.787Z","1.2.7":"2019-03-26T07:23:28.234Z","1.2.8":"2019-03-26T07:27:05.596Z","1.2.9":"2019-03-26T07:31:04.785Z","1.2.10":"2019-03-26T08:22:41.053Z","1.2.11":"2019-03-26T08:31:23.254Z","1.2.12":"2019-03-26T08:33:58.482Z","1.2.13":"2019-07-25T08:30:50.721Z","1.2.14":"2019-07-25T08:43:18.783Z"},"maintainers":[{"email":"zhuoluo.hq@gmail.com","name":"zhuoluo"}],"description":"前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级","keywords":["react","reactjs","react-redux","redux","redux-saga"],"author":{"name":"zhuoluo-hq","email":"zhuoluo.hq@gmail.com"},"license":"MIT","readme":"# 前端框架\n\n前端开发框架，快速构建 SPA 应用，封装应用 App/页面 Page/区块 block/bundle 代码层级\n\n_框架提供了路由的一个实现方式，但菜单的交互实现是完全交由用户去实现的_\n\n<!-- TOC -->\n\n- [前端框架](#前端框架)\n  - [基础概念](#基础概念)\n    - [bundle](#bundle)\n      - [bundle.js](#bundlejs)\n      - [handles.js](#handlesjs)\n      - [models.js](#modelsjs)\n      - [styles.js](#stylesjs)\n      - [view.js](#viewjs)\n    - [block](#block)\n      - [bundle.js](#bundlejs-1)\n      - [bundle.config.js](#bundleconfigjs)\n  - [应用启动](#应用启动)\n  - [路由配置](#路由配置)\n    - [单项路由定义](#单项路由定义)\n    - [菜单与路由定义实践](#菜单与路由定义实践)\n  - [页面加载](#页面加载)\n  - [服务调用](#服务调用)\n    - [统一管理 API 接口](#统一管理-api-接口)\n  - [典型应用目录结构说明](#典型应用目录结构说明)\n  - [API](#api)\n    - [ngp](#ngp)\n      - [ngp.app](#ngpapp)\n      - [ngp.app.store](#ngpappstore)\n    - [createClient](#createclient)\n    - [generateRouteContent](#generateroutecontent)\n    - [ApiService](#apiservice)\n    - [apiService](#apiservice)\n    - [qsStringify](#qsstringify)\n    - [qsParse](#qsparse)\n    - [mountBlock](#mountblock)\n    - [mountBundle](#mountbundle)\n\n<!-- /TOC -->\n\n## 基础概念\n\n- bundle 代码包\n- block 配置代码包\n\n### bundle\n\n![bundle的基本内容](./docs/images/bundle.png)\n\n#### bundle.js\n\n路由定义参考[routes](#routes)\n\n```javascript\nimport view from './view';\nimport * as models from './models';\nimport * as handles from './handles';\n\nexport default {\n  identity: 'xxx', // 数据挂载在redux store 上的标识 key，必须是全局唯一的\n  view,\n  models,\n  handles,\n  routes: [], // 参考路由定义\n};\n```\n\n#### handles.js\n\n定义业务逻辑流程，比如初始化页面的流程，调用服务 API 获取数据的流程等等，具体 handle 的说明参照[@ixinwu-ngp/web-core#handles](https://github.com/zhuoluo-hq/web-core#handles)\n\n```javascript\nimport { call, select, modify } from '@ixinwu-ngp/web-core';\nimport { fetchGetListData } from '../../services';\n\n// reducer setter\nconst setDataLoading = (setters, identity, value) => setters[identity].dataLoading(value);\n// reducer getter\nconst getParams = (state, identity) => state[identity].params;\n\n// 获取数据的handle\nexport function* getListData(props, customParams) {\n  const { identity } = props;\n  try {\n    yield modify(setDataLoading, identity, true);\n    const params = yield select(getParams, identity);\n    const data = yield call(fetchGetListData, { ...params, ...customParams });\n\n    // 更新当前identity下的多个reducer\n    return {\n      dataLoading: false,\n      data,\n    };\n  } catch (e) {\n    // 通过modify更新指定identity的reducer\n    yield modify(setDataLoading, identity, false);\n  }\n}\n\n// 初始化页面的handle\nexport function* initPage(props /* 自定义参数 */) {\n  /* 业务逻辑 */\n}\n\n// 其他handle\nexport function* otherHandle(props /* 自定义参数 */) {\n  /* 业务逻辑 */\n}\n\n// 无side effect的handle\nexport function xxxHandle(props /* 自定义参数 */) {\n  /* 业务逻辑 */\n}\n```\n\n#### models.js\n\n定义业务数据，驱动 view 的展示交互\n\n```javascript\n// 业务数据aaa\nexport const aaa = {\n  defaultValue: 'aaa',\n};\n\n// 业务数据bbb\nexport const bbb = {\n  defaultValue: 'bbb',\n};\n```\n\n#### styles.js\n\nView 的样式定义，使用[JSS](https://code.aliyun.com/gemini2/gemini-web.git)\n\n```javascript\nexport default {\n  container: {\n    color: 'red',\n  },\n};\n```\n\n#### view.js\n\n基于 react 技术的实现，与常规的 react、redux、react-redux 技术栈有两点不同\n\n- 使用[@ixinwu-ngp/web-core 的 connect](https://github.com/zhuoluo-hq/web-core#connect)连接 handles、models 和 view\n- 使用[@ixinwu-ngp/materials-component 的 withStyles](https://github.com/zhuoluo-hq/fe-materials/tree/master/packages/ngp-materials-component#withStyles)注入样式\n\n```javascript\nimport React, { Component } from 'react';\n// 使用@ixinwu-ngp/web-core的connect\nimport { connect } from '@ixinwu-ngp/web-core';\n// 使用@ixinwu-ngp/materials-component的withStyles\nimport { withStyles } from '@ixinwu-ngp/web-framework';\nimport styles from './styles';\n\nclass XXXX extends Component {\n  componentDidMount() {}\n\n  render() {\n    // classes属性是withStyles HOC注入的\n    const { classes, aaa, bbb } = this.props;\n    return (\n      <div className={classes.container}>\n        test_b, {aaa}, {bbb}\n      </div>\n    );\n  }\n}\n\nconst mapStateToProps = (state, ownProps) => ({\n  ...state[ownProps.identity],\n});\n\nexport default connect(mapStateToProps)(withStyles(styles)(XXXX));\n```\n\n### block\n\n![block的基本内容](./docs/images/block.png)\n\n与 bundle 基本相似，将一部分代码的内容抽取为配置就是 block——**block 是配置驱动的 bundle**\n\n> handles.js、models.js 和 styles.js 与 bundle 中的完全相同，下面是需要微调的说明\n\n#### bundle.js\n\n> 不再需要定义 identity\n\n```javascript\nimport view from './view';\nimport * as models from './models';\nimport * as handles from './handles';\n\nexport default {\n  // 这里面不再需要定义identity\n  view,\n  models, // models的定义也可以抽取到config中\n  handles,\n  routes, // routes的定义也可以抽取到config中\n};\n```\n\n#### bundle.config.js\n\n```javascript\nexport default {\n  // 数据挂载在redux store 上的标识 key，必须是全局唯一的\n  identity: 'xxx',\n  // 静态属性配置，不能修改，view中通过this.props的属性获取\n  config: {\n    title: 'Title', // this.props.title获取\n  },\n  // 子路由配置，参考路由配置\n  routes: [],\n  // 数据定义\n  data: {\n    // 数据连接到view的定义\n    mapState: (state, ownProps) => ({\n      ...state[ownProps.identity],\n    }),\n    // 数据定义，view中通过this.props的属性获取，通过handles更新\n    models: {\n      aaa: {\n        defaultValue: 'xxx',\n      },\n      bbb: {\n        defaultValue: 'yyy',\n      },\n    },\n  },\n};\n```\n\n## 应用启动\n\n- bundle 方式，将 app 通过 bundle 的形式实现\n\n```javascript\nimport ngp, { createClient } from '@ixinwu-ngp/web-framework';\n// 使用扩展的服务调用示例\nimport apiService from './lib/api_service';\nimport { pageBundleLoaders } from './pages';\nimport appCode from './app';\n\nconst apiConfig = {\n  HOST: window.HOST,\n  APP_HOST: window.APP_HOST,\n  AUTH_HOST: window.AUTH_HOST,\n};\n\n// 配置api服务\napiService.setApiConfig(apiConfig);\n// 将其绑定到ngp上，方便引用\nngp.apiService = apiService;\n\n// 初始化应用\nconst client = createClient({\n  // 应用key\n  appKey: 'xxxApp',\n  pageBundleLoaders,\n  // 初始state\n  config: {\n    apiConfig,\n  },\n});\n\nclient.render(document.getElementById('root'), appCode);\n```\n\n- block 方式，将 app 通过 block 的形式实现\n\n```javascript\nimport '@babel/polyfill';\nimport ngp, { createClient } from '@ixinwu-ngp/web-framework';\n// 使用扩展的服务调用示例\nimport apiService from './lib/api_service';\nimport { pageBundleLoaders, pageConfigLoaders } from './pages';\nimport appCode from './app';\nimport appConfig from './app/bundle.config';\n\nconst apiConfig = {\n  HOST: window.HOST,\n  APP_HOST: window.APP_HOST,\n  AUTH_HOST: window.AUTH_HOST,\n};\n\n// 配置api服务\napiService.setApiConfig(apiConfig);\n// 将其绑定到ngp上，方便引用\nngp.apiService = apiService;\n\n// 初始化应用\nconst client = createClient({\n  pageBundleLoaders,\n  pageConfigLoaders,\n  config: {\n    apiConfig,\n  },\n});\n\nclient.render(document.getElementById('root'), appCode, appConfig);\n```\n\n> createClient 的具体使用参考[API](#createClient)\n\n> render 的具体使用参考[API](#render)\n\n## 路由配置\n\n在框架中路由基于[react-router](https://github.com/ReactTraining/react-router)实现，所以配置也采用分散的模式，上面已经看到[bundle](#bundle)和[block](#block)中子路由的定义\n\n应用的顶级路由定义一般可以在 app 的初始化 handle 中实现，不管从前端静态常量还是服务 API 动态获取，下面是一个简单的示例：\n\n```javascript\n// app/handles.js\n...\n// 从常量中获取菜单定义\nimport menus from '../constants/functions';\n...\n// routeConfigs的数据定义，可以在models.js中或者在bundle.config.js中配置\nconst setRouteConfigs = (setters, identity, value) =>\n  setters[identity].routeConfigs(value);\n\nexport function* initApp(props) {\n  const { identity } = props;\n  try {\n    // 开始应用初始化\n    ... // 其他业务逻辑\n\n    // 通过菜单配置生成路由配置\n    const routeConfigs = generateRouteConfigs(menus);\n    // 更新app的identity上挂载的routeConfigs reducer的数据\n    yield modify(setRouteConfigs, identity, routeConfigs);\n\n    ... // 其他业务逻辑\n\n    // 完成应用初始化\n  } catch (e) {\n    ... // 异常业务逻辑\n  }\n}\n```\n\n> 菜单配置与路由配置可以分离，示例只是一种常见的方式，\n>\n> - `menus`菜单可以是拉平的数组或者是嵌套的树形结构，根据实际业务以及编码使用组织形式，\n> - **但是`routeConfigs`路由配置必须是拉平的一维数组**\n\n### 单项路由定义\n\n```javascript\n{\n  id: 'yyy', // 路由的唯一标识\n  pageKey: 'page1', // 路由关联的页面key\n  type: 'Switch', // 路由的跳转方式，Switch/Popup/SlideIn/Inside\n  url: '/page1', // 路由对应的url\n  // 可选配置\n  exact: true, // 路由是否精确匹配，一般根路由需要配置对应默认加载的主页\n},\n```\n\n> 路由定义中的`pageKey`需要与[页面加载](#页面加载)中的露出对应\n\n### 菜单与路由定义实践\n\n_菜单建议使用拉平的数组定义，如果是需要展示为嵌套的树结构，在每项中增加 parentId 来维护，这样方便编码的实现和维护_\n\n_路由在逻辑上与菜单是可以分离的，只是在使用的时候通过业务结合（通过菜单激活路由），所以建议以低耦合的方式实现这两个概念，这一点要有认识_\n\n_对于业务框架来说一般只有两个概念——加载应用和加载页面，页面展示在应用的什么位置应该由应用结合业务决定，尽量不要将业务框架的逻辑侵入到页面中，页面需要保持基本的完备性和独立性（页面是业务层面最大的组件）_\n\n_路由一般由两种定义方式——集中式和分散式，贴合实现（react-router）是分散式的，集中式又比较便于管理，具体实现的时候可以考虑优劣_\n\n\n## 页面加载\n\n**不管是应用、页面还是模块都可以用[bundle](#bundle)或者[block](#block)的方式定义实现，页面需要统一露出管理，在[createClient](#createClient)中作为`pageBundleLoaders`和`pageConfigLoaders`参数传入**\n\n具体参考下面的示例，page1 以 block 的方式实现，page2 以 bundle 的方式实现，`pageBundleLoaders`和`pageConfigLoaders`的属性 key 必须与路由定义中的`pageKey`对应\n\n```javascript\n// pages/index.js 统一露出页面实现\nimport page1Code from './page1/bundle';\nimport page1Config from './page1/bundle.config';\nimport page2Code from './page2/bundle';\n\n/**\n * 页面config加载器，可以是返回promise的函数或者是generator函数\n * @param {String} pageKey 页面Key\n * @param {object} state 当前store状态的拷贝\n */\nconst createMockGetPageConfig = config => (pageKey, state) => {\n  console.log(`获取[[${pageKey}]]的页面配置`);\n\n  return new Promise(resolve => resolve(config));\n};\n\n// 页面的实现代码\nexport const pageBundleLoaders = {\n  page1: page1Code,\n  page2: page2Code,\n};\n// 页面的配置露出，page2没有配置\nexport const pageConfigLoaders = {\n  page1: createMockGetPageConfig(page1Config),\n};\n```\n\n在应用启动的文件中使用\n\n```javascript\n// index.js\nimport { createClient } from '@ixinwu-ngp/web-framework';\nimport { pageBundleLoaders, pageConfigLoaders } from './pages';\n\n  ...\n\n// 初始化应用\nconst client = createClient({\n  // 应用key\n  appKey: 'xxxApp',\n  pageBundleLoaders,\n  pageConfigLoaders,\n});\n\n  ...\n\n```\n\n## 服务调用\n\n框架的[ApiService](#ApiService)对 fetch 进行了封装，提供了一些常用的方法，可以在业务逻辑中实例化一个 apiService 示例进行接口 API 调用\n\n```javascript\nimport fetch from 'isomorphic-fetch';\nimport download from 'downloadjs';\nimport { ApiService, checkFetchStatus, checkDataStatus } from '@ixinwu-ngp/web-framework';\n// 实例化一个api服务实例\nconst apiService = new ApiService();\n\n/**\n * 自定义api异常错误处理\n * @param {Error} error 错误对象\n */\nconst errorHandle = error => {\n  if (error.status === 403) {\n    const redirect = window.location.href.replace(window.location.origin, '');\n    window.location.href = `${window.location.origin}/login.html?redirect=${redirect}`;\n  }\n  // 最后reject error\n  return Promise.reject(error);\n};\n\n// 配置使用自定义的异常错误处理\napiService.setErrorHandle(errorHandle);\n\n// 扩展一个导出文件的接口\napiService.fetchExport = (config, fileName) => {\n  /*实现逻辑*/\n};\n\nexport default apiService;\n```\n\n### 统一管理 API 接口\n\n在[典型应用目录结构说明](#典型应用目录结构说明)中使用`services`目录统一管理 API 接口，这种方式推荐在中小型应用中使用，同时结合 apiService 提供的 mockFetch 来实现一套简单轻量的纯前端虚拟数据层，方便前后端并行开发等\n\n## 典型应用目录结构说明\n\n参考[STRUCTURE.md](./STRUCTURE.md)\n\n## API\n\n### ngp\n\n获取全局实例（单例）\n\n```javascript\nimport ngp from '@ixinwu-ngp/web-framework';\n```\n\n#### ngp.app\n\n获取 app 实例\n\n```javascript\nimport ngp from '@ixinwu-ngp/web-framework';\n\nconst app = ngp.app;\n```\n\napp 是 Client 类的一个示例，定义如下\n\n```javascript\nclass Client {\n  // 缓存的页面定义\n  pages: {};\n  // 应用的store\n  store;\n  // 将app render到container指定的dom\n  /**\n   * 将app render到container指定的dom\n   * @param {DOM} container\n   * @param {Object} appCode 应用的定义代码（可以是bundle或者block形式）\n   * @param {Object} config 如果appCode是block形式，那么需要有对应的配置\n   */\n  render(container, appCode, [config]) {}\n}\n```\n\n#### ngp.app.store\n\n获取 app 的 redux store 实例\n\n```javascript\nimport ngp from '@ixinwu-ngp/web-framework';\n\nconst app = ngp.app;\nconst store = app.store;\n```\n\nstore 默认有以下顶级数据\n\n- store.appConfig ——应用配置\n- store.apiConfig ——接口 API 配置\n- store.routeHistory ——路由历史，**可以用以实现面包屑导航，并不是所有访问路由的历史，是顶级路由到当前路由的嵌套路径**\n\n### createClient\n\n创建一个 app 实例，在上面的代码示例中已经多次提到\n\n- [应用启动](#应用启动)\n- [页面加载](#页面加载)\n\n下面说明全部的参数：\n\n```javascript\nconst client = createClient({\n  // 应用的标识\n  appKey,\n  // 页面的代码（不管是Bundle还是Block形式）\n  pageBundleLoaders: {},\n  // 页面（Block形式）的配置\n  pageConfigLoaders: {},\n  // 起始路由，参考react-router\n  basename: '/',\n  // 应用顶级数据定义，直接挂载store下，通过state.xxx直接获取\n  models: {\n    xxx, // 格式参考model定义\n  },\n  reducers: {\n    xxx, // 格式参考render定义\n  },\n  // 应用业务saga，参考redux-saga\n  sagas: {},\n  // 初始化store使用，参考redux\n  middlewares: []\n  // store的初始状态配置\n  config: {\n    // 接口api的配置，默认有一下两项\n    apiConfig: {\n      HOST: window.HOST,\n      AUTH_HOST: window.AUTH_HOST,\n    },\n    // 应用的配置\n    appConfig: {},\n  },\n});\n```\n\n### generateRouteContent\n\n根据[路由配置](#路由配置)生成 React Router 的路由内容，一般在应用的 View 中使用\n\n```javascript\n// app/view.js\nimport { Switch, generateRouteContent } from '@ixinwu-ngp/web-framework';\n\nclass View extends Component {\n\n  ...\n\n  render(){\n    ...\n    return (\n      <div>\n        ...\n        {/* 加载路由定义 */}\n        <Switch>{generateRouteContent('', childRouteConfigs)}</Switch>\n        ...\n      </div>\n    );\n  }\n\n}\n\n```\n\n### ApiService\n\nAPI 服务调用的封装类，对 fetch 进行了封装，提供了一些常用的方法\n\n```javascript\nimport { ApiService } from '@ixinwu-ngp/web-framework';\n```\n\n定义如下：\n\n```javascript\nclass Client {\n  // 接口API配置\n  apiConfig: {};\n  // 认证信息\n  token: '';\n  /**\n   * 设置接口API配置\n   * @param {Object} config\n   */\n  setApiConfig(config) {}\n  /**\n   * 设置认证信息\n   * @param {String} token\n   */\n  setToken(token) {}\n  /**\n   * 自定义错误处理\n   * @param {Function} errorHandle 函数签名：(error) => { return Promise.reject(error);}\n   */\n  setErrorHandle(errorHandle) {}\n  /**\n   * 通过apiConfig.HOST补全地址后调用接口\n   * @param {Object} config\n   * @prop {String} config.url 接口路径，如果没有协议头，通过apiConfig.HOST补全\n   * @prop {String} config.method 接口调用方式，POST/GET\n   * @prop {String} config.data POST时的参数传递\n   * @prop {String} config.params GET时的参数传递\n   * @prop {String} config.headers 请求头定义，默认头部是：\n   * {\n   *   Accept: 'application/json',\n   *   'Content-Type': 'application/json',\n   *   Authorization: `Bearer ${this.token}`,\n   * }\n   */\n  fetchJsonApi(config) {}\n  /**\n   * 通过apiConfig.HOST补全地址后调用接口\n   * @param {Object} config\n   * @prop {String} config.url 接口路径，如果没有协议头，通过apiConfig.HOST补全\n   * @prop {String} config.method 接口调用方式，POST/GET\n   * @prop {String} config.data POST时的参数传递\n   * @prop {String} config.params GET时的参数传递\n   * @prop {String} config.headers 请求头定义，默认头部是：\n   * {\n   *   Accept: 'application/json',\n   *   'Content-Type': 'application/json',\n   *   Authorization: `Bearer ${this.token}`,\n   * }\n   */\n}\n```\n\n### apiService\n\n框架默认提供的`ApiService`实例，如果业务完全满足可以不用再业务中实例化 ApiService，直接使用框架提供的实例，实例可以配置 apiConfig，token，errorHandle\n\n```javascript\nimport { apiService } from '@ixinwu-ngp/web-framework';\n```\n\n### qsStringify\n\n将对象 stringify 成 location.search 字符串\n\n```javascript\nimport { qsStringify } from '@ixinwu-ngp/web-framework';\n\nconst search = qsStringify({\n  xxId: 'rwerwetert',\n  type: 'AAA',\n});\n\n// search: xxId=rwerwetert&type=AAA\n```\n\n### qsParse\n\n将 location.search 字符串解析为对象\n\n```javascript\nimport { qsParse } from '@ixinwu-ngp/web-framework';\n\nconst obj = qsStringify('xxId=rwerwetert&type=AAA');\n\n// obj = {\n//   xxId: 'rwerwetert',\n//   type: 'AAA'\n// }\n```\n\n### mountBlock\n\n挂载 block 到 Store 上，Block 参考[基础概念](#block)，并将 React view 连接到 store 数据、handles、blockConfig\n\n这是一个底层 api，一般不会直接使用，框架内应用的页面加载就是使用这个方法\n\n```javascript\nimport { mountBlock } from '@ixinwu-ngp/web-framework';\n\n/**\n * 将Block挂载到store上\n * @param {Object} config 配置（bundle.config.js的内容）\n * @param {Object} code 代码（除了bundle.config.js之外的）\n */\nmountBlock(config, code);\n```\n\n### mountBundle\n\n挂载 bundle 到 Store 上，Bundle 参考[基础概念](#bundle)，并将 React view 连接到 store 数据、handles\n\n这是一个底层 api，一般不会直接使用，框架内应用的页面加载就是使用这个方法\n\n```javascript\nimport { mountBundle } from '@ixinwu-ngp/web-framework';\n\n/**\n * 将Bundle挂载到store上\n * @param {Object} code 代码（具体参考）\n */\nmountBundle(code);\n```\n","readmeFilename":"README.md","homepage":"https://github.com/zhuoluo-hq/ngp-web/tree/master/packages/web-framework"}