@@ -14,7 +14,6 @@ const sass = require('gulp-sass')(require('sass'));
1414const fiber = require ( 'fibers' ) ;
1515const gzip = require ( 'gulp-gzip' ) ;
1616const reactiumImporter = require ( '@atomic-reactor/node-sass-reactium-importer' ) ;
17- const less = require ( 'gulp-less' ) ;
1817const cleanCSS = require ( 'gulp-clean-css' ) ;
1918const sourcemaps = require ( 'gulp-sourcemaps' ) ;
2019const rename = require ( 'gulp-rename' ) ;
@@ -540,66 +539,88 @@ $assets: (
540539 done ( ) ;
541540 } ;
542541
542+ const dddStylesPartial = done => {
543+ const stylePartials = globby
544+ . sync ( config . src . styleDDD )
545+ . map ( partial => {
546+ if ( / ^ r e a c t i u m _ m o d u l e s \/ / . test ( partial ) ) {
547+ return partial . replace ( 'reactium_modules/' , '+' ) ;
548+ }
549+
550+ return path . relative (
551+ path . dirname ( config . dest . modulesPartial ) ,
552+ path . resolve ( rootPath , partial ) ,
553+ ) ;
554+ } )
555+ . map ( partial => partial . replace ( / \. s c s s $ / , '' ) ) ;
556+
557+ const template = handlebars . compile ( `
558+ // WARNING: Do not directly edit this file !!!!
559+ // File generated by gulp styles:partials task
560+
561+ {{#each this}}
562+ @import '{{ this }}';
563+ {{/each}}
564+ ` ) ;
565+
566+ fs . ensureFileSync ( config . dest . modulesPartial ) ;
567+ fs . writeFileSync (
568+ config . dest . modulesPartial ,
569+ template ( stylePartials ) ,
570+ 'utf8' ,
571+ ) ;
572+ done ( ) ;
573+ } ;
574+
543575 const stylesColors = done => {
544- if ( config . cssPreProcessor === 'sass' ) {
545- // Currently only works with sass
546- let colorProfiles = globby . sync ( config . src . colors ) ;
547- if ( colorProfiles . length > 0 ) {
548- let colorFileContents =
549- '// WARNING: Do not directly edit this file !!!!\n// File generated by gulp styles:colors task\n' ;
550- let colorVars = [ ] ;
551- let colorArr = [ ] ;
552-
553- colorProfiles . forEach ( filePath => {
554- let profile = fs . readFileSync ( path . resolve ( filePath ) ) ;
555- profile = JSON . parse ( profile ) ;
556-
557- colorVars . push ( `\n\n// ~/${ filePath } ` ) ;
558-
559- Object . keys ( profile ) . forEach ( k => {
560- let code = profile [ k ] ;
561- let cvar = `$${ k } ` ;
562- let vline = `${ cvar } : ${ code } !default;` ;
563- let cname = k . split ( 'color-' ) . join ( '' ) ;
564- let aline = `\t"${ cname } ": ${ cvar } ` ;
565-
566- colorVars . push ( vline ) ;
567- colorArr . push ( aline ) ;
568- } ) ;
576+ const colorProfiles = globby . sync ( config . src . colors ) ;
577+ if ( colorProfiles . length > 0 ) {
578+ let colorFileContents =
579+ '// WARNING: Do not directly edit this file !!!!\n// File generated by gulp styles:colors task\n' ;
580+ let colorVars = [ ] ;
581+ let colorArr = [ ] ;
582+
583+ colorProfiles . forEach ( filePath => {
584+ let profile = fs . readFileSync ( path . resolve ( filePath ) ) ;
585+ profile = JSON . parse ( profile ) ;
586+
587+ colorVars . push ( `\n\n// ~/${ filePath } ` ) ;
588+
589+ Object . keys ( profile ) . forEach ( k => {
590+ let code = profile [ k ] ;
591+ let cvar = `$${ k } ` ;
592+ let vline = `${ cvar } : ${ code } !default;` ;
593+ let cname = k . split ( 'color-' ) . join ( '' ) ;
594+ let aline = `\t"${ cname } ": ${ cvar } ` ;
595+
596+ colorVars . push ( vline ) ;
597+ colorArr . push ( aline ) ;
569598 } ) ;
599+ } ) ;
570600
571- colorFileContents += colorVars . join ( '\n' ) + '\n\n\n' ;
572- colorFileContents += `$color: (\n${ colorArr . join (
573- ',\n' ,
574- ) } \n) !default;\n\n\n`;
601+ colorFileContents += colorVars . join ( '\n' ) + '\n\n\n' ;
602+ colorFileContents += `$color: (\n${ colorArr . join (
603+ ',\n' ,
604+ ) } \n) !default;\n\n\n`;
575605
576- fs . ensureFileSync ( config . dest . colors ) ;
577- fs . writeFileSync ( config . dest . colors , colorFileContents , 'utf8' ) ;
578- }
606+ fs . ensureFileSync ( config . dest . colors ) ;
607+ fs . writeFileSync ( config . dest . colors , colorFileContents , 'utf8' ) ;
579608 }
580609
581610 done ( ) ;
582611 } ;
583612
584613 const stylesCompile = ( ) => {
585- // Compile Sass & Less
586- let isSass = config . cssPreProcessor === 'sass' ;
587- let isLess = config . cssPreProcessor === 'less' ;
588-
589614 return gulp
590615 . src ( config . src . style )
591616 . pipe ( gulpif ( isDev , sourcemaps . init ( ) ) )
592617 . pipe (
593- gulpif (
594- isSass ,
595- sass ( {
596- importer : reactiumImporter ,
597- includePaths : config . src . includes ,
598- fiber,
599- } ) . on ( 'error' , sass . logError ) ,
600- ) ,
618+ sass ( {
619+ importer : reactiumImporter ,
620+ includePaths : config . src . includes ,
621+ fiber,
622+ } ) . on ( 'error' , sass . logError ) ,
601623 )
602- . pipe ( gulpif ( isLess , less ( { paths : config . src . includes } ) ) )
603624 . pipe ( prefix ( config . browsers ) )
604625 . pipe ( gulpif ( ! isDev , cleanCSS ( ) ) )
605626 . pipe ( gulpif ( isDev , sourcemaps . write ( ) ) )
@@ -610,6 +631,7 @@ $assets: (
610631
611632 const styles = gulp . series (
612633 task ( 'styles:colors' ) ,
634+ task ( 'styles:partials' ) ,
613635 task ( 'styles:pluginAssets' ) ,
614636 task ( 'styles:compile' ) ,
615637 ) ;
@@ -664,6 +686,7 @@ $assets: (
664686 sw,
665687 static : staticTask ,
666688 'static:copy' : staticCopy ,
689+ 'styles:partials' : dddStylesPartial ,
667690 'styles:pluginAssets' : pluginAssets ,
668691 'styles:colors' : stylesColors ,
669692 'styles:compile' : stylesCompile ,
0 commit comments