123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- 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'
- ]
- },
- jshint: {
- options: {
- jshintrc: true
- },
- code: {
- src: ["src/js/**/*.js"]
- },
- tests: {
- src: ["tests/**/*.js"]
- }
- },
- sass: {
- dist: {
- options: {
- outputStyle: "compressed"
- },
- files: {
- "dist/css/select2.min.css": [
- "src/scss/core.scss",
- "src/scss/theme/default/layout.css"
- ]
- }
- },
- dev: {
- options: {
- outputStyle: "nested"
- },
- files: {
- "dist/css/select2.css": [
- "src/scss/core.scss",
- "src/scss/theme/default/layout.css"
- ]
- }
- }
- },
- requirejs: {
- "dist": {
- options: {
- baseUrl: "src/js",
- optimize: "none",
- name: "select2/core",
- out: "dist/js/select2.js",
- include: amdIncludes.concat(includes),
- paths: {
- almond: "../../vendor/almond-0.2.9",
- jquery: "jquery.shim"
- }
- }
- },
- "dist.full": {
- options: {
- baseUrl: "src/js",
- optimize: "none",
- name: "select2/core",
- out: "dist/js/select2.full.js",
- include: amdIncludes.concat(fullIncludes),
- paths: {
- almond: "../../vendor/almond-0.2.9",
- jquery: "../../vendor/jquery-2.1.0"
- }
- }
- },
- "amd": {
- options: {
- baseUrl: "src/js",
- optimize: "none",
- name: "select2/core",
- out: "dist/js/select2.amd.js",
- include: includes,
- paths: {
- jquery: "empty:"
- }
- }
- },
- "amd.full": {
- options: {
- baseUrl: "src/js",
- optimize: "none",
- name: "select2/core",
- out: "dist/js/select2.amd.full.js",
- include: fullIncludes,
- paths: {
- jquery: "empty:"
- }
- }
- }
- },
- concat: {
- "dist": {
- src: [
- "src/js/start.js",
- "dist/js/select2.js",
- "src/js/end.js"
- ],
- dest: "dist/js/select2.js"
- },
- "dist.full": {
- src: [
- "src/js/start.js",
- "dist/js/select2.full.js",
- "src/js/end.js"
- ],
- dest: "dist/js/select2.full.js"
- }
- },
- watch: {
- js: {
- files: [
- "src/js/select2/**/*.js",
- "tests/**/*.js",
- ],
- tasks: [
- "compile",
- "test",
- 'minify'
- ]
- },
- css: {
- files: [
- "src/scss/**/*.scss"
- ],
- tasks: [
- "compile",
- 'minify'
- ]
- }
- }
- });
- 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")
- grunt.loadNpmTasks("grunt-sass")
- grunt.registerTask("default", ["compile", "test", "minify"])
- grunt.registerTask("compile", ["requirejs", "sass:dev", "concat"])
- grunt.registerTask("minify", ["uglify", "sass:dist"])
- grunt.registerTask("test", ["qunit", "jshint"])
- }
|