mirror of
https://github.com/nasa/openmct.git
synced 2025-06-13 04:38:15 +00:00
[Build] Switch compass to bourbon
Change mixin library to bourbon. Significantly reduces sass build time. https://github.com/nasa/openmctweb/issues/698
This commit is contained in:
58
gulpfile.js
58
gulpfile.js
@ -24,7 +24,9 @@
|
||||
var gulp = require('gulp'),
|
||||
requirejsOptimize = require('gulp-requirejs-optimize'),
|
||||
sourcemaps = require('gulp-sourcemaps'),
|
||||
compass = require('gulp-compass'),
|
||||
rename = require('gulp-rename'),
|
||||
sass = require('gulp-sass'),
|
||||
neat = require('node-neat'),
|
||||
jshint = require('gulp-jshint'),
|
||||
jscs = require('gulp-jscs'),
|
||||
replace = require('gulp-replace-task'),
|
||||
@ -38,7 +40,7 @@ var gulp = require('gulp'),
|
||||
main: 'main.js',
|
||||
dist: 'dist',
|
||||
assets: 'dist/assets',
|
||||
scss: 'platform/**/*.scss',
|
||||
scss: ['./platform/**/*.scss', './example/**/*.scss'],
|
||||
scripts: [ 'main.js', 'platform/**/*.js', 'src/**/*.js' ],
|
||||
static: [
|
||||
'index.html',
|
||||
@ -57,10 +59,8 @@ var gulp = require('gulp'),
|
||||
configFile: path.resolve(__dirname, 'karma.conf.js'),
|
||||
singleRun: true
|
||||
},
|
||||
compass: {
|
||||
sass: __dirname,
|
||||
css: paths.assets,
|
||||
sourcemap: true
|
||||
sass: {
|
||||
includePaths: neat.includePaths
|
||||
},
|
||||
replace: {
|
||||
variables: {
|
||||
@ -70,40 +70,7 @@ var gulp = require('gulp'),
|
||||
branch: fs.existsSync('.git') ? git.branch() : 'Unknown'
|
||||
}
|
||||
}
|
||||
},
|
||||
stream = require('stream');
|
||||
|
||||
/**
|
||||
* Returns a transform stream that allows us to customize the destination
|
||||
* paths for individual sass files. Wraps compass.
|
||||
*/
|
||||
function customCompass() {
|
||||
var compassWrapper = new stream.Transform({objectMode: true});
|
||||
compassWrapper._transform = function (chunk, encoding, done) {
|
||||
if (/\/_[^\/]*.scss$/.test(chunk.path)) {
|
||||
return done();
|
||||
}
|
||||
var baseDir = 'platform/' + chunk.relative.replace(/sass\/.*$/, ''),
|
||||
options = {
|
||||
project: __dirname,
|
||||
sass: baseDir + 'sass/',
|
||||
css: baseDir + 'css/',
|
||||
comments: true,
|
||||
bundle_exec: true
|
||||
};
|
||||
|
||||
compass(options)
|
||||
.on('data', function (file) {
|
||||
this.push(file);
|
||||
}.bind(this))
|
||||
.on('error', done)
|
||||
.on('end', done)
|
||||
.end(chunk);
|
||||
};
|
||||
return compassWrapper;
|
||||
}
|
||||
|
||||
|
||||
|
||||
gulp.task('scripts', function () {
|
||||
return gulp.src(paths.main)
|
||||
@ -111,18 +78,21 @@ gulp.task('scripts', function () {
|
||||
.pipe(requirejsOptimize(options.requirejsOptimize))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(replace(options.replace))
|
||||
.pipe(gulp.dest(paths.dist));
|
||||
.pipe(gulp.dest(paths));
|
||||
});
|
||||
|
||||
gulp.task('test', function (done) {
|
||||
new karma.Server(options.karma, done).start();
|
||||
});
|
||||
|
||||
gulp.task('compass');
|
||||
|
||||
gulp.task('stylesheets', function () {
|
||||
return gulp.src(paths.scss)
|
||||
.pipe(customCompass());
|
||||
return gulp.src(paths.scss, {base: '.'})
|
||||
.pipe(sass(options.sass))
|
||||
.pipe(rename(function (file) {
|
||||
file.dirname = file.dirname.replace('/sass', '/css');
|
||||
return file;
|
||||
}))
|
||||
.pipe(gulp.dest(__dirname));
|
||||
});
|
||||
|
||||
gulp.task('lint', function () {
|
||||
|
Reference in New Issue
Block a user