aboutsummaryrefslogtreecommitdiffhomepage
path: root/public/bower_components/bootstrap-datepicker/Gruntfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/bower_components/bootstrap-datepicker/Gruntfile.js')
-rw-r--r--public/bower_components/bootstrap-datepicker/Gruntfile.js261
1 files changed, 261 insertions, 0 deletions
diff --git a/public/bower_components/bootstrap-datepicker/Gruntfile.js b/public/bower_components/bootstrap-datepicker/Gruntfile.js
new file mode 100644
index 0000000..4b8065e
--- /dev/null
+++ b/public/bower_components/bootstrap-datepicker/Gruntfile.js
@@ -0,0 +1,261 @@
+module.exports = function(grunt){
+ 'use strict';
+
+ // Force use of Unix newlines
+ grunt.util.linefeed = '\n';
+
+ // Project configuration.
+ grunt.initConfig({
+ //Metadata
+ pkg: grunt.file.readJSON('package.json'),
+ banner: [
+ '/*!',
+ ' * Datepicker for Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)',
+ ' *',
+ ' * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)',
+ ' */'
+ ].join('\n') + '\n',
+
+ // Task configuration.
+ clean: {
+ dist: ['dist', '*-dist.zip']
+ },
+ jshint: {
+ options: {
+ jshintrc: 'js/.jshintrc'
+ },
+ main: {
+ src: 'js/bootstrap-datepicker.js'
+ },
+ locales: {
+ src: 'js/locales/*.js'
+ },
+ gruntfile: {
+ options: {
+ jshintrc: 'grunt/.jshintrc'
+ },
+ src: 'Gruntfile.js'
+ }
+ },
+ jscs: {
+ options: {
+ config: 'js/.jscsrc'
+ },
+ main: {
+ src: 'js/bootstrap-datepicker.js'
+ },
+ locales: {
+ src: 'js/locales/*.js'
+ },
+ gruntfile: {
+ src: 'Gruntfile.js'
+ }
+ },
+ qunit: {
+ main: 'tests/tests.html',
+ timezone: 'tests/timezone.html',
+ options: {
+ console: false
+ }
+ },
+ concat: {
+ options: {
+ stripBanners: true
+ },
+ main: {
+ src: 'js/bootstrap-datepicker.js',
+ dest: 'dist/js/<%= pkg.name %>.js'
+ }
+ },
+ uglify: {
+ options: {
+ preserveComments: 'some'
+ },
+ main: {
+ src: '<%= concat.main.dest %>',
+ dest: 'dist/js/<%= pkg.name %>.min.js'
+ },
+ locales: {
+ files: [{
+ expand: true,
+ cwd: 'js/locales/',
+ src: '*.js',
+ dest: 'dist/locales/',
+ rename: function(dest, name){
+ return dest + name.replace(/\.js$/, '.min.js');
+ }
+ }]
+ }
+ },
+ less: {
+ options: {
+ sourceMap: true,
+ outputSourceFiles: true
+ },
+ standalone_bs2: {
+ options: {
+ sourceMapURL: '<%= pkg.name %>.standalone.css.map'
+ },
+ src: 'build/build_standalone.less',
+ dest: 'dist/css/<%= pkg.name %>.standalone.css'
+ },
+ standalone_bs3: {
+ options: {
+ sourceMapURL: '<%= pkg.name %>3.standalone.css.map'
+ },
+ src: 'build/build_standalone3.less',
+ dest: 'dist/css/<%= pkg.name %>3.standalone.css'
+ },
+ main_bs2: {
+ options: {
+ sourceMapURL: '<%= pkg.name %>.css.map'
+ },
+ src: 'build/build.less',
+ dest: 'dist/css/<%= pkg.name %>.css'
+ },
+ main_bs3: {
+ options: {
+ sourceMapURL: '<%= pkg.name %>3.css.map'
+ },
+ src: 'build/build3.less',
+ dest: 'dist/css/<%= pkg.name %>3.css'
+ }
+ },
+ usebanner: {
+ options: {
+ banner: '<%= banner %>'
+ },
+ css: 'dist/css/*.css',
+ js: 'dist/js/**/*.js'
+ },
+ cssmin: {
+ options: {
+ compatibility: 'ie8',
+ keepSpecialComments: '*',
+ advanced: false
+ },
+ main: {
+ files: {
+ 'dist/css/<%= pkg.name %>.min.css': 'dist/css/<%= pkg.name %>.css',
+ 'dist/css/<%= pkg.name %>3.min.css': 'dist/css/<%= pkg.name %>3.css'
+ }
+ },
+ standalone: {
+ files: {
+ 'dist/css/<%= pkg.name %>.standalone.min.css': 'dist/css/<%= pkg.name %>.standalone.css',
+ 'dist/css/<%= pkg.name %>3.standalone.min.css': 'dist/css/<%= pkg.name %>3.standalone.css'
+ }
+ }
+ },
+ csslint: {
+ options: {
+ csslintrc: 'less/.csslintrc'
+ },
+ dist: [
+ 'dist/css/bootstrap-datepicker.css',
+ 'dist/css/bootstrap-datepicker3.css',
+ 'dist/css/bootstrap-datepicker.standalone.css',
+ 'dist/css/bootstrap-datepicker3.standalone.css'
+ ]
+ },
+ compress: {
+ main: {
+ options: {
+ archive: '<%= pkg.name %>-<%= pkg.version %>-dist.zip',
+ mode: 'zip',
+ level: 9,
+ pretty: true
+ },
+ files: [
+ {
+ expand: true,
+ cwd: 'dist/',
+ src: '**'
+ }
+ ]
+ }
+ },
+ 'string-replace': {
+ js: {
+ files: [{
+ src: 'js/bootstrap-datepicker.js',
+ dest: 'js/bootstrap-datepicker.js'
+ }],
+ options: {
+ replacements: [{
+ pattern: /\$(\.fn\.datepicker\.version)\s=\s*("|\')[0-9\.a-z].*("|');/gi,
+ replacement: "$.fn.datepicker.version = '" + grunt.option('newver') + "';"
+ }]
+ }
+ },
+ npm: {
+ files: [{
+ src: 'package.json',
+ dest: 'package.json'
+ }],
+ options: {
+ replacements: [{
+ pattern: /\"version\":\s\"[0-9\.a-z].*",/gi,
+ replacement: '"version": "' + grunt.option('newver') + '",'
+ }]
+ }
+ }
+ }
+ });
+
+ // These plugins provide necessary tasks.
+ require('load-grunt-tasks')(grunt, {scope: 'devDependencies'});
+ require('time-grunt')(grunt);
+
+ // JS distribution task.
+ grunt.registerTask('dist-js', ['concat', 'uglify:main', 'uglify:locales', 'usebanner:js']);
+
+ // CSS distribution task.
+ grunt.registerTask('less-compile', 'less');
+ grunt.registerTask('dist-css', ['less-compile', 'cssmin:main', 'cssmin:standalone', 'usebanner:css']);
+
+ // Full distribution task.
+ grunt.registerTask('dist', ['clean:dist', 'dist-js', 'dist-css']);
+
+ // Code check tasks.
+ grunt.registerTask('lint-js', 'Lint all js files with jshint and jscs', ['jshint', 'jscs']);
+ grunt.registerTask('lint-css', 'Lint all css files', ['dist-css', 'csslint:dist']);
+ grunt.registerTask('qunit-all', 'Run qunit tests', ['qunit:main', 'qunit-timezone']);
+ grunt.registerTask('test', 'Lint files and run unit tests', ['lint-js', /*'lint-css',*/ 'qunit-all']);
+
+ // Version numbering task.
+ // grunt bump-version --newver=X.Y.Z
+ grunt.registerTask('bump-version', 'string-replace');
+
+ // Docs task.
+ grunt.registerTask('screenshots', 'Rebuilds automated docs screenshots', function(){
+ var phantomjs = require('phantomjs-prebuilt').path;
+
+ grunt.file.recurse('docs/_static/screenshots/', function(abspath){
+ grunt.file.delete(abspath);
+ });
+
+ grunt.file.recurse('docs/_screenshots/', function(abspath, root, subdir, filename){
+ if (!/.html$/.test(filename))
+ return;
+ subdir = subdir || '';
+
+ var outdir = 'docs/_static/screenshots/' + subdir,
+ outfile = outdir + filename.replace(/.html$/, '.png');
+
+ if (!grunt.file.exists(outdir))
+ grunt.file.mkdir(outdir);
+
+ // NOTE: For 'zh-TW' and 'ja' locales install adobe-source-han-sans-jp-fonts (Arch Linux)
+ grunt.util.spawn({
+ cmd: phantomjs,
+ args: ['docs/_screenshots/script/screenshot.js', abspath, outfile]
+ });
+ });
+ });
+
+ grunt.registerTask('qunit-timezone', 'Run timezone tests', function(){
+ process.env.TZ = 'Europe/Moscow';
+ grunt.task.run('qunit:timezone');
+ });
+};