Last active
March 13, 2018 12:15
-
-
Save 5n00p4eg/a23996b4766143ef9e43d30c5d054948 to your computer and use it in GitHub Desktop.
Gulp setup
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Show hidden characters
{ | |
"root" : true, | |
"extends": "eslint:recommended", | |
"globals": { | |
"Drupal": true, | |
"drupalSettings": true, | |
"drupalTranslations": true, | |
"domready": true, | |
"jQuery": true, | |
"_": true, | |
"matchMedia": true, | |
"Backbone": true, | |
"Modernizr": true, | |
"CKEDITOR": true | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"plugins": [ | |
"stylelint-scss" | |
], | |
"extends": "stylelint-config-standard", | |
"rules": { | |
"at-rule-no-unknown": null, | |
"scss/at-rule-no-unknown": true, | |
"number-leading-zero": null, | |
"selector-list-comma-newline-after": null | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const gulp = require('gulp') | |
const browserify = require('browserify') | |
const environments = require('gulp-environments'); | |
const babelify = require('babelify'); | |
// const rename = require('gulp-rename') | |
const sourcemaps = require('gulp-sourcemaps'); | |
const sass = require('gulp-sass') | |
// const eslint = require('gulp-eslint') | |
// const eslintify = require('eslintify') | |
const gulpStylelint = require('gulp-stylelint') | |
const cleanCSS = require('gulp-clean-css') | |
const fontAwesome = require('node-font-awesome') | |
const autoprefixer = require('gulp-autoprefixer') | |
// const source = require('vinyl-source-stream') | |
const buffer = require('vinyl-buffer') | |
// const livereload = require('gulp-livereload') | |
// const plumber = require('gulp-plumber') | |
// const plumberNotifier = require('gulp-plumber-notifier') | |
const uglify = require('gulp-uglify') | |
const imagemin = require('gulp-imagemin') | |
const tap = require('gulp-tap') | |
// const exec = require('gulp-exec') | |
const gutil = require('gulp-util') | |
const merge = require('merge-stream') | |
const clean = require('gulp-clean') | |
var development = environments.development | |
var production = environments.production | |
var SassPath = [ | |
'./scss/**/*.+(scss|sass)' | |
] | |
gulp.task('scss', function () { | |
gutil.log('Compiling scss on ' + environments.current().$name + ' env.') | |
return gulp.src(SassPath) | |
.pipe(development(sourcemaps.init())) | |
.pipe(gulpStylelint({ | |
failAfterError: production(), | |
reporters: [ | |
{formatter: 'string', console: true} | |
] | |
})) | |
.pipe(sass( | |
{ | |
includePaths: [ | |
fontAwesome.scssPath | |
], | |
style: development ? 'expanded' : 'compressed' | |
} | |
).on('error', sass.logError)) | |
.pipe(autoprefixer({ | |
browsers: ['last 2 versions'], | |
cascade: false | |
})) | |
.pipe(development(sourcemaps.write())) | |
.pipe(production(cleanCSS())) | |
.pipe(gulp.dest('./assets/css')) | |
}) | |
gulp.task('scripts', function () { | |
return gulp.src('./js/**/*.js', {read: false}) | |
.pipe(tap(function (file) { | |
gutil.log('bundling ' + file.path) | |
var b = browserify(file.path, {}) | |
.transform('browserify-shim') | |
.transform(babelify, { | |
'presets': ['es2015'], | |
sourceMaps: development | |
}) | |
file.contents = b.bundle() | |
})) | |
.pipe(buffer()) | |
.pipe(development(sourcemaps.init({loadMaps: true}))) | |
.pipe(production(uglify())) | |
.pipe(development(sourcemaps.write())) | |
.pipe(gulp.dest('./assets/js/')) | |
}) | |
gulp.task('fonts', function () { | |
return merge( | |
// gulp.src(fontAwesome.fonts).pipe(gulp.dest('./assets/fonts/FontAwesome')), | |
gulp.src('./fonts/Lato2OFL/**/*.+(ttf|woff|eot|svg)').pipe(gulp.dest('./assets/fonts/Lato')) | |
) | |
}) | |
gulp.task('images', function () { | |
gulp.src('node_modules/slick-carousel/slick/ajax-loader.gif') | |
.pipe(gulp.dest('./web/assets/images/slick')) | |
gulp.src('./images/**/*') | |
.pipe(imagemin()) | |
.pipe(gulp.dest('./assets/images')) | |
}) | |
gulp.task('watch', ['scss', 'scripts', 'fonts', 'images', 'libs'], function () { | |
gulp.watch(SassPath, ['scss']); | |
gulp.watch('./js/**/*.js', ['scripts']); | |
gulp.watch('./images/**/*', ['images']); | |
gulp.watch('package.json', ['libs']); | |
}); | |
gulp.task('eslint', function () { | |
return (gulp.src('js/index.js')) | |
}); | |
gulp.task('clean', function () { | |
return gulp.src('./assets', {read: false}) | |
.pipe(clean()) | |
}); | |
gulp.task('libs', function () { | |
// return merge( | |
// gulp.src('node_modules/superfish/dist/**/*') | |
// .pipe(gulp.dest('./assets/libs/superfish')), | |
// gulp.src('node_modules/select2/dist/**/*') | |
// .pipe(gulp.dest('./assets/libs/select2')) | |
// ); | |
}); | |
gulp.task('set-prod', production.task) | |
gulp.task('build', ['set-prod', 'scss', 'scripts', 'fonts', 'images', 'libs']) | |
gulp.task('default', ['watch']) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "GreenLeaves", | |
"version": "1.0.0", | |
"description": "", | |
"main": "index.js", | |
"scripts": { | |
"test": "echo \"Error: no test specified\" && exit 1" | |
}, | |
"author": "clique.digital agency", | |
"license": "ISC", | |
"browserify-shim": {}, | |
"devDependencies": { | |
"babel-preset-es2015": "^6.24.1", | |
"babelify": "^7.3.0", | |
"browserify": "^14.4.0", | |
"browserify-shim": "^3.8.14", | |
"eslint": "^4.15.0", | |
"eslint-config-standard": "^10.2.1", | |
"eslint-plugin-import": "^2.8.0", | |
"eslint-plugin-node": "^5.2.1", | |
"eslint-plugin-promise": "^3.6.0", | |
"eslint-plugin-standard": "^3.0.1", | |
"gulp": "^3.9.1", | |
"gulp-autoprefixer": "^4.0.0", | |
"gulp-clean": "^0.3.2", | |
"gulp-clean-css": "^3.7.0", | |
"gulp-environments": "^0.1.2", | |
"gulp-exec": "^2.1.3", | |
"gulp-imagemin": "^3.3.0", | |
"gulp-livereload"`: "^3.8.1", | |
"gulp-plumber": "^1.1.0", | |
"gulp-plumber-notifier": "0.0.3", | |
"gulp-pug": "^3.3.0", | |
"gulp-rename": "^1.2.2", | |
"gulp-sass": "^3.1.0", | |
"gulp-sourcemaps": "^2.6.1", | |
"gulp-stylelint": "^4.0.0", | |
"gulp-tap": "^1.0.1", | |
"gulp-uglify": "^3.0.0", | |
"stylelint": "^8.2.0", | |
"stylelint-config-standard": "^17.0.0", | |
"stylelint-scss": "^2.1.0", | |
"vinyl-buffer": "^1.0.0", | |
"vinyl-source-stream": "^1.1.0" | |
}, | |
"dependencies": { | |
"eslint-config-standart": "^0.2.0", | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment