##// END OF EJS Templates
styles: build shared styles with vulcanize instead of grunt magic
ergo -
r712:e87a13fe default
parent child Browse files
Show More
@@ -0,0 +1,5 b''
1 <dom-module id="shared-styles">
2 <template>
3 <link rel="stylesheet" href="../../../css/style-polymer.css">
4 </template>
5 </dom-module>
@@ -1,64 +1,63 b''
1 1 syntax: glob
2 2 *.egg
3 3 *.egg-info
4 4 *.idea
5 5 *.orig
6 6 *.pyc
7 7 *.sqlite-journal
8 8 *.swp
9 9 *.tox
10 10 *.DS_Store*
11 11 rhodecode/public/js/src/components/**/*.css
12 12
13 13 syntax: regexp
14 14
15 15 #.filename
16 16 ^\.settings$
17 17 ^\.project$
18 18 ^\.pydevproject$
19 19 ^\.coverage$
20 20 ^\.cache.*$
21 21 ^\.rhodecode$
22 22
23 23 ^rcextensions
24 24 ^_dev
25 25 ^._dev
26 26 ^build/
27 27 ^bower_components/
28 28 ^coverage\.xml$
29 29 ^data$
30 30 ^\.eggs/
31 31 ^configs/data$
32 32 ^dev.ini$
33 33 ^acceptance_tests/dev.*\.ini$
34 34 ^dist/
35 35 ^fabfile.py
36 36 ^htmlcov
37 37 ^junit\.xml$
38 38 ^node_modules/
39 39 ^pylint.log$
40 40 ^rcextensions/
41 41 ^result$
42 42 ^rhodecode/public/css/style.css$
43 43 ^rhodecode/public/css/style-polymer.css$
44 44 ^rhodecode/public/js/scripts.js$
45 45 ^rhodecode/public/js/rhodecode-components.html$
46 ^rhodecode/public/js/src/components/shared-styles.html$
47 46 ^rhodecode\.db$
48 47 ^rhodecode\.log$
49 48 ^rhodecode_dev\.log$
50 49 ^test\.db$
51 50
52 51 # ac-tests
53 52 ^acceptance_tests/\.cache.*$
54 53 ^acceptance_tests/externals
55 54 ^acceptance_tests/ghostdriver.log$
56 55 ^acceptance_tests/local(_.+)?\.ini$
57 56
58 57 # docs
59 58 ^docs/_build$
60 59 ^docs/result$
61 60 ^docs-internal/_build$
62 61
63 62 # Cythonized things
64 63 ^rhodecode/.*\.(c|so)$
@@ -1,189 +1,177 b''
1 1 module.exports = function(grunt) {
2 2 grunt.initConfig({
3 3
4 4 dirs: {
5 5 css: "rhodecode/public/css",
6 6 js: {
7 7 "src": "rhodecode/public/js/src",
8 8 "dest": "rhodecode/public/js"
9 9 }
10 10 },
11 11 copy: {
12 12 main: {
13 13 expand: true,
14 14 cwd: 'bower_components',
15 15 src: 'webcomponentsjs/**',
16 16 dest: '<%= dirs.js.dest %>/vendors',
17 17 },
18 18 },
19 19 concat: {
20 polymercss:{
21 src: [
22 // Base libraries
23 '<%= dirs.js.src %>/components/shared-styles-prefix.html',
24 '<%= dirs.css %>/style-polymer.css',
25 '<%= dirs.js.src %>/components/shared-styles-suffix.html'
26 ],
27 dest: '<%= dirs.js.dest %>/src/components/shared-styles.html',
28 nonull: true
29 },
30 20 dist: {
31 21 src: [
32 22 // Base libraries
33 23 '<%= dirs.js.src %>/jquery-1.11.1.min.js',
34 24 '<%= dirs.js.src %>/logging.js',
35 25 '<%= dirs.js.src %>/bootstrap.js',
36 26 '<%= dirs.js.src %>/mousetrap.js',
37 27 '<%= dirs.js.src %>/moment.js',
38 28 '<%= dirs.js.src %>/appenlight-client-0.4.1.min.js',
39 29 '<%= dirs.js.src %>/i18n_utils.js',
40 30 '<%= dirs.js.src %>/deform.js',
41 31
42 32 // Plugins
43 33 '<%= dirs.js.src %>/plugins/jquery.pjax.js',
44 34 '<%= dirs.js.src %>/plugins/jquery.dataTables.js',
45 35 '<%= dirs.js.src %>/plugins/flavoured_checkbox.js',
46 36 '<%= dirs.js.src %>/plugins/jquery.auto-grow-input.js',
47 37 '<%= dirs.js.src %>/plugins/jquery.autocomplete.js',
48 38 '<%= dirs.js.src %>/plugins/jquery.debounce.js',
49 39 '<%= dirs.js.src %>/plugins/jquery.mark.js',
50 40 '<%= dirs.js.src %>/plugins/jquery.timeago.js',
51 41 '<%= dirs.js.src %>/plugins/jquery.timeago-extension.js',
52 42
53 43 // Select2
54 44 '<%= dirs.js.src %>/select2/select2.js',
55 45
56 46 // Code-mirror
57 47 '<%= dirs.js.src %>/codemirror/codemirror.js',
58 48 '<%= dirs.js.src %>/codemirror/codemirror_loadmode.js',
59 49 '<%= dirs.js.src %>/codemirror/codemirror_hint.js',
60 50 '<%= dirs.js.src %>/codemirror/codemirror_overlay.js',
61 51 '<%= dirs.js.src %>/codemirror/codemirror_placeholder.js',
62 52 // TODO: mikhail: this is an exception. Since the code mirror modes
63 53 // are loaded "on the fly", we need to keep them in a public folder
64 54 '<%= dirs.js.dest %>/mode/meta.js',
65 55 '<%= dirs.js.dest %>/mode/meta_ext.js',
66 56 '<%= dirs.js.dest %>/rhodecode/i18n/select2/translations.js',
67 57
68 58 // Rhodecode utilities
69 59 '<%= dirs.js.src %>/rhodecode/utils/array.js',
70 60 '<%= dirs.js.src %>/rhodecode/utils/string.js',
71 61 '<%= dirs.js.src %>/rhodecode/utils/pyroutes.js',
72 62 '<%= dirs.js.src %>/rhodecode/utils/ajax.js',
73 63 '<%= dirs.js.src %>/rhodecode/utils/autocomplete.js',
74 64 '<%= dirs.js.src %>/rhodecode/utils/colorgenerator.js',
75 65 '<%= dirs.js.src %>/rhodecode/utils/ie.js',
76 66 '<%= dirs.js.src %>/rhodecode/utils/os.js',
77 67 '<%= dirs.js.src %>/rhodecode/utils/topics.js',
78 68
79 69 // Rhodecode widgets
80 70 '<%= dirs.js.src %>/rhodecode/widgets/multiselect.js',
81 71
82 72 // Rhodecode components
83 73 '<%= dirs.js.src %>/rhodecode/init.js',
84 74 '<%= dirs.js.src %>/rhodecode/connection_controller.js',
85 75 '<%= dirs.js.src %>/rhodecode/codemirror.js',
86 76 '<%= dirs.js.src %>/rhodecode/comments.js',
87 77 '<%= dirs.js.src %>/rhodecode/constants.js',
88 78 '<%= dirs.js.src %>/rhodecode/files.js',
89 79 '<%= dirs.js.src %>/rhodecode/followers.js',
90 80 '<%= dirs.js.src %>/rhodecode/menus.js',
91 81 '<%= dirs.js.src %>/rhodecode/notifications.js',
92 82 '<%= dirs.js.src %>/rhodecode/permissions.js',
93 83 '<%= dirs.js.src %>/rhodecode/pjax.js',
94 84 '<%= dirs.js.src %>/rhodecode/pullrequests.js',
95 85 '<%= dirs.js.src %>/rhodecode/settings.js',
96 86 '<%= dirs.js.src %>/rhodecode/select2_widgets.js',
97 87 '<%= dirs.js.src %>/rhodecode/tooltips.js',
98 88 '<%= dirs.js.src %>/rhodecode/users.js',
99 89 '<%= dirs.js.src %>/rhodecode/utils/notifications.js',
100 90 '<%= dirs.js.src %>/rhodecode/appenlight.js',
101 91
102 92 // Rhodecode main module
103 93 '<%= dirs.js.src %>/rhodecode.js'
104 94 ],
105 95 dest: '<%= dirs.js.dest %>/scripts.js',
106 96 nonull: true
107 97 }
108 98 },
109 99
110 100 less: {
111 101 development: {
112 102 options: {
113 103 compress: false,
114 104 yuicompress: false,
115 105 optimization: 0
116 106 },
117 107 files: {
118 108 "<%= dirs.css %>/style.css": "<%= dirs.css %>/main.less",
119 109 "<%= dirs.css %>/style-polymer.css": "<%= dirs.css %>/polymer.less"
120 110 }
121 111 },
122 112 production: {
123 113 options: {
124 114 compress: true,
125 115 yuicompress: true,
126 116 optimization: 2
127 117 },
128 118 files: {
129 119 "<%= dirs.css %>/style.css": "<%= dirs.css %>/main.less",
130 120 "<%= dirs.css %>/style-polymer.css": "<%= dirs.css %>/polymer.less"
131 121 }
132 122 },
133 123 components: {
134 124 files: [{
135 125 cwd: '<%= dirs.js.src %>/components/',
136 126 dest: '<%= dirs.js.src %>/components/',
137 127 src: ['**/*.less'],
138 128 expand: true,
139 129 ext: '.css'
140 130 }]
141 131 }
142 132 },
143 133
144 134 watch: {
145 135 less: {
146 136 files: ["<%= dirs.css %>/*.less"],
147 tasks: ["less:development", 'less:components', 'concat:polymercss', "vulcanize"]
137 tasks: ["less:development", 'less:components', "vulcanize"]
148 138 },
149 139 js: {
150 140 files: ["<%= dirs.js.src %>/**/*.js", "<%= dirs.js.src %>/components/*.*"],
151 141 tasks: ["vulcanize", "concat:dist"]
152 142 }
153 143 },
154 144
155 145 jshint: {
156 146 rhodecode: {
157 147 src: '<%= dirs.js.src %>/rhodecode/**/*.js',
158 148 options: {
159 149 jshintrc: '.jshintrc'
160 150 }
161 151 }
162 152 },
163 153 vulcanize: {
164 154 default: {
165 155 options: {
166 156 abspath: '',
167 157 inlineScripts: true,
168 158 inlineCss: true,
169 159 stripComments: true
170 160 },
171 161 files: {
172 162 '<%= dirs.js.dest %>/rhodecode-components.html': '<%= dirs.js.src %>/components/shared-components.html'
173 163 }
174 164 }
175 165 }
176 166 });
177 167
178 168 grunt.loadNpmTasks('grunt-contrib-less');
179 169 grunt.loadNpmTasks('grunt-contrib-concat');
180 170 grunt.loadNpmTasks('grunt-contrib-watch');
181 171 grunt.loadNpmTasks('grunt-contrib-jshint');
182 172 grunt.loadNpmTasks('grunt-vulcanize');
183 173 grunt.loadNpmTasks('grunt-crisper');
184 174 grunt.loadNpmTasks('grunt-contrib-copy');
185 175
186 // TODO: johbo: missing bower bits
187 // grunt.registerTask('default', ['less:production', 'less:components', 'concat:polymercss', 'copy','vulcanize', 'concat:dist']);
188 grunt.registerTask('default', ['less:production', 'concat:dist']);
176 grunt.registerTask('default', ['less:production', 'less:components', 'copy','vulcanize', 'concat:dist']);
189 177 };
General Comments 0
You need to be logged in to leave comments. Login now