diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 000000000..7a5359d64 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,33 @@ +module.exports = function (grunt) { + grunt.loadNpmTasks('grunt-contrib-copy') + + var moduleName = grunt.option('name') || 'Test' + var moduleNameUpper = moduleName.toUpperCase() + var moduleNameCapital = moduleName.charAt(0).toUpperCase() + moduleName.slice(1) + var moduleNameCamel = moduleName.charAt(0).toLowerCase() + moduleName.slice(1) + + // Project configuration. + grunt.initConfig({ + copy: { + main: { + expand: true, + cwd: 'src/routes/Home', + src: ['**'], + dest: 'src/routes/' + moduleNameCapital + '/', + rename: function (dest, src) { + return dest + src.replace(/Home/g, moduleNameCapital) + }, + options: { + process: function (content, srcpath) { + return content + .replace(/Home/g, moduleNameCapital) + .replace(/HOME/g, moduleNameUpper) + .replace(/home/g, moduleNameCamel) + }, + }, + }, + }, + }) + // tasks + grunt.registerTask('createModule', ['copy']) +} diff --git a/package.json b/package.json index 582205025..b46afe909 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,8 @@ "figures": "^2.0.0", "file-loader": "^0.11.1", "fs-extra": "^3.0.1", + "grunt": "^1.0.1", + "grunt-contrib-copy": "^1.0.0", "html-webpack-plugin": "^2.24.1", "karma": "^1.7.0", "karma-coverage": "^1.1.1",