mirror of
https://github.com/iv-org/videojs-quality-selector.git
synced 2025-05-02 14:36:13 -04:00
Initial implementation
This commit is contained in:
parent
f261cc04a2
commit
156e5923c7
14 changed files with 413 additions and 9 deletions
119
Gruntfile.js
119
Gruntfile.js
|
@ -5,29 +5,144 @@
|
|||
|
||||
'use strict';
|
||||
|
||||
var path = require('path'),
|
||||
getCodeVersion = require('silvermine-serverless-utils/src/get-code-version');
|
||||
|
||||
module.exports = function(grunt) {
|
||||
|
||||
var config;
|
||||
var DEBUG = !!grunt.option('debug'),
|
||||
config;
|
||||
|
||||
config = {
|
||||
js: {
|
||||
all: [ 'Gruntfile.js', 'src/**/*.js', 'tests/**/*.js' ],
|
||||
standalone: path.join(__dirname, 'src', 'js', 'standalone.js'),
|
||||
},
|
||||
|
||||
sass: {
|
||||
base: path.join(__dirname, 'src', 'sass'),
|
||||
all: [ 'src/**/*.scss' ],
|
||||
},
|
||||
|
||||
dist: {
|
||||
base: path.join(__dirname, 'dist'),
|
||||
},
|
||||
};
|
||||
|
||||
config.dist.js = {
|
||||
bundle: path.join(config.dist.base, 'js', '<%= pkg.name %>.js'),
|
||||
minified: path.join(config.dist.base, 'js', '<%= pkg.name %>.min.js'),
|
||||
};
|
||||
|
||||
config.dist.css = {
|
||||
base: path.join(config.dist.base, 'css'),
|
||||
all: path.join(config.dist.base, '**', '*.css'),
|
||||
};
|
||||
|
||||
grunt.initConfig({
|
||||
|
||||
pkg: grunt.file.readJSON('package.json'),
|
||||
versionInfo: getCodeVersion.both(),
|
||||
config: config,
|
||||
|
||||
browserify: {
|
||||
main: {
|
||||
src: config.js.standalone,
|
||||
dest: config.dist.js.bundle,
|
||||
},
|
||||
},
|
||||
|
||||
uglify: {
|
||||
main: {
|
||||
files: {
|
||||
'<%= config.dist.js.minified %>': config.dist.js.bundle,
|
||||
},
|
||||
options: {
|
||||
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> <%= versionInfo %> */\n',
|
||||
sourceMap: true,
|
||||
sourceMapIncludeSources: true,
|
||||
mangle: true,
|
||||
compress: true,
|
||||
beautify: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
sass: {
|
||||
options: {
|
||||
sourceMap: DEBUG,
|
||||
indentWidth: 3,
|
||||
outputStyle: DEBUG ? 'expanded' : 'compressed',
|
||||
sourceComments: DEBUG,
|
||||
},
|
||||
main: {
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
cwd: config.sass.base,
|
||||
src: [ '**/*.scss' ],
|
||||
dest: config.dist.css.base,
|
||||
ext: '.css',
|
||||
extDot: 'first',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
postcss: {
|
||||
options: {
|
||||
map: DEBUG,
|
||||
processors: [
|
||||
require('autoprefixer')({ browsers: '> .05%' }), // eslint-disable-line global-require
|
||||
],
|
||||
},
|
||||
main: {
|
||||
src: config.dist.css.all,
|
||||
},
|
||||
},
|
||||
|
||||
eslint: {
|
||||
target: config.js.all,
|
||||
},
|
||||
|
||||
sasslint: {
|
||||
options: {
|
||||
configFile: path.join(__dirname, 'node_modules', 'sass-lint-config-silvermine', 'sass-lint.yml'),
|
||||
},
|
||||
target: config.sass.all,
|
||||
},
|
||||
|
||||
watch: {
|
||||
grunt: {
|
||||
files: [ 'Gruntfile.js' ],
|
||||
tasks: [ 'build' ],
|
||||
},
|
||||
|
||||
js: {
|
||||
files: [ 'src/**/*.js' ],
|
||||
tasks: [ 'build-js' ],
|
||||
},
|
||||
|
||||
css: {
|
||||
files: [ 'src/**/*.scss' ],
|
||||
tasks: [ 'build-css' ],
|
||||
},
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||
grunt.loadNpmTasks('grunt-browserify');
|
||||
grunt.loadNpmTasks('grunt-eslint');
|
||||
grunt.loadNpmTasks('grunt-postcss');
|
||||
grunt.loadNpmTasks('grunt-sass');
|
||||
grunt.loadNpmTasks('grunt-sass-lint');
|
||||
|
||||
grunt.registerTask('standards', [ 'eslint' ]);
|
||||
grunt.registerTask('standards', [ 'eslint', 'sasslint' ]);
|
||||
grunt.registerTask('build-js', [ 'browserify', 'uglify' ]);
|
||||
grunt.registerTask('build-css', [ 'sass', 'postcss' ]);
|
||||
grunt.registerTask('build', [ 'build-js', 'build-css' ]);
|
||||
grunt.registerTask('default', [ 'standards' ]);
|
||||
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue