@@ -18,9 +18,8 @@ const paths = {
1818 css : `${ root . dist } /css` ,
1919 font : `${ root . dist } /fonts`
2020 } ,
21- bower : {
22- component : `${ __dirname } /bower_components` ,
23- file : `${ __dirname } /bower.json`
21+ node : {
22+ modules : `${ __dirname } /node_modules`
2423 }
2524}
2625const resource = {
@@ -32,16 +31,21 @@ const resource = {
3231 } ,
3332 sass : `${ paths . src . css } /**/*.s+(a|c)ss` ,
3433 static : `${ paths . src . static } /**/*` ,
35- font : `${ paths . bower . component } /fontawesome/fonts/**/*`
34+ } ,
35+ vendor : {
36+ js : {
37+ jquery : `${ paths . node . modules } /jquery/dist/jquery.js` ,
38+ bootstrap : `${ paths . node . modules } /bootstrap-sass/assets/javascripts/bootstrap.js` ,
39+ eventemitter : `${ paths . node . modules } /wolfy87-eventemitter/EventEmitter.js`
40+ } ,
41+ fontawesome : `${ paths . node . modules } /font-awesome/fonts/**/*` ,
3642 }
3743}
3844
3945import gulp from 'gulp'
4046import gulpLoaderPlugins from 'gulp-load-plugins'
4147import del from 'del'
4248import path from 'path'
43- import bower from 'bower'
44- import bowerFiles from 'main-bower-files'
4549import webpack from 'webpack'
4650import webpackStream from 'webpack-stream'
4751import runSequence from 'run-sequence'
@@ -58,7 +62,7 @@ gulp.task('default', ['build', 'server'])
5862
5963//## build for developer
6064gulp . task ( 'build' , ( callback ) =>
61- runSequence ( 'clean' , 'bower' , [ 'build:jade' , 'build:sass' , 'build:webpack' , 'build:static' ] , callback )
65+ runSequence ( 'clean' , [ 'build:jade' , 'build:sass' , 'build:webpack' , 'build:static' ] , callback )
6266)
6367
6468//## build production
@@ -79,34 +83,10 @@ gulp.task('revision', (callback) =>
7983 runSequence ( 'revision:clean' , 'revision:append' , 'clean' , 'revision:copy' , 'revision:clean' , callback )
8084)
8185
82- // build Vendor UI Library (bower.json) [Load/Concat]
83- gulp . task ( 'bower' , ( ) => {
84- bower . commands . install ( ) . on ( 'end' , ( ) => {
85- const filterCss = [ '**/bootstrap-datepicker3.css' ]
86- gulp . src ( bowerFiles ( { filter : filterCss } ) )
87- . pipe ( $ . concat ( 'vendor.css' ) )
88- . pipe ( $ . pleeease ( ) )
89- . pipe ( gulp . dest ( paths . dist . css ) )
90- gulp . src ( resource . src . font ) // for font-awesome
91- . pipe ( gulp . dest ( paths . dist . font ) )
92- const filterJs = ( file ) => { // for bootstrap-sass-official
93- return / .* \. j s / . test ( file ) && ( $ . slash ( file ) . indexOf ( '/bootstrap/' ) == - 1 )
94- }
95- const appendJs = path . join ( paths . bower . component , 'react/react-dom.js' )
96- gulp . src ( bowerFiles ( { filter : filterJs } ) . concat ( appendJs ) )
97- . pipe ( $ . concat ( 'vendor.js' ) )
98- . pipe ( $ . if ( production , $ . uglify ( ) ) )
99- . pipe ( gulp . dest ( paths . dist . js ) )
100- } )
101- } )
102-
10386// compile Webpack [ ES6(Babel) / Vue -> SPA(main.js) ]
10487gulp . task ( 'build:webpack' , ( ) => {
10588 process . env . NODE_ENV = ( production == true ) ? 'production' : 'development'
106- let plugins = [
107- new webpack . ResolverPlugin ( new webpack . ResolverPlugin . DirectoryDescriptionFilePlugin ( 'bower.json' , [ 'main' ] ) ) ,
108- new webpack . optimize . DedupePlugin ( )
109- ]
89+ let plugins = [ new webpack . optimize . DedupePlugin ( ) ]
11090 if ( production ) plugins . push ( new webpack . optimize . UglifyJsPlugin ( { compress : { warnings : false } } ) )
11191 gulp . src ( [ resource . src . webpack . babel , resource . src . webpack . vue ] )
11292 . pipe ( $ . plumber ( ) )
@@ -120,7 +100,7 @@ gulp.task('build:webpack', () => {
120100 ]
121101 } ,
122102 resolve : {
123- modulesDirectories : [ 'node_modules' , 'bower_components' , paths . src . js ] ,
103+ modulesDirectories : [ 'node_modules' , paths . src . js ] ,
124104 extensions : [ '' , '.js' , ".jsx" , ".jade" ]
125105 } ,
126106 plugins : plugins
@@ -141,13 +121,9 @@ gulp.task('build:jade', () => {
141121} )
142122
143123// compile Sass -> CSS
144- // check https://github.com/sasstools/sass-lint/pull/168
145124gulp . task ( 'build:sass' , ( ) => {
146125 gulp . src ( resource . src . sass )
147126 . pipe ( $ . plumber ( ) )
148- // .pipe($.sassLint())
149- // .pipe($.sassLint.format())
150- // .pipe($.sassLint.failOnError())
151127 . pipe ( $ . sass ( ) )
152128 . pipe ( $ . concat ( 'style.css' ) )
153129 . pipe ( $ . pleeease ( ) )
@@ -157,6 +133,13 @@ gulp.task('build:sass', () => {
157133
158134// copy Static Resource
159135gulp . task ( 'build:static' , ( ) => {
136+ const libs = resource . vendor . js
137+ gulp . src ( Object . keys ( libs ) . map ( ( key ) => libs [ key ] ) )
138+ . pipe ( $ . concat ( "vendor.js" ) )
139+ . pipe ( $ . if ( production , $ . uglify ( ) ) )
140+ . pipe ( gulp . dest ( paths . dist . js ) )
141+ gulp . src ( resource . vendor . fontawesome )
142+ . pipe ( gulp . dest ( paths . dist . font ) )
160143 gulp . src ( resource . src . static )
161144 . pipe ( gulp . dest ( paths . dist . root ) )
162145} )
@@ -168,7 +151,6 @@ gulp.task('server', () => {
168151 notify : false
169152 } )
170153 // watch for source
171- gulp . watch ( paths . bower . file , [ 'bower' ] )
172154 gulp . watch ( resource . src . jade , [ 'build:jade' ] )
173155 gulp . watch ( resource . src . sass , [ 'build:sass' ] )
174156 gulp . watch ( resource . src . static , [ 'build:static' ] )
0 commit comments