Skip to content

Commit 25eccac

Browse files
committed
refactor build config
1 parent 9e53bec commit 25eccac

81 files changed

Lines changed: 6418 additions & 450 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
/build
2-
/node_modules
3-
/electron_build
1+
build/
2+
node_modules/
3+
electron_build/
44
.env
55
dist/
6+
vendor/

Gulpfile.js

Lines changed: 42 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,118 +1,26 @@
1-
require('dotenv').load()
2-
var env = process.env
3-
41
var gulp = require('gulp')
52
var styl = require('gulp-stylus')
63
var autoprefixer = require('gulp-autoprefixer')
7-
var templateCache = require('gulp-angular-templatecache')
8-
var globby = require('globby')
9-
var template = require('gulp-template')
104
var del = require('del')
115
var runSequence = require('run-sequence')
126
var plumber = require('gulp-plumber')
137
var notify = require('gulp-notify')
14-
var changed = require('gulp-changed')
8+
var rename = require('gulp-rename')
159
var livereload = require('gulp-livereload')
10+
var inject = require('gulp-inject')
1611

1712
// for Dist
1813
var rev = require('gulp-rev')
1914
var ngAnnotate = require('gulp-ng-annotate')
15+
var templateCache = require('gulp-angular-templatecache')
2016
var uglify = require('gulp-uglify')
2117
var minifyCss = require('gulp-minify-css')
2218
var merge = require('merge-stream')
2319
var concat = require('gulp-concat')
24-
var streamqueue = require('streamqueue')
2520
var minifyHtml = require('gulp-minify-html')
2621

2722
var config = require('./build.config.js')
2823

