Files
Phraseanet/Gruntfile.js
Nicolas Le Goff ed3ffb59a6 Merge remote-tracking branch 'upstream/master' into 20150306-elastic-indexer
Conflicts:
	bin/console
	bower.json
	composer.json
	composer.lock
	lib/Alchemy/Phrasea/Application.php
	lib/Alchemy/Phrasea/Border/Manager.php
	lib/Alchemy/Phrasea/Controller/Api/V1.php
	lib/Alchemy/Phrasea/Core/PhraseaEvents.php
	lib/Alchemy/Phrasea/SearchEngine/SearchEngineOptions.php
	lib/classes/caption/field.php
	lib/classes/record/Interface.php
	templates/web/prod/index.html.twig
	www/skins/prod/000000/prodcolor.css
2015-03-10 14:36:31 +01:00

453 lines
16 KiB
JavaScript

module.exports = function(grunt) {
grunt.initConfig({
"pkg": grunt.file.readJSON("package.json"),
"path": {
"bower": "tmp-assets",
"asset": "www/assets"
},
mocha_phantomjs: {
options: {
'reporter': 'dot',
'setting': [
'loadImages=false'
]
},
all: [
'www/scripts/tests/*.html'
]
},
qunit: {
all: ['www/include/js/tests/*.html']
},
clean: {
"assets": ["<%= path.asset %>"],
"bower": ["<%= path.bower %>"]
},
bower: {
install: {
options: {
"copy": false
}
}
},
shell : {
generate_js_fixtures: {
options: {
stdout: true
},
command : 'bin/developer phraseanet:generate-js-fixtures'
}
},
bower_postinst: {
dist: {
options: {
components: {
"bootstrap": ["npm", {"make": "bootstrap"}]
}
}
}
},
copy: {
"autobahn": {
"expand": true,
"src": [
"<%= path.bower %>/autobahn/index.js",
],
"dest": "<%= path.asset %>/autobahn/",
"flatten": true,
"rename": function(dest, src) {
return dest + "autobahn.js"
}
},
"backbone": {
"expand": true,
"src": [
"<%= path.bower %>/backbone-amd/LICENSE",
"<%= path.bower %>/backbone-amd/backbone.js"
],
"dest": "<%= path.asset %>/backbone-amd/",
"flatten": true
},
"fancytree": {
"expand": true,
"src": [
"dist/*",
"dist/**/*"
],
"cwd": "<%= path.bower %>/fancytree",
"dest": "<%= path.asset %>/fancytree/"
},
"blueimp": {
"expand": true,
"src": "js/load-image.js",
"dest": "<%= path.asset %>/blueimp-load-image/",
"cwd": "<%= path.bower %>/blueimp-load-image",
"flatten": true
},
"bootstrap": {
"expand": true,
"cwd": "<%= path.bower %>/bootstrap",
"src": [
"bootstrap/css/*",
"bootstrap/js/*",
"bootstrap/img/*",
"less/*.less",
"LICENSE"
],
"rename": function(dest, src) {
return dest + src.replace("bootstrap", "");
},
"dest": "<%= path.asset %>/bootstrap/"
},
"bootstrap-multiselect": {
"expand": true,
"cwd": "<%= path.bower %>/bootstrap-multiselect/dist",
"src": [
"css/bootstrap-multiselect.css",
"js/bootstrap-multiselect.js"
],
"dest": "<%= path.asset %>/bootstrap-multiselect/"
},
"chai": {
"expand": true,
"src": "<%= path.bower %>/chai/chai.js",
"dest": "<%= path.asset %>/chai/",
"flatten": true
},
"font-awesome": {
"expand": true,
"cwd": "<%= path.bower %>/font-awesome",
"src": ["css/*", "font/*"],
"dest": "<%= path.asset %>/font-awesome/"
},
"geonames-server-jquery-plugin": {
"expand": true,
"flatten": true,
"src": [
"<%= path.bower %>/geonames-server-jquery-plugin/LICENSE",
"<%= path.bower %>/geonames-server-jquery-plugin/jquery.geonames.js"
],
"dest": "<%= path.asset %>/geonames-server-jquery-plugin"
}
,
"humane-js": {
"expand": true,
"src": ["humane.js", "themes/libnotify.css"],
"dest": "<%= path.asset %>/humane-js/",
"cwd": "<%= path.bower %>/humane-js/"
},
"i18next": {
"expand": true,
"src": [
"<%= path.bower %>/i18next/release/i18next.amd-1.6.3.js",
"<%= path.bower %>/i18next/license"
],
"dest": "<%= path.asset %>/i18next/",
"flatten": true
},
"jquery": {
"expand": true,
"src": "<%= path.bower %>/jquery/jquery.js",
"dest": "<%= path.asset %>/jquery/",
"flatten": true
},
"jquery-galleria": {
"expand": true,
"src": [
"<%= path.bower %>/jquery-galleria/src/galleria.js",
"<%= path.bower %>/jquery-galleria/src/themes/classic/!(classic-demo.html)*",
"<%= path.bower %>/jquery-galleria/LICENSE"
],
"dest": "<%= path.asset %>/jquery-galleria/",
"flatten": true
},
"jquery-file-upload": {
"expand": true,
"src": [
"<%= path.bower %>/jquery-file-upload/js/vendor/*",
"<%= path.bower %>/jquery-file-upload/js/jquery.fileupload.js",
"<%= path.bower %>/jquery-file-upload/js/jquery.iframe-transport.js",
"<%= path.bower %>/jquery-file-upload/css/jquery.fileupload-ui.css"
],
"dest": "<%= path.asset %>/jquery-file-upload/",
"flatten": true
},
"jquery.treeview": {
"expand": true,
"cwd": "<%= path.bower %>/jquery.treeview",
"src": [
"images/*",
"jquery.treeview*"
],
"dest": "<%= path.asset %>/jquery.treeview/"
},
"jquery-mobile": {
"expand": true,
"cwd": "<%= path.bower %>/jquery-mobile-bower/",
"src": [
"images/*",
"css/jquery.mobile-1.3.2.css",
"js/jquery.mobile-1.3.2.js"
],
"flatten": true,
"dest": "<%= path.asset %>/jquery-mobile/"
},
"jquery.cookie": {
"expand": true,
"cwd": "<%= path.bower %>/jquery.cookie",
"src": [
"jquery.cookie.js"
],
"dest": "<%= path.asset %>/jquery.cookie/"
},
"jquery-ui": {
"expand": true,
"cwd": "<%= path.bower %>/jquery-ui",
"src": [
"ui/i18n/*",
"ui/*",
"themes/base/*",
"themes/base/images/*",
"MIT-LICENSE.txt"
],
"rename": function(dest, src) {
var dest = dest + src.replace("ui/", "/");
return dest.replace("themes/base/", "/")
},
"dest": "<%= path.asset %>/jquery.ui/"
},
"js-fixtures": {
"expand": true,
"src": [
"<%= path.bower %>/js-fixtures/LICENSE",
"<%= path.bower %>/js-fixtures/fixtures.js"
],
"dest": "<%= path.asset %>/js-fixtures/",
"flatten": true
},
"json2": {
"expand": true,
"src": "<%= path.bower %>/json2/json2.js",
"dest": "<%= path.asset %>/json2/",
"flatten": true
},
"mocha": {
"expand": true,
"src": [
"<%= path.bower %>/mocha/LICENSE",
"<%= path.bower %>/mocha/mocha.js",
"<%= path.bower %>/mocha/mocha.css"
],
"dest": "<%= path.asset %>/mocha/",
"flatten": true
},
"modernizr": {
"expand": true,
"src": "<%= path.bower %>/modernizr/modernizr.js",
"dest": "<%= path.asset %>/modernizr/",
"flatten": true
},
"normalize": {
"expand": true,
"src": [
"<%= path.bower %>/normalize-css/normalize.css",
"<%= path.bower %>/normalize-css/LICENSE.md"
],
"dest": "<%= path.asset %>/normalize-css/",
"flatten": true
},
"sinon-chai": {
"expand": true,
"src": [
"<%= path.bower %>/sinon-chai/lib/sinon-chai.js",
"<%= path.bower %>/sinon-chai/LICENCE.txt",
],
"dest": "<%= path.asset %>/sinon-chai/",
"flatten": true
},
"sinonjs": {
"expand": true,
"src": [
"<%= path.bower %>/sinonjs/sinon.js"
],
"dest": "<%= path.asset %>/sinonjs/",
"flatten": true
},
"squire": {
"expand": true,
"src": [
"<%= path.bower %>/squire/src/Squire.js",
"<%= path.bower %>/squire/LICENCE"
],
"dest": "<%= path.asset %>/squire/",
"flatten": true
},
"qunit": {
"expand": true,
"src": [
"qunit/qunit.css",
"qunit/qunit.js",
"addons/phantomjs/*"
],
"dest": "<%= path.asset %>/qunit/",
"cwd": "<%= path.bower %>/qunit/",
"rename": function(dest, src) {
return dest + src.replace("qunit", "");
}
},
"requirejs": {
"expand": true,
"src": [
"<%= path.bower %>/requirejs/LICENSE",
"<%= path.bower %>/requirejs/require.js"
],
"dest": "<%= path.asset %>/requirejs/",
"flatten": true
},
"swfobject": {
"expand": true,
"src": "<%= path.bower %>/swfobject/swfobject/swfobject.js",
"dest": "<%= path.asset %>/swfobject",
"flatten": true
},
"tinymce": {
"expand": true,
"cwd": "<%= path.bower %>/tinymce/",
"src": [
"plugins/**",
"skins/**",
"themes/**",
"*.js",
"changelog.txt",
"license.txt"
],
"dest": "<%= path.asset %>/tinymce"
},
"underscore": {
"expand": true,
"src": [
"<%= path.bower %>/underscore-amd/LICENSE",
"<%= path.bower %>/underscore-amd/underscore.js"
],
"dest": "<%= path.asset %>/underscore-amd/",
"flatten": true
},
"web-socket-js": {
"expand": true,
"src": [
"<%= path.bower %>/web-socket-js/LICENSE.txt",
"<%= path.bower %>/web-socket-js/WebSocketMain.swf",
"<%= path.bower %>/web-socket-js/web_socket.js"
],
"dest": "<%= path.asset %>/web-socket-js",
"flatten": true
},
"zxcvbn": {
"expand": true,
"src": [
"<%= path.bower %>/zxcvbn/LICENSE.txt",
"<%= path.bower %>/zxcvbn/zxcvbn-async.js"
],
"dest": "<%= path.asset %>/zxcvbn",
"flatten": true
}
},
csslint: {
options: {
// Possible Errors
"box-model": false,
"duplicate-properties": false,
"empty-rules": false,
"errors": false,
"known-properties": false,
"display-property-grouping": false,
"non-link-hover": false,
// Compatibility
"adjoining-classes": false,
"box-sizing": false,
"compatible-vendor-prefixes": false,
"gradients": false,
"text-indent": false,
"fallback-colors": false,
"vendor-prefix": false,
"star-property-hack": false,
"underscore-property-hack": false,
"bulletproof-font-face": false,
// Performance
"font-faces": false,
"regex-selectors": false,
"unqualified-attributes": false,
"universal-selector": false,
"zero-units": false,
"overqualified-elements": false,
"duplicate-background-images": false,
"import": false,
// Maintainability & Duplication
"important": false,
"floats": false,
"font-sizes": false,
"ids": false,
// Accessibility
"outline-none": false,
// OOCSS
"qualified-headings": false,
"unique-headings": false,
// Others
"shorthand": false
},
all: {
src: ['www/skins/**/*.css']
}
}
});
grunt.loadNpmTasks("grunt-contrib");
grunt.loadNpmTasks('grunt-shell');
grunt.loadNpmTasks("grunt-bower-task");
grunt.loadNpmTasks("grunt-bower-postinst");
grunt.loadNpmTasks('grunt-mocha-phantomjs');
grunt.registerTask("copy-assets", [
"copy:autobahn",
"copy:backbone",
"copy:blueimp",
"copy:bootstrap",
"copy:bootstrap-multiselect",
"copy:chai",
"copy:font-awesome",
"copy:geonames-server-jquery-plugin",
"copy:humane-js",
"copy:i18next",
"copy:jquery",
"copy:jquery-galleria",
"copy:jquery-file-upload",
"copy:jquery-mobile",
"copy:jquery.cookie",
"copy:jquery-ui",
"copy:jquery.treeview",
"copy:json2",
"copy:js-fixtures",
"copy:modernizr",
"copy:normalize",
"copy:normalize",
"copy:qunit",
"copy:mocha",
"copy:requirejs",
"copy:sinon-chai",
"copy:sinonjs",
"copy:squire",
"copy:swfobject",
"copy:tinymce",
"copy:underscore",
"copy:web-socket-js",
"copy:zxcvbn"
]);
grunt.registerTask("install-assets", [
"clean:assets",
"bower",
"bower_postinst",
"copy-assets",
"clean:bower"
]);
grunt.registerTask('test', ["shell:generate_js_fixtures", "qunit", "mocha_phantomjs"]);
};