111 lines
2.3 KiB
CoffeeScript
111 lines
2.3 KiB
CoffeeScript
module.exports = (grunt) ->
|
|
|
|
pkg = grunt.file.readJSON 'package.json'
|
|
|
|
# Project configuration.
|
|
grunt.initConfig
|
|
pkg: pkg
|
|
concat:
|
|
coffee:
|
|
options:
|
|
process:
|
|
data: pkg
|
|
src: [
|
|
'src/config.coffee'
|
|
'src/globals.coffee'
|
|
'lib/ui.coffee'
|
|
'lib/$.coffee'
|
|
'lib/polyfill.coffee'
|
|
'src/features.coffee'
|
|
'src/qr.coffee'
|
|
'src/report.coffee'
|
|
'src/main.coffee'
|
|
]
|
|
dest: 'tmp/script.coffee'
|
|
|
|
script:
|
|
options:
|
|
process:
|
|
data: pkg
|
|
src: [
|
|
'src/metadata.js'
|
|
'src/banner.js'
|
|
'tmp/script.js'
|
|
]
|
|
dest: '<%= pkg.meta.files.userjs %>'
|
|
|
|
metadata:
|
|
options:
|
|
process:
|
|
data: pkg
|
|
src: 'src/metadata.js',
|
|
dest: '<%= pkg.meta.files.metajs %>'
|
|
|
|
coffee:
|
|
script:
|
|
src: 'tmp/script.coffee'
|
|
dest: 'tmp/script.js'
|
|
|
|
exec:
|
|
commit:
|
|
command: ->
|
|
release = "#{pkg.meta.name} v#{pkg.version}"
|
|
return [
|
|
"git checkout #{pkg.meta.mainBranch}"
|
|
"git commit -am 'Release #{release}.'"
|
|
"git tag -a #{pkg.version} -m '#{release}.'"
|
|
"git tag -af stable -m '#{release}.'"
|
|
].join(' && ');
|
|
stdout: true
|
|
|
|
push:
|
|
command: 'git push origin --all && git push origin --tags'
|
|
stdout: true
|
|
|
|
watch:
|
|
all:
|
|
options:
|
|
interrupt: true
|
|
files: [
|
|
'Gruntfile.js'
|
|
'package.json'
|
|
'lib/**/*.coffee'
|
|
'src/**/*.coffee'
|
|
'src/**/*.js'
|
|
'css/**/*.css'
|
|
'img/*'
|
|
]
|
|
tasks: 'default'
|
|
|
|
clean:
|
|
tmp: 'tmp'
|
|
|
|
grunt.loadNpmTasks 'grunt-bump'
|
|
grunt.loadNpmTasks 'grunt-contrib-clean'
|
|
grunt.loadNpmTasks 'grunt-contrib-coffee'
|
|
grunt.loadNpmTasks 'grunt-contrib-concat'
|
|
grunt.loadNpmTasks 'grunt-contrib-watch'
|
|
grunt.loadNpmTasks 'grunt-exec'
|
|
|
|
grunt.registerTask 'default', [
|
|
'concat:coffee'
|
|
'coffee:script'
|
|
'concat:script'
|
|
'concat:metadata'
|
|
'clean'
|
|
]
|
|
|
|
grunt.registerTask 'release', [
|
|
'default'
|
|
'exec:commit'
|
|
'exec:push'
|
|
]
|
|
|
|
grunt.registerTask 'patch', [
|
|
'bump'
|
|
]
|
|
|
|
grunt.registerTask 'upgrade', [
|
|
'bump:minor'
|
|
]
|