tibialand/tibia-node-crawler

View on GitHub
Gruntfile.js

Summary

Maintainability
A
1 hr
Test Coverage
'use strict';
module.exports = function(grunt) {

  grunt.loadNpmTasks('grunt-replace');

  grunt.initConfig({
    replace: {
      module: {
        options: {
          patterns: [
            {match: 'Module', replacement: "<%= grunt.config.get('nameUpper') %>"},
            {match: 'module', replacement: "<%= grunt.config.get('nameLower') %>"},
            {match: 'ModuleParser', replacement: "<%= grunt.config.get('nameUpper') %>Parser"},
            {match: 'ModuleRequester', replacement: "<%= grunt.config.get('nameUpper') %>Requester"},
          ]
        },
        files: [
          {
            expand: true,
            flatten: true,
            src: ['.bp/module/*', '.bp/module/**/*'],
            dest: "src/modules/<%= grunt.config.get('nameLower') %>/"
          }
        ]
      }
    },
    'release-it': {
      options: {
        pkgFiles: ['package.json'],
        commitMessage: 'Release %s',
        tagName: '%s',
        tagAnnotation: 'Release %s',
        buildCommand: false
      }
    }
  });

  grunt.registerTask('create-module', function(name){
    grunt.config.set('nameLower', name.toLowerCase());
    grunt.config.set('nameUpper', name.toLowerCase().charAt(0).toUpperCase() + name.toLowerCase().slice(1));
    grunt.task.run('replace:module');
  });

};