Migrate into Gulp.
This commit is contained in:
+1
-1
@@ -2,4 +2,4 @@ language: node_js
|
|||||||
node_js:
|
node_js:
|
||||||
- "0.10"
|
- "0.10"
|
||||||
before_script:
|
before_script:
|
||||||
- npm install -g grunt-cli
|
- npm install -g gulp
|
||||||
|
|||||||
@@ -1,86 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
module.exports = function (grunt) {
|
|
||||||
require('load-grunt-tasks')(grunt);
|
|
||||||
|
|
||||||
// Project configuration.
|
|
||||||
grunt.initConfig({
|
|
||||||
// Metadata.
|
|
||||||
pkg: grunt.file.readJSON('perfect-scrollbar.jquery.json'),
|
|
||||||
banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %>\n' +
|
|
||||||
'<%= pkg.homepage ? "* " + pkg.homepage + "\\n" : "" %>' +
|
|
||||||
'* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
|
|
||||||
' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */\n',
|
|
||||||
clean: {
|
|
||||||
files: ['min']
|
|
||||||
},
|
|
||||||
// Task configuration.
|
|
||||||
uglify: {
|
|
||||||
options: {
|
|
||||||
banner: '<%= banner %>'
|
|
||||||
},
|
|
||||||
min: {
|
|
||||||
files: {
|
|
||||||
'min/perfect-scrollbar.min.js': ['src/perfect-scrollbar.js']
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
jshint: {
|
|
||||||
gruntfile: {
|
|
||||||
options: {
|
|
||||||
jshintrc: '.jshintrc'
|
|
||||||
},
|
|
||||||
src: 'Gruntfile.js'
|
|
||||||
},
|
|
||||||
src: {
|
|
||||||
options: {
|
|
||||||
jshintrc: '.jshintrc'
|
|
||||||
},
|
|
||||||
src: 'src/perfect-scrollbar.js'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
cssmin: {
|
|
||||||
options: {
|
|
||||||
banner: '<%= banner %>'
|
|
||||||
},
|
|
||||||
minify: {
|
|
||||||
expand: true,
|
|
||||||
cwd: 'src/',
|
|
||||||
src: ['perfect-scrollbar.css'],
|
|
||||||
dest: 'min/',
|
|
||||||
ext: '.min.css'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
bump: {
|
|
||||||
options: {
|
|
||||||
files: ['package.json', 'bower.json', 'perfect-scrollbar.jquery.json'],
|
|
||||||
updateConfigs: ['pkg'],
|
|
||||||
commit: false,
|
|
||||||
createTag: false,
|
|
||||||
push: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
sass: {
|
|
||||||
dist: {
|
|
||||||
files: {
|
|
||||||
'src/perfect-scrollbar.css': 'src/perfect-scrollbar.scss'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
grunt.registerTask('default', 'List commands', function () {
|
|
||||||
grunt.log.writeln("");
|
|
||||||
|
|
||||||
grunt.log.writeln("Run 'grunt lint' to lint the source files");
|
|
||||||
grunt.log.writeln("Run 'grunt build' to minify the source files");
|
|
||||||
});
|
|
||||||
|
|
||||||
grunt.registerTask('lint', ['jshint']);
|
|
||||||
grunt.registerTask('build', ['clean', 'uglify', 'sass', 'cssmin']);
|
|
||||||
grunt.registerTask('travis', ['lint']);
|
|
||||||
grunt.registerTask('release', 'Release a new version', function (arg) {
|
|
||||||
var bumpType = arg ? ':' + arg : '';
|
|
||||||
grunt.task.run(['lint', 'bump' + bumpType, 'build']);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Tiny but perfect jQuery scrollbar plugin",
|
"description": "Tiny but perfect jQuery scrollbar plugin",
|
||||||
"main": [
|
"main": [
|
||||||
"src/perfect-scrollbar.css",
|
"out/perfect-scrollbar.css",
|
||||||
"src/perfect-scrollbar.js"
|
"src/perfect-scrollbar.js"
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|||||||
+71
@@ -0,0 +1,71 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
var gulp = require('gulp')
|
||||||
|
, bump = require('gulp-bump')
|
||||||
|
, jshint = require('gulp-jshint')
|
||||||
|
, rename = require('gulp-rename')
|
||||||
|
, rimraf = require('gulp-rimraf')
|
||||||
|
, sass = require('gulp-sass')
|
||||||
|
, uglify = require('gulp-uglify');
|
||||||
|
|
||||||
|
gulp.task('lint', function () {
|
||||||
|
return gulp.src(['./src/**/*.js', './gulpfile.js'])
|
||||||
|
.pipe(jshint())
|
||||||
|
.pipe(jshint.reporter('default'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('clean:js', function () {
|
||||||
|
return gulp.src('./out/perfect-scrollbar.js', {read: false})
|
||||||
|
.pipe(rimraf());
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('uglify', ['clean:js'], function () {
|
||||||
|
return gulp.src('./src/perfect-scrollbar.js')
|
||||||
|
.pipe(uglify())
|
||||||
|
.pipe(rename('perfect-scrollbar.min.js'))
|
||||||
|
.pipe(gulp.dest('./out'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('clean:css', function () {
|
||||||
|
return gulp.src('./out/perfect-scrollbar.css', {read: false})
|
||||||
|
.pipe(rimraf());
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('sass', ['clean:css'], function () {
|
||||||
|
return gulp.src('./src/perfect-scrollbar.scss')
|
||||||
|
.pipe(sass())
|
||||||
|
.pipe(gulp.dest('./out'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('clean:css:min', function () {
|
||||||
|
return gulp.src('./out/perfect-scrollbar.css', {read: false})
|
||||||
|
.pipe(rimraf());
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('sass:min', ['clean:css:min'], function () {
|
||||||
|
return gulp.src('./src/perfect-scrollbar.scss')
|
||||||
|
.pipe(sass({outputStyle: 'compressed'}))
|
||||||
|
.pipe(rename('perfect-scrollbar.min.css'))
|
||||||
|
.pipe(gulp.dest('./out'));
|
||||||
|
});
|
||||||
|
|
||||||
|
function bumpType() {
|
||||||
|
if (gulp.env.major) {
|
||||||
|
return 'major';
|
||||||
|
} else if (gulp.env.minor) {
|
||||||
|
return 'minor';
|
||||||
|
} else {
|
||||||
|
return 'patch';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gulp.task('bump', function () {
|
||||||
|
gulp.src('./*.json')
|
||||||
|
.pipe(bump({type: bumpType()}))
|
||||||
|
.pipe(gulp.dest('./'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('release', ['bump', 'build']);
|
||||||
|
|
||||||
|
gulp.task('build', ['uglify', 'sass', 'sass:min']);
|
||||||
|
gulp.task('default', ['lint', 'build']);
|
||||||
Vendored
-5
@@ -1,5 +0,0 @@
|
|||||||
/*! perfect-scrollbar - v0.5.9
|
|
||||||
* http://noraesae.github.com/perfect-scrollbar/
|
|
||||||
* Copyright (c) 2015 Hyunje Alex Jun; Licensed MIT */
|
|
||||||
|
|
||||||
.ps-container.ps-active-x>.ps-scrollbar-x-rail,.ps-container.ps-active-y>.ps-scrollbar-y-rail{display:block}.ps-container.ps-in-scrolling{pointer-events:none}.ps-container.ps-in-scrolling>.ps-scrollbar-x-rail{background-color:#eee;opacity:.9;-ms-filter:"alpha(Opacity=90)";filter:alpha(opacity=90)}.ps-container.ps-in-scrolling>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999}.ps-container.ps-in-scrolling>.ps-scrollbar-y-rail{background-color:#eee;opacity:.9;-ms-filter:"alpha(Opacity=90)";filter:alpha(opacity=90)}.ps-container.ps-in-scrolling>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999}.ps-container>.ps-scrollbar-x-rail{display:none;position:absolute;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px;opacity:0;-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);-webkit-transition:background-color .2s linear,opacity .2s linear;-moz-transition:background-color .2s linear,opacity .2s linear;-o-transition:background-color .2s linear,opacity .2s linear;transition:background-color .2s linear,opacity .2s linear;bottom:3px;height:8px}.ps-container>.ps-scrollbar-x-rail>.ps-scrollbar-x{position:absolute;background-color:#aaa;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px;-webkit-transition:background-color .2s linear;-moz-transition:background-color .2s linear;-o-transition:background-color .2s linear;transition:background-color .2s linear;bottom:0;height:8px}.ps-container>.ps-scrollbar-y-rail{display:none;position:absolute;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px;opacity:0;-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);-webkit-transition:background-color .2s linear,opacity .2s linear;-moz-transition:background-color .2s linear,opacity .2s linear;-o-transition:background-color .2s linear,opacity .2s linear;transition:background-color .2s linear,opacity .2s linear;right:3px;width:8px}.ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y{position:absolute;background-color:#aaa;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px;-webkit-transition:background-color .2s linear;-moz-transition:background-color .2s linear;-o-transition:background-color .2s linear;transition:background-color .2s linear;right:0;width:8px}.ps-container:hover.ps-in-scrolling{pointer-events:none}.ps-container:hover.ps-in-scrolling>.ps-scrollbar-x-rail{background-color:#eee;opacity:.9;-ms-filter:"alpha(Opacity=90)";filter:alpha(opacity=90)}.ps-container:hover.ps-in-scrolling>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999}.ps-container:hover.ps-in-scrolling>.ps-scrollbar-y-rail{background-color:#eee;opacity:.9;-ms-filter:"alpha(Opacity=90)";filter:alpha(opacity=90)}.ps-container:hover.ps-in-scrolling>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999}.ps-container:hover>.ps-scrollbar-x-rail,.ps-container:hover>.ps-scrollbar-y-rail{opacity:.6;-ms-filter:"alpha(Opacity=60)";filter:alpha(opacity=60)}.ps-container:hover>.ps-scrollbar-x-rail:hover{background-color:#eee;opacity:.9;-ms-filter:"alpha(Opacity=90)";filter:alpha(opacity=90)}.ps-container:hover>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x{background-color:#999}.ps-container:hover>.ps-scrollbar-y-rail:hover{background-color:#eee;opacity:.9;-ms-filter:"alpha(Opacity=90)";filter:alpha(opacity=90)}.ps-container:hover>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y{background-color:#999}
|
|
||||||
Vendored
-4
File diff suppressed because one or more lines are too long
@@ -27,10 +27,10 @@
|
|||||||
opacity: 0;
|
opacity: 0;
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||||
filter: alpha(opacity=0);
|
filter: alpha(opacity=0);
|
||||||
-webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
|
-webkit-transition: background-color .2s linear, opacity .2s linear;
|
||||||
-moz-transition: background-color 0.2s linear, opacity 0.2s linear;
|
-moz-transition: background-color .2s linear, opacity .2s linear;
|
||||||
-o-transition: background-color 0.2s linear, opacity 0.2s linear;
|
-o-transition: background-color .2s linear, opacity .2s linear;
|
||||||
transition: background-color 0.2s linear, opacity 0.2s linear;
|
transition: background-color .2s linear, opacity .2s linear;
|
||||||
bottom: 3px;
|
bottom: 3px;
|
||||||
/* there must be 'bottom' for ps-scrollbar-x-rail */
|
/* there must be 'bottom' for ps-scrollbar-x-rail */
|
||||||
height: 8px; }
|
height: 8px; }
|
||||||
@@ -42,10 +42,10 @@
|
|||||||
-moz-border-radius: 4px;
|
-moz-border-radius: 4px;
|
||||||
-ms-border-radius: 4px;
|
-ms-border-radius: 4px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
-webkit-transition: background-color 0.2s linear;
|
-webkit-transition: background-color .2s linear;
|
||||||
-moz-transition: background-color 0.2s linear;
|
-moz-transition: background-color .2s linear;
|
||||||
-o-transition: background-color 0.2s linear;
|
-o-transition: background-color .2s linear;
|
||||||
transition: background-color 0.2s linear;
|
transition: background-color .2s linear;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
/* there must be 'bottom' for ps-scrollbar-x */
|
/* there must be 'bottom' for ps-scrollbar-x */
|
||||||
height: 8px; }
|
height: 8px; }
|
||||||
@@ -60,10 +60,10 @@
|
|||||||
opacity: 0;
|
opacity: 0;
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||||
filter: alpha(opacity=0);
|
filter: alpha(opacity=0);
|
||||||
-webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
|
-webkit-transition: background-color .2s linear, opacity .2s linear;
|
||||||
-moz-transition: background-color 0.2s linear, opacity 0.2s linear;
|
-moz-transition: background-color .2s linear, opacity .2s linear;
|
||||||
-o-transition: background-color 0.2s linear, opacity 0.2s linear;
|
-o-transition: background-color .2s linear, opacity .2s linear;
|
||||||
transition: background-color 0.2s linear, opacity 0.2s linear;
|
transition: background-color .2s linear, opacity .2s linear;
|
||||||
right: 3px;
|
right: 3px;
|
||||||
/* there must be 'right' for ps-scrollbar-y-rail */
|
/* there must be 'right' for ps-scrollbar-y-rail */
|
||||||
width: 8px; }
|
width: 8px; }
|
||||||
@@ -75,10 +75,10 @@
|
|||||||
-moz-border-radius: 4px;
|
-moz-border-radius: 4px;
|
||||||
-ms-border-radius: 4px;
|
-ms-border-radius: 4px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
-webkit-transition: background-color 0.2s linear;
|
-webkit-transition: background-color .2s linear;
|
||||||
-moz-transition: background-color 0.2s linear;
|
-moz-transition: background-color .2s linear;
|
||||||
-o-transition: background-color 0.2s linear;
|
-o-transition: background-color .2s linear;
|
||||||
transition: background-color 0.2s linear;
|
transition: background-color .2s linear;
|
||||||
right: 0;
|
right: 0;
|
||||||
/* there must be 'right' for ps-scrollbar-y */
|
/* there must be 'right' for ps-scrollbar-y */
|
||||||
width: 8px; }
|
width: 8px; }
|
||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
.ps-container.ps-active-x>.ps-scrollbar-x-rail,.ps-container.ps-active-y>.ps-scrollbar-y-rail{display:block}.ps-container.ps-in-scrolling{pointer-events:none}.ps-container.ps-in-scrolling>.ps-scrollbar-x-rail{background-color:#eee;opacity:0.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";filter:alpha(opacity=90)}.ps-container.ps-in-scrolling>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999}.ps-container.ps-in-scrolling>.ps-scrollbar-y-rail{background-color:#eee;opacity:0.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";filter:alpha(opacity=90)}.ps-container.ps-in-scrolling>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999}.ps-container>.ps-scrollbar-x-rail{display:none;position:absolute;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);-webkit-transition:background-color .2s linear,opacity .2s linear;-moz-transition:background-color .2s linear,opacity .2s linear;-o-transition:background-color .2s linear,opacity .2s linear;transition:background-color .2s linear,opacity .2s linear;bottom:3px;height:8px}.ps-container>.ps-scrollbar-x-rail>.ps-scrollbar-x{position:absolute;background-color:#aaa;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px;-webkit-transition:background-color .2s linear;-moz-transition:background-color .2s linear;-o-transition:background-color .2s linear;transition:background-color .2s linear;bottom:0;height:8px}.ps-container>.ps-scrollbar-y-rail{display:none;position:absolute;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);-webkit-transition:background-color .2s linear,opacity .2s linear;-moz-transition:background-color .2s linear,opacity .2s linear;-o-transition:background-color .2s linear,opacity .2s linear;transition:background-color .2s linear,opacity .2s linear;right:3px;width:8px}.ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y{position:absolute;background-color:#aaa;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px;-webkit-transition:background-color .2s linear;-moz-transition:background-color .2s linear;-o-transition:background-color .2s linear;transition:background-color .2s linear;right:0;width:8px}.ps-container:hover.ps-in-scrolling{pointer-events:none}.ps-container:hover.ps-in-scrolling>.ps-scrollbar-x-rail{background-color:#eee;opacity:0.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";filter:alpha(opacity=90)}.ps-container:hover.ps-in-scrolling>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999}.ps-container:hover.ps-in-scrolling>.ps-scrollbar-y-rail{background-color:#eee;opacity:0.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";filter:alpha(opacity=90)}.ps-container:hover.ps-in-scrolling>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999}.ps-container:hover>.ps-scrollbar-x-rail,.ps-container:hover>.ps-scrollbar-y-rail{opacity:0.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";filter:alpha(opacity=60)}.ps-container:hover>.ps-scrollbar-x-rail:hover{background-color:#eee;opacity:0.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";filter:alpha(opacity=90)}.ps-container:hover>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x{background-color:#999}.ps-container:hover>.ps-scrollbar-y-rail:hover{background-color:#eee;opacity:0.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";filter:alpha(opacity=90)}.ps-container:hover>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y{background-color:#999}
|
||||||
Vendored
+1
File diff suppressed because one or more lines are too long
+8
-10
@@ -26,18 +26,16 @@
|
|||||||
"node": ">= 0.8.0"
|
"node": ">= 0.8.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"grunt": "~0.4.1",
|
"gulp": "^3.8.10",
|
||||||
"grunt-bump": "0.0.16",
|
"gulp-bump": "^0.1.11",
|
||||||
"grunt-contrib-clean": "~0.4.1",
|
"gulp-jshint": "^1.9.0",
|
||||||
"grunt-contrib-csslint": "~0.1.2",
|
"gulp-rename": "^1.2.0",
|
||||||
"grunt-contrib-cssmin": "~0.6.1",
|
"gulp-rimraf": "^0.1.1",
|
||||||
"grunt-contrib-jshint": "~0.1.1",
|
"gulp-sass": "^1.3.1",
|
||||||
"grunt-contrib-uglify": "~0.1.1",
|
"gulp-uglify": "^1.0.2"
|
||||||
"grunt-sass": "^0.16.1",
|
|
||||||
"load-grunt-tasks": "^1.0.0"
|
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "grunt travis --verbose"
|
"test": "gulp"
|
||||||
},
|
},
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user