29-
gulp.task('js', function () {
30-
return streamqueue({objectMode: true},
31-
gulp.src('tpls/env.js')
32-
.pipe(template({
33-
apiUrl: env.BUILD_API_URL
34-
})),
35-
gulp.src(['src/**/*.js'])
36-
)
37-
.pipe(changed('build'))
38-
.pipe(gulp.dest('build'))
39-
})
40-
41-
gulp.task('dist', function () {
42-
var js = streamqueue({objectMode: true},
43-
gulp.src(['src/**/*.js']),
44-
gulp.src('tpls/env.js')
45-
.pipe(template({
46-
apiUrl: env.DIST_API_URL
47-
})),
48-
gulp.src('src/**/*.tpl.html')
49-
.pipe(templateCache())
50-
)
51-
.pipe(ngAnnotate())
52-
.pipe(uglify())
53-
.pipe(concat('app.js'))
54-
.pipe(gulp.dest('dist'))
55-
56-
var css = gulp.src('src/styles/main.styl')
57-
.pipe(plumber({errorHandler: notify.onError('Error: <%= error.message %>')}))
58-
.pipe(styl())
59-
.pipe(autoprefixer())
60-
.pipe(minifyCss())
61-
.pipe(gulp.dest('dist'))
62-
63-
var index = gulp.src('src/index.html')
64-
.pipe(template({
65-
scripts: ['app.js'],
66-
styles: ['main.css'],
67-
env: 'dist'
68-
}))
69-
.pipe(minifyHtml())
70-
.pipe(gulp.dest('dist'))
71-
72-
return merge(js, css, index)
73-
})
74-
75-
gulp.task('styl', function () {
76-
return gulp.src('src/styles/main.styl')
77-
.pipe(plumber({errorHandler: notify.onError('Error: <%= error.message %>')}))
78-
.pipe(styl())
79-
.pipe(autoprefixer())
80-
.pipe(gulp.dest('build'))
81-
.pipe(notify('Stylus!!'))
82-
.pipe(livereload())
83-
})
84-
85-
gulp.task('tpls', function () {
86-
return gulp.src('src/**/*.tpl.html')
87-
.pipe(templateCache())
88-
.pipe(notify('Tpls Done!! :)'))
89-
.pipe(gulp.dest('build'))
90-
})
91-
92-
gulp.task('index', function () {
93-
var files = globby.sync(['build/**/*', '!build/vendor/**/*'])
94-
95-
var filter = function (files, ext) {
96-
return files.filter(function (file) {
97-
var reg = new RegExp('.+\.' + ext + '$')
98-
return file.match(reg)
99-
}).map(function (file) {
100-
return file.replace('build/', '')
101-
})
102-
}
103-
var scripts = filter(files, 'js')
104-
var styles = filter(files, 'css')
105-
106-
return gulp.src('src/index.html')
107-
.pipe(template({
108-
scripts: scripts,
109-
styles: styles,
110-
env: 'build'
111-
}))
112-
.pipe(gulp.dest('build'))
113-
.pipe(livereload())
114-
})
115-
11624
gulp.task('vendor', function () {
11725
var vendors = config.vendors
11826

@@ -125,29 +33,53 @@ gulp.task('vendor', function () {
12533
vendorFiles.push('node_modules/font-awesome/**/FontAwesome.*')
12634

12735
return gulp.src(vendorFiles)
128-
.pipe(gulp.dest('build/vendor'))
36+
.pipe(gulp.dest('src/browser/vendor'))
12937
})
13038

131-
gulp.task('resources', function () {
132-
return gulp.src('resources/**/*')
133-
.pipe(changed('build/resources'))
134-
.pipe(gulp.dest('build/resources'))
39+
gulp.task('styl', function () {
40+
return gulp.src('src/**/app.styl')
41+
.pipe(plumber({errorHandler: notify.onError('Error: <%= error.message %>')}))
42+
.pipe(styl())
43+
.pipe(autoprefixer())
44+
.pipe(gulp.dest('src'))
45+
.pipe(notify('Stylus!!'))
46+
.pipe(livereload())
13547
})
13648

137-
gulp.task('build', function (cb) {
138-
runSequence(['js', 'styl', 'tpls', 'vendor', 'resources'], 'index', cb)
49+
gulp.task('bs', function () {
50+
return gulp.src('src/**/bootstrap.styl')
51+
.pipe(plumber({errorHandler: notify.onError('Error: <%= error.message %>')}))
52+
.pipe(styl())
53+
.pipe(autoprefixer())
54+
.pipe(gulp.dest('src'))
55+
.pipe(notify('Bootstrap compiled!!'))
56+
.pipe(livereload())
13957
})
14058

141-
gulp.task('watch', function (cb) {
142-
gulp.watch(['.env', 'tpls/env.js', 'src/**/*.js'], ['js'])
143-
144-
gulp.watch('src/styles/**/*.styl', ['styl'])
145-
146-
gulp.watch('src/**/*.tpl.html', ['tpls'])
59+
gulp.task('inject', function (cb) {
60+
runSequence('inject-main', 'inject-popup', cb)
61+
})
14762

148-
gulp.watch(['build/**/*.js', 'src/index.html'], ['index'])
63+
gulp.task('inject-main', function () {
64+
return gulp.src('src/browser/main/index.inject.html')
65+
.pipe(inject(gulp.src(['src/browser/main/**/*.js', 'src/browser/main/**/*.css', 'src/browser/shared/**/*.js', 'src/browser/shared/**/*.css'], {read: false}), {
66+
relative: true
67+
}))
68+
.pipe(rename(function (path) {
69+
path.basename = 'index'
70+
}))
71+
.pipe(gulp.dest('src/browser/main/'))
72+
})
14973

150-
livereload.listen()
74+
gulp.task('inject-popup', function () {
75+
return gulp.src('src/browser/popup/index.inject.html')
76+
.pipe(inject(gulp.src(['src/browser/popup/**/*.js', 'src/browser/popup/**/*.css', 'src/browser/shared/**/*.js', 'src/browser/shared/**/*.css'], {read: false}), {
77+
relative: true
78+
}))
79+
.pipe(rename(function (path) {
80+
path.basename = 'index'
81+
}))
82+
.pipe(gulp.dest('src/browser/popup/'))
15183
})
15284

15385
gulp.task('del', function (cb) {
@@ -157,5 +89,3 @@ gulp.task('del', function (cb) {
15789
gulp.task('default', function (cb) {
15890
runSequence('del', 'build', 'watch', cb)
15991
})
160-
161-
require('./gulp-electron')(gulp)

electron_src/styles/main.styl

Lines changed: 0 additions & 13 deletions
This file was deleted.

gulp-electron.js

Lines changed: 0 additions & 139 deletions
This file was deleted.

icon.png

-367 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)