{"_id":"grunt-flexcombo","_rev":"215-f9d608ab95764d4e8cd11e5e11fbf83e","name":"grunt-flexcombo","description":"FlexCombo","dist-tags":{"latest":"0.4.3"},"versions":{"0.1.0":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.0","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"flex-combo":"0.4.0","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.0","dist":{"shasum":"a69fafa62787c7fa0553912c59e478e8cebcad2a","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.0.tgz","integrity":"sha512-RzZl3M8OOBgEIFhuCGElcaTZE6Y9TJeBwVNIFS5SaxB6gH0V974ZS+QWMY/+AB2ALiccfhftGtRiCRKIBCEsVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDnnSxT53JrnELXKHvC+7le9qAL2ZA906fx/oNMseAQvAiAzTbEePeWuTU2S2tX8LrRpGkWdlMJDdZsE9set/+rKJA=="}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"}],"directories":{}},"0.1.1":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.1","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"flex-combo":"0.4.0","jayli-server":"","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.1","dist":{"shasum":"fb51f4b88a28d57cc1475b994818a54719e6e994","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.1.tgz","integrity":"sha512-hoQ7XC57tvWLGdhtz1loRIJf28xDCvxgcWKWLfPZmL2NIJx6nI7ch0zb1OVp5uWBP0diFeercSkBHeBEuZjv8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDE0sqSlN7Sdmt872r1p5VI0DrpHAzpAKWNY9Fs0qm99wIhAJ5hlSgTIBNfmh/Jky5gCmrAk3ABWciCofE4ANlQW6H8"}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"}],"directories":{}},"0.1.2":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.2","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"flex-combo":"0.4.0","jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"0.4.0","jayli-server":""},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.2","_from":".","dist":{"shasum":"6c9c12c947d2f6a1818da5b46b6f2d380398b399","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.2.tgz","integrity":"sha512-hIiG3BoWkZh3KNkHOC8bQtKw9458nsAYcHZ39ekyb9FeHCBuR9STEipaojP6LjxAGGgnyrFVloe+SxBLJM8nFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQ/HPaUKEdenqBSVt0JKbaIVTWuohj2ERLbg+Oq2Fo0QIhAO0RsMN3DIPVbCIEZ892aAa33lUOpi52oDocRXD769Ek"}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"}],"directories":{}},"0.1.3":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.3","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"flex-combo":"0.4.0","jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"0.4.0","jayli-server":""},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.3","_from":".","dist":{"shasum":"5cfb173a421fc932d50f6933987207a3e6360607","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.3.tgz","integrity":"sha512-ybKnEEBna0taiHjDCONezrQm2f421NY3p9iN8V1Slj9qHX+apqx+Cq408cHfIJSTftgrIwagKJUeefCs56OoDg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHXRP2cdtF481CTyBs1zpaeCUTO+v3yBrVYfQOWElTBnAiEA4wxYDcBvteOi6KShPM825rZ0DYWSGM7eK+hlLpuL5/w="}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"}],"directories":{}},"0.1.4":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.4","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"flex-combo":"0.4.0","jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"0.4.0","jayli-server":""},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.4","_from":".","dist":{"shasum":"ff21e7e35b29f426e5b3aec5bb9365c56e0910de","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.4.tgz","integrity":"sha512-SV1+KIw/bFqpYo1cK/FXwlhF32vvU9yQlDvEh8vyCUII8KZVYM9yvaj290fCFLnu/zNq93uP2HnTZAIpFls3fg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9Ah0YSde7AWWczx4weBRBhoFYrulmcUztZCOsqyqz1QIhAMVOHDuVRKkrbkMKzvu1uJL0D/2lGnhDXow93EqdVzV3"}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"}],"directories":{}},"0.1.5":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.5","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"flex-combo":"0.4.0","jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"0.4.0","jayli-server":""},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.5","_from":".","dist":{"shasum":"1560e2fbc37eccd8567c31fb06b0fbf21690de21","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.5.tgz","integrity":"sha512-T9rrLwEloqjRwuL+wh2sCx8+Ce+sPYObaF9kmd4RAya2a8aqBCUNBO4UclMGmUMjzvY0vyH1hZSHHtsOo+Ix0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOe7RyNuQ/Bf/xmo6l32+FLkep7CxmY2izmVnIwKEb1wIhAPIMFW2qP0ur0qp1LCyZwLJqaI6AXRlNWDt6ZLRJl+3u"}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"}],"directories":{}},"0.1.6":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.6","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"flex-combo":"0.4.0","jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"0.4.0","jayli-server":""},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.6","_from":".","dist":{"shasum":"86590477acaf4e5414953cb98cfc9792d822cb5d","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.6.tgz","integrity":"sha512-TXLmLlJDKJK70MSUxh+MFJmzhbe3jZkOS53XDFeEY8O0aujN4EIWvbrpcva9b8joK+D3UCTu8hs3ZciYuTULgA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVo80mVmKjyRvwADIWKAFWsfySTH/7U7q4iOi4PfQW4AIhAMXxw88wx+dG4IFESFJWvv5nyo/9r1jSYsHASVpthqF/"}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"}],"directories":{}},"0.1.7":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.7","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"flex-combo":"0.4.0","jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"0.4.0","jayli-server":""},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.7","_from":".","dist":{"shasum":"ce354fefd5b59a122918ce9e644f7fb1aa905854","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.7.tgz","integrity":"sha512-KhCQR8xVlvg01fwZe04PWrKlsNpLMgpvySqZYxKFmqhTzmhE+wwRWTtRSVfuS0Ii0qtOdON2AC1aNdJWgvXoTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHsMnv+tC+vHTrBq5BgqEPeYTV3eOUgM1icAUPaTaofYAiEAxYA/pXoQwuN0+HjQQQBAGWtC4b9wrw2ygvZo2pwLiCs="}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"}],"directories":{}},"0.1.8":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.8","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"flex-combo":"0.4.0","jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"0.4.0","jayli-server":""},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.8","_from":".","dist":{"shasum":"a32b1929ef2d50253a9e34c9bce03e0d946b2366","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.8.tgz","integrity":"sha512-wZZaWsyWo3EhNBIdPrVaYF0fU8FHR2v76s7uMCFcPJlV0azSZh7uLrSExA9c4Ip6jJ0fqCAs0rqo80/19FErWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFLkiUkj9/E0lc55RlOf8YpeTkd0z3mDZ31L28G8bFMJAiEA2fbEZ3Oru+3MmE4st6Ak9VWnRSatpwpnpXrA1JDVQ2Y="}]},"_npmVersion":"1.2.30","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"}],"directories":{}},"0.1.9":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.9","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"flex-combo":"0.4.0","jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"0.4.0","jayli-server":""},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.9","_from":".","dist":{"shasum":"ef16d760d31852b61869d7ada3c5216c9d2ce8d7","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.9.tgz","integrity":"sha512-PNUdC61uBlZUhFbKvtHhNZJGpZRGDt43cQnI3TtpRVoqORkqwlVO2jPHVN36BeyngJF7x8YNKXeBOtmlsCW0Kg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC4eMgPVNVFR6fapQIx+Qw1fXoEZfqjx0Ve84fW0w5+LAiEAnP9U3iDUNjkZymCd1ufFeSCrDjG0MVg6iEQVIkDQ+Cc="}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"}],"directories":{}},"0.1.10":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.10","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"0.4.0","jayli-server":""},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.10","_from":".","dist":{"shasum":"192d0e8564d908f131e502597177a90b24ac5ec2","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.10.tgz","integrity":"sha512-57+hse5BbvilV4olrhDvqSukONHAlonSaEJ+ADJDkMinYtDgElKnxe9SqciWsIYwpesWH5htervS7Tj7rFwYPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/gAgsq+NEpKjUNHRAu8FUZJrz62k0LSj51cyfkJrOKAIgYZzsXth6yOw9tlnM1yaqFt2E4LutwMi0nSV38zZBPrE="}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"}],"directories":{}},"0.1.11":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.11","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":""},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.11","_from":".","dist":{"shasum":"9de2649e19ccc72400c4ffe3f978bfe43b0c424e","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.11.tgz","integrity":"sha512-K7kaDDK81ujl/gXTbLJRl7dg+PS054O2ln0DXZQBhTDImtaFF6fKLowGxU7K+wbx4jjIYtWQySwE+muPe8VKsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/tF5nCZ6PYGjtu5izcX3jU/edl0JnC5LjMLDp7T1QuwIgP1f7G4TIJHeHKt7+cuOskRKlrqXgKOz7kRDxrC6kDGM="}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"}],"directories":{}},"0.1.12":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.12","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":""},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.12","_from":".","dist":{"shasum":"f0f47f6457f2ef82bd96f99f2ad440828cd7f47a","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.12.tgz","integrity":"sha512-udPOiq6FHIjkif54fP7mtGL/wLJa0nJ74p6gCOJkNfL5TgFdrD8nNIsQKRJEcB8PRI4XaIrf5aHukBTVOh5knw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2hzLy/OerpbMPeTzgfHYPvHwHdtnMICcHTOk6qw/ZgwIhAO035i/0dn/d9mDINRU1bld5LCRDMEB7AwJbjcHZe0aH"}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"}],"directories":{}},"0.1.13":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.13","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","http-proxy":"~0.10.3"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.13","_from":".","dist":{"shasum":"36afb9be004002cda6b0a2885b1dbb4b640413e6","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.13.tgz","integrity":"sha512-ShqyTUwcFk4C17Pv9MQFtM+o7cvz1EQnlq0rzAfxOH200ee2b7DotKhBF7XUWsy8VxHU05ltcMwfVxmwJfH3AQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC33334mYdoB1taiZvjcetciZFPp0pOXPfYf07XJN1O5wIgXdltN87z1gp5nTCrsov+CxgxUYn5Foo1UKMt4qXHDpc="}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"}],"directories":{}},"0.1.15":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.15","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.15","_from":".","dist":{"shasum":"37ad612e967ed099cd767b80b3c5a4b29c21d560","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.15.tgz","integrity":"sha512-9nBZuL5Ngb82SqUd1K42E7UeEWqWnL44HsaopgQ60fbp53Yp+l+dcnd+KwtRBYk/xoNnqRzI0R2Il/VWgAtd0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH2PCG39bSGr+E8oXrG634BsX/gRCqe7/Yf8gN25nVKbAiBlUXXRydi+wZvUbXt1uKvO0dkgsbxs8kgFYc9del+0tA=="}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"}],"directories":{}},"0.1.16":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.16","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.16","_from":".","dist":{"shasum":"8fdabec7ebdfad4991f9cbe7ba203b2745e6ebfc","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.16.tgz","integrity":"sha512-AzQU8Al/AvRzEa/SjoS9ZHiH2Mpfvo3ZyUfZTF1StGPooMlaRpVIagn5Gd8gENSt1sXHQL9YqnXCADq6k1Xp3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9z4chiEvnOhPlGDhELVzKDhhldRgbCWwaMrF2XmG61QIhANZXkezk+6fHcU1lij23+Ql9nvsZQLdjwCbDMYmuCGLe"}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"}],"directories":{}},"0.1.17":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.17","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.17","_from":".","dist":{"shasum":"d85125649247d4cd39598e42184910202a828dc1","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.17.tgz","integrity":"sha512-Mx3LmkjC6FdOrvX6Z7CJ8nWwiTUhavaBXCFXb/QDJRs7KwMObljfdzSFtcetB57WoyGzmOPsINgAX7Gs82iKJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrKsyF7kmF2Sqyn9pW7AH82RI773DPzmH1iKB6Dfk5QAIhANmFZx/ivU16j77oMOfLxgap5YZ7zFpN3uPf9tsiE4L/"}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"}],"directories":{}},"0.1.18":{"name":"grunt-flexcombo","description":"The best Grunt plugin ever.","version":"0.1.18","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.18","_from":".","dist":{"shasum":"fd87407e57f43b46f59f1b4dc95f9b517236a1bf","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.18.tgz","integrity":"sha512-1BAZTQoHQqWJyOyqxNxP9nFzMAKTMes4E7ZlcYo9YJ9FZdKJXtT6fcL839HnH09FxGCY5z2YM1GxFZARSEBeJg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGkiHENUu5MgFY4JFzuRO16qyJnUE2Sk7gss+MrvotBOAiEAor6N04JS0fnjwZQ194RcFJ0exGduN22kKFCsl4qhi2g="}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"}],"directories":{}},"0.1.19":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.1.19","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.19","_from":".","dist":{"shasum":"19a9d14e105d39edbc64c859202303f795ca5588","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.19.tgz","integrity":"sha512-9s28L8+migMdWyoarXl/3uK9LMNq4dO0L6KGgOAR84raqRriGV5IY62njxnX/KgXxLCJ/er1toTLWfrVvdDpCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHLdih8Mt5BMSwG8VGvx6dF6h3w14ynyF6iM6S4ly2uAIgLdSjiyIR70QvB/uQc7ApGlZyxWe7Zx3KwbPRo4x6an0="}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"}],"directories":{}},"0.1.21":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.1.21","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.21","_from":".","dist":{"shasum":"53d048a78282323aaabd716284f9600d1fe65667","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.21.tgz","integrity":"sha512-ov4IwDnqtIKnXDxtqrFXSORyPDOLo2wg0/KkUZNq1dbp7vgcDLgeNre9Pgy3VgljZ8WpHOZ2uUjPl+ukYAZXQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBviIr20pQXMxWvL3Beh04JQEMlwZBqDJbnySJgMfFldAiEAwRcwGqTlKa8r0br+KWfQWo2opBdgYobK0UOCXw6wmSU="}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"}],"directories":{}},"0.1.22":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.1.22","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.22","_from":".","dist":{"shasum":"582418af2771a0a938ef2a6218187ab809c88c7b","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.22.tgz","integrity":"sha512-+VRSjkXx2sxezVUCOw8xnkbCHUiPPY/dzavmWXeKpxh9kfQ7Uj5iE1J+DsCRxQM8XfqQPggJVXb2/zQ+Q7e9bw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDy09ZlfvuEEv3WkpNUPUm3qO/Pj7gilobCctV5BGGDeQIhAL/8V2Wf91BZsRU4sYOzjjezjfG68KeuvFXUCxI69E5A"}]},"_npmVersion":"1.3.2","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"},{"name":"dickeylth","email":"dickeylth@gmail.com"}],"directories":{}},"0.1.23":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.1.23","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.23","dist":{"shasum":"92feb5df07cb5a56775ea2083a63549872036bc4","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.23.tgz","integrity":"sha512-7OMd6jinl9jbv6isTQrFwXotcODLNFoqBZV+J8ukxPgqXKH9PrTgMoUPvbdBp4Rbp5ikCiEdCJQACHruTr+9sA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICrIokJVlsknQJEZ0bk7Cewa6EXeVF5ziGXE15TqYS4TAiBoVeWaZAqQRatbIhvxUnRSa0UGi6W0Mm9bAR/dlorGLA=="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"},{"name":"dickeylth","email":"dickeylth@gmail.com"}],"directories":{}},"0.1.24":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.1.24","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.24","dist":{"shasum":"886961106ee87da4dd174b6bb14311f4ffce5681","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.24.tgz","integrity":"sha512-xsrB5hdmtuLm8/uGwhEmAd873n7RyUWnphl/4uBLTEJg4sq1C4Y2jYfNrxQnwBtK9VNQdPvd7OMOcM5PiOkdEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNukYfSKEinywdDDWXf6EITeUtj4Yk49HrbsNZypZY0QIhAPLfKusWJymENx5fC29PIOrXOARYrktM3PqO2WrXQAHU"}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"},{"name":"dickeylth","email":"dickeylth@gmail.com"}],"directories":{}},"0.1.25":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.1.25","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.25","dist":{"shasum":"5da0486b052747268d635bcb9a7244e47e9e0466","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.25.tgz","integrity":"sha512-k/krAOlbRn8pfBnUP5FlS5faZR2YMJPaNGlM7Ni4G+XnXuWgwvZRu3y51Hd14BtnPEBlx+siJCs9uSz4IV80Dg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCktjnrWZEhyICL5VmG7qVjIs3VO5AXxd878cgFpuHHEQIhAN8xLHHooKKO5MovO+F4vRmAGZ1mFdTi8/YAtdm2J9EW"}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"}]},"0.1.26":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.1.26","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1","o_o":"0.0.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.26","dist":{"shasum":"e334252779867a94786b20142eab29a73509889b","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.26.tgz","integrity":"sha512-eCoTLCDBB2QKBh3CSDOpZ9cP5oBwMdO3XoxpoxVIM6qox/96F548OTzWeG4iQT4meY/N9InYXqVPa/Oe4x3aJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+3/wgW5MkVg9c8WDJVm5Pzi7waZG7U33kb5QkSQ4PpwIhAOPm0pPEQhAHI5EuNLZhGyNNEjCORS6TJyPywkM7/5Q9"}]},"_from":"./","_npmVersion":"1.3.23","_npmUser":{"name":"dickeylth","email":"dickeylth@gmail.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"},{"name":"dickeylth","email":"dickeylth@gmail.com"},{"name":"aloysious","email":"aloysiousliang@gmail.com"}]},"0.1.27":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.1.27","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1","o_o":"0.0.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.27","_from":".","dist":{"shasum":"97be4ecdcbace933ab5703c8f729dcca514bfe24","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.27.tgz","integrity":"sha512-OCHk4rpLoXMc4busc7Lxv73LkxioF5QDVA39gXUrvT97M5T/qYiDpuJd/iC0lGa21uj9ubrEOHHnZx3W0XQ+6A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4c1QvyqsxXWcjqjj38j5GOnNSAZP3YNDBzV2SIVtWJgIhANt/UrztIzmXmv8zl//0EPyOp5yubKlnpwKPsU0Q9D0O"}]},"_npmVersion":"1.3.24","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"},{"name":"dickeylth","email":"dickeylth@gmail.com"},{"name":"aloysious","email":"aloysiousliang@gmail.com"}]},"0.1.28":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.1.28","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1","o_o":"0.0.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.28","_from":".","dist":{"shasum":"39b656663d638422ff2ffc75e8c4ed349e9b9a9b","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.28.tgz","integrity":"sha512-bHy1/EniJDAOQxYHgvgMSVOILwHKdq7dkDd1vv5DFm/yJJ2Pwu6Uy4Hs/sq6Zsp22R6b/iab85b9Qn1SgSVdGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF4rYWqDPVC0IkpNcQK4NCH84RDordS+5dC6JnSwfZTUAiEAqovywzwKcjLMTMSmO5BsVyt/btRJjijE/dM1Zx0wFtc="}]},"_npmVersion":"1.3.24","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"},{"name":"dickeylth","email":"dickeylth@gmail.com"},{"name":"aloysious","email":"aloysiousliang@gmail.com"}]},"0.1.29":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.1.29","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"jayli-server":"","grunt":"~0.4.1"},"dependencies":{"flex-combo":"","jayli-server":"","reverse-proxy":"~0.2.1","o_o":"0.0.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.29","_from":"./","dist":{"shasum":"3edfc91158d6de468f48e1e570c9fce7e3de82ca","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.29.tgz","integrity":"sha512-CYETQF1VCDtR5Nu50XL0+b8eH8vsxXB3bG68hvf/D89bwcPs0on8gE5IqfhngQ53mDQyUSvsld2olSa4azRqLg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICpzo2UB6h86WG8Ayv+IJbPh0cPfp8rB5nKp7zTsozbNAiBxslaNsvTaUyIUTvZxfTqke94lPqDm/fUKiDXjT2mp+w=="}]},"_npmVersion":"1.3.23","_npmUser":{"name":"dickeylth","email":"dickeylth@gmail.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"},{"name":"dickeylth","email":"dickeylth@gmail.com"},{"name":"aloysious","email":"aloysiousliang@gmail.com"}]},"0.1.30":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.1.30","homepage":"","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git://gitlab.alibaba-inc.com/trip/h5-test.git"},"licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt":"~0.4.1","jayli-server":""},"dependencies":{"flex-combo":"","formidable":"^1.0.14","jayli-server":"","mockjs":"^0.1.1","o_o":"0.0.1","reverse-proxy":"~0.2.1","underscore":"^1.6.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"_id":"grunt-flexcombo@0.1.30","_from":"./","dist":{"shasum":"a2dbade9a171254d419c94fbaf12c55401adbcbb","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.1.30.tgz","integrity":"sha512-1hS0+PcKU+fk42bRuH+Brk4x31JmIWxp3+WA8tuP1gvbX0soKJYu62poGJ1j5rOaQvXT4prDHoQqU2vTguGNkA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDvabUqLVrNXsfYVmZJ45W8P7C3iVOGFaukHuL3Y2XfxAiEA4c0PbKulAe3maoi8qiP6G4Z+hvDtpHDOFyGqI+u5Bxk="}]},"_npmVersion":"1.4.6","_npmUser":{"name":"dickeylth","email":"dickeylth@gmail.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"},{"name":"dickeylth","email":"dickeylth@gmail.com"},{"name":"aloysious","email":"aloysiousliang@gmail.com"}]},"0.2.24":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.2.24","licenses":[{"type":"MIT","url":"/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt":"~0.4.1","jayli-server":""},"dependencies":{"anyproxy":"^2.4.3","cheerio":"^0.17.0","dns-sync":"^0.1.0","flex-combo":"~0.6.16","formidable":"^1.0.14","iconv-lite":"^0.4.4","is-utf8":"^0.2.0","jayli-server":"","less":"~2.1.2","mockjs":"^0.1.1","node-sass":"~0.9.6","shelljs":"^0.3.0","underscore":"^1.6.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"gitHead":"aa2ec6a33063a22b33f47b1cf210945c98793c3d","_id":"grunt-flexcombo@0.2.24","_shasum":"2fe74eb625d0d8d44ef8b2691be0130fe998c194","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dickeylth","email":"dickeylth@gmail.com"},"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"},{"name":"dickeylth","email":"dickeylth@gmail.com"},{"name":"aloysious","email":"aloysiousliang@gmail.com"}],"dist":{"shasum":"2fe74eb625d0d8d44ef8b2691be0130fe998c194","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.2.24.tgz","integrity":"sha512-GiXr43D2APJWyu1W5vBTLgdYz/znXCUeFfR011FcxzX378iMOq9z8PAcgizf0SdXLIdPFz6G/hM5HyQ4k+o5Og==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICjc0ajhQiHG+Ks9Z35YFOlfGg9aUO1n3AT1VSeotftEAiBf4GAOHmUZykPktgpJxUC6CLZxyKYPDz50YWu30zvP0Q=="}]}},"0.3.6":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.3.6","homepage":"http://gitlab.alibaba-inc.com/trip-tools/grunt-flexcombo/tree/master","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:trip-tools/grunt-flexcombo.git"},"main":"Gruntfile.js","engines":{"node":">= 0.10.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt":"~0.4.1","jayli-server":""},"dependencies":{"anyproxy":"~3.3.1","cheerio":"^0.17.0","dns-sync":"^0.1.0","flex-combo":"~0.6.16","formidable":"^1.0.14","iconv-lite":"^0.4.4","is-utf8":"^0.2.0","jayli-server":"","less":"~2.1.2","mockjs":"^0.1.1","node-sass":"~2.1.1","shelljs":"^0.3.0","underscore":"^1.6.0"},"keywords":["gruntplugin"],"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"},{"name":"dickeylth","email":"dickeylth@gmail.com"},{"name":"aloysious","email":"aloysiousliang@gmail.com"}],"directories":{"test":"test"},"bugs":{"url":"http://gitlab.alibaba-inc.com/trip-tools/grunt-flexcombo/issues"},"license":"MIT","_id":"grunt-flexcombo@0.3.6","_shasum":"349fec96449017bc6c510368a33ceee3de1faa41","_from":".","_npmVersion":"2.13.5","_nodeVersion":"0.12.4","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"dist":{"shasum":"349fec96449017bc6c510368a33ceee3de1faa41","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.3.6.tgz","integrity":"sha512-ClD5UGcD2CdFnufkeWD8bpug+NyxcmZVvjZBLWwbyMWM+gecU+QB9vJSZliW13FkhTEQ5BrPnzZ/2zL53024ag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMnCd+lhsDDk1x9UPOuN7Yz4X8ShIyKYjftJbqHNFp6AIgMJgqTuaodkgrbD1sSISF3JC290aUMasod8m8GH6A3UQ="}]}},"0.4.1":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.4.1","homepage":"http://gitlab.alibaba-inc.com/trip-tools/grunt-flexcombo/tree/master","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:trip-tools/grunt-flexcombo.git"},"main":"Gruntfile.js","engines":{"node":">= 4.2.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt":"~0.4.1","jayli-server":""},"dependencies":{"babel-preset-es2015":"^6.1.18","babel-preset-react":"^6.1.18","babelify":"^7.2.0","browserify":"^12.0.1","anyproxy":"~3.3.1","cheerio":"^0.17.0","dns-sync":"^0.1.0","flex-combo":"~0.6.16","formidable":"^1.0.14","iconv-lite":"^0.4.4","is-utf8":"^0.2.0","jayli-server":"","less":"~2.1.2","mockjs":"^0.1.1","node-sass":"~3.4.2","shelljs":"^0.3.0","underscore":"^1.6.0"},"keywords":["gruntplugin"],"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"},{"name":"dickeylth","email":"dickeylth@gmail.com"},{"name":"aloysious","email":"aloysiousliang@gmail.com"}],"directories":{"test":"test"},"bugs":{"url":"http://gitlab.alibaba-inc.com/trip-tools/grunt-flexcombo/issues"},"publishConfig":{},"license":"MIT","gitHead":"59ae58c04f11170d23471742bbac3fc5bd86b83f","_id":"grunt-flexcombo@0.4.1","_shasum":"c348191dfaebedcab505b293ebf4eeb60096353c","_from":".","_npmVersion":"3.5.0","_nodeVersion":"5.0.0","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"dist":{"shasum":"c348191dfaebedcab505b293ebf4eeb60096353c","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.4.1.tgz","integrity":"sha512-rqS5Aad8Q8JP0W0PbIXDgDI2w/ly/P/TkKixMrKd3fhgohGB7jAXiWHnSV/+pDhdnzvT4skV+baNwTlOVXmkhg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICSGdlMwGtTAfaltCChMF7Yv0/NU8KkM0T4xfEQOz72bAiAB+0j1IJowpQ+Xg5OLcNIvwM04fAcPo5GFYoI+lKNLfQ=="}]}},"0.4.3":{"name":"grunt-flexcombo","description":"FlexCombo","version":"0.4.3","homepage":"http://gitlab.alibaba-inc.com/trip-tools/grunt-flexcombo/tree/master","author":{"name":"bachi","email":"bachi@taobao.com"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:trip-tools/grunt-flexcombo.git"},"main":"Gruntfile.js","engines":{"node":">= 4.2.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt":"~0.4.1","jayli-server":""},"dependencies":{"babel-preset-es2015":"^6.1.18","babel-preset-react":"^6.1.18","babelify":"^7.2.0","browserify":"^12.0.1","anyproxy":"~3.3.1","cheerio":"^0.17.0","dns-sync":"^0.1.0","flex-combo":"~0.6.16","formidable":"^1.0.14","iconv-lite":"^0.4.4","is-utf8":"^0.2.0","jayli-server":"","less":"~2.1.2","mockjs":"^0.1.1","node-sass":"~3.4.2","shelljs":"^0.3.0","underscore":"^1.6.0"},"keywords":["gruntplugin"],"maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"},{"name":"dickeylth","email":"dickeylth@gmail.com"},{"name":"aloysious","email":"aloysiousliang@gmail.com"}],"directories":{"test":"test"},"bugs":{"url":"http://gitlab.alibaba-inc.com/trip-tools/grunt-flexcombo/issues"},"publishConfig":{},"license":"MIT","gitHead":"46415105fc0fffa3c93c7e1f79f071107c2cb5b7","_id":"grunt-flexcombo@0.4.3","_shasum":"e4c1ffc29bba72e803d473d0267aa96eabbac0c5","_from":".","_npmVersion":"3.5.0","_nodeVersion":"5.0.0","_npmUser":{"name":"bachi","email":"bachi@taobao.com"},"dist":{"shasum":"e4c1ffc29bba72e803d473d0267aa96eabbac0c5","tarball":"https://registry.npmjs.org/grunt-flexcombo/-/grunt-flexcombo-0.4.3.tgz","integrity":"sha512-204FV5/I+7vJmVYaS7qODw4X5wWWhN9ofv1iMyYUbUAkNKMrFay67z0BlBOaJzkFSqULc6KYnJTVhdRPqKz5kA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDO/t4BkqNitgotEjR79SGnA+1Cx3NSX+x7j5+8pkYqAAIhAIff/9ZnOVo2dzUPeFDms4tectw8GvS7N3VJeQreBsMu"}]}}},"readme":"# grunt-flexcombo\n\n<img src=\"http://gw.alicdn.com/tps/TB1F6QSKFXXXXaIXFXXXXXXXXXX-512-512.png\" width=250 >\n\n<img src=\"http://web.npm.alibaba-inc.com/badge/v/grunt-flexcombo.svg?style=flat-square\" /> <img src=\"http://img.shields.io/badge/node-%3E%3D%204.2.0-brightgreen.svg?style=flat-square\" />\n\nGrunt-flexcombo 是基于 NodeJS 的静态文件轻服务。阿里系内大量 Demo 服务和前端研发环境都基于它。\n\nauthor: @拔赤、@陶清、@弘树\n\n> Grunt-flexcombo 是 [flex-combo](https://npmjs.org/package/flex-combo)的grunt插件增强版。\n\n什么是 flexcombo？阿里 CDN 支持线上 Combo（在线合并静态文件），比如`http://g.tbcdn.cn/??a.js,b.js`将返回两个文件合并后的内容。flexcombo 可以拆解 Combo 链接，并将拆解后端文件（有条件的）映射到本地文件。Grunt-flexcombo 作为 Grunt 插件版本，同样整合了 [AnyProxy](https://www.npmjs.org/package/anyproxy)，以方便开发者启动本地服务。可以简单的理解为[here](https://www.npmjs.com/package/here-ssi)和[flexcombo](https://npmjs.org/package/flex-combo)的整合。\n\n以国内机票H5项目为例：\n\n[克隆代码](http://gitlab.alibaba-inc.com/trip/h5-flight/tree/publishi/0.3.48)到本地后，浏览器绑定`127.0.0.1:8080`，执行`grunt online`，打开浏览器访问`http://h5.m.taobao.com/trip/h5-flight/search/index.html`。\n\n## 环境依赖和包的安装\n\n依赖 Grunt 版本`~0.4.1`\n\n安装grunt-flexcombo\n\n\tnpm install grunt-flexcombo --save-dev\n\n安装后，在Gruntfile.js中载入任务\n\n\tgrunt.loadNpmTasks('grunt-flexcombo');\n\n## \"flexcombo\" 任务配置\n\n在`grunt.initConfig()`中添加flexcombo的配置：\n\n\tgrunt.initConfig({\n\t\tflexcombo:{\n\t\t\tserver:{ // 简单的例子\n\t\t\t\toptions:{\n\t\t\t\t\t// 监听目录位置\n\t\t\t\t\ttarget:'src/', \n\t\t\t\t\t// 要匹配的 URL 中的相对目录\n\t\t\t\t\turls:'/trip/h5-home', \n\t\t\t\t\t// 启动 Assets CDN 服务占用的端口，默认 8081\n\t\t\t\t\tport:'8081', \n\t\t\t\t\t//指定本地mock的目录（路径）名，默认为\"mock\"\n\t\t\t\t\tmockPath: 'mock',\n\t\t\t\t\t//开启Combo的指令符\n\t\t\t\t\tservlet:'?',\n\t\t\t\t\t//多文件间隔符号\n\t\t\t\t\tseparator:',',\n\t\t\t\t\t//文件编码\n\t\t\t\t\tcharset:'utf8',\n\t\t\t\t\t// 指定是否开启 livereload，默认为 false，也可配置为 livereload 的端口号\n\t\t\t\t\t// 与 `watch` 任务的配置保持一致\n\t\t\t\t\tlivereload: true,\n\t\t\t\t\t// 注入移动端调试辅助脚本，默认为 `['console', 'error']`\n\t\t\t\t\tinjectScripts: ['console', 'error']\n\t\t\t\t}\n\t\t\t},\n\t\t\tdebug:{ // 完整的例子\n\t\t\t\toptions: {\n\t\t\t\t\t// 监听目录位置\n\t\t\t\t\ttarget:'src',\n\t\t\t\t\t// 匹配 [ag].tbcdn.cn 或 [ag].alicdn.com 时的访问路径\n\t\t\t\t\turls:'/group/project',\n\t\t\t\t\t// flexcombo 服务端口，CDN 服务端口\n\t\t\t\t\tport:'8081',\n\t\t\t\t\t// 反向代理服务端口，即 HTML 页面访问端口\n\t\t\t\t\tproxyport:'8080',\n\t\t\t\t\t//开启combo的字符串\n\t\t\t\t\tservlet:'?',\n\t\t\t\t\t//多文件分隔符\n\t\t\t\t\tseparator:',',\n\t\t\t\t\t//默认输出文件的编码\n\t\t\t\t\tcharset:'utf8',\n\t\t\t\t\t// HTML 服务的域名\n\t\t\t\t\tproxyHosts:['a.com','b.com','demo.com'],\n\t\t\t\t\t// 是否自动调用 weinre, H5 项目可选\n\t\t\t\t\tstartWeinre: false,\t\n\t\t\t\t\t// 指定是否开启 livereload，默认为 false，也可配置为 livereload 的端口号\n\t\t\t\t\t// 与 `watch` 任务的配置保持一致\t\n\t\t\t\t\tlivereload: true,\n\t\t\t\t\t// 默认的 weinre 运行端口\n\t\t\t\t\tweinrePort: 8091,\n\t\t\t\t\t// 代理配置\n\t\t\t\t\tproxy: {\n\t\t\t\t\t\t// 接口 mock 配置\n\t\t\t\t\t\tinterface: {\n\t\t\t\t\t\t\t// 要代理的接口域名\n\t\t\t\t\t\t\thosts: [\n\t\t\t\t\t\t\t\t'api.m.taobao.com', \n\t\t\t\t\t\t\t\t'api.waptest.taobao.com', \n\t\t\t\t\t\t\t\t'api.test.taobao.com'\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t// 代理脚本路径\n\t\t\t\t\t\t\tscript: 'proxy/interface.js'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t// 页面 HTML 区块代理配置\n\t\t\t\t\t\twebpage: {\t\n\t\t\t\t\t\t\t// 要代理的页面路径匹配规则（字符串或正则表达式）\n\t\t\t\t\t\t\t// 比如要匹配百度和淘宝域名\n\t\t\t\t\t\t\t//[/www\\.baidu\\.com/, /taobao\\.com/],\n\t\t\t\t\t\t\turls: [/taobao\\.com/],\n\t\t\t\t\t\t\t// 代理脚本路径\n\t\t\t\t\t\t\tscript: 'proxy/webpage.js'\t\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t// anyproxy web config 页面端口\n\t\t\t\t\twebConfigPort: 8082,\n\t\t\t\t\t// anyproxy 监控页面端口\n\t\t\t\t\twebPort: 8002,\n\t\t\t\t\t// anyproxy 控制台与监控页面通信端口\n\t\t\t\t\tsocketPort: 8003\n\t\t\t\t\t\n\t\t\t\t\t// 过滤参数\n\t\t\t\t\tfilter:{ \n\t\t\t\t\t\t'-min\\\\.js':'.js',\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * 当访问a.com/go/act/demo.php时，实际请求\n\t\t\t\t\t\t * a.com/demo.html\n\t\t\t\t\t\t */\n\t\t\t\t\t\t'/go/act/\\(.+\\\\.\\)php':'/$1html'\n\t\t\t\t\t},\n\t\t\t\t\t// 本地服务支持 CommonJs 语法和 React JSX 语法\n\t\t\t\t\tcommonJs:true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// flexcombo 需要配合 watch 模块一起使用\n\t\twatch: {\n\t\t\t'all': {\n\t\t\t\tfiles: ['src/**/*'],\n\t\t\t\ttasks: [ 'your-build-target' ]\n\t\t\t}\n\t\t}\n\t});\n\n\t// 注册 debug 任务\n\tgrunt.registerTask('debug', '开启debug模式', function() {\n\t\ttask.run(['flexcombo:debug','watch:all']);\n\t});\n\n<strong>启动服务：</strong>（针对上面的配置）\n\n\n`grunt server` 启动例子1\n\n`grunt debug` 启动例子2\n\n\n> `flexcombo`任务无法单独运行，需要配合`watch`启动。一份完整的[Gruntfile.js](https://github.com/jayli/slide/blob/master/Gruntfile.js)样例。\n\n## 原理说明\n\n### 1. 服务启动\n\n上例中`grunt debug`将会调用 flexcombo 服务，会在本地启动两个服务，两个服务分属两个端口`proxyport`（反向代理服务）和`port`（CDN 环境服务）\n\n<img src=http://gw.alicdn.com/tps/TB1kmEJKFXXXXaKXVXXXXXXXXXX-1706-1254.png width=700 />\n\n启动服务后，可以直接通过`localhost`或者IP来预览本地文件\n\n\thttp://localhost/group/project\n\n也可以通过`proxyHosts`中的域名配置来访问：\n\n\thttp://demo.com/\n\ngrunt-flexcombo 同时提供了两个环境的模拟，CDN 环境模拟和 HTML 文件服务器模拟，有两个方法来使用 CDN 模拟服务\n\n1. 将cdn配向本机`127.0.0.1 g.tbcdn.cn a.tbcdn.cn g.alicdn.com`\n1. 将浏览器或者设备HTTP代理配置到本机的反向代理服务的端口\n\n若要使用 HTML 文件服务器，只使用第二种方法即可\n\n![](http://gtms01.alicdn.com/tps/i1/T1KzNFFrxbXXcrSyrN-372-175.png)\n\n在手机终端设置代理方法：\n\n![](http://gtms01.alicdn.com/tps/i1/T1bePRFlVXXXXhb4nD-502-341.png)\n\n这时访问你的目标网址，代理工具将会把其中 访问 `g.tbcdn.cn` 或者 `g.alicdn.com` 的资源文件（带Combo）拆开去本地和线上去找文件，一并返回给浏览器。\n\n### 2. SSI\n\n该服务支持标准格式的 [SSI include](http://man.chinaunix.net/newsoft/ApacheManual/howto/ssi.html)\n\n\t<!--#include path=\"../src/file-path.html\" -->\n\n### 3. AWP 中的标签替换\n\nAWP 是阿里无线应用发布环境，目前只支持`<!--HTTP:url,utf8:HTTP-->`的解析，其他类型暂时不支持，注意：这个规则不会被[combohtml](https://www.npmjs.org/package/grunt-combohtml)解析\n\n### 4. Mork 数据模拟\n\n服务支持[juicer模板](http://juicer.name)渲染输出，因此在源html中可以直接用juicer语法来写页面，比如源文件:\n\n\t<html>\n\t<body>\n\t\t<!-- 定义Mock数据 -->\n\t\t<!--#def\n\t\t\t{\"list\": [\n\t\t\t\t\t{\"name\":\" guokai\", \"show\": true},\n\t\t\t\t\t{\"name\":\" benben\", \"show\": false},\n\t\t\t\t\t{\"name\":\" dierbaby\", \"show\": true}\n\t\t\t\t]}\n\t\t-->\n\t\t<ul>\n\t\t\t{@each list as it,index}\n\t\t\t\t<li>${it.name} (index: ${index})</li>\n\t\t\t{@/each}\n\t\t</ul>\n\t</body>\n\t</html>\n\n开启服务后浏览器中访问它，将输出：\n\n\t<html>\n\t\t<body>\n\t\t\t<!-- 定义Mock数据 -->\n\t\t\t<!--#def {\"list\": [ {\"name\":\" guokai\", \"show\": true}, \n\t\t\t{\"name\":\" benben\",\"show\": false}, \n\t\t\t{\"name\":\" dierbaby\", \"show\": true} ]} -->\n\t\t\t<ul>\n\t\t\t\t<li>guokai (index: 0)</li>\n\t\t\t\t<li>benben (index: 1)</li>\n\t\t\t\t<li>dierbaby (index: 2)</li>\n\t\t\t</ul>\n\t\t</body>\n\t</html>\n\n即，数据和juicer模板混合输出了正确的结果。\n\n如果源文件中存在Mock数据字段`<!--#def ... -->`，则服务将会解析文件中的juicer模板\n\n> 这个功能主要提供了调试的渠道，写demo时就直接生成了juicer模板，通过[grunt-combohtml](https://github.com/jayli/grunt-combohtml)（另行配置）可以将juicer语法的源文件编译为velocity语法和php语法。\n\n### 5. CommonJS & React JSX 语法支持\n\n配置参数：`commonJs:true`\n\n## 配置参数说明\n\n#### options.commonJs\n\n- 类型：Boolean\n- 默认值：false\n\n是否支持 CommonJS 语法和 React JSX 语法转换，设置为 true 时，访问一个 js 源文件会通过`browserify`转换为浏览器可运行的 js 代码。\n\n若不希望某个url支持CommonJS和JSX，则加上开关`commonjs=false`即可，比如:\n\n\thttp://path/to/file.js?commonjs=false\n\n#### options.longPolling\n\n- 类型：Boolean\n- 默认值：false\n\n是否采用长连接模式\n\n#### options.target\n\n- 类型：String\n- 默认值：''\n\n基于此目录启用本地服务，类似Apache中的`DocumentRoot`，需写相对目录，相对于`Gruntfile.js`所在的目录。\n\n#### options.urls\n\n- 类型：String\n- 默认值：''\n\n启用本地服务后，访问到`options.target`目录对应的url里的路径，比如`options`的配置：\n\n\toptions:{\n\t\ttarget:'src'\n\t\turls:'/a/b/c'\n\t}\n\n访问URL`http://localhost/a/b/c/demo.html`，将返回`./src/demo.html`。此配置主要用作模拟cdn的真实路径，比如直接访问`http://g.tbcdn.cn/a/b/c/index.js`，将访问`./src/index.js`。\n\n#### options.port\n\n- 类型：String\n- 默认值：'80'\n\nflexcombo 服务的端口，默认启动在80端口，启动在80端口可以让你直接绑定Host到本机，若启动在其他端口，则只能用代理工具来辅助访问。\n\n#### options.proxyport\n\n- 类型：String\n- 默认值：'8080'\n\n反向代理服务器的端口。反向代理服务器运行有过滤器，如果反向代理匹配`proxyHosts`和`[ag].tbcdn.cn`，则会将请求转发至flexcombo服务，否则去公网取文件。最后一并返回给客户端。\n\n#### options.servlet\n\n- 类型：String\n- 默认：'?'\n\n开启combo的前���。不同的开发环境有不同的combo需求。通过`servlet`,`seperator`两个参数决定。\n\n#### options.separator\n\n- 类型：String\n- 默认值：','\n\nCombo的url中多个文件的分隔符。\n\n#### options.charset\n\n- 类型：String\n- 默认：'utf8'\n\n默认输出文件的编码，主要用于约束输出assets文件的编码。\n\n#### options.proxyHosts\n\n- 类型：String 或者 Array\n- 默认：'' 或者 []\n\n本地服务自定义虚机的域名。除了`a.tbcdn.cn`、`g.tbcdn.cn`、`g.alicdn.com`这三个默认域名，可以新增自定义域名配置，多个域名用数组表示。\n\n> 自定义域名无须配Host访问，只需配端口为`proxyport`的代理服务即可。\n\n注意：来自`proxyHosts`中配置的域名的url请求路径不会匹配`options.urls`，比如`proxyHosts:'a.com'`，那么访问\n\n\thttp://a.com/demo.html\n\n将访问本地文件`./src/demo.html`\n\n#### options.filter\n\n- 类型：Object\n- 默认值：`{}`\n\n`filter`可以用来过滤传入url。`filter`对象，其中`key`是匹配的正则表达式，`value`是替换的字符串，支持正则表达式变量。替换的顺序与定义无关。`filter`类似于Apache中的rewrite规则\n\n#### options.urlBasedCharset\n\n- 类型：Object\n- 默认值：`{}`\n\n`urlBasedCharset`可针对某一个url设置响应字符集。例如：\n\n    \"charset\" : \"utf-8\",\n\t\"urlBasedCharset\" : {\"/apps/aaa.js\":\"gbk\"}\n\n允许在大多数情况下返回字符集为utf-8字符集的资源。但在访问/apps/aaa.js的情况下，以gbk的方式编码。 这个特性多被用来引入编码几不同的第三方脚本。\n\noptions的更多配置继承自flexcombo，请参照[flex-combo](https://npmjs.org/package/flex-combo)。\n\n#### options.mockPath\n\n- 类型：String\n- 默认值：'mock'\n\n本地 json(p) mock 服务脚本所在目录名（拼接到mock请求路径中），对于匹配的路径请求根据 mock 服务脚本返回值构建 json(p) 接口返回。\n\n## 案例\n\n#### 使用案例1\n\n[KISSY 组件如何调试线上代码](http://blog.kissyui.com/2013/11/29/%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E5%9C%A8%E7%BA%BF%E8%B0%83%E5%BC%8F%E4%BD%A0%E7%9A%84gallery%E7%BB%84%E4%BB%B6/)\n\n#### 使用案例2\n\nKISSY项目构建工具和本地环境：[generator-clam](https://npmjs.org/package/generator-clam)一同使用，构建工具生成本地配置文件，形如：\n\n\tflexcombo:{\n\t\tdebug:{\n\t\t\toptions:{\n\t\t\t\tproxyHosts:'trip.taobao.com',\n\t\t\t\ttarget:'build/',\n\t\t\t\tproxyport:8080,\n\t\t\t\turls:'/trip/proj/0.0.2',\n\t\t\t\tport:'80',\n\t\t\t\tservlet:'?',\n\t\t\t\tseparator:',',\n\t\t\t\tcharset:'utf8',\n\t\t\t\tfilter:{\n\t\t\t\t\t'-min\\\\.js':'.js',\n\t\t\t\t\t'/go/act/\\(.+\\\\.\\)php':'/$1html',\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n## Thanks\n\n- <a href=\"https://www.npmjs.org/package/anyproxy\"><img alt=\"Any Proxy\" width=\"60\" src=\"https://i.alipayobjects.com/i/ecmng/png/201409/3NKRCRk2Uf.png_250x.png\"/></a>\n- <a href=\"http://people.apache.org/~pmuellr/weinre-docs/latest/\"><img alt=\"weinre\" width=\"60\" src=\"http://gtms03.alicdn.com/tps/i3/TB1fODZGXXXXXcHXpXXTyVt9VXX-128-128.png\"/></a>\n- [flex-combo](https://www.npmjs.org/package/flex-combo)\n- [jayli-server](https://www.npmjs.org/package/jayli-server)\n","maintainers":[{"name":"bachi","email":"bachi@taobao.com"},{"name":"wayfind","email":"whyer1@gmail.com"},{"name":"paulguo","email":"badkaikai@gmail.com"},{"name":"gourdboy","email":"gourdboy@gmail.com"},{"name":"wylking2000","email":"wylking2000@163.com"},{"name":"neekey","email":"ni184775761@gmail.com"},{"name":"dickeylth","email":"dickeylth@gmail.com"},{"name":"aloysious","email":"aloysiousliang@gmail.com"}],"time":{"modified":"2022-06-18T15:01:04.707Z","created":"2013-08-02T15:53:09.600Z","0.1.0":"2013-08-02T15:53:15.093Z","0.1.1":"2013-08-02T16:18:21.621Z","0.1.2":"2013-08-02T16:32:19.074Z","0.1.3":"2013-08-02T16:37:20.150Z","0.1.4":"2013-08-02T17:55:30.109Z","0.1.5":"2013-08-02T18:13:05.050Z","0.1.6":"2013-08-02T18:34:42.478Z","0.1.7":"2013-08-02T19:11:35.883Z","0.1.8":"2013-08-03T14:39:21.035Z","0.1.9":"2013-08-26T06:23:26.394Z","0.1.10":"2013-11-06T10:30:05.381Z","0.1.11":"2013-11-06T10:41:57.498Z","0.1.12":"2013-11-10T15:01:51.612Z","0.1.13":"2013-11-13T15:10:39.481Z","0.1.15":"2013-11-15T13:16:25.583Z","0.1.16":"2013-12-12T14:16:33.345Z","0.1.17":"2013-12-12T14:21:41.536Z","0.1.18":"2013-12-12T14:27:34.917Z","0.1.19":"2013-12-17T07:05:02.194Z","0.1.20":"2013-12-23T11:13:43.454Z","0.1.21":"2013-12-24T04:21:22.493Z","0.1.22":"2013-12-30T06:19:12.259Z","0.1.23":"2013-12-30T15:34:31.237Z","0.1.24":"2014-01-01T08:38:52.869Z","0.1.25":"2014-01-10T06:29:09.074Z","0.1.26":"2014-03-04T08:00:16.861Z","0.1.27":"2014-03-06T12:41:18.177Z","0.1.28":"2014-03-06T13:15:18.805Z","0.1.29":"2014-03-17T01:59:57.177Z","0.1.30":"2014-03-25T07:38:48.903Z","0.1.31":"2014-03-28T03:53:38.878Z","0.1.32":"2014-03-28T08:07:33.486Z","0.1.33":"2014-03-28T08:31:47.608Z","0.1.34":"2014-04-01T09:15:24.761Z","0.1.35":"2014-04-01T09:28:39.372Z","0.1.36":"2014-04-23T02:03:00.713Z","0.1.37":"2014-04-28T10:02:54.541Z","0.1.38":"2014-05-04T04:38:43.245Z","0.1.39":"2014-06-09T08:16:38.151Z","0.1.40":"2014-07-09T18:24:54.440Z","0.1.41":"2014-07-09T18:38:23.788Z","0.1.42":"2014-07-26T04:15:49.151Z","0.1.43":"2014-07-28T02:02:58.165Z","0.2.0":"2014-09-16T13:04:39.939Z","0.2.1":"2014-09-17T04:33:43.095Z","0.2.2":"2014-09-17T04:41:00.327Z","0.2.3":"2014-09-18T11:04:26.646Z","0.2.4":"2014-09-25T12:30:51.509Z","0.2.5":"2014-09-26T07:44:21.271Z","0.2.6":"2014-10-01T08:33:57.196Z","0.2.7":"2014-10-10T07:07:07.729Z","0.2.8":"2014-10-23T07:06:17.039Z","0.2.9":"2014-10-31T02:29:02.186Z","0.2.10":"2014-10-31T03:36:17.953Z","0.2.11":"2014-11-02T13:11:48.958Z","0.2.12":"2014-11-04T09:12:16.680Z","0.2.13":"2014-11-04T10:11:06.616Z","0.2.14":"2014-11-04T10:33:07.637Z","0.2.15":"2014-11-04T12:27:49.171Z","0.2.16":"2014-11-06T08:06:42.703Z","0.2.17":"2014-11-06T08:30:01.480Z","0.2.18":"2014-11-07T07:47:25.467Z","0.2.19":"2014-11-13T08:31:26.456Z","0.2.20":"2014-11-14T13:38:15.609Z","0.2.21":"2014-11-24T07:41:00.304Z","0.2.22":"2014-12-22T04:16:21.077Z","0.2.23":"2015-01-22T09:24:13.555Z","0.2.24":"2015-01-22T09:55:58.760Z","0.3.6":"2015-08-20T16:34:05.242Z","0.4.1":"2015-12-01T15:44:50.419Z","0.4.2":"2015-12-07T09:09:47.096Z","0.4.3":"2015-12-07T10:00:43.528Z"},"keywords":["gruntplugin"],"readmeFilename":"README.md","users":{"okdyp":true,"bachi":true},"homepage":"http://gitlab.alibaba-inc.com/trip-tools/grunt-flexcombo/tree/master","repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:trip-tools/grunt-flexcombo.git"},"author":{"name":"bachi","email":"bachi@taobao.com"},"bugs":{"url":"http://gitlab.alibaba-inc.com/trip-tools/grunt-flexcombo/issues"},"license":"MIT"}