1
1
var gulp = require ( 'gulp' ) ;
2
2
var gulpif = require ( 'gulp-if' ) ;
3
- var cleanCSS = require ( 'gulp-clean-css' ) ;
4
3
var del = require ( 'del' ) ;
5
4
var dom = require ( 'gulp-dom' ) ;
6
5
var uglifyes = require ( 'uglify-es' ) ;
@@ -9,6 +8,9 @@ var uglify = composer(uglifyes, console);
9
8
10
9
// Check the NODE_ENV environment variable
11
10
var isDev = process . env . NODE_ENV === 'development' ;
11
+ // Allow overriding of jellyfin-web directory
12
+ var WEB_DIR = process . env . JELLYFIN_WEB_DIR || 'node_modules/jellyfin-web/dist' ;
13
+ console . info ( 'Using jellyfin-web from' , WEB_DIR ) ;
12
14
13
15
// Skip minification for development builds or minified files
14
16
var compress = ! isDev && [
@@ -25,38 +27,21 @@ var uglifyOptions = {
25
27
}
26
28
} ;
27
29
28
- var cleanOptions = {
29
- // Do not rebase relative urls
30
- // Otherwise asset urls are rewritten to be relative to the current src
31
- rebase : false
32
- } ;
33
-
34
30
var paths = {
35
31
assets : {
36
32
src : [
37
- 'src/jellyfin-web/src/**/*' ,
38
- '!src/jellyfin-web/src/**/*.{js,css}' ,
39
- '!src/jellyfin-web/src/index.html'
33
+ WEB_DIR + '/**/*' ,
34
+ '!' + WEB_DIR + '/index.html'
40
35
] ,
41
36
dest : 'www/'
42
37
} ,
43
38
index : {
44
- src : 'src/jellyfin-web/src /index.html',
39
+ src : WEB_DIR + ' /index.html',
45
40
dest : 'www/'
46
41
} ,
47
42
scripts : {
48
- cordova : {
49
- src : 'src/cordova/**/*.js' ,
50
- dest : 'www/cordova/'
51
- } ,
52
- dashboard : {
53
- src : 'src/jellyfin-web/src/**/*.js' ,
54
- dest : 'www/'
55
- }
56
- } ,
57
- styles : {
58
- src : 'src/jellyfin-web/src/**/*.css' ,
59
- dest : 'www/'
43
+ src : 'src/cordova/**/*.js' ,
44
+ dest : 'www/cordova/'
60
45
}
61
46
} ;
62
47
@@ -107,42 +92,22 @@ function modifyIndex() {
107
92
}
108
93
109
94
// Uglify cordova scripts
110
- function cordovaScripts ( ) {
111
- return gulp . src ( paths . scripts . cordova . src )
112
- . pipe ( gulpif ( compress , uglify ( uglifyOptions ) ) )
113
- . pipe ( gulp . dest ( paths . scripts . cordova . dest ) ) ;
114
- }
115
- cordovaScripts . displayName = 'scripts:cordova' ;
116
-
117
- // Uglify dashboard-ui scripts
118
- function dashboardScripts ( ) {
119
- return gulp . src ( paths . scripts . dashboard . src )
95
+ function scripts ( ) {
96
+ return gulp . src ( paths . scripts . src )
120
97
. pipe ( gulpif ( compress , uglify ( uglifyOptions ) ) )
121
- . pipe ( gulp . dest ( paths . scripts . dashboard . dest ) ) ;
122
- }
123
- dashboardScripts . displayName = 'scripts:dashboard' ;
124
-
125
- // Uglify scripts
126
- var scripts = gulp . parallel ( cordovaScripts , dashboardScripts ) ;
127
-
128
- // Uglify stylesheets
129
- function styles ( ) {
130
- return gulp . src ( paths . styles . src )
131
- . pipe ( gulpif ( compress , cleanCSS ( cleanOptions ) ) )
132
- . pipe ( gulp . dest ( paths . styles . dest ) ) ;
98
+ . pipe ( gulp . dest ( paths . scripts . dest ) ) ;
133
99
}
134
100
135
101
// Default build task
136
102
var build = gulp . series (
137
103
clean ,
138
- gulp . parallel ( copy , modifyIndex , scripts , styles )
104
+ gulp . parallel ( copy , modifyIndex , scripts )
139
105
) ;
140
106
141
107
// Export tasks so they can be run individually
142
108
exports . clean = clean ;
143
109
exports . copy = copy ;
144
110
exports . modifyIndex = modifyIndex ;
145
111
exports . scripts = scripts ;
146
- exports . styles = styles ;
147
112
// Export default task
148
113
exports . default = build ;
0 commit comments