multi-project, incremental sass build
parent
1f762baf70
commit
91a8575b50
|
@ -18,6 +18,7 @@ node_modules/
|
|||
local/
|
||||
ui/*/npm-debug.log
|
||||
hs_*.log
|
||||
yarn-error.log
|
||||
|
||||
RUNNING_PID
|
||||
|
||||
|
|
|
@ -2,7 +2,11 @@ const gulp = require('gulp');
|
|||
const sass = require('gulp-sass');
|
||||
const sourcemaps = require('gulp-sourcemaps');
|
||||
const autoprefixer = require('gulp-autoprefixer');
|
||||
const sassInheritance = require('gulp-sass-inheritance')
|
||||
const rename = require('gulp-rename');
|
||||
const cached = require('gulp-cached');
|
||||
const gulpif = require('gulp-if');
|
||||
const filter = require('gulp-filter');
|
||||
const fs = require('fs');
|
||||
|
||||
const themes = ['light', 'dark', 'transp'];
|
||||
|
@ -24,14 +28,23 @@ const buildsGlob = './*/css/build/*.scss';
|
|||
|
||||
// createThemedBuilds(buildDir);
|
||||
|
||||
const build = () => gulp.src(buildsGlob)
|
||||
const build = () => gulp.src(sourcesGlob)
|
||||
//filter out unchanged scss files, only works when watching
|
||||
.pipe(gulpif(global.isWatching, cached('sass')))
|
||||
//find files that depend on the files that have changed
|
||||
.pipe(sassInheritance({dir: '.',debug: false}))
|
||||
//filter out internal imports (folders and files starting with "_" )
|
||||
.pipe(filter(file => !/\/_/.test(file.path) || !/^_/.test(file.relative)))
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(sass(sassOptions).on('error', sass.logError))
|
||||
.pipe(sourcemaps.write())
|
||||
.pipe(renameAs('dev'))
|
||||
.pipe(destination());
|
||||
|
||||
const setWatching = async () => { global.isWatching = true; };
|
||||
|
||||
gulp.task('css', gulp.series([
|
||||
setWatching,
|
||||
build,
|
||||
() => gulp.watch(sourcesGlob, build)
|
||||
]));
|
||||
|
|
|
@ -22,9 +22,12 @@
|
|||
"private": true,
|
||||
"dependencies": {
|
||||
"gulp": "^4",
|
||||
"gulp-uglify": "^3",
|
||||
"gulp-size": "^3",
|
||||
"gulp-cached": "^1.1.1",
|
||||
"gulp-concat": "^2.6",
|
||||
"gulp-sass-inheritance": "^1.1"
|
||||
"gulp-filter": "^5.1.0",
|
||||
"gulp-if": "^2.0.2",
|
||||
"gulp-sass-inheritance": "^1.1",
|
||||
"gulp-size": "^3",
|
||||
"gulp-uglify": "^3"
|
||||
}
|
||||
}
|
||||
|
|
90
ui/yarn.lock
90
ui/yarn.lock
|
@ -193,7 +193,14 @@ array-sort@^1.0.0:
|
|||
get-value "^2.0.6"
|
||||
kind-of "^5.0.2"
|
||||
|
||||
array-uniq@^1.0.2:
|
||||
array-union@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
|
||||
integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=
|
||||
dependencies:
|
||||
array-uniq "^1.0.1"
|
||||
|
||||
array-uniq@^1.0.1, array-uniq@^1.0.2:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
|
||||
integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
|
||||
|
@ -208,6 +215,11 @@ array-unique@^0.3.2:
|
|||
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
|
||||
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
|
||||
|
||||
arrify@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
|
||||
integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
|
||||
|
||||
assign-symbols@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
|
||||
|
@ -646,7 +658,7 @@ duplexer@^0.1.1, duplexer@~0.1.1:
|
|||
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
|
||||
integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=
|
||||
|
||||
duplexify@^3.2.0, duplexify@^3.6.0:
|
||||
duplexify@^3.2.0, duplexify@^3.5.0, duplexify@^3.6.0:
|
||||
version "3.7.1"
|
||||
resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
|
||||
integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
|
||||
|
@ -916,6 +928,11 @@ for-own@^1.0.0:
|
|||
dependencies:
|
||||
for-in "^1.0.1"
|
||||
|
||||
fork-stream@^0.0.4:
|
||||
version "0.0.4"
|
||||
resolved "https://registry.yarnpkg.com/fork-stream/-/fork-stream-0.0.4.tgz#db849fce77f6708a5f8f386ae533a0907b54ae70"
|
||||
integrity sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA=
|
||||
|
||||
fragment-cache@^0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
|
||||
|
@ -1105,6 +1122,14 @@ graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
|
|||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
|
||||
integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
|
||||
|
||||
gulp-cached@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/gulp-cached/-/gulp-cached-1.1.1.tgz#fe7cd4f87f37601e6073cfedee5c2bdaf8b6acce"
|
||||
integrity sha1-/nzU+H83YB5gc8/t7lwr2vi2rM4=
|
||||
dependencies:
|
||||
lodash.defaults "^4.2.0"
|
||||
through2 "^2.0.1"
|
||||
|
||||
gulp-cli@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.0.1.tgz#7847e220cb3662f2be8a6d572bf14e17be5a994b"
|
||||
|
@ -1138,6 +1163,31 @@ gulp-concat@^2.6:
|
|||
through2 "^2.0.0"
|
||||
vinyl "^2.0.0"
|
||||
|
||||
gulp-filter@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-filter/-/gulp-filter-5.1.0.tgz#a05e11affb07cf7dcf41a7de1cb7b63ac3783e73"
|
||||
integrity sha1-oF4Rr/sHz33PQafeHLe2OsN4PnM=
|
||||
dependencies:
|
||||
multimatch "^2.0.0"
|
||||
plugin-error "^0.1.2"
|
||||
streamfilter "^1.0.5"
|
||||
|
||||
gulp-if@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/gulp-if/-/gulp-if-2.0.2.tgz#a497b7e7573005041caa2bc8b7dda3c80444d629"
|
||||
integrity sha1-pJe351cwBQQcqivIt92jyARE1ik=
|
||||
dependencies:
|
||||
gulp-match "^1.0.3"
|
||||
ternary-stream "^2.0.1"
|
||||
through2 "^2.0.1"
|
||||
|
||||
gulp-match@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/gulp-match/-/gulp-match-1.0.3.tgz#91c7c0d7f29becd6606d57d80a7f8776a87aba8e"
|
||||
integrity sha1-kcfA1/Kb7NZgbVfYCn+Hdqh6uo4=
|
||||
dependencies:
|
||||
minimatch "^3.0.3"
|
||||
|
||||
gulp-sass-inheritance@^1.1:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/gulp-sass-inheritance/-/gulp-sass-inheritance-1.1.2.tgz#4f5b2bb712d4cc6c57d0a133d55f4545eb579f92"
|
||||
|
@ -1739,6 +1789,11 @@ lodash._root@^3.0.0:
|
|||
resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
|
||||
integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=
|
||||
|
||||
lodash.defaults@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
|
||||
integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=
|
||||
|
||||
lodash.escape@^3.0.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
|
||||
|
@ -1899,7 +1954,7 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4:
|
|||
snapdragon "^0.8.1"
|
||||
to-regex "^3.0.2"
|
||||
|
||||
"minimatch@2 || 3", minimatch@^3.0.4:
|
||||
"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.3, minimatch@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
|
||||
|
@ -1951,6 +2006,16 @@ ms@2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
||||
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
|
||||
|
||||
multimatch@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b"
|
||||
integrity sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=
|
||||
dependencies:
|
||||
array-differ "^1.0.0"
|
||||
array-union "^1.0.1"
|
||||
arrify "^1.0.0"
|
||||
minimatch "^3.0.0"
|
||||
|
||||
multipipe@^0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"
|
||||
|
@ -2805,6 +2870,13 @@ stream-shift@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
|
||||
integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=
|
||||
|
||||
streamfilter@^1.0.5:
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/streamfilter/-/streamfilter-1.0.7.tgz#ae3e64522aa5a35c061fd17f67620c7653c643c9"
|
||||
integrity sha512-Gk6KZM+yNA1JpW0KzlZIhjo3EaBJDkYfXtYSbOwNIQ7Zd6006E6+sCFlW1NDvFG/vnXhKmw6TJJgiEQg/8lXfQ==
|
||||
dependencies:
|
||||
readable-stream "^2.0.2"
|
||||
|
||||
string-width@^1.0.1, string-width@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
|
||||
|
@ -2901,6 +2973,16 @@ tar@^4:
|
|||
safe-buffer "^5.1.2"
|
||||
yallist "^3.0.2"
|
||||
|
||||
ternary-stream@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ternary-stream/-/ternary-stream-2.0.1.tgz#064e489b4b5bf60ba6a6b7bc7f2f5c274ecf8269"
|
||||
integrity sha1-Bk5Im0tb9gumpre8fy9cJ07Pgmk=
|
||||
dependencies:
|
||||
duplexify "^3.5.0"
|
||||
fork-stream "^0.0.4"
|
||||
merge-stream "^1.0.0"
|
||||
through2 "^2.0.1"
|
||||
|
||||
through2-filter@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec"
|
||||
|
@ -2925,7 +3007,7 @@ through2@^0.6.0:
|
|||
readable-stream ">=1.0.33-1 <1.1.0-0"
|
||||
xtend ">=4.0.0 <4.1.0-0"
|
||||
|
||||
through2@^2.0.0, through2@^2.0.3, through2@~2.0.0:
|
||||
through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0:
|
||||
version "2.0.5"
|
||||
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
|
||||
integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
|
||||
|
|
Loading…
Reference in New Issue