yith-woocommerce-wishlist
Last commit date
assets
5 years ago
includes
5 years ago
languages
5 years ago
plugin-fw
5 years ago
plugin-options
5 years ago
templates
5 years ago
.editorconfig
6 years ago
.jshintrc
5 years ago
README.md
5 years ago
README.txt
5 years ago
composer.json
6 years ago
gulpfile.js
5 years ago
init.php
5 years ago
package-lock.json
5 years ago
package.json
5 years ago
uninstall.php
6 years ago
wpml-config.xml
9 years ago
gulpfile.js
86 lines
| 1 | var gulp = require('gulp'); |
| 2 | var cleanCSS = require('gulp-clean-css'); |
| 3 | var uglify = require('gulp-uglify-es').default; |
| 4 | var wpPot = require('gulp-wp-pot'); |
| 5 | var poSync = require('gulp-po-sync'); |
| 6 | var po2mo = require('gulp-po2mo'); |
| 7 | var jshint = require('gulp-jshint'); |
| 8 | |
| 9 | /* Task to compile less */ |
| 10 | |
| 11 | var minifyCss = function () { |
| 12 | return gulp.src('assets/css/unminified/*.css') |
| 13 | .pipe(cleanCSS({debug: true}, (details) => { |
| 14 | console.log(`${details.name}: ${details.stats.originalSize}kb => ${details.stats.minifiedSize} kb`); |
| 15 | })) |
| 16 | .pipe(gulp.dest('./assets/css/')); |
| 17 | }; |
| 18 | |
| 19 | var minifyThemesCss = function () { |
| 20 | return gulp.src('assets/css/unminified/themes/*.css') |
| 21 | .pipe(cleanCSS({debug: true}, (details) => { |
| 22 | console.log(`${details.name}: ${details.stats.originalSize}kb => ${details.stats.minifiedSize} kb`); |
| 23 | })) |
| 24 | .pipe(gulp.dest('./assets/css/themes/')); |
| 25 | }; |
| 26 | |
| 27 | var minifyMainJs = function () { |
| 28 | return gulp.src('./assets/js/unminified/jquery.yith-wcwl.js') |
| 29 | .pipe(uglify()) |
| 30 | .pipe(gulp.dest('./assets/js/')) |
| 31 | }; |
| 32 | |
| 33 | var minifyAdminJs = function () { |
| 34 | return gulp.src('./assets/js/unminified/admin/yith-wcwl.js') |
| 35 | .pipe(uglify()) |
| 36 | .pipe(gulp.dest('./assets/js/admin/')) |
| 37 | }; |
| 38 | |
| 39 | var updatePot = function () { |
| 40 | return gulp.src(['./*.php', './**/*.php', '!./plugin-fw/**/*.php', '!./plugin-upgrade/**/*.php']) |
| 41 | .pipe(wpPot( { |
| 42 | domain: 'yith-woocommerce-wishlist', |
| 43 | package: 'YITH WooCommerce Wishlist', |
| 44 | destFile: './languages/yith-woocommerce-wishlist.pot', |
| 45 | metadataFile: '../init.php', |
| 46 | headers: { |
| 47 | "Project-Id-Version": "YITH WooCommerce Wishlist Premium", |
| 48 | "Content-Type": "text/plain; charset=UTF-8", |
| 49 | "Language-Team": "YITH <plugins@yithemes.com>", |
| 50 | "X-Poedit-KeywordsList": "__;_e;_n:1,2;__ngettext:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;esc_attr__;esc_attr_e;esc_html__;esc_html_e", |
| 51 | "X-Poedit-Basepath": "..", |
| 52 | "X-Poedit-SearchPath-0": ".", |
| 53 | "X-Poedit-SearchPathExcluded-0": "plugin-fw", |
| 54 | "X-Poedit-SearchPathExcluded-1": "plugin-upgrade", |
| 55 | "X-Poedit-SearchPathExcluded-2": "node_modules" |
| 56 | } |
| 57 | } )) |
| 58 | .pipe(gulp.dest('./languages/yith-woocommerce-wishlist.pot')); |
| 59 | }; |
| 60 | |
| 61 | var updatePo = function () { |
| 62 | return gulp.src('./languages/**/*.po') |
| 63 | .pipe(poSync('./languages/yith-woocommerce-wishlist.pot')) |
| 64 | .pipe(gulp.dest('./languages')); |
| 65 | }; |
| 66 | |
| 67 | var updateMo = function () { |
| 68 | return gulp.src('./languages/**/*.po') |
| 69 | .pipe(po2mo()) |
| 70 | .pipe(gulp.dest('./languages')); |
| 71 | }; |
| 72 | |
| 73 | var validateJs = function () { |
| 74 | return gulp.src('./assets/js/unminified/*yith*.js') |
| 75 | .pipe(jshint()) |
| 76 | .pipe(jshint.reporter('default')); |
| 77 | }; |
| 78 | |
| 79 | exports.minify_js = gulp.series(minifyMainJs, minifyAdminJs); |
| 80 | exports.minify = gulp.series(minifyCss, minifyThemesCss); |
| 81 | exports.uppot = gulp.series(updatePot); |
| 82 | exports.localize = gulp.series(updatePot, updatePo, updateMo); |
| 83 | exports.deploy = gulp.series(minifyCss, minifyThemesCss, minifyMainJs, minifyAdminJs, updatePot, updatePo, updateMo); |
| 84 | exports.default = gulp.series(minifyCss, minifyThemesCss, validateJs, minifyMainJs, minifyAdminJs); |
| 85 | exports.jshint = gulp.series(validateJs); |
| 86 |