Browse Source

updated node package and gulpfiles for automation in theme and modules

bach 4 months ago
parent
commit
b357237047

+ 0 - 73
web/modules/custom/gulpfile.js

@@ -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 - 0
web/modules/custom/gulpfile.mjs

@@ -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
+}
+

File diff suppressed because it is too large
+ 3854 - 3850
web/modules/custom/package-lock.json


+ 10 - 12
web/modules/custom/package.json

@@ -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
web/themes/custom/edlptheme/gulpfile.js → web/themes/custom/edlptheme/gulpfile.mjs

@@ -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
+}
 
 
 

+ 31 - 0
web/themes/custom/edlptheme/package.back.json

@@ -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": {}
+}

+ 16 - 18
web/themes/custom/edlptheme/package.json

@@ -6,24 +6,22 @@
   "author": "Bachir Soussi Chiadmi",
   "license": "GPLv3",
   "homepage": "https://encyclopediedelaparole.org",
+  "scripts": {
+    "dev": "gulp default"
+  },
   "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",
+    "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.0",
-    "node-sass": "^4.13.0"
-  },
-  "dependencies": {}
+    "minimist": "^1.2.8",
+    "sass": "^1.78.0"
+  }
 }

Some files were not shown because too many files changed in this diff