{"_id":"grunt-tap","_rev":"28-580aad0ea600b72844946902fb1c3003","name":"grunt-tap","description":"Tmall assets build tool.","dist-tags":{"latest":"0.1.9"},"versions":{"0.1.0":{"name":"grunt-tap","version":"0.1.0","description":"Tmall assets build tool.","author":{"name":"fanyu.xhy","email":"fanyu.xhy@tmall.com"},"keywords":["tmall","tap","asset","publish"],"bin":{"tap":"./bin/tap"},"dependencies":{"optimist":"*","commander":"1.3.x","colors":"*","iwalk":"*","underscore":"*","mocha":"*","async":"*","cssom":"*","node-file":"*","uglify-js":"2.4.x","clean-css":"1.1.x","walk":"2.2.x","native2ascii":"*","jschardet":"*","iconv-lite":"*","node-kpc":"*"},"devDependencies":{"grunt":"~0.4.2","grunt-contrib-jshint":"~0.6.0","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.2.0","grunt-kmc":">=0.1.13"},"peerDependencies":{"grunt":"~0.4.2"},"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"postinstall":"node bin/install"},"maintainers":[{"name":"xhowhy","email":"xhowhy@gmail.com"}],"homepage":"http://gitlab.alibaba-inc.com/tap","repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:tap.git"},"licenses":[{"type":"MIT","url":"http://gitlab.alibaba-inc.com/tap/blob/master/LICENSE"}],"_id":"grunt-tap@0.1.0","dist":{"shasum":"9beba87504dac7fa78ce7c184cb25b38dde91c4a","tarball":"https://registry.npmjs.org/grunt-tap/-/grunt-tap-0.1.0.tgz","integrity":"sha512-ZDtRiNRQL8nPRHEEonzGljW6Sh8oHTbUwIs5MpaiegeFTD1vVZT3J+1uJPe6+lh441NhEgOqdky3tJlxfHZfgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHAN1Axn9eWY7CTDUNkjdipw83QfV1Jyj9lCEsnV014AIhAP4xFzPubAjYjbJyaDjNuZG9dkWLzhub+5Cb11tl8UnY"}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"xhowhy","email":"xhowhy@gmail.com"}},"0.1.1":{"name":"grunt-tap","version":"0.1.1","description":"Tmall assets build tool.","author":{"name":"fanyu.xhy","email":"fanyu.xhy@tmall.com"},"keywords":["tmall","tap","asset","publish"],"bin":{"tap":"./bin/tap"},"dependencies":{"optimist":"*","commander":"1.3.x","colors":"*","iwalk":"*","underscore":"*","mocha":"*","async":"*","cssom":"*","node-file":"*","uglify-js":"2.4.x","clean-css":"1.1.x","walk":"2.2.x","native2ascii":"*","jschardet":"*","iconv-lite":"*","node-kpc":"*"},"devDependencies":{"grunt":"~0.4.2","grunt-contrib-jshint":"~0.6.0","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.2.0","grunt-kmc":">=0.1.13"},"peerDependencies":{"grunt":"~0.4.2"},"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"postinstall":"node bin/install"},"maintainers":[{"name":"xhowhy","email":"xhowhy@gmail.com"}],"homepage":"http://gitlab.alibaba-inc.com/tap","repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:tap.git"},"licenses":[{"type":"MIT","url":"http://gitlab.alibaba-inc.com/tap/blob/master/LICENSE"}],"_id":"grunt-tap@0.1.1","dist":{"shasum":"5b857c3124e229da3cfc74fc7b9cdfb7bc89ff83","tarball":"https://registry.npmjs.org/grunt-tap/-/grunt-tap-0.1.1.tgz","integrity":"sha512-UPM24ArA3RDhBBj0ZRp0zXdfNhajw154dljf4jgDRHPshBhQ+Yc/qMNcMq4arl8r4RNm0sJiN4/XZFaKXxe0pQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDI+i9Gtpj4M9SZdq/S3vTjLGaYYQKRAwdlprbZTMxtrAiBisQNiMFQh4D9jso+GvmaI0jy74ryv56Vj3Cwnk9Iprg=="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"xhowhy","email":"xhowhy@gmail.com"}},"0.1.2":{"name":"grunt-tap","version":"0.1.2","description":"Tmall assets build tool.","author":{"name":"fanyu.xhy","email":"fanyu.xhy@tmall.com"},"keywords":["tmall","tap","asset","publish"],"bin":{"tap":"./bin/tap"},"dependencies":{"optimist":"*","commander":"1.3.x","colors":"*","iwalk":"*","underscore":"*","mocha":"*","async":"*","cssom":"*","node-file":"*","uglify-js":"2.4.x","clean-css":"1.1.x","walk":"2.2.x","native2ascii":"*","jschardet":"*","iconv-lite":"*","node-kpc":"*","less":"1.5.x"},"peerDependencies":{"grunt":"~0.4.2"},"engines":{"node":">= 0.8.0"},"scripts":{"postinstall":"node bin/install"},"maintainers":[{"name":"xhowhy","email":"xhowhy@gmail.com"}],"homepage":"http://gitlab.alibaba-inc.com/tap","repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:tap.git"},"licenses":[{"type":"MIT","url":"http://gitlab.alibaba-inc.com/tap/blob/master/LICENSE"}],"_id":"grunt-tap@0.1.2","dist":{"shasum":"f961d223dd50b1f29f89fc7aa99b18e231dff683","tarball":"https://registry.npmjs.org/grunt-tap/-/grunt-tap-0.1.2.tgz","integrity":"sha512-fS3UImq9GXBLivB9SgnZfSVpxR4z3RWZhKJrW7OHfMpySTNHVa55TX4XzLELSl5z3ymDxUbGRR1mgodchTQB6Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQC0nZansjSLOWlC/WqPUMsbxgRm5OyFYKOsryxyVkWB7AIfGVO9ecMhkfUU5txgJdpPaP7Z+tOdVrgDLIfgceqHmQ=="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"xhowhy","email":"xhowhy@gmail.com"}},"0.1.3":{"name":"grunt-tap","version":"0.1.3","description":"Tmall assets build tool.","author":{"name":"fanyu.xhy","email":"fanyu.xhy@tmall.com"},"keywords":["tmall","tap","asset","publish"],"bin":{"tap":"./bin/tap"},"dependencies":{"optimist":"*","commander":"1.3.x","colors":"*","iwalk":"*","underscore":"*","mocha":"*","async":"*","cssom":"*","node-file":"*","uglify-js":"2.4.x","clean-css":"1.1.x","walk":"2.2.x","native2ascii":"*","jschardet":"*","iconv-lite":"*","node-kpc":"*"},"peerDependencies":{"grunt":"~0.4.2"},"engines":{"node":">= 0.8.0"},"scripts":{"postinstall":"node bin/install"},"maintainers":[{"name":"xhowhy","email":"xhowhy@gmail.com"}],"homepage":"http://gitlab.alibaba-inc.com/tap","repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:tap.git"},"licenses":[{"type":"MIT","url":"http://gitlab.alibaba-inc.com/tap/blob/master/LICENSE"}],"_id":"grunt-tap@0.1.3","dist":{"shasum":"0b8e7d4106adbcb4c9a82932d5b93ea8a73d036b","tarball":"https://registry.npmjs.org/grunt-tap/-/grunt-tap-0.1.3.tgz","integrity":"sha512-RSwdt4Y+V0ZyS6JlnSp8JDC1uEKxLFLqo6HaPyJVThfNX1JAihjriTZ/gN2ydONL6UVHS4eVjlx2XDDCAW6W8w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnHuyWTQEF3D8pZY+O6tecCtks5X/qLvshj8/jsfXuvwIgX16PQFiNhU8sRJ3Tbhg8oXohLx34InigaQgnhrb0U3k="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"xhowhy","email":"xhowhy@gmail.com"}},"0.1.4":{"name":"grunt-tap","version":"0.1.4","description":"Tmall assets build tool.","author":{"name":"fanyu.xhy","email":"fanyu.xhy@tmall.com"},"keywords":["tmall","tap","asset","publish"],"bin":{"tap":"./bin/tap"},"dependencies":{"optimist":"*","commander":"1.3.x","colors":"*","iwalk":"*","underscore":"*","mocha":"*","async":"*","cssom":"*","node-file":"*","uglify-js":"2.4.x","clean-css":"1.1.x","walk":"2.2.x","native2ascii":"*","jschardet":"*","iconv-lite":"*","node-kpc":"*"},"peerDependencies":{"grunt":"~0.4.2"},"engines":{"node":">= 0.8.0"},"scripts":{"postinstall":"node bin/install"},"maintainers":[{"name":"xhowhy","email":"xhowhy@gmail.com"}],"homepage":"http://gitlab.alibaba-inc.com/tap","repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:tap.git"},"licenses":[{"type":"MIT","url":"http://gitlab.alibaba-inc.com/tap/blob/master/LICENSE"}],"_id":"grunt-tap@0.1.4","dist":{"shasum":"805054cfa1b02588570188b8c4de20505f9a8cf8","tarball":"https://registry.npmjs.org/grunt-tap/-/grunt-tap-0.1.4.tgz","integrity":"sha512-3CCk99kQblQ+bFehZ4XSNO0Z2k61hqDweIsUm1v9OinqxXn2yBLBiEdB9bImP/dDM/ZQgu+9zs08/mo2kkGR8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqGrLuE7ZCAdVhP9aayao8jZfuhs4HB8uUJtCc9p54EQIhAMXGGtpKy+8EdzAfioZsbLzCdD0Iix/lJS66KwcBQ/DB"}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"xhowhy","email":"xhowhy@gmail.com"}},"0.1.5":{"name":"grunt-tap","version":"0.1.5","description":"Tmall assets build tool.","author":{"name":"fanyu.xhy","email":"fanyu.xhy@tmall.com"},"keywords":["tmall","tap","asset","publish"],"bin":{"tap":"./bin/tap"},"dependencies":{"optimist":"*","commander":"1.3.x","colors":"*","iwalk":"*","underscore":"*","mocha":"*","async":"*","cssom":"*","node-file":"*","uglify-js":"2.4.x","clean-css":"1.1.x","walk":"2.2.x","native2ascii":"*","jschardet":"*","iconv-lite":"*","node-kpc":"*"},"peerDependencies":{"grunt":"~0.4.2"},"engines":{"node":">= 0.8.0"},"scripts":{"postinstall":"node bin/install"},"maintainers":[{"name":"xhowhy","email":"xhowhy@gmail.com"}],"homepage":"http://gitlab.alibaba-inc.com/tap","repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:tap.git"},"licenses":[{"type":"MIT","url":"http://gitlab.alibaba-inc.com/tap/blob/master/LICENSE"}],"_id":"grunt-tap@0.1.5","dist":{"shasum":"3b09edc40de41a2be67137159c692579a707e880","tarball":"https://registry.npmjs.org/grunt-tap/-/grunt-tap-0.1.5.tgz","integrity":"sha512-mdWU0a/qKuAAanZKR6in123XH+17Tbiy8QB+na6ch42LZZEn2WnfzLrZm3d+rZ46M2ZChMtWyVVJ0ySn0pSBAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGKnRUNKWirbfnOTHWbncB6cn0nWE0DYEpo30KL2vq0KAiEA6geiSOvM1fzK8LOyyOTs+g3hp0Vi2Sx2L0Q5d2GmIcs="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"xhowhy","email":"xhowhy@gmail.com"}},"0.1.6":{"name":"grunt-tap","version":"0.1.6","description":"Tmall assets build tool.","author":{"name":"fanyu.xhy","email":"fanyu.xhy@tmall.com"},"keywords":["tmall","tap","asset","publish"],"bin":{"tap":"./bin/tap"},"dependencies":{"optimist":"*","commander":"1.3.x","colors":"*","iwalk":"*","underscore":"*","mocha":"*","async":"*","cssom":"*","node-file":"*","uglify-js":"2.4.x","clean-css":"1.1.x","walk":"2.2.x","native2ascii":"*","jschardet":"*","iconv-lite":"*","node-kpc":"*"},"peerDependencies":{"grunt":"~0.4.2"},"engines":{"node":">= 0.8.0"},"scripts":{"postinstall":"node bin/install"},"maintainers":[{"name":"xhowhy","email":"xhowhy@gmail.com"}],"homepage":"http://gitlab.alibaba-inc.com/tap","repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:tap.git"},"licenses":[{"type":"MIT","url":"http://gitlab.alibaba-inc.com/tap/blob/master/LICENSE"}],"_id":"grunt-tap@0.1.6","dist":{"shasum":"9686f40ae041e357ab72028c2b1c0279b754148b","tarball":"https://registry.npmjs.org/grunt-tap/-/grunt-tap-0.1.6.tgz","integrity":"sha512-5q4k1LpgSoeGRjVHcP1eU6d4KTdz0upMt/74M/qPuKF3gn577xr8qFv9GRiRoH7eFLBWcucJF8eCEpdrG8jzXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEyZtGEdckZ2Cp1uWoO0n2BR/swy99vdzufoIy8R6TH6AiEAvp6jCdYvedszJH25z5GtW9Hy9aNrsZJnc1CrXYCdhFY="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"xhowhy","email":"xhowhy@gmail.com"}},"0.1.7":{"name":"grunt-tap","version":"0.1.7","description":"Tmall assets build tool.","author":{"name":"fanyu.xhy","email":"fanyu.xhy@tmall.com"},"keywords":["tmall","tap","asset","publish"],"bin":{"tap":"./bin/tap"},"dependencies":{"optimist":"*","commander":"1.3.x","colors":"*","iwalk":"*","underscore":"*","mocha":"*","async":"*","cssom":"*","node-file":"*","uglify-js":"2.4.x","clean-css":"1.1.x","walk":"2.2.x","native2ascii":"*","jschardet":"*","iconv-lite":"*","node-kpc":"*"},"peerDependencies":{"grunt":"~0.4.2"},"engines":{"node":">= 0.8.0"},"scripts":{"postinstall":"node bin/install"},"maintainers":[{"name":"xhowhy","email":"xhowhy@gmail.com"}],"homepage":"http://gitlab.alibaba-inc.com/x/tap","repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:x/tap.git"},"licenses":[{"type":"MIT","url":"http://gitlab.alibaba-inc.com/tap/blob/master/LICENSE"}],"_id":"grunt-tap@0.1.7","dist":{"shasum":"6d35229e1cce53052d14f0c1204783da97d3d306","tarball":"https://registry.npmjs.org/grunt-tap/-/grunt-tap-0.1.7.tgz","integrity":"sha512-j6kYGTy0TgJlAD8nz22pxY5D/c/5CyYGMadG7JiCLTJQ0LvNm7UAkQYL9+T/+yn4JzJwPnCCrcxPhNzPJLe2VQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDGTGkDrV7f3q5xeeC924FRH6kCFQR9na9n9IE+RbWj6AiEAuBdh5mDJwelFzY5W4dQrF+Lt2M4LjdEpKlZs6nKoWJM="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"xhowhy","email":"xhowhy@gmail.com"}},"0.1.8":{"name":"grunt-tap","version":"0.1.8","description":"Tmall assets build tool.","author":{"name":"fanyu.xhy","email":"fanyu.xhy@tmall.com"},"keywords":["tmall","tap","asset","publish"],"bin":{"tap":"./bin/tap"},"dependencies":{"optimist":"*","commander":"1.3.x","colors":"*","iwalk":"*","underscore":"*","mocha":"*","async":"*","cssom":"*","node-file":"*","uglify-js":"2.4.x","clean-css":"1.1.x","walk":"2.2.x","native2ascii":"*","jschardet":"*","iconv-lite":"*","node-kpc":"*"},"peerDependencies":{"grunt":"~0.4.2"},"engines":{"node":">= 0.8.0"},"scripts":{"postinstall":"node bin/install"},"maintainers":[{"name":"xhowhy","email":"xhowhy@gmail.com"}],"homepage":"http://gitlab.alibaba-inc.com/x/tap","repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:x/tap.git"},"licenses":[{"type":"MIT","url":"http://gitlab.alibaba-inc.com/tap/blob/master/LICENSE"}],"_id":"grunt-tap@0.1.8","dist":{"shasum":"ae947e99d09d810810ae10f295dec5984c72faf0","tarball":"https://registry.npmjs.org/grunt-tap/-/grunt-tap-0.1.8.tgz","integrity":"sha512-uJP0hu+44AAWDQoqYe31nseXZa1k4AjhXn7dKbBNoW4V9lEea/EdsLEBOl/MvvmYIT3iZ2oU0QtKjY1FgaGG7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHedgO9waE9kveEwC/G/AmBaZ3Kkt5GF0t6iHvcr8CE8AiBsHOxPvHCqvYR7L66XzI8UdCDSgQqKNEpKEFuTbAB8ZQ=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"xhowhy","email":"xhowhy@gmail.com"}},"0.1.9":{"name":"grunt-tap","version":"0.1.9","description":"Tmall assets build tool.","author":{"name":"fanyu.xhy","email":"fanyu.xhy@tmall.com"},"keywords":["tmall","tap","asset","publish"],"bin":{"tap":"./bin/tap"},"dependencies":{"optimist":"*","commander":"1.3.x","colors":"*","iwalk":"*","underscore":"*","mocha":"*","async":"*","cssom":"*","node-file":"*","uglify-js":"2.4.x","clean-css":"1.1.x","walk":"2.2.x","native2ascii":"*","jschardet":"*","iconv-lite":"*","node-kpc":"*"},"peerDependencies":{"grunt":"~0.4.2"},"engines":{"node":">= 0.8.0"},"scripts":{"postinstall":"node bin/install"},"maintainers":[{"name":"xhowhy","email":"xhowhy@gmail.com"}],"homepage":"http://gitlab.alibaba-inc.com/x/tap","repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:x/tap.git"},"licenses":[{"type":"MIT","url":"http://gitlab.alibaba-inc.com/tap/blob/master/LICENSE"}],"_id":"grunt-tap@0.1.9","dist":{"shasum":"bbe131690f63b1a73edf983f19f89de5206e6026","tarball":"https://registry.npmjs.org/grunt-tap/-/grunt-tap-0.1.9.tgz","integrity":"sha512-ViotDqWOkVYXWwxuI+5/4goj9dH5BYYhRJkeubHEkw8sNk5TCP9+tRKDXmcccEpLYn21zNWZVAFBvStKd+HqJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICHCkvL6vgh8F/OY1XRLG2StJPJQaCe/bjNkW5g2Sm26AiEA9a/4z24Il0AKxEVrwjNUdO2zeppPcnPurjeIx7rXT2k="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"xhowhy","email":"xhowhy@gmail.com"}}},"readme":"# Grunt-Tap\r\n\r\n天猫前端发布工具集，属于MAP项目的一部分。\r\n\r\n\r\n## 安装\r\n\r\n#### 一、安装grunt命令行工具\r\n\r\n    npm install -g grunt-cli\r\n\r\n    ps:可能需要sudo权限\r\n        \r\n#### 二、安装grunt\r\n首先在你的项目根目录下创建一个名为package.json的文件，并且设置name、version和devDependencies等字段，例如：\r\n\r\n    {\r\n      \"name\": \"your-project-name\",\r\n      \"version\": \"1.0.0\",\r\n      \"devDependencies\": {\r\n        \"grunt\": \"~0.4.2\"\r\n      }\r\n    }\r\n    \r\n然后在项目根目录下执行\r\n\r\n    npm install --save-dev grunt\r\n\r\n#### 三、安装grunt-tap插件\r\n同样在项目根目录下执行\r\n\r\n    npm install --save-dev grunt-tap\r\n\t\t  \r\n\r\n## 使用\r\n\r\n#### 一、添加Gruntfile.js\r\n在项目根目录下创建Gruntfile.js，进行插件加载和配置\r\n    \r\n    module.exports = function(grunt){\r\n\r\n        //读取package.json\r\n        var pkg = require('./package.json');                \r\n            \r\n        //配置任务\r\n        grunt.initConfig({\r\n            tap:{\r\n                buildcfg: {\r\n                    options: {\r\n                        name: pkg.name, //包名\r\n                        version: pkg.version //版本\r\n                    },\r\n                    src: ['src/**/*.js']\r\n                },\r\n                build: {\r\n                    options: {\r\n                        compress: true\r\n                    }\r\n                }\r\n            }\r\n        });\r\n        \r\n        //加载grunt-tap插件\r\n        grunt.loadNpmTasks('grunt-tap');\r\n        \t\t\r\n        //注册一个默认任务\r\n        grunt.registerTask('default', ['tap']);        \r\n    }\r\n\r\n#### 二、执行构建\r\n\r\n在项目根目录下执行\r\n\r\n    grunt\r\n    \r\n这样就完成了seed文件生成、文件压缩等构建工作。\r\n\r\n更多grunt使用手册请参考[Grunt官方文档](http://gruntjs.com/getting-started)。\r\n\r\n\r\n## grunt-tap配置\r\n\r\n#### buildcfg\r\n\r\nbuildcfg任务用于生成包的配置文件，配置文件用于让脚本在use的时候告诉kissy应当去加载哪个模块，配置项：\r\n\r\n* name : 包名，模块的前缀，例如mui、global、malldetail，建议使用仓库名\r\n* version : 发布版本号，建议从package.json中读取\r\n* baseurl : 包的url前缀，默认是http://g.tbcdn.cn/tm/\r\n\r\n#### build  \r\n\r\nbuild任务用于进行ascii化、文件压缩等源码处理工作，配置项：  \r\n\r\n* compress: 是否进行压缩，默认为true  \r\n\r\n\r\n## 为grunt-tap开发新功能\r\n1. 通过`git clone`和`git branch`在本地创建一个本仓库的分支\r\n2. 修改tasks/tap.js文件，开发新功能\r\n3. 完成新功能的开发和测试\r\n4. `git push`到远程分支上\r\n5. 提交merge request.","maintainers":[{"name":"xhowhy","email":"xhowhy@gmail.com"}],"time":{"modified":"2022-06-18T16:06:35.375Z","created":"2013-12-18T05:44:57.140Z","0.1.0":"2013-12-18T06:08:48.271Z","0.1.1":"2013-12-18T06:39:08.959Z","0.1.2":"2013-12-25T07:15:34.418Z","0.1.3":"2013-12-25T08:11:46.526Z","0.1.4":"2013-12-31T02:42:08.659Z","0.1.5":"2014-01-07T03:12:44.956Z","0.1.6":"2014-01-21T09:00:51.521Z","0.1.7":"2014-03-07T07:33:26.243Z","0.1.8":"2014-03-31T06:44:45.309Z","0.1.9":"2014-04-03T04:02:05.514Z"},"author":{"name":"fanyu.xhy","email":"fanyu.xhy@tmall.com"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:x/tap.git"},"readmeFilename":"README.md","homepage":"http://gitlab.alibaba-inc.com/x/tap","keywords":["tmall","tap","asset","publish"]}