updated node package and gulpfiles for automation in theme and modules
This commit is contained in:
@@ -1,73 +0,0 @@
|
||||
/**
|
||||
* @Author: Bachir Soussi Chiadmi <bach>
|
||||
* @Date: 20-12-2017
|
||||
* @Email: bachir@figureslibres.io
|
||||
* @Filename: gulpfile.js
|
||||
* @Last modified by: bach
|
||||
* @Last modified time: 20-12-2017
|
||||
* @License: GPL-V3
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var gulp = require('gulp');
|
||||
var gulpif = require('gulp-if');
|
||||
var sass = require('gulp-sass');
|
||||
var watch = require('gulp-watch');
|
||||
var autoprefixer = require('gulp-autoprefixer');
|
||||
var stripDebug = require('gulp-strip-debug');
|
||||
var jsmin = require('gulp-jsmin');
|
||||
var cssmin = require('gulp-cssmin');
|
||||
var rename = require('gulp-rename');
|
||||
// var mainBowerFiles = require('main-bower-files');
|
||||
var es = require('event-stream');
|
||||
|
||||
var modules = ['edlp_corpus', 'edlp_studio', 'edlp_search'];
|
||||
|
||||
// to get minified assets run `gulp --env=prod`
|
||||
var argv = require('minimist')(process.argv.slice(2));
|
||||
console.dir(argv);
|
||||
var prod = argv.env == 'prod' ? true : false;
|
||||
|
||||
function handleError(err) {
|
||||
console.log(err.toString());
|
||||
}
|
||||
|
||||
gulp.task('scripts', function (done) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
modules.map(function(module) {
|
||||
gulp.src('./'+module+'/assets/scripts/*.js')
|
||||
.pipe(gulpif(prod, stripDebug()))
|
||||
.pipe(gulpif(prod, jsmin()))
|
||||
.pipe(rename({suffix: '.min'}))
|
||||
.pipe(gulp.dest('./'+module+'/assets/dist/scripts/'));
|
||||
});
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
|
||||
gulp.task('styles', function (done) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
modules.map(function(module) {
|
||||
gulp.src('./'+module+'/assets/styles/*.scss')
|
||||
.pipe(sass().on('error', sass.logError))
|
||||
.pipe(autoprefixer({
|
||||
cascade: false
|
||||
})).on('error', handleError)
|
||||
.pipe(gulpif(prod, cssmin()))
|
||||
// .pipe(cssmin())
|
||||
.pipe(rename({suffix: '.min'}))
|
||||
.pipe(gulp.dest('./'+module+'/assets/dist/styles/'));
|
||||
});
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
|
||||
// default gulp task
|
||||
gulp.task('default', gulp.series('scripts', 'styles', done => {
|
||||
for (var i = 0; i < modules.length; i++) {
|
||||
gulp.watch('./'+modules[i]+'/assets/styles/*.scss', gulp.series('styles'));
|
||||
gulp.watch('./'+modules[i]+'/assets/scripts/*.js', gulp.series('scripts'));
|
||||
}
|
||||
done()
|
||||
}));
|
||||
@@ -0,0 +1,92 @@
|
||||
/**
|
||||
* @Author: Bachir Soussi Chiadmi <bach>
|
||||
* @Date: 20-12-2017
|
||||
* @Email: bachir@figureslibres.io
|
||||
* @Filename: gulpfile.js
|
||||
* @Last modified by: bach
|
||||
* @Last modified time: 20-12-2017
|
||||
* @License: GPL-V3
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import gulp from 'gulp';
|
||||
const { series, src, dest, watch } = gulp;
|
||||
import gulpif from 'gulp-if';
|
||||
import * as dartSass from 'sass';
|
||||
import gulpSass from 'gulp-sass';
|
||||
const sass = gulpSass(dartSass);
|
||||
import autoprefixer from 'gulp-autoprefixer';
|
||||
import stripDebug from 'gulp-strip-debug';
|
||||
import jsmin from 'gulp-jsmin';
|
||||
import cssmin from 'gulp-cssmin';
|
||||
import rename from 'gulp-rename';
|
||||
import minimist from 'minimist';
|
||||
|
||||
// var es = require('event-stream');
|
||||
|
||||
var modules = ['edlp_corpus', 'edlp_studio', 'edlp_search'];
|
||||
|
||||
// to get minified assets run `gulp --env=prod`
|
||||
var argv = minimist(process.argv.slice(2));
|
||||
console.dir(argv);
|
||||
var prod = argv.env == 'prod' ? true : false;
|
||||
|
||||
function handleError(err) {
|
||||
console.log(err.toString());
|
||||
}
|
||||
|
||||
function scripts() {
|
||||
return new Promise(function(resolve, reject) {
|
||||
modules.map(function(module) {
|
||||
src('./'+module+'/assets/scripts/*.js')
|
||||
.pipe(gulpif(prod, stripDebug()))
|
||||
.pipe(gulpif(prod, jsmin()))
|
||||
.pipe(rename({suffix: '.min'}))
|
||||
.pipe(gulp.dest('./'+module+'/assets/dist/scripts/'));
|
||||
});
|
||||
resolve();
|
||||
});
|
||||
};
|
||||
|
||||
function styles() {
|
||||
return new Promise(function(resolve, reject) {
|
||||
modules.map(function(module) {
|
||||
src('./'+module+'/assets/styles/*.scss')
|
||||
.pipe(sass().on('error', sass.logError))
|
||||
.pipe(autoprefixer({
|
||||
cascade: false
|
||||
})).on('error', handleError)
|
||||
.pipe(gulpif(prod, cssmin()))
|
||||
// .pipe(cssmin())
|
||||
.pipe(rename({suffix: '.min'}))
|
||||
.pipe(gulp.dest('./'+module+'/assets/dist/styles/'));
|
||||
});
|
||||
resolve();
|
||||
});
|
||||
};
|
||||
|
||||
// default gulp task
|
||||
function defaultTask () {
|
||||
series('scripts', 'styles', done => {
|
||||
for (var i = 0; i < modules.length; i++) {
|
||||
watch('./'+modules[i]+'/assets/styles/*.scss', series('styles'));
|
||||
watch('./'+modules[i]+'/assets/scripts/*.js', series('scripts'));
|
||||
}
|
||||
done()
|
||||
})
|
||||
};
|
||||
|
||||
function devwatch(){
|
||||
watch('./assets/styles/*.scss', series('styles'));
|
||||
watch('./assets/styles/base/*.scss', series('styles'));
|
||||
watch('./assets/scripts/*.js', series('scripts'));
|
||||
}
|
||||
|
||||
export {
|
||||
scripts as scripts,
|
||||
styles as styles,
|
||||
devwatch as devwatch,
|
||||
defaultTask as default
|
||||
}
|
||||
|
||||
Generated
+5637
-5761
File diff suppressed because it is too large
Load Diff
@@ -7,19 +7,17 @@
|
||||
"license": "GPLv3",
|
||||
"homepage": "https://encyclopediedelaparole.org",
|
||||
"devDependencies": {
|
||||
"event-stream": "^3.3.5",
|
||||
"gulp": "latest",
|
||||
"gulp-autoprefixer": "latest",
|
||||
"gulp-cssmin": "latest",
|
||||
"gulp-if": "^2.0.2",
|
||||
"gulp-jsmin": "latest",
|
||||
"gulp-json-to-sass": "0.0.4",
|
||||
"gulp": "^5.0.0",
|
||||
"gulp-autoprefixer": "^9.0.0",
|
||||
"gulp-cssmin": "^0.2.0",
|
||||
"gulp-if": "^3.0.0",
|
||||
"gulp-jsmin": "^0.1.5",
|
||||
"gulp-rename": "^2.0.0",
|
||||
"gulp-sass": "^4.0.2",
|
||||
"gulp-strip-debug": "^3.0.0",
|
||||
"gulp-watch": "latest",
|
||||
"minimist": "^1.2.5",
|
||||
"node-sass": "^4.13.1"
|
||||
"gulp-sass": "^5.1.0",
|
||||
"gulp-strip-debug": "^6.0.0",
|
||||
"gulp-watch": "^5.0.1",
|
||||
"minimist": "^1.2.8",
|
||||
"sass": "^1.78.0"
|
||||
},
|
||||
"dependencies": {}
|
||||
}
|
||||
|
||||
+61
-43
@@ -1,26 +1,24 @@
|
||||
'use strict';
|
||||
|
||||
var gulp = require('gulp');
|
||||
var gulpif = require('gulp-if');
|
||||
var sass = require('gulp-sass');
|
||||
var watch = require('gulp-watch');
|
||||
var autoprefixer = require('gulp-autoprefixer');
|
||||
var jsmin = require('gulp-jsmin');
|
||||
var stripDebug = require('gulp-strip-debug');
|
||||
var cssmin = require('gulp-cssmin');
|
||||
var rename = require('gulp-rename');
|
||||
var mainBowerFiles = require('main-bower-files');
|
||||
// var jsonToSass = require('gulp-json-to-sass');
|
||||
// var concat = require('gulp-concat');
|
||||
var svgmin = require('gulp-svgmin');
|
||||
// var fs = require('fs');
|
||||
// var json2js = require('gulp-json2js');
|
||||
// var data = require('gulp-data');
|
||||
import gulp from 'gulp';
|
||||
const { series, src, dest, watch } = gulp;
|
||||
import gulpif from 'gulp-if';
|
||||
import * as dartSass from 'sass';
|
||||
import gulpSass from 'gulp-sass';
|
||||
const sass = gulpSass(dartSass);
|
||||
import autoprefixer from 'gulp-autoprefixer';
|
||||
import stripDebug from 'gulp-strip-debug';
|
||||
import jsmin from 'gulp-jsmin';
|
||||
import cssmin from 'gulp-cssmin';
|
||||
import rename from 'gulp-rename';
|
||||
import mainBowerFiles from 'main-bower-files';
|
||||
import svgmin from 'gulp-svgmin';
|
||||
import minimist from 'minimist';
|
||||
|
||||
// var shared_variables = JSON.parse(fs.readFileSync('./assets/json/shared_variables.json'));
|
||||
|
||||
// to get minified assets run `gulp --env=prod`
|
||||
var argv = require('minimist')(process.argv.slice(2));
|
||||
var argv = minimist(process.argv.slice(2));
|
||||
console.dir(argv);
|
||||
var prod = argv.env == 'prod' ? true : false;
|
||||
|
||||
@@ -28,18 +26,18 @@ function handleError(err) {
|
||||
console.log(err.toString());
|
||||
}
|
||||
|
||||
gulp.task('scripts', done => {
|
||||
gulp.src(['./assets/scripts/main.js', './assets/scripts/redirect.js']) // './assets/scripts/shared_variables.js',
|
||||
function scripts() {
|
||||
return src(['./assets/scripts/main.js', './assets/scripts/redirect.js']) // './assets/scripts/shared_variables.js',
|
||||
// .pipe(concat('main.js'))
|
||||
.pipe(gulpif(prod, stripDebug()))
|
||||
.pipe(gulpif(prod, jsmin()))
|
||||
.pipe(rename({suffix: '.min'}))
|
||||
.pipe(gulp.dest('./assets/dist/scripts/'));
|
||||
done()
|
||||
});
|
||||
.pipe(dest('./assets/dist/scripts/'));
|
||||
|
||||
};
|
||||
|
||||
gulp.task('styles', done => {
|
||||
gulp.src(['./assets/styles/app.scss'])
|
||||
function styles() {
|
||||
return src(['./assets/styles/app.scss'])
|
||||
.pipe(sass().on('error', sass.logError))
|
||||
.pipe(autoprefixer({
|
||||
browsers: ['last 2 versions'],
|
||||
@@ -50,11 +48,10 @@ gulp.task('styles', done => {
|
||||
// .pipe(cssmin())
|
||||
.pipe(rename({suffix: '.min'}))
|
||||
.pipe(gulp.dest('./assets/dist/styles/'));
|
||||
done()
|
||||
});
|
||||
};
|
||||
|
||||
gulp.task('bower', done => {
|
||||
gulp.src(mainBowerFiles({
|
||||
function bower(){
|
||||
return src(mainBowerFiles({
|
||||
"overrides":{
|
||||
"masonry-layout":{
|
||||
"main":"./dist/masonry.pkgd.min.js"
|
||||
@@ -70,29 +67,50 @@ gulp.task('bower', done => {
|
||||
}
|
||||
}))
|
||||
.pipe(gulp.dest('./assets/dist/bower/'));
|
||||
done()
|
||||
});
|
||||
};
|
||||
|
||||
gulp.task('svg', done => {
|
||||
gulp.src(['./assets/img/*.svg', '!./assets/img/edlp-loader-anim.svg'])
|
||||
function minsvg(){
|
||||
return src(['./assets/img/*.svg', '!./assets/img/edlp-loader-anim.svg'])
|
||||
.pipe(svgmin())
|
||||
.pipe(gulp.dest('./assets/dist/img'));
|
||||
gulp.src('./assets/img/edlp-loader-anim.svg')
|
||||
};
|
||||
|
||||
function svg(){
|
||||
return src('./assets/img/edlp-loader-anim.svg')
|
||||
.pipe(gulp.dest('./assets/dist/img'));
|
||||
done()
|
||||
});
|
||||
};
|
||||
|
||||
function devwatch(){
|
||||
watch('./assets/styles/*.scss', series('styles'));
|
||||
watch('./assets/styles/base/*.scss', series('styles'));
|
||||
watch('./assets/scripts/*.js', series('scripts'));
|
||||
watch('./assets/img/*.svg', series('svg'));
|
||||
}
|
||||
|
||||
// default gulp task
|
||||
// , 'vars2sass' 'vars2js',
|
||||
// gulp.task('default', ['bower', 'scripts', 'styles', 'svg'], function() {
|
||||
gulp.task('default', gulp.series('bower', 'scripts', 'styles', 'svg', function(done) {
|
||||
// gulp.watch('./assets/json/*.json', ['vars2js', 'styles', 'scripts']); //, 'vars2sass'
|
||||
gulp.watch('./assets/styles/*.scss', gulp.series('styles'));
|
||||
gulp.watch('./assets/styles/base/*.scss', gulp.series('styles'));
|
||||
gulp.watch('./assets/scripts/*.js', gulp.series('scripts'));
|
||||
gulp.watch('./assets/img/*.svg', gulp.series('svg'));
|
||||
done()
|
||||
}));
|
||||
// gulp.task('default', gulp.series('bower', 'scripts', 'styles', 'svg', function(done) {
|
||||
// // gulp.watch('./assets/json/*.json', ['vars2js', 'styles', 'scripts']); //, 'vars2sass'
|
||||
// gulp.watch('./assets/styles/*.scss', gulp.series('styles'));
|
||||
// gulp.watch('./assets/styles/base/*.scss', gulp.series('styles'));
|
||||
// gulp.watch('./assets/scripts/*.js', gulp.series('scripts'));
|
||||
// gulp.watch('./assets/img/*.svg', gulp.series('svg'));
|
||||
// done()
|
||||
// }));
|
||||
|
||||
|
||||
function defaultTask(){series('bower', 'scripts', 'styles', 'svg', 'minsvg', 'devwatch')};
|
||||
|
||||
export {
|
||||
scripts as scripts,
|
||||
styles as styles,
|
||||
bower as bower,
|
||||
svg as svg,
|
||||
minsvg as minsvg,
|
||||
devwatch as devwatch,
|
||||
defaultTask as default
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"name": "edlpd8theme",
|
||||
"version": "0.0.1",
|
||||
"description": "A theme for drupal.",
|
||||
"main": "gulpfile.js",
|
||||
"author": "Bachir Soussi Chiadmi",
|
||||
"license": "GPLv3",
|
||||
"homepage": "https://encyclopediedelaparole.org",
|
||||
"scripts": {
|
||||
"dev": "gulp"
|
||||
},
|
||||
"devDependencies": {
|
||||
"gulp": "^4.0.2",
|
||||
"gulp-autoprefixer": "^5.0.0",
|
||||
"gulp-concat": "latest",
|
||||
"gulp-cssmin": "latest",
|
||||
"gulp-if": "^2.0.2",
|
||||
"gulp-jsmin": "latest",
|
||||
"gulp-json-to-sass": "latest",
|
||||
"gulp-json2js": "latest",
|
||||
"gulp-rename": "latest",
|
||||
"gulp-sass": "^4.0.2",
|
||||
"gulp-strip-debug": "^3.0.0",
|
||||
"gulp-svgmin": "^1.2.4",
|
||||
"gulp-util": "latest",
|
||||
"gulp-watch": "latest",
|
||||
"main-bower-files": "^2.13.3",
|
||||
"minimist": "^1.2.0"
|
||||
},
|
||||
"dependencies": {}
|
||||
}
|
||||
@@ -6,24 +6,22 @@
|
||||
"author": "Bachir Soussi Chiadmi",
|
||||
"license": "GPLv3",
|
||||
"homepage": "https://encyclopediedelaparole.org",
|
||||
"devDependencies": {
|
||||
"gulp": "^4.0.2",
|
||||
"gulp-autoprefixer": "^5.0.0",
|
||||
"gulp-concat": "latest",
|
||||
"gulp-cssmin": "latest",
|
||||
"gulp-if": "^2.0.2",
|
||||
"gulp-jsmin": "latest",
|
||||
"gulp-json-to-sass": "latest",
|
||||
"gulp-json2js": "latest",
|
||||
"gulp-rename": "latest",
|
||||
"gulp-sass": "^4.0.2",
|
||||
"gulp-strip-debug": "^3.0.0",
|
||||
"gulp-svgmin": "^1.2.4",
|
||||
"gulp-util": "latest",
|
||||
"gulp-watch": "latest",
|
||||
"main-bower-files": "^2.13.3",
|
||||
"minimist": "^1.2.0",
|
||||
"node-sass": "^4.13.0"
|
||||
"scripts": {
|
||||
"dev": "gulp default"
|
||||
},
|
||||
"dependencies": {}
|
||||
"devDependencies": {
|
||||
"gulp": "^5.0.0",
|
||||
"gulp-autoprefixer": "^9.0.0",
|
||||
"gulp-cssmin": "^0.2.0",
|
||||
"gulp-if": "^3.0.0",
|
||||
"gulp-jsmin": "^0.1.5",
|
||||
"gulp-rename": "^2.0.0",
|
||||
"gulp-sass": "^5.1.0",
|
||||
"gulp-strip-debug": "^6.0.0",
|
||||
"gulp-svgmin": "^4.1.0",
|
||||
"gulp-watch": "^5.0.1",
|
||||
"main-bower-files": "^2.13.3",
|
||||
"minimist": "^1.2.8",
|
||||
"sass": "^1.78.0"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user