2013-07-28 05:04:21 +08:00
|
|
|
module.exports = function( grunt ) {
|
|
|
|
|
|
2013-08-25 14:48:01 +08:00
|
|
|
var fs = require('fs')
|
|
|
|
|
|
2013-07-28 05:04:21 +08:00
|
|
|
grunt.initConfig({
|
|
|
|
|
|
|
|
|
|
component_build: {
|
2013-08-08 20:00:16 +08:00
|
|
|
dev: {
|
2013-07-28 05:04:21 +08:00
|
|
|
output: './dist/',
|
2013-07-29 00:35:03 +08:00
|
|
|
name: 'seed',
|
2013-08-08 03:44:07 +08:00
|
|
|
dev: true,
|
|
|
|
|
sourceUrls: true,
|
2013-07-28 05:04:21 +08:00
|
|
|
styles: false,
|
2013-08-20 05:22:43 +08:00
|
|
|
verbose: true,
|
|
|
|
|
standalone: true
|
2013-08-08 20:00:16 +08:00
|
|
|
},
|
|
|
|
|
build: {
|
|
|
|
|
output: './dist/',
|
|
|
|
|
name: 'seed',
|
2013-08-20 05:22:43 +08:00
|
|
|
styles: false,
|
|
|
|
|
standalone: true
|
2013-09-08 13:21:41 +08:00
|
|
|
},
|
|
|
|
|
test: {
|
|
|
|
|
output: './test/',
|
|
|
|
|
name: 'seed.test',
|
|
|
|
|
styles: false
|
2013-07-28 05:04:21 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
jshint: {
|
|
|
|
|
build: {
|
|
|
|
|
src: ['src/**/*.js'],
|
|
|
|
|
options: {
|
|
|
|
|
jshintrc: "./.jshintrc"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
mocha: {
|
2013-09-08 13:21:41 +08:00
|
|
|
unit: {
|
|
|
|
|
src: ['test/unit/*.html'],
|
|
|
|
|
options: {
|
|
|
|
|
reporter: 'Spec',
|
|
|
|
|
run: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
e2e: {
|
|
|
|
|
src: ['test/e2e/*.html'],
|
2013-07-28 05:04:21 +08:00
|
|
|
options: {
|
|
|
|
|
reporter: 'Spec',
|
|
|
|
|
run: true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
2013-08-08 03:44:07 +08:00
|
|
|
uglify: {
|
|
|
|
|
build: {
|
|
|
|
|
options: {
|
|
|
|
|
compress: true,
|
|
|
|
|
mangle: true
|
|
|
|
|
},
|
|
|
|
|
files: {
|
|
|
|
|
'dist/seed.min.js': 'dist/seed.js'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
2013-07-28 05:04:21 +08:00
|
|
|
watch: {
|
2013-07-29 11:23:56 +08:00
|
|
|
options: {
|
|
|
|
|
livereload: true
|
|
|
|
|
},
|
2013-07-28 05:04:21 +08:00
|
|
|
component: {
|
|
|
|
|
files: ['src/**/*.js', 'component.json'],
|
2013-10-03 03:20:57 +08:00
|
|
|
tasks: ['component_build:dev', 'component_build:test']
|
2013-07-28 05:04:21 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
grunt.loadNpmTasks( 'grunt-contrib-watch' )
|
|
|
|
|
grunt.loadNpmTasks( 'grunt-contrib-jshint' )
|
2013-08-08 03:44:07 +08:00
|
|
|
grunt.loadNpmTasks( 'grunt-contrib-uglify' )
|
2013-07-28 05:04:21 +08:00
|
|
|
grunt.loadNpmTasks( 'grunt-component-build' )
|
|
|
|
|
grunt.loadNpmTasks( 'grunt-mocha' )
|
2013-09-08 13:21:41 +08:00
|
|
|
grunt.registerTask( 'test', ['component_build:test', 'mocha'] )
|
2013-08-26 02:58:06 +08:00
|
|
|
grunt.registerTask( 'default', [
|
|
|
|
|
'jshint',
|
|
|
|
|
'component_build:build',
|
2013-08-27 07:28:03 +08:00
|
|
|
'test',
|
2013-08-26 02:58:06 +08:00
|
|
|
'uglify'
|
|
|
|
|
])
|
2013-08-10 18:52:14 +08:00
|
|
|
|
|
|
|
|
grunt.registerTask( 'version', function (version) {
|
|
|
|
|
;['package', 'bower', 'component'].forEach(function (file) {
|
|
|
|
|
file = './' + file + '.json'
|
|
|
|
|
var json = fs.readFileSync(file, 'utf-8')
|
|
|
|
|
json = json.replace(/"version"\s*:\s*"(.+?)"/, '"version": "' + version + '"')
|
|
|
|
|
fs.writeFileSync(file, json)
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
grunt.registerTask( 'release', function (version) {
|
2013-08-26 02:58:06 +08:00
|
|
|
grunt.task.run(['default', 'version:' + version])
|
2013-08-10 18:52:14 +08:00
|
|
|
})
|
2013-07-28 05:04:21 +08:00
|
|
|
|
|
|
|
|
}
|