updated node package and gulpfiles for automation in theme and modules

This commit is contained in:
2024-09-16 15:21:30 +02:00
parent c1d0975c44
commit b357237047
7 changed files with 5848 additions and 5908 deletions
-73
View File
@@ -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()
}));
+92
View File
@@ -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
}
+5637 -5761
View File
File diff suppressed because it is too large Load Diff
+10 -12
View File
@@ -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": {}
}
@@ -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": {}
}
+17 -19
View File
@@ -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"
}
}