mirror of
https://gitlab.com/JKANetwork/CheckServer.git
synced 2026-03-10 20:42:02 +01:00
Start again
This commit is contained in:
184
vendors/DateJS/GruntFile.js
vendored
Normal file
184
vendors/DateJS/GruntFile.js
vendored
Normal file
@@ -0,0 +1,184 @@
|
||||
// GruntFile for building the final compiled files from the core.
|
||||
// Run using NodeJS and the Grunt module
|
||||
var fs = require("fs");
|
||||
var dirs = {
|
||||
core: "src/core",
|
||||
i18n: "src/i18n",
|
||||
build: "build"
|
||||
};
|
||||
var getI18NFiles = function () {
|
||||
return fs.readdirSync(dirs.i18n);
|
||||
};
|
||||
|
||||
var buildMinifyFileList = function (dev) {
|
||||
var output_path = dev ? "" : "production/";
|
||||
var output_ext = dev ? "." : ".min.";
|
||||
var files = getI18NFiles();
|
||||
var output = {};
|
||||
files.map(function(item){
|
||||
var file_core_name = "date-" + item.replace(".js", "");
|
||||
var dest = dirs.build + "/"+output_path + file_core_name + output_ext + "js";
|
||||
output[dest] = [dirs.build + "/" + file_core_name + ".js"];
|
||||
return dest;
|
||||
});
|
||||
output[dirs.build + "/"+output_path + "date"+output_ext+"js"] = [dirs.build + "/" + "date.js"];
|
||||
return output;
|
||||
};
|
||||
|
||||
var banner = "/** \n" +
|
||||
" * @overview <%= pkg.name %>\n" +
|
||||
" * @version <%= pkg.version %>\n" +
|
||||
" * @author <%= pkg.author.name %> <<%= pkg.author.email %>>\n" +
|
||||
" * @copyright <%= grunt.template.today('yyyy') %> <%= pkg.author.name %>\n" +
|
||||
" * @license <%= pkg.license %>\n" +
|
||||
" * @homepage <%= pkg.homepage %>\n" +
|
||||
" */";
|
||||
|
||||
module.exports = function(grunt) {
|
||||
// Project configuration.
|
||||
grunt.initConfig({
|
||||
pkg: grunt.file.readJSON("package.json"),
|
||||
dirs: dirs,
|
||||
build_dev: {
|
||||
description: "Builds files designed for easy debugging on dev enviroments (non-minified)"
|
||||
},
|
||||
build_prod: {
|
||||
description: "Builds production ready files (minified)"
|
||||
},
|
||||
closurecompiler: {
|
||||
minify: {
|
||||
files: buildMinifyFileList(),
|
||||
options: {
|
||||
"compilation_level": "SIMPLE_OPTIMIZATIONS",
|
||||
"max_processes": 5,
|
||||
"banner": banner
|
||||
}
|
||||
}
|
||||
},
|
||||
concat: {
|
||||
options: {
|
||||
separator: "\n",
|
||||
banner: banner,
|
||||
nonull: true
|
||||
},
|
||||
core: {
|
||||
src: [
|
||||
"<%= dirs.core %>/i18n.js",
|
||||
"<%= dirs.core %>/core.js",
|
||||
"<%= dirs.core %>/core-prototypes.js",
|
||||
"<%= dirs.core %>/sugarpak.js",
|
||||
"<%= dirs.core %>/format_parser.js",
|
||||
"<%= dirs.core %>/parsing_operators.js",
|
||||
"<%= dirs.core %>/parsing_translator.js",
|
||||
"<%= dirs.core %>/parsing_grammar.js",
|
||||
"<%= dirs.core %>/parser.js",
|
||||
"<%= dirs.core %>/extras.js",
|
||||
"<%= dirs.core %>/time_span.js",
|
||||
"<%= dirs.core %>/time_period.js"
|
||||
],
|
||||
dest: "<%= dirs.build %>/date-core.js"
|
||||
},
|
||||
basic: {
|
||||
src: [
|
||||
"<%= dirs.core %>/i18n.js",
|
||||
"<%= dirs.core %>/core.js",
|
||||
"<%= dirs.core %>/core-prototypes.js",
|
||||
"<%= dirs.core %>/sugarpak.js",
|
||||
"<%= dirs.core %>/format_parser.js",
|
||||
"<%= dirs.core %>/parsing_operators.js",
|
||||
"<%= dirs.core %>/parsing_translator.js",
|
||||
"<%= dirs.core %>/parsing_grammar.js",
|
||||
"<%= dirs.core %>/parser.js",
|
||||
"<%= dirs.core %>/extras.js",
|
||||
"<%= dirs.core %>/time_span.js",
|
||||
"<%= dirs.core %>/time_period.js"
|
||||
],
|
||||
dest: "<%= dirs.build %>/date.js"
|
||||
}
|
||||
},
|
||||
i18n: {
|
||||
core: {
|
||||
core: "<%= dirs.build %>/date-core.js",
|
||||
src: ["<%= dirs.i18n %>/*.js"],
|
||||
dest: "<%= dirs.build %>/" // destination *directory*, probably better than specifying same file names twice
|
||||
}
|
||||
},
|
||||
shell: {
|
||||
updateCodeClimate: {
|
||||
command: "codeclimate < reports/lcov.info",
|
||||
options: {
|
||||
stdout: true,
|
||||
stderr: true,
|
||||
failOnError: true
|
||||
}
|
||||
}
|
||||
},
|
||||
jasmine : {
|
||||
src : [
|
||||
"src/core/i18n.js",
|
||||
"src/core/core.js",
|
||||
"src/core/core-prototypes.js",
|
||||
"src/core/sugarpak.js",
|
||||
"src/core/format_parser.js",
|
||||
"src/core/parsing_operators.js",
|
||||
"src/core/parsing_translator.js",
|
||||
"src/core/parsing_grammar.js",
|
||||
"src/core/parser.js",
|
||||
"src/core/extras.js",
|
||||
"src/core/time_period.js",
|
||||
"src/core/time_span.js"
|
||||
],
|
||||
options : {
|
||||
specs : "specs/*-spec.js",
|
||||
template : require("grunt-template-jasmine-istanbul"),
|
||||
templateOptions: {
|
||||
template: "specs/jasmine-2.0.3/specrunner.tmpl",
|
||||
coverage: "reports/coverage.json",
|
||||
report: {
|
||||
type: "lcov",
|
||||
options: {
|
||||
replace: true,
|
||||
dir: "reports/"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
grunt.registerMultiTask("i18n", "Wraps DateJS core with Internationalization info.", function() {
|
||||
var data = this.data,
|
||||
path = require("path"),
|
||||
dest = grunt.template.process(data.dest),
|
||||
files = grunt.file.expand(data.src),
|
||||
core = grunt.file.read(grunt.template.process(data.core)),
|
||||
sep = grunt.util.linefeed,
|
||||
banner_compiled = grunt.template.process(banner);
|
||||
|
||||
files.forEach(function(f) {
|
||||
var p = dest + "/" + "date-" + path.basename(f),
|
||||
contents = grunt.file.read(f);
|
||||
|
||||
grunt.file.write(p, banner_compiled + sep + contents + sep + core );
|
||||
grunt.log.writeln("File \"" + p + "\" created.");
|
||||
});
|
||||
grunt.file.delete(dirs.build+"/date-core.js");
|
||||
});
|
||||
grunt.registerMultiTask("build_dev", "Builds compiled, non-minfied, files for development enviroments", function() {
|
||||
grunt.task.run(["concat:core", "concat:basic", "i18n:core"]);
|
||||
});
|
||||
grunt.registerMultiTask("build_prod", "Rebuilds dev and minifies files for production enviroments", function() {
|
||||
grunt.task.run(["concat:core", "concat:basic", "i18n:core", "closurecompiler:minify"]);
|
||||
});
|
||||
|
||||
grunt.loadNpmTasks("grunt-contrib-jasmine");
|
||||
|
||||
// now set the default
|
||||
grunt.registerTask("default", ["build_dev"]);
|
||||
// Load the plugin that provides the "minify" task.
|
||||
grunt.loadNpmTasks("grunt-shell");
|
||||
grunt.loadNpmTasks("grunt-closurecompiler");
|
||||
grunt.loadNpmTasks("grunt-contrib-concat");
|
||||
grunt.registerTask("test", ["jasmine", "shell:updateCodeClimate"]);
|
||||
};
|
||||
Reference in New Issue
Block a user