##// END OF EJS Templates
packaging: Backport bower support utilities...
packaging: Backport bower support utilities To support nixos-16.03 the utilities to build bower components are backported inside of this PR. Once we switch to the new stable branch, we should be able to drop these pieces again.

File last commit:

r714:822499e8 default
r725:57489056 default
Show More
Gruntfile.js
187 lines | 6.4 KiB | application/javascript | JavascriptLexer
project: added all source files and assets
r1 module.exports = function(grunt) {
grunt.initConfig({
dirs: {
css: "rhodecode/public/css",
js: {
"src": "rhodecode/public/js/src",
"dest": "rhodecode/public/js"
}
},
polymer: introduce webcomponents to rhodecode
r689 copy: {
main: {
expand: true,
cwd: 'bower_components',
src: 'webcomponentsjs/**',
dest: '<%= dirs.js.dest %>/vendors',
},
},
project: added all source files and assets
r1 concat: {
polymer: slim out the styles and change the flow of initialization to avoid race conditions
r714 polymercss:{
src: [
// Base libraries
'<%= dirs.js.src %>/components/root-styles-prefix.html',
'<%= dirs.css %>/style-polymer.css',
'<%= dirs.js.src %>/components/root-styles-suffix.html'
],
dest: '<%= dirs.js.dest %>/src/components/root-styles.gen.html',
nonull: true
},
project: added all source files and assets
r1 dist: {
src: [
// Base libraries
'<%= dirs.js.src %>/jquery-1.11.1.min.js',
'<%= dirs.js.src %>/logging.js',
'<%= dirs.js.src %>/bootstrap.js',
'<%= dirs.js.src %>/mousetrap.js',
'<%= dirs.js.src %>/moment.js',
'<%= dirs.js.src %>/appenlight-client-0.4.1.min.js',
i18n: added JS utils for translation.
r324 '<%= dirs.js.src %>/i18n_utils.js',
dan
deform: add deform.js to compiled scripts.js
r524 '<%= dirs.js.src %>/deform.js',
project: added all source files and assets
r1
// Plugins
'<%= dirs.js.src %>/plugins/jquery.pjax.js',
'<%= dirs.js.src %>/plugins/jquery.dataTables.js',
'<%= dirs.js.src %>/plugins/flavoured_checkbox.js',
'<%= dirs.js.src %>/plugins/jquery.auto-grow-input.js',
'<%= dirs.js.src %>/plugins/jquery.autocomplete.js',
'<%= dirs.js.src %>/plugins/jquery.debounce.js',
dan
search: add syntax highlighting, line numbers and line context...
r48 '<%= dirs.js.src %>/plugins/jquery.mark.js',
project: added all source files and assets
r1 '<%= dirs.js.src %>/plugins/jquery.timeago.js',
'<%= dirs.js.src %>/plugins/jquery.timeago-extension.js',
// Select2
'<%= dirs.js.src %>/select2/select2.js',
dan
search: add syntax highlighting, line numbers and line context...
r48
project: added all source files and assets
r1 // Code-mirror
'<%= dirs.js.src %>/codemirror/codemirror.js',
'<%= dirs.js.src %>/codemirror/codemirror_loadmode.js',
'<%= dirs.js.src %>/codemirror/codemirror_hint.js',
'<%= dirs.js.src %>/codemirror/codemirror_overlay.js',
'<%= dirs.js.src %>/codemirror/codemirror_placeholder.js',
// TODO: mikhail: this is an exception. Since the code mirror modes
// are loaded "on the fly", we need to keep them in a public folder
'<%= dirs.js.dest %>/mode/meta.js',
'<%= dirs.js.dest %>/mode/meta_ext.js',
'<%= dirs.js.dest %>/rhodecode/i18n/select2/translations.js',
// Rhodecode utilities
'<%= dirs.js.src %>/rhodecode/utils/array.js',
'<%= dirs.js.src %>/rhodecode/utils/string.js',
'<%= dirs.js.src %>/rhodecode/utils/pyroutes.js',
'<%= dirs.js.src %>/rhodecode/utils/ajax.js',
'<%= dirs.js.src %>/rhodecode/utils/autocomplete.js',
'<%= dirs.js.src %>/rhodecode/utils/colorgenerator.js',
'<%= dirs.js.src %>/rhodecode/utils/ie.js',
'<%= dirs.js.src %>/rhodecode/utils/os.js',
frontend: topics implementation needs to live in CE edition
r340 '<%= dirs.js.src %>/rhodecode/utils/topics.js',
project: added all source files and assets
r1
// Rhodecode widgets
'<%= dirs.js.src %>/rhodecode/widgets/multiselect.js',
// Rhodecode components
dan
refactor: made javascript routes autogenerate based on python routes
r94 '<%= dirs.js.src %>/rhodecode/init.js',
notifications: support real-time notifications with websockets via channelstream
r526 '<%= dirs.js.src %>/rhodecode/connection_controller.js',
project: added all source files and assets
r1 '<%= dirs.js.src %>/rhodecode/codemirror.js',
'<%= dirs.js.src %>/rhodecode/comments.js',
'<%= dirs.js.src %>/rhodecode/constants.js',
'<%= dirs.js.src %>/rhodecode/files.js',
'<%= dirs.js.src %>/rhodecode/followers.js',
'<%= dirs.js.src %>/rhodecode/menus.js',
'<%= dirs.js.src %>/rhodecode/notifications.js',
'<%= dirs.js.src %>/rhodecode/permissions.js',
'<%= dirs.js.src %>/rhodecode/pjax.js',
'<%= dirs.js.src %>/rhodecode/pullrequests.js',
'<%= dirs.js.src %>/rhodecode/settings.js',
'<%= dirs.js.src %>/rhodecode/select2_widgets.js',
'<%= dirs.js.src %>/rhodecode/tooltips.js',
'<%= dirs.js.src %>/rhodecode/users.js',
notifications: support real-time notifications with websockets via channelstream
r526 '<%= dirs.js.src %>/rhodecode/utils/notifications.js',
project: added all source files and assets
r1 '<%= dirs.js.src %>/rhodecode/appenlight.js',
// Rhodecode main module
'<%= dirs.js.src %>/rhodecode.js'
],
dest: '<%= dirs.js.dest %>/scripts.js',
nonull: true
}
},
less: {
development: {
options: {
compress: false,
yuicompress: false,
optimization: 0
},
files: {
notifications: use rhodecode-toast for notifications instead of toastr jquery plugin
r699 "<%= dirs.css %>/style.css": "<%= dirs.css %>/main.less",
"<%= dirs.css %>/style-polymer.css": "<%= dirs.css %>/polymer.less"
project: added all source files and assets
r1 }
},
production: {
options: {
compress: true,
yuicompress: true,
optimization: 2
},
files: {
notifications: use rhodecode-toast for notifications instead of toastr jquery plugin
r699 "<%= dirs.css %>/style.css": "<%= dirs.css %>/main.less",
"<%= dirs.css %>/style-polymer.css": "<%= dirs.css %>/polymer.less"
project: added all source files and assets
r1 }
components: reorganize build pipeline to have nice separation of html/js/css
r703 },
components: {
files: [{
cwd: '<%= dirs.js.src %>/components/',
dest: '<%= dirs.js.src %>/components/',
src: ['**/*.less'],
expand: true,
ext: '.css'
}]
project: added all source files and assets
r1 }
},
watch: {
less: {
polymer: slim out the styles and change the flow of initialization to avoid race conditions
r714 files: ["<%= dirs.css %>/**/*.less"],
tasks: ["less:development", 'less:components', 'concat:polymercss', "vulcanize"]
project: added all source files and assets
r1 },
js: {
polymer: slim out the styles and change the flow of initialization to avoid race conditions
r714 files: ["<%= dirs.js.src %>/**/*.js", "<%= dirs.js.src %>/components/**/*.html"],
tasks: ['less:components', 'concat:polymercss', "vulcanize", "concat:dist"]
project: added all source files and assets
r1 }
},
jshint: {
rhodecode: {
src: '<%= dirs.js.src %>/rhodecode/**/*.js',
options: {
jshintrc: '.jshintrc'
}
}
polymer: introduce webcomponents to rhodecode
r689 },
vulcanize: {
default: {
options: {
abspath: '',
inlineScripts: true,
inlineCss: true,
stripComments: true
},
files: {
'<%= dirs.js.dest %>/rhodecode-components.html': '<%= dirs.js.src %>/components/shared-components.html'
}
}
project: added all source files and assets
r1 }
});
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-jshint');
polymer: introduce webcomponents to rhodecode
r689 grunt.loadNpmTasks('grunt-vulcanize');
grunt.loadNpmTasks('grunt-crisper');
grunt.loadNpmTasks('grunt-contrib-copy');
project: added all source files and assets
r1
polymer: slim out the styles and change the flow of initialization to avoid race conditions
r714 grunt.registerTask('default', ['less:production', 'less:components', 'concat:polymercss', 'copy','vulcanize', 'concat:dist']);
project: added all source files and assets
r1 };