1
0
mirror of synced 2024-11-22 04:56:08 +03:00
select2/Gruntfile.js

181 lines
3.8 KiB
JavaScript
Raw Normal View History

module.exports = function (grunt) {
// Full list of files that must be included by RequireJS
includes = [
'jquery.select2'
];
amdIncludes = [
'almond'
];
fullIncludes = [
'jquery'
].concat(includes);
grunt.initConfig({
uglify: {
'dist': {
src: 'dist/js/select2.js',
dest: 'dist/js/select2.min.js'
},
'dist.full': {
src: 'dist/js/select2.full.js',
dest: 'dist/js/select2.full.min.js'
}
},
qunit: {
all: [
'tests/**/*.html'
]
},
2014-09-21 23:21:43 +04:00
jshint: {
options: {
jshintrc: true
},
code: {
2014-11-01 02:10:38 +03:00
src: ['src/js/**/*.js']
2014-09-21 23:21:43 +04:00
},
tests: {
2014-11-01 02:10:38 +03:00
src: ['tests/**/*.js']
2014-09-21 23:21:43 +04:00
}
},
sass: {
dist: {
options: {
2014-11-01 02:10:38 +03:00
outputStyle: 'compressed'
},
files: {
2014-11-01 02:10:38 +03:00
'dist/css/select2.min.css': [
'src/scss/core.scss',
'src/scss/theme/default/layout.css'
]
}
},
dev: {
options: {
2014-11-01 02:10:38 +03:00
outputStyle: 'nested'
},
files: {
2014-11-01 02:10:38 +03:00
'dist/css/select2.css': [
'src/scss/core.scss',
'src/scss/theme/default/layout.css'
]
}
}
},
requirejs: {
2014-11-01 02:10:38 +03:00
'dist': {
options: {
2014-11-01 02:10:38 +03:00
baseUrl: 'src/js',
optimize: 'none',
name: 'select2/core',
out: 'dist/js/select2.js',
include: amdIncludes.concat(includes),
paths: {
2014-11-01 02:10:38 +03:00
almond: '../../vendor/almond-0.2.9',
jquery: 'jquery.shim'
}
}
},
2014-11-01 02:10:38 +03:00
'dist.full': {
options: {
2014-11-01 02:10:38 +03:00
baseUrl: 'src/js',
optimize: 'none',
name: 'select2/core',
out: 'dist/js/select2.full.js',
include: amdIncludes.concat(fullIncludes),
paths: {
2014-11-01 02:10:38 +03:00
almond: '../../vendor/almond-0.2.9',
jquery: '../../vendor/jquery-2.1.0'
}
}
},
2014-11-01 02:10:38 +03:00
'amd': {
options: {
2014-11-01 02:10:38 +03:00
baseUrl: 'src/js',
optimize: 'none',
name: 'select2/core',
out: 'dist/js/select2.amd.js',
include: includes,
paths: {
2014-11-01 02:10:38 +03:00
jquery: 'empty:'
}
}
},
2014-11-01 02:10:38 +03:00
'amd.full': {
options: {
2014-11-01 02:10:38 +03:00
baseUrl: 'src/js',
optimize: 'none',
name: 'select2/core',
out: 'dist/js/select2.amd.full.js',
include: fullIncludes,
paths: {
2014-11-01 02:10:38 +03:00
jquery: 'empty:'
}
}
}
},
concat: {
2014-11-01 02:10:38 +03:00
'dist': {
src: [
2014-11-01 02:10:38 +03:00
'src/js/start.js',
'dist/js/select2.js',
'src/js/end.js'
],
2014-11-01 02:10:38 +03:00
dest: 'dist/js/select2.js'
},
2014-11-01 02:10:38 +03:00
'dist.full': {
src: [
2014-11-01 02:10:38 +03:00
'src/js/start.js',
'dist/js/select2.full.js',
'src/js/end.js'
],
2014-11-01 02:10:38 +03:00
dest: 'dist/js/select2.full.js'
}
},
watch: {
js: {
files: [
2014-11-01 02:10:38 +03:00
'src/js/select2/**/*.js',
'tests/**/*.js'
],
tasks: [
2014-11-01 02:10:38 +03:00
'compile',
'test',
2014-10-11 06:17:51 +04:00
'minify'
]
},
css: {
files: [
2014-11-01 02:10:38 +03:00
'src/scss/**/*.scss'
],
tasks: [
2014-11-01 02:10:38 +03:00
'compile',
2014-10-11 06:17:51 +04:00
'minify'
]
}
}
});
2014-11-01 02:10:38 +03:00
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
2014-11-01 02:10:38 +03:00
grunt.loadNpmTasks('grunt-sass');
2014-11-01 02:10:38 +03:00
grunt.registerTask('default', ['compile', 'test', 'minify']);
2014-11-01 02:10:38 +03:00
grunt.registerTask('compile', ['requirejs', 'sass:dev', 'concat']);
grunt.registerTask('minify', ['uglify', 'sass:dist']);
grunt.registerTask('test', ['qunit', 'jshint']);
};