Fixed up client files can now download and delete files, added web link to client logins added payments, quotes and recurring to client print and lots of little ui cleanups here and there
This commit is contained in:
Vendored
+188
@@ -0,0 +1,188 @@
|
||||
const sass = require('node-sass'), tildeImporter = require('grunt-sass-tilde-importer');
|
||||
|
||||
module.exports = function (grunt) {
|
||||
grunt.initConfig({
|
||||
pkg: grunt.file.readJSON('package.json'),
|
||||
banner: '/*@preserve\n' +
|
||||
' * Tempus Dominus Bootstrap4 v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
|
||||
' * Copyright 2016-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
|
||||
' * Licensed under MIT (https://github.com/tempusdominus/bootstrap-3/blob/master/LICENSE)\n' +
|
||||
' */\n',
|
||||
jqueryCheck: 'if (typeof jQuery === \'undefined\') {\n' +
|
||||
' throw new Error(\'Tempus Dominus Bootstrap4\\\'s requires jQuery. jQuery must be included before Tempus Dominus Bootstrap4\\\'s JavaScript.\');\n' +
|
||||
'}\n',
|
||||
jqueryVersionCheck: '+function ($) {\n' +
|
||||
' var version = $.fn.jquery.split(\' \')[0].split(\'.\');\n' +
|
||||
' if ((version[0] < 2 && version[1] < 9) || (version[0] === 1 && version[1] === 9 && version[2] < 1) || (version[0] >= 4)) {\n' +
|
||||
' throw new Error(\'Tempus Dominus Bootstrap4\\\'s requires at least jQuery v3.0.0 but less than v4.0.0\');\n' +
|
||||
' }\n' +
|
||||
'}(jQuery);\n\n',
|
||||
momentCheck: 'if (typeof moment === \'undefined\') {\n' +
|
||||
' throw new Error(\'Tempus Dominus Bootstrap4\\\'s requires moment.js. Moment.js must be included before Tempus Dominus Bootstrap4\\\'s JavaScript.\');\n' +
|
||||
'}\n',
|
||||
momentVersionCheck: 'var version = moment.version.split(\'.\')\n' +
|
||||
'if ((version[0] <= 2 && version[1] < 17) || (version[0] >= 3)) {\n' +
|
||||
' throw new Error(\'Tempus Dominus Bootstrap4\\\'s requires at least moment.js v2.17.0 but less than v3.0.0\');\n' +
|
||||
'}\n',
|
||||
uglify: {
|
||||
target: {
|
||||
files: {
|
||||
'build/js/<%= pkg.name %>.min.js': 'build/js/<%= pkg.name %>.js'
|
||||
}
|
||||
},
|
||||
options: {
|
||||
mangle: true,
|
||||
compress: {
|
||||
dead_code: false // eslint-disable-line
|
||||
},
|
||||
output: {
|
||||
ascii_only: true // eslint-disable-line
|
||||
},
|
||||
report: 'min',
|
||||
preserveComments: 'some'
|
||||
}
|
||||
},
|
||||
eslint: {
|
||||
options: {
|
||||
configFile: 'eslintrc.json'
|
||||
},
|
||||
target: ['Gruntfile.js', 'src/js/*.js', 'test/*.js']
|
||||
},
|
||||
babel: {
|
||||
dev: {
|
||||
options: {
|
||||
sourceMap: false,
|
||||
compact: false
|
||||
},
|
||||
files: {
|
||||
'build/js/<%= pkg.name %>.js': 'src/js/<%= pkg.name %>.js'
|
||||
}
|
||||
},
|
||||
dist: {
|
||||
options: {
|
||||
compact: false,
|
||||
'presets': [
|
||||
[
|
||||
'es2015',
|
||||
{
|
||||
'modules': false,
|
||||
'loose': true
|
||||
}
|
||||
]
|
||||
],
|
||||
'plugins': [
|
||||
'transform-es2015-modules-strip'
|
||||
]
|
||||
},
|
||||
files: {
|
||||
'build/js/<%= pkg.name %>.js': 'build/js/<%= pkg.name %>.js'
|
||||
}
|
||||
}
|
||||
},
|
||||
concat: {
|
||||
options: {
|
||||
// Custom function to remove all export and import statements
|
||||
process: function (src) {
|
||||
return src.replace(/^(export|import).*/gm, '');
|
||||
}
|
||||
},
|
||||
bootstrap: {
|
||||
src: [
|
||||
'node_modules/tempusdominus-core/src/js/tempusdominus-core.js',
|
||||
'src/js/<%= pkg.name %>.js'
|
||||
],
|
||||
dest: 'build/js/<%= pkg.name %>.js'
|
||||
}
|
||||
},
|
||||
sass: {
|
||||
production: {
|
||||
options: {
|
||||
cleancss: true,
|
||||
compress: true,
|
||||
implementation: sass,
|
||||
importer: tildeImporter
|
||||
},
|
||||
files: {
|
||||
'build/css/<%= pkg.name %>.min.css': 'src/sass/<%= pkg.name %>-build.scss'
|
||||
}
|
||||
},
|
||||
development: {
|
||||
options: {
|
||||
importer: tildeImporter,
|
||||
implementation: sass
|
||||
},
|
||||
files: {
|
||||
'build/css/<%= pkg.name %>.css': 'src/sass/<%= pkg.name %>-build.scss'
|
||||
}
|
||||
}
|
||||
},
|
||||
stamp: {
|
||||
bootstrap: {
|
||||
options: {
|
||||
banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>\n<%= momentCheck %>\n<%= momentVersionCheck %>\n+function () {\n',
|
||||
footer: '\n}();'
|
||||
},
|
||||
files: {
|
||||
src: '<%= concat.bootstrap.dest %>'
|
||||
}
|
||||
},
|
||||
css: {
|
||||
options: {
|
||||
banner: '<%= banner %>'
|
||||
},
|
||||
files: {
|
||||
src: 'build/css/*.css'
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
src: {
|
||||
files: '<%= concat.bootstrap.src %>',
|
||||
tasks: ['default']
|
||||
}
|
||||
},
|
||||
mkdocs: {
|
||||
dist: {
|
||||
src: '.',
|
||||
options: {
|
||||
clean: true
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
grunt.loadTasks('tasks');
|
||||
grunt.loadNpmTasks('grunt-mkdocs');
|
||||
|
||||
require('load-grunt-tasks')(grunt);
|
||||
grunt.registerTask('default', 'build:js');
|
||||
grunt.registerTask('build:travis', [
|
||||
'build:js', 'build:style'//,
|
||||
// tests
|
||||
//'env:paris', 'connect', 'jasmine'
|
||||
]);
|
||||
|
||||
// Task to be run when building
|
||||
grunt.registerTask('build:js', ['babel:dev', 'concat', 'eslint', 'babel:dist', 'stamp:bootstrap', 'uglify', 'copy']);
|
||||
|
||||
grunt.registerTask('build:style', ['sass', 'stamp:css', 'copy']);
|
||||
|
||||
grunt.registerTask('copy', 'Generate docs', function () {
|
||||
grunt.file.copy('build/js/tempusdominus-bootstrap-4.js', 'src/docs/theme/js/tempusdominus-bootstrap-4.js');
|
||||
grunt.file.copy('build/css/tempusdominus-bootstrap-4.css', 'src/docs/theme/css/tempusdominus-bootstrap-4.css');
|
||||
});
|
||||
|
||||
grunt.registerTask('docs', ['copy', 'mkdocs']);
|
||||
|
||||
grunt.registerTask('release', function (version) {
|
||||
if (!version || version.split('.').length !== 3) {
|
||||
grunt.fail.fatal('malformed version. Use grunt release:1.2.3');
|
||||
}
|
||||
|
||||
grunt.task.run([
|
||||
'bump_version:' + version,
|
||||
'build:travis',
|
||||
'docs'
|
||||
]);
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user