// To use this file in WebStorm, right click on the file name in the Project Panel (normally left) and select "Open Grunt Console"
/** @namespace __dirname */
/* jshint -W097 */
/* jshint strict:false */
/* jslint node: true */
'use strict';
function getAppName() {
var parts = __dirname.replace(/\\/g, '/').split('/');
return parts[parts.length - 1].split('.')[0].toLowerCase();
}
module.exports = function (grunt) {
var srcDir = __dirname + '/';
var pkg = grunt.file.readJSON('package.json');
var iopackage = grunt.file.readJSON('io-package.json');
var version = (pkg && pkg.version) ? pkg.version : iopackage.common.version;
var appName = getAppName();
// Project configuration.
grunt.initConfig({
pkg: pkg,
replace: {
core: {
options: {
patterns: [
{
match: /var version = *'[.0-9]*';/g,
replacement: "var version = '" + version + "';"
},
{
match: /"version": *"[.0-9]*",/g,
replacement: '"version": "' + version + '",'
},
{
match: /version: *"[.0-9]*",/,
replacement: 'version: "' + version + '",'
},
{
match: /version: *'[.0-9]*',/,
replacement: "version: '" + version + "',"
}, {
match: //,
replacement: ''
},
{
match: /# vis Version [.0-9]+/,
replacement: '# vis Version ' + version
},
{
match: /# dev build [.0-9]+/g,
replacement: '# dev build 0'
}
]
},
files: [
{
expand: true,
flatten: true,
src: [
srcDir + 'package.json',
srcDir + 'io-package.json'
],
dest: srcDir
},
{
expand: true,
flatten: true,
src: [
srcDir + 'www/cache.manifest',
srcDir + 'www/edit.html',
srcDir + 'www/index.html'
],
dest: srcDir + '/www'
},
{
expand: true,
flatten: true,
src: [
srcDir + 'www/js/vis.js'
],
dest: srcDir + '/www/js'
}
]
},
name: {
options: {
patterns: [
{
match: /yunkong2/gi,
replacement: appName
},
{
match: / *\s*Copyright \(c\) \d+-\d+ bluefox https:\/\/github.com\/GermanBluefox, hobbyquaker https:\/\/github.com\/hobbyquaker/gi,
replacement: ''
}
]
},
files: [
{
expand: true,
flatten: true,
src: [
srcDir + '*.*',
srcDir + '.travis.yml',
'!' + srcDir + 'Gruntfile.js'
],
dest: srcDir
},
{
expand: true,
flatten: true,
src: [
srcDir + 'admin/*.*',
'!' + srcDir + 'admin/*.png'
],
dest: srcDir + 'admin'
},
{
expand: true,
flatten: true,
src: [
srcDir + 'lib/*.*'
],
dest: srcDir + 'lib'
},
{
expand: true,
flatten: true,
src: [
srcDir + 'example/*.*'
],
dest: srcDir + 'example'
},
{
expand: true,
flatten: true,
src: [
srcDir + 'www/*.*'
],
dest: srcDir + 'www'
},
{
expand: true,
flatten: true,
src: [
srcDir + 'www/js/*.*'
],
dest: srcDir + 'www/js'
},
{
expand: true,
flatten: true,
src: [
srcDir + 'www/widgets/*.*'
],
dest: srcDir + 'www/widgets'
},
{
expand: true,
flatten: true,
src: [
srcDir + 'test/*.*'
],
dest: srcDir + 'test'
},
{
expand: true,
flatten: true,
src: [
srcDir + 'test/lib/*.*'
],
dest: srcDir + 'test/lib'
}
]
},
minify: {
options: {
patterns: [
{
match: /'
},
{
match: //,
replacement: ''
},
{
match: //,
replacement: ''
},
{
match: //,
replacement: ''
},
{
match: //,
replacement: ''
},
{
match: //,
replacement: ''
},
{
match: /'
},
{
match: /