sao-base/Gruntfile.js
C?dric Krier b10566af26 Add initial stylesheet
review909002
2013-09-17 17:40:59 +02:00

98 lines
2.5 KiB
JavaScript

module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
dist: {
src: [
'src/sao.js',
'src/rpc.js',
'src/pyson.js',
'src/session.js',
'src/model.js',
'src/tab.js',
'src/screen.js',
'src/view.js',
'src/action.js',
'src/common.js',
'src/window.js',
'src/wizard.js'
],
dest: 'dist/<%= pkg.name %>.js'
}
},
jshint: {
dist: {
options: {
jshintrc: 'src/.jshintrc'
},
src: ['dist/<%= pkg.name %>.js']
},
grunt: {
src: ['Gruntfile.js']
},
tests: {
options: {
jshintrc: 'tests/.jshintrc'
},
src: ['tests/*.js']
}
},
uglify: {
options: {
banner: '/*! <%= pkg.name %>-<%= pkg.version %> | GPL-3\n' +
'This file is part of Tryton. ' +
'The COPYRIGHT file at the top level of\n' +
'this repository contains the full copyright notices ' +
'and license terms. */\n'
},
dist: {
src: 'dist/<%= pkg.name %>.js',
dest: 'dist/<%= pkg.name %>.min.js'
}
},
less: {
dev: {
options: {
paths: ['src']
},
files: {
'dist/<%= pkg.name %>.css': 'src/*.less'
}
},
'default': {
options: {
paths: ['src'],
yuicompress: true
},
files: {
'dist/<%= pkg.name %>.min.css': 'src/*.less'
}
}
},
watch: {
scripts: {
files: ['src/*.js'],
tasks: ['concat', 'jshint']
},
styles: {
files: ['src/*.less'],
tasks: 'less:dev'
}
}
});
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-watch');
// Default task(s).
grunt.registerTask('default', ['concat', 'jshint', 'uglify', 'less:default']);
grunt.registerTask('dev', ['concat', 'jshint', 'less:dev']);
};