build-tools: switch grunt for gulp.
This commit is contained in:
parent
e41c7f776a
commit
f40b498ffb
5 changed files with 3482 additions and 102 deletions
90
Gruntfile.js
90
Gruntfile.js
|
|
@ -1,90 +0,0 @@
|
|||
|
||||
module.exports = function(grunt) {
|
||||
|
||||
// Project configuration.
|
||||
grunt.initConfig({
|
||||
pkg: grunt.file.readJSON('package.json'),
|
||||
watch: {
|
||||
sitecss: {
|
||||
files: 'app/assets/less/**/*.less',
|
||||
tasks: 'less:dev'
|
||||
}
|
||||
},
|
||||
less: {
|
||||
dev: {
|
||||
files: {
|
||||
'public/css/application.min.css': 'app/assets/less/application.less'
|
||||
}
|
||||
},
|
||||
production: {
|
||||
options: {
|
||||
plugins : [
|
||||
new (require('less-plugin-clean-css'))({compatibility:'ie8'})
|
||||
]
|
||||
},
|
||||
files: {
|
||||
'public/css/application.min.css': 'app/assets/less/application.less'
|
||||
}
|
||||
}
|
||||
},
|
||||
uglify: {
|
||||
options: {},
|
||||
jquery: {
|
||||
files: {
|
||||
'public/js/jquery-3.0.0.min.js' : [
|
||||
'node_modules/jquery/dist/jquery.js'
|
||||
]
|
||||
}
|
||||
},
|
||||
bootstrap: {
|
||||
files: {
|
||||
'public/js/bootstrap.min.js': [
|
||||
'app/assets/js/bootstrap/tooltip.js',
|
||||
'app/assets/js/bootstrap/affix.js',
|
||||
'app/assets/js/bootstrap/alert.js',
|
||||
'app/assets/js/bootstrap/button.js',
|
||||
'app/assets/js/bootstrap/carousel.js',
|
||||
'app/assets/js/bootstrap/collapse.js',
|
||||
'app/assets/js/bootstrap/dropdown.js',
|
||||
'app/assets/js/bootstrap/modal.js',
|
||||
'app/assets/js/bootstrap/popover.js',
|
||||
'app/assets/js/bootstrap/scrollspy.js',
|
||||
'app/assets/js/bootstrap/tab.js',
|
||||
'app/assets/js/bootstrap/transition.js'
|
||||
]
|
||||
}
|
||||
},
|
||||
fontawesome: {
|
||||
files: {
|
||||
'public/js/fontawesome.min.js' : [
|
||||
'app/assets/js/font-awesome/fa-regular.js',
|
||||
'app/assets/js/font-awesome/fa-solid.js',
|
||||
'app/assets/js/font-awesome/fa-brands.js',
|
||||
'app/assets/js/font-awesome/fontawesome.js'
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
// Load grunt plugins.
|
||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||
grunt.loadNpmTasks('grunt-contrib-less');
|
||||
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||||
|
||||
grunt.registerTask('js', ['uglify']);
|
||||
|
||||
var target = grunt.option('target') || 'dev';
|
||||
|
||||
console.log("Building for: " + target);
|
||||
|
||||
grunt.registerTask('less-compile', ['less:' + target]);
|
||||
|
||||
// Default task(s).
|
||||
grunt.registerTask('default', ['less-compile', 'js']);
|
||||
|
||||
if (target == 'dev') {
|
||||
grunt.registerTask('watchless', ['watch:sitecss']);
|
||||
}
|
||||
};
|
||||
|
|
@ -258,9 +258,7 @@ class Services extends DiDefault
|
|||
// Javascript
|
||||
$manager->collection('js')
|
||||
->setPrefix('js/')
|
||||
->addJs('jquery-3.0.0.min.js')
|
||||
->addJs('bootstrap.min.js')
|
||||
->addJs('fontawesome.min.js');
|
||||
->addJs('application.min.js');
|
||||
|
||||
return $manager;
|
||||
}
|
||||
|
|
|
|||
65
gulpfile.js
Normal file
65
gulpfile.js
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
|
||||
var gulp = require('gulp');
|
||||
var rename = require('gulp-rename');
|
||||
var less = require('gulp-less');
|
||||
var cssminify = require('gulp-csso');
|
||||
var concat = require('gulp-concat');
|
||||
var uglify = require('gulp-uglify');
|
||||
|
||||
// ----------------------------------
|
||||
// Config
|
||||
// ----------------------------------
|
||||
|
||||
var config = {
|
||||
lessPattern: 'app/assets/less/**/*.less',
|
||||
lessSrc: 'app/assets/less/application.less',
|
||||
cssOutputDir: 'public/css',
|
||||
jsSrc: [
|
||||
'node_modules/jquery/dist/jquery.js',
|
||||
// Bootstrap
|
||||
'app/assets/js/bootstrap/tooltip.js',
|
||||
'app/assets/js/bootstrap/affix.js',
|
||||
'app/assets/js/bootstrap/alert.js',
|
||||
'app/assets/js/bootstrap/button.js',
|
||||
'app/assets/js/bootstrap/carousel.js',
|
||||
'app/assets/js/bootstrap/collapse.js',
|
||||
'app/assets/js/bootstrap/dropdown.js',
|
||||
'app/assets/js/bootstrap/modal.js',
|
||||
'app/assets/js/bootstrap/popover.js',
|
||||
'app/assets/js/bootstrap/scrollspy.js',
|
||||
'app/assets/js/bootstrap/tab.js',
|
||||
'app/assets/js/bootstrap/transition.js',
|
||||
// Font Awesome
|
||||
'app/assets/js/font-awesome/fa-regular.js',
|
||||
'app/assets/js/font-awesome/fa-solid.js',
|
||||
'app/assets/js/font-awesome/fa-brands.js',
|
||||
'app/assets/js/font-awesome/fontawesome.js'
|
||||
],
|
||||
jsOutputDir: 'public/js'
|
||||
};
|
||||
|
||||
// ----------------------------------
|
||||
// Tasks
|
||||
// ----------------------------------
|
||||
|
||||
gulp.task('build-css', function () {
|
||||
return gulp.src(config.lessSrc)
|
||||
.pipe(less())
|
||||
.pipe(cssminify())
|
||||
.pipe(rename({ basename: 'application', suffix: '.min'}))
|
||||
.pipe(gulp.dest(config.cssOutputDir))
|
||||
});
|
||||
|
||||
gulp.task('build-js', function () {
|
||||
return gulp.src(config.jsSrc)
|
||||
.pipe(uglify())
|
||||
.pipe(concat('application.min.js'))
|
||||
.pipe(gulp.dest(config.jsOutputDir));
|
||||
});
|
||||
|
||||
gulp.task('watch-less', function() {
|
||||
gulp.watch(config.lessPattern, ['build-css']);
|
||||
});
|
||||
|
||||
gulp.task('build-assets', ['build-css', 'build-js']);
|
||||
gulp.task('default', ['watch-less']);
|
||||
3408
package-lock.json
generated
Normal file
3408
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
17
package.json
17
package.json
|
|
@ -2,20 +2,19 @@
|
|||
"name": "httpcb",
|
||||
"version": "0.1.0",
|
||||
"description": "HTTP Callback Tool",
|
||||
"main": "Gruntfile.js",
|
||||
"dependencies": {
|
||||
"grunt-cli": "^1.2.0",
|
||||
"grunt-contrib-concat": "^1.0.1",
|
||||
"grunt-contrib-less": "^1.3.0",
|
||||
"grunt-contrib-uglify": "^2.0.0",
|
||||
"less-plugin-clean-css": "^1.5.1",
|
||||
"jquery": "~3.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"grunt": "^1.0.1",
|
||||
"grunt-contrib-watch": "^1.0.0"
|
||||
"jquery": "~3.0.0",
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-concat": "^2.6.1",
|
||||
"gulp-csso": "^3.0.1",
|
||||
"gulp-less": "^3.5.0",
|
||||
"gulp-rename": "^1.3.0",
|
||||
"gulp-uglify": "^3.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "gulp all",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "Henrik Hautakoski <henrik.hautakoski@gmail.com>",
|
||||
|
|
|
|||
Reference in a new issue