1
0
mirror of synced 2024-11-25 22:36:03 +03:00
select2/Gruntfile.js
Kevin Brown 06e195b025 Work on the AMD scaffolding
This will make it far easier to ensure that components are in their
own modules as well as make it possible to have custom builds of
Select2.
2014-10-21 21:43:56 -04:00

160 lines
3.4 KiB
JavaScript

module.exports = function (grunt) {
// Full list of files that must be included by RequireJS
amd_includes = [
"almond"
]
full_includes = [
"jquery"
]
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"
]
},
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: amd_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: amd_includes.concat(full_includes),
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",
paths: {
jquery: "empty:"
}
}
},
"amd.full": {
options: {
baseUrl: "src/js",
optimize: "none",
name: "select2/core",
out: "dist/js/select2.amd.full.js",
include: full_includes,
paths: {
jquery: "empty:"
}
}
}
},
concat: {
"dist": {
src: [
"src/coffee/start.js",
"dist/js/select2.js",
"src/coffee/end.js"
],
dest: "dist/js/select2.js"
},
"dist.full": {
src: [
"src/coffee/start.js",
"dist/js/select2.full.js",
"src/coffee/end.js"
],
dest: "dist/js/select2.full.js"
}
},
watch: {
js: {
files: [
"src/js/**/*.js"
],
tasks: [
"compile",
"test"
]
},
css: {
files: [
"src/scss/**/*.scss"
],
tasks: [
"compile"
]
}
}
});
grunt.loadNpmTasks("grunt-contrib-concat")
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"])
}