hello-theme/Gruntfile.js

154 lines
2.4 KiB
JavaScript
Raw Normal View History

2018-12-16 23:02:16 +02:00
/**
* Elementor Hello Theme Makefile
*/
'use strict';
2018-12-16 23:02:16 +02:00
module.exports = function( grunt ) {
require( 'matchdep' ).filterDev( 'grunt-*' ).forEach( grunt.loadNpmTasks );
2021-05-20 13:50:14 +02:00
const sass = require( 'node-sass' );
2018-12-16 23:02:16 +02:00
// Project configuration.
grunt.initConfig( {
pkg: grunt.file.readJSON( 'package.json' ),
2018-12-16 23:02:16 +02:00
2021-03-17 16:10:53 +02:00
webpack: require( './webpack' ),
sass: {
2021-03-18 17:27:57 +02:00
options: {
2021-05-20 13:50:14 +02:00
implementation: sass,
2021-03-18 17:27:57 +02:00
},
dist: {
files: [ {
expand: true,
cwd: 'assets/scss',
src: '*.scss',
dest: './',
2021-05-20 13:50:14 +02:00
ext: '.css',
} ],
},
},
2018-12-16 23:02:16 +02:00
postcss: {
dev: {
options: {
//map: true,
2018-12-16 23:02:16 +02:00
processors: [
require( 'autoprefixer' )( {
2021-05-20 13:50:14 +02:00
browsers: 'last 3 versions',
} ),
],
},
files: [ {
src: [
'*.css',
2021-05-20 13:50:14 +02:00
'!*.min.css',
],
} ],
},
minify: {
options: {
processors: [
require( 'autoprefixer' )( {
2021-05-20 13:50:14 +02:00
browsers: 'last 3 versions',
} ),
2021-05-20 13:50:14 +02:00
require( 'cssnano' )( {
reduceIdents: false,
2019-12-23 14:43:54 +02:00
zindex: false,
2021-05-20 13:50:14 +02:00
} ),
],
},
files: [ {
2019-06-04 14:20:28 +03:00
expand: true,
src: [
'*.css',
2021-05-20 13:50:14 +02:00
'!*.min.css',
],
2021-05-20 13:50:14 +02:00
ext: '.min.css',
} ],
},
},
watch: {
styles: {
files: [
2021-05-20 13:50:14 +02:00
'assets/scss/**/*.scss',
],
2021-05-20 13:50:14 +02:00
tasks: [ 'styles' ],
},
},
checktextdomain: {
options: {
2019-02-12 10:48:21 +02:00
text_domain: 'hello-elementor',
correct_domain: true,
keywords: [
// WordPress keywords
'__:1,2d',
'_e:1,2d',
'_x:1,2c,3d',
'esc_html__:1,2d',
'esc_html_e:1,2d',
'esc_html_x:1,2c,3d',
'esc_attr__:1,2d',
'esc_attr_e:1,2d',
'esc_attr_x:1,2c,3d',
'_ex:1,2c,3d',
'_n:1,2,4d',
'_nx:1,2,4c,5d',
'_n_noop:1,2,3d',
2021-05-20 13:50:14 +02:00
'_nx_noop:1,2,3c,4d',
],
},
files: {
src: [
'**/*.php',
'!docs/**',
'!bin/**',
'!node_modules/**',
'!build/**',
'!tests/**',
'!.github/**',
'!vendor/**',
2021-05-20 13:50:14 +02:00
'!*~',
],
2021-05-20 13:50:14 +02:00
expand: true,
},
},
wp_readme_to_markdown: {
readme: {
files: {
2021-05-20 13:50:14 +02:00
'README.md': 'readme.txt',
},
},
},
} );
2018-12-16 23:02:16 +02:00
grunt.registerTask( 'i18n', [
'checktextdomain',
] );
2018-12-16 23:02:16 +02:00
grunt.registerTask( 'wp_readme', [
'wp_readme_to_markdown',
] );
2021-03-17 16:10:53 +02:00
grunt.registerTask( 'watch_scripts', ( isDevMode = false ) => {
grunt.task.run( 'webpack:development' );
} );
2018-12-16 23:02:16 +02:00
grunt.registerTask( 'styles', [
'sass',
2021-05-20 13:50:14 +02:00
'postcss',
2018-12-16 23:02:16 +02:00
] );
// Default task(s).
grunt.registerTask( 'default', [
'i18n',
'styles',
'wp_readme',
2018-12-16 23:02:16 +02:00
] );
};