##// END OF EJS Templates
js: produce minimized JS file as well as bundle
marcink -
r4017:da40b4bb default
parent child Browse files
Show More

The requested changes are too big and content was truncated. Show full diff

@@ -1,21 +1,22 b''
1 1 var gruntConfig = require('./grunt_config.json');
2 2 var webpackConfig = require('./webpack.config');
3 3 gruntConfig["webpack"] = {
4 4 options: {
5 5 stats: !process.env.NODE_ENV || process.env.NODE_ENV === 'development'
6 6 },
7 7 prod: webpackConfig,
8 8 dev: Object.assign({ watch: false }, webpackConfig)
9 9 };
10 10
11 11 module.exports = function(grunt) {
12 12 grunt.initConfig(gruntConfig);
13 13
14 14 grunt.loadNpmTasks('grunt-contrib-less');
15 15 grunt.loadNpmTasks('grunt-contrib-concat');
16 grunt.loadNpmTasks('grunt-contrib-uglify');
16 17 grunt.loadNpmTasks('grunt-contrib-watch');
17 18 grunt.loadNpmTasks('grunt-contrib-jshint');
18 19 grunt.loadNpmTasks('grunt-contrib-copy');
19 20 grunt.loadNpmTasks('grunt-webpack');
20 grunt.registerTask('default', ['less:production', 'less:components', 'copy', 'webpack', 'concat:dist']);
21 grunt.registerTask('default', ['less:production', 'less:components', 'copy', 'webpack', 'concat:dist', 'uglify:dist']);
21 22 };
@@ -1,177 +1,183 b''
1 1 {
2 2 "dirs": {
3 3 "css": {
4 4 "src": "rhodecode/public/css",
5 5 "dest": "rhodecode/public/css"
6 6 },
7 7 "js": {
8 8 "src": "rhodecode/public/js/src",
9 9 "src_rc": "rhodecode/public/js/rhodecode",
10 10 "dest": "rhodecode/public/js",
11 11 "node_modules": "node_modules"
12 12 }
13 13 },
14 14 "copy": {
15 15 "main": {
16 16 "files": [
17 17 {
18 18 "expand": true,
19 19 "cwd": "node_modules/@webcomponents",
20 20 "src": "webcomponentsjs/*.*",
21 21 "dest": "<%= dirs.js.dest %>/vendors"
22 22 },
23 23 {
24 24 "src": "<%= dirs.css.src %>/style-polymer.css",
25 25 "dest": "<%= dirs.js.dest %>/src/components/style-polymer.css"
26 26 }
27 27 ]
28 28 }
29 29 },
30 30 "concat": {
31 31 "dist": {
32 32 "src": [
33 33 "<%= dirs.js.node_modules %>/jquery/dist/jquery.min.js",
34 34 "<%= dirs.js.node_modules %>/mousetrap/mousetrap.min.js",
35 35 "<%= dirs.js.node_modules %>/moment/min/moment.min.js",
36 36 "<%= dirs.js.node_modules %>/clipboard/dist/clipboard.min.js",
37 37 "<%= dirs.js.node_modules %>/favico.js/favico-0.3.10.min.js",
38 38 "<%= dirs.js.node_modules %>/dropzone/dist/dropzone.js",
39 39 "<%= dirs.js.node_modules %>/sticky-sidebar/dist/sticky-sidebar.min.js",
40 40 "<%= dirs.js.node_modules %>/sticky-sidebar/dist/jquery.sticky-sidebar.min.js",
41 41 "<%= dirs.js.node_modules %>/waypoints/lib/noframework.waypoints.min.js",
42 42 "<%= dirs.js.node_modules %>/waypoints/lib/jquery.waypoints.min.js",
43 43 "<%= dirs.js.node_modules %>/appenlight-client/appenlight-client.min.js",
44 44 "<%= dirs.js.src %>/logging.js",
45 45 "<%= dirs.js.src %>/bootstrap.js",
46 46 "<%= dirs.js.src %>/i18n_utils.js",
47 47 "<%= dirs.js.src %>/deform.js",
48 48 "<%= dirs.js.src %>/ejs.js",
49 49 "<%= dirs.js.src %>/ejs_templates/utils.js",
50 50 "<%= dirs.js.src %>/plugins/jquery.pjax.js",
51 51 "<%= dirs.js.src %>/plugins/jquery.dataTables.js",
52 52 "<%= dirs.js.src %>/plugins/flavoured_checkbox.js",
53 53 "<%= dirs.js.src %>/plugins/jquery.auto-grow-input.js",
54 54 "<%= dirs.js.src %>/plugins/jquery.autocomplete.js",
55 55 "<%= dirs.js.src %>/plugins/jquery.debounce.js",
56 56 "<%= dirs.js.node_modules %>/mark.js/dist/jquery.mark.min.js",
57 57 "<%= dirs.js.src %>/plugins/jquery.timeago.js",
58 58 "<%= dirs.js.src %>/plugins/jquery.timeago-extension.js",
59 59 "<%= dirs.js.src %>/select2/select2.js",
60 60 "<%= dirs.js.src %>/codemirror/codemirror.js",
61 61 "<%= dirs.js.src %>/codemirror/codemirror_loadmode.js",
62 62 "<%= dirs.js.src %>/codemirror/codemirror_hint.js",
63 63 "<%= dirs.js.src %>/codemirror/codemirror_overlay.js",
64 64 "<%= dirs.js.src %>/codemirror/codemirror_placeholder.js",
65 65 "<%= dirs.js.src %>/codemirror/codemirror_simplemode.js",
66 66 "<%= dirs.js.dest %>/mode/meta.js",
67 67 "<%= dirs.js.dest %>/mode/meta_ext.js",
68 68 "<%= dirs.js.src_rc %>/i18n/select2/translations.js",
69 69 "<%= dirs.js.src %>/rhodecode/utils/array.js",
70 70 "<%= dirs.js.src %>/rhodecode/utils/string.js",
71 71 "<%= dirs.js.src %>/rhodecode/utils/pyroutes.js",
72 72 "<%= dirs.js.src %>/rhodecode/utils/ajax.js",
73 73 "<%= dirs.js.src %>/rhodecode/utils/autocomplete.js",
74 74 "<%= dirs.js.src %>/rhodecode/utils/colorgenerator.js",
75 75 "<%= dirs.js.src %>/rhodecode/utils/ie.js",
76 76 "<%= dirs.js.src %>/rhodecode/utils/os.js",
77 77 "<%= dirs.js.src %>/rhodecode/utils/topics.js",
78 78 "<%= dirs.js.src %>/rhodecode/init.js",
79 79 "<%= dirs.js.src %>/rhodecode/changelog.js",
80 80 "<%= dirs.js.src %>/rhodecode/codemirror.js",
81 81 "<%= dirs.js.src %>/rhodecode/comments.js",
82 82 "<%= dirs.js.src %>/rhodecode/constants.js",
83 83 "<%= dirs.js.src %>/rhodecode/files.js",
84 84 "<%= dirs.js.src %>/rhodecode/followers.js",
85 85 "<%= dirs.js.src %>/rhodecode/menus.js",
86 86 "<%= dirs.js.src %>/rhodecode/notifications.js",
87 87 "<%= dirs.js.src %>/rhodecode/permissions.js",
88 88 "<%= dirs.js.src %>/rhodecode/pjax.js",
89 89 "<%= dirs.js.src %>/rhodecode/pullrequests.js",
90 90 "<%= dirs.js.src %>/rhodecode/settings.js",
91 91 "<%= dirs.js.src %>/rhodecode/select2_widgets.js",
92 92 "<%= dirs.js.src %>/rhodecode/tooltips.js",
93 93 "<%= dirs.js.src %>/rhodecode/users.js",
94 94 "<%= dirs.js.src %>/rhodecode/appenlight.js",
95 95 "<%= dirs.js.src %>/rhodecode.js",
96 96 "<%= dirs.js.dest %>/rhodecode-components.js"
97 97 ],
98 98 "dest": "<%= dirs.js.dest %>/scripts.js",
99 99 "nonull": true
100 100 }
101 101 },
102 "uglify": {
103 "dist": {
104 "src": "<%= dirs.js.dest %>/scripts.js",
105 "dest": "<%= dirs.js.dest %>/scripts.min.js"
106 }
107 },
102 108 "less": {
103 109 "development": {
104 110 "options": {
105 111 "compress": false,
106 112 "yuicompress": false,
107 113 "optimization": 0
108 114 },
109 115 "files": {
110 116 "<%= dirs.css.dest %>/style.css": "<%= dirs.css.src %>/main.less",
111 117 "<%= dirs.css.dest %>/style-polymer.css": "<%= dirs.css.src %>/polymer.less",
112 118 "<%= dirs.css.dest %>/style-ipython.css": "<%= dirs.css.src %>/ipython.less"
113 119 }
114 120 },
115 121 "production": {
116 122 "options": {
117 123 "compress": true,
118 124 "yuicompress": true,
119 125 "optimization": 2
120 126 },
121 127 "files": {
122 128 "<%= dirs.css.dest %>/style.css": "<%= dirs.css.src %>/main.less",
123 129 "<%= dirs.css.dest %>/style-polymer.css": "<%= dirs.css.src %>/polymer.less",
124 130 "<%= dirs.css.dest %>/style-ipython.css": "<%= dirs.css.src %>/ipython.less"
125 131 }
126 132 },
127 133 "components": {
128 134 "files": [
129 135 {
130 136 "cwd": "<%= dirs.js.src %>/components/",
131 137 "dest": "<%= dirs.js.src %>/components/",
132 138 "src": [
133 139 "**/*.less"
134 140 ],
135 141 "expand": true,
136 142 "ext": ".css"
137 143 }
138 144 ]
139 145 }
140 146 },
141 147 "watch": {
142 148 "less": {
143 149 "files": [
144 150 "<%= dirs.css.src %>/**/*.less",
145 151 "<%= dirs.js.src %>/components/**/*.less"
146 152 ],
147 153 "tasks": [
148 154 "less:development",
149 155 "less:components",
150 156 "concat:polymercss",
151 157 "webpack",
152 158 "concat:dist"
153 159 ]
154 160 },
155 161 "js": {
156 162 "files": [
157 163 "!<%= dirs.js.src %>/components/root-styles.gen.html",
158 164 "<%= dirs.js.src %>/**/*.js",
159 165 "<%= dirs.js.src %>/components/**/*.html"
160 166 ],
161 167 "tasks": [
162 168 "less:components",
163 169 "concat:polymercss",
164 170 "webpack",
165 171 "concat:dist"
166 172 ]
167 173 }
168 174 },
169 175 "jshint": {
170 176 "rhodecode": {
171 177 "src": "<%= dirs.js.src %>/rhodecode/**/*.js",
172 178 "options": {
173 179 "jshintrc": ".jshintrc"
174 180 }
175 181 }
176 182 }
177 183 }
@@ -1,60 +1,61 b''
1 1 {
2 2 "name": "rhodecode-enterprise",
3 3 "version": "2.0.0",
4 4 "private": true,
5 5 "description" : "RhodeCode JS packaged",
6 6 "license": "SEE LICENSE IN LICENSE.txt",
7 7 "repository" : {
8 8 "type" : "hg",
9 9 "url" : "https://code.rhodecode.com/rhodecode-enterprise-ce"
10 10 },
11 11 "devDependencies": {
12 12 "appenlight-client": "git+https://git@github.com/AppEnlight/appenlight-client-js.git#0.5.1",
13 13 "clipboard": "^2.0.1",
14 14 "exports-loader": "^0.6.4",
15 15 "favico.js": "^0.3.10",
16 16 "dropzone": "^5.5.0",
17 17 "grunt": "^0.4.5",
18 18 "grunt-cli": "^1.3.1",
19 19 "grunt-contrib-concat": "^0.5.1",
20 20 "grunt-contrib-copy": "^1.0.0",
21 21 "grunt-contrib-jshint": "^0.12.0",
22 22 "grunt-contrib-less": "^1.1.0",
23 23 "grunt-contrib-watch": "^0.6.1",
24 24 "grunt-webpack": "^3.1.3",
25 "grunt-contrib-uglify": "^4.0.1",
25 26 "jquery": "1.11.3",
26 27 "mark.js": "8.11.1",
27 28 "jshint": "^2.9.1-rc3",
28 29 "moment": "^2.18.1",
29 30 "mousetrap": "^1.6.1",
30 31 "qrious": "^4.0.2",
31 "sticky-sidebar": "3.3.4",
32 "sticky-sidebar": "3.3.1",
32 33 "waypoints": "4.0.1",
33 34 "webpack": "4.23.1",
34 35 "webpack-cli": "3.1.2",
35 36 "babel-core": "^6.26.3",
36 37 "babel-loader": "^7.1.2",
37 38 "babel-plugin-transform-object-rest-spread": "^6.26.0",
38 39 "babel-preset-env": "^1.6.0",
39 40 "copy-webpack-plugin": "^4.4.2",
40 41 "css-loader": "^0.28.11",
41 42 "html-loader": "^0.4.4",
42 43 "html-webpack-plugin": "^3.2.0",
43 44 "imports-loader": "^0.7.1",
44 45 "polymer-webpack-loader": "^2.0.1",
45 46 "style-loader": "^0.21.0",
46 47 "webpack-uglify-js-plugin": "^1.1.9",
47 48 "raw-loader": "1.0.0-beta.0",
48 49 "ts-loader": "^1.3.3",
49 50 "@webcomponents/webcomponentsjs": "^2.0.0",
50 51 "@polymer/polymer": "^3.0.0",
51 52 "@polymer/paper-button": "^3.0.0",
52 53 "@polymer/paper-spinner": "^3.0.0",
53 54 "@polymer/paper-tooltip": "^3.0.0",
54 55 "@polymer/paper-toast": "^3.0.0",
55 56 "@polymer/paper-toggle-button": "^3.0.0",
56 57 "@polymer/iron-ajax": "^3.0.0",
57 58 "@polymer/iron-autogrow-textarea": "^3.0.0",
58 59 "@polymer/iron-a11y-keys": "^3.0.0"
59 60 }
60 61 }
1 NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
General Comments 0
You need to be logged in to leave comments. Login now