mirror of
https://github.com/Febbweiss/filebrowser-durandal-widget.git
synced 2026-03-05 06:35:49 +00:00
99 lines
2.8 KiB
JavaScript
99 lines
2.8 KiB
JavaScript
module.exports = function(grunt) {
|
||
/**
|
||
* Load tasks
|
||
*/
|
||
grunt.loadNpmTasks('lesshat-devstack');
|
||
grunt.loadNpmTasks('grunt-prompt');
|
||
|
||
/**
|
||
* Grunt config
|
||
*/
|
||
grunt.initConfig({
|
||
pkg: grunt.file.readJSON('package.json'),
|
||
|
||
generator: {
|
||
settings: {
|
||
mixin_name: null,
|
||
default_value: null,
|
||
vendors: null
|
||
}
|
||
},
|
||
|
||
version: {
|
||
settings: {
|
||
version: null
|
||
}
|
||
},
|
||
|
||
prompt: {
|
||
version: {
|
||
options: {
|
||
questions: [{
|
||
config: 'version.settings.version',
|
||
type: 'input',
|
||
validate: function(value) {
|
||
return (value && true);
|
||
},
|
||
message: 'LESS Hat next version number? Current is ' + '<%= pkg.version %>'.green + ':',
|
||
}],
|
||
}
|
||
},
|
||
generate: {
|
||
options: {
|
||
questions: [{
|
||
config: 'generator.settings.mixin_name',
|
||
type: 'input',
|
||
message: 'What is the name of new mixin? (e.g. animationDelay)',
|
||
filter: function(value) {
|
||
grunt.config('generator.settings.mixin_css_name', value.replace(/([A-Z])/g, function(upperCase) {
|
||
return '-' + upperCase.toLowerCase();
|
||
}));
|
||
grunt.config('generator.settings.mixin_name | firstLetter', value[0].toUpperCase() + value.slice(1));
|
||
return value[0].toLowerCase() + value.slice(1);
|
||
},
|
||
validate: function(value) {
|
||
if (/[a-z0-9]+/i.test(value)) {
|
||
return true;
|
||
} else {
|
||
return 'Please fill only valid characters [a-zA-Z0-9].';
|
||
}
|
||
}
|
||
}, {
|
||
config: 'generator.settings.vendors',
|
||
type: 'checkbox',
|
||
message: 'For which browsers is this mixin?',
|
||
choices: [{
|
||
name: 'webkit'
|
||
}, {
|
||
name: 'moz'
|
||
}, {
|
||
name: 'opera'
|
||
}, {
|
||
name: 'ms',
|
||
}]
|
||
}, {
|
||
config: 'generator.settings.default_value',
|
||
type: 'input',
|
||
default: 'none',
|
||
filter: function(value) {
|
||
return '\'' + value + '\'';
|
||
},
|
||
message: 'What is default value of the mixin? Optional – you can skip',
|
||
}]
|
||
}
|
||
}
|
||
}
|
||
});
|
||
|
||
/**
|
||
* Register tasks
|
||
*/
|
||
|
||
grunt.registerTask('version', ['prompt:version', 'iterate', 'build', 'mixins_update']);
|
||
grunt.registerTask('dev', ['build', 'test']);
|
||
grunt.registerTask('generate', ['prompt:generate', 'generator']);
|
||
grunt.registerTask('contrib', ['build', 'test', 'mixins_update', 'prefix', 'documentation']);
|
||
grunt.registerTask('default', ['version','build', 'test', 'mixins_update', 'prefix', 'documentation', 'git']);
|
||
|
||
};
|