diff --git a/cookiecutter.json b/cookiecutter.json index e6687822..d1c0b26d 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -2,9 +2,9 @@ "project_name": "My Awesome Project", "project_slug": "{{ cookiecutter.project_name.lower()|replace(' ', '_')|replace('-', '_') }}", "description": "Behold My Awesome Project!", - "author_name": "Daniel Roy Greenfeld", - "email": "{{ cookiecutter.author_name.lower()|replace(' ', '-') }}@example.com", + "author_name": "{{ cookiecutter.project_slug }}", "domain_name": "example.com", + "email": "{{ cookiecutter.author_name.lower()|replace(' ', '-') }}@example.com", "version": "0.1.0", "open_source_license": [ "MIT", @@ -28,8 +28,7 @@ ], "js_task_runner": [ "None", - "Gulp", - "Grunt" + "Gulp" ], "custom_bootstrap_compilation": "n", "use_compressor": "n", diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index 4c46cbdc..476d65af 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -60,9 +60,8 @@ postgresql_version [1] js_task_runner [1] Select a JavaScript task runner. The choices are: - 1. Gulp_ - 2. Grunt_ - 3. None + 1. None + 2. Gulp_ custom_bootstrap_compilation [n] Indicates whether the project should support Bootstrap recompilation @@ -114,7 +113,6 @@ debug [n] .. _PostgreSQL: https://www.postgresql.org/docs/ .. _Gulp: https://github.com/gulpjs/gulp -.. _Grunt: https://github.com/gruntjs/grunt .. _Django Compressor: https://github.com/django-compressor/django-compressor diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index 5e60b23a..884590ac 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -67,12 +67,6 @@ def remove_heroku_files(): os.remove(file_name) -def remove_grunt_files(): - file_names = ["Gruntfile.js"] - for file_name in file_names: - os.remove(file_name) - - def remove_gulp_files(): file_names = ["gulpfile.js"] for file_name in file_names: @@ -264,16 +258,11 @@ def main(): if "{{ cookiecutter.keep_local_envs_in_vcs }}".lower() == "y": append_to_gitignore_file("!.envs/.local/") - if "{{ cookiecutter.js_task_runner}}".lower() == "gulp": - remove_grunt_files() - elif "{{ cookiecutter.js_task_runner}}".lower() == "grunt": + if "{{ cookiecutter.js_task_runner}}".lower() == "none": remove_gulp_files() - else: - remove_gulp_files() - remove_grunt_files() remove_packagejson_file() if ( - "{{ cookiecutter.js_task_runner }}".lower() in ["grunt", "gulp"] + "{{ cookiecutter.js_task_runner }}".lower() != "none" and "{{ cookiecutter.use_docker }}".lower() == "y" ): print( diff --git a/{{cookiecutter.project_slug}}/.gitignore b/{{cookiecutter.project_slug}}/.gitignore index 84b7e6d6..3cabaac2 100644 --- a/{{cookiecutter.project_slug}}/.gitignore +++ b/{{cookiecutter.project_slug}}/.gitignore @@ -105,9 +105,6 @@ coverage # nyc test coverage .nyc_output -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - # Bower dependency directory (https://bower.io/) bower_components diff --git a/{{cookiecutter.project_slug}}/Gruntfile.js b/{{cookiecutter.project_slug}}/Gruntfile.js deleted file mode 100644 index b225266c..00000000 --- a/{{cookiecutter.project_slug}}/Gruntfile.js +++ /dev/null @@ -1,144 +0,0 @@ -module.exports = function (grunt) { - - var appConfig = grunt.file.readJSON('package.json'); - - // Load grunt tasks automatically - // see: https://github.com/sindresorhus/load-grunt-tasks - require('load-grunt-tasks')(grunt); - - // Time how long tasks take. Can help when optimizing build times - // see: https://npmjs.org/package/time-grunt - require('time-grunt')(grunt); - - var pathsConfig = function (appName) { - this.app = appName || appConfig.name; - - return { - app: this.app, - templates: this.app + '/templates', - css: this.app + '/static/css', - sass: this.app + '/static/sass', - fonts: this.app + '/static/fonts', - images: this.app + '/static/images', - js: this.app + '/static/js', - manageScript: 'manage.py', - } - }; - - grunt.initConfig({ - - paths: pathsConfig(), - pkg: appConfig, - - // see: https://github.com/gruntjs/grunt-contrib-watch - watch: { - gruntfile: { - files: ['Gruntfile.js'] - }, - sass: { - files: ['<%= paths.sass %>/**/*.{scss,sass}'], - tasks: ['sass:dev'], - options: { - atBegin: true - } - }, - livereload: { - files: [ - '<%= paths.js %>/**/*.js', - '<%= paths.sass %>/**/*.{scss,sass}', - '<%= paths.app %>/**/*.html' - ], - options: { - spawn: false, - livereload: true, - }, - }, - }, - - // see: https://github.com/sindresorhus/grunt-sass - sass: { - dev: { - options: { - outputStyle: 'nested', -{% if cookiecutter.custom_bootstrap_compilation == 'y' %} - includePaths: ['node_modules/bootstrap/scss'], -{% endif %} - sourceMap: false, - precision: 10 - }, - files: { - '<%= paths.css %>/project.css': '<%= paths.sass %>/project.scss' - }, - }, - dist: { - options: { - outputStyle: 'compressed', -{% if cookiecutter.custom_bootstrap_compilation == 'y' %} - includePaths: ['node_modules/bootstrap/scss'], -{% endif %} - sourceMap: false, - precision: 10 - }, - files: { - '<%= paths.css %>/project.css': '<%= paths.sass %>/project.scss' - }, - } - }, - - //see https://github.com/nDmitry/grunt-postcss - postcss: { - options: { - map: true, // inline sourcemaps - - processors: [ - require('pixrem')(), // add fallbacks for rem units - require('autoprefixer')({browsers: [ - 'Android 2.3', - 'Android >= 4', - 'Chrome >= 20', - 'Firefox >= 24', - 'Explorer >= 8', - 'iOS >= 6', - 'Opera >= 12', - 'Safari >= 6' - ]}), // add vendor prefixes - require('cssnano')() // minify the result - ] - }, - dist: { - src: '<%= paths.css %>/*.css' - } - }, - - // see: https://npmjs.org/package/grunt-bg-shell - bgShell: { - _defaults: { - bg: true - }, - runDjango: { - cmd: 'python <%= paths.manageScript %> runserver' - }, - {% if cookiecutter.use_mailhog == "y" and cookiecutter.use_docker == 'n' -%}runMailHog: { - cmd: './mailhog' - },{%- endif %} - } - }); - - grunt.registerTask('serve', [ - {% if cookiecutter.use_mailhog == "y" and cookiecutter.use_docker == 'n' -%} - 'bgShell:runMailHog', - {%- endif %} - 'bgShell:runDjango', - 'watch' - ]); - - grunt.registerTask('build', [ - 'sass:dist', - 'postcss' - ]); - - grunt.registerTask('default', [ - 'build' - ]); - -}; diff --git a/{{cookiecutter.project_slug}}/package.json b/{{cookiecutter.project_slug}}/package.json index acaae12a..f32c41a2 100644 --- a/{{cookiecutter.project_slug}}/package.json +++ b/{{cookiecutter.project_slug}}/package.json @@ -3,28 +3,7 @@ "version": "{{ cookiecutter.version }}", "dependencies": {}, "devDependencies": { - {% if cookiecutter.js_task_runner == 'Grunt' %} - "autoprefixer": "~8.1.0", - {% if cookiecutter.custom_bootstrap_compilation == 'y' %} - "bootstrap": "^4.0.0", - {% endif %} - "connect-livereload": "~0.6.0", - "cssnano": "~3.10.0", - "grunt": "~1.0.2", - "grunt-bg-shell": "~2.3.1", - "grunt-contrib-watch": "~1.0.0", - "grunt-postcss": "~0.9.0", - "grunt-sass": "~2.1.0", - {% if cookiecutter.custom_bootstrap_compilation == 'y' %} - "jquery": "^3.2.1-slim", - {% endif %} - "load-grunt-tasks": "~3.2.0", - "pixrem": "~4.0.1", - {% if cookiecutter.custom_bootstrap_compilation == 'y' %} - "popper.js": "^1.12.3", - {% endif %} - "time-grunt": "~1.2.1" - {% elif cookiecutter.js_task_runner == 'Gulp' %} + {% if cookiecutter.js_task_runner == 'Gulp' %} {% if cookiecutter.custom_bootstrap_compilation == 'y' %} "bootstrap": "^4.0.0", {% endif %} @@ -54,11 +33,8 @@ "node": ">=0.8.0" }, "scripts": { - {% if cookiecutter.js_task_runner == 'Grunt' %} - "dev": "grunt serve" - {% elif cookiecutter.js_task_runner == 'Gulp' %} + {% if cookiecutter.js_task_runner == 'Gulp' %} "dev": "gulp" {% endif %} - } }