1
- var gulp = require ( "gulp" ) ;
2
- var concat = require ( "gulp-concat" ) ;
3
- var uglify = require ( "gulp-uglify" ) ;
4
- var rename = require ( 'gulp-rename' ) ;
5
- var sourcemaps = require ( 'gulp-sourcemaps' ) ;
6
- var ts = require ( 'gulp-typescript' ) ;
7
- var clean = require ( 'gulp-clean' ) ;
8
- var cssMinify = require ( 'gulp-cssnano' ) ;
9
- var runSequence = require ( 'run-sequence' ) ;
10
-
11
- var tscProject = ts . createProject ( 'tsconfig.json' ) ;
12
-
13
- var SystemBuilder = require ( 'systemjs-builder' ) ;
14
-
15
- // cleans the previous builds
16
- gulp . task ( 'clean' , function ( ) {
17
- return gulp . src ( [ 'dist' , 'src/jscode' ] , {
18
- read : false
19
- } )
20
- . pipe ( clean ( ) )
21
- } ) ;
22
-
23
- // Vendor jS and CSS *************************************************************************************
24
- gulp . task ( 'vendor-js' , ( ) => {
25
- return gulp . src ( [
26
- 'node_modules/core-js/client/shim.js' ,
27
- 'node_modules/zone.js/dist/zone.js' ,
28
- 'node_modules/systemjs/dist/system.src.js' ,
29
- 'node_modules/jquery/dist/jquery.min.js' ,
30
- 'node_modules/bootstrap/dist/js/bootstrap.min.js'
31
- ] )
32
- . pipe ( concat ( 'vendorjs.js' ) )
33
- . pipe ( rename ( {
34
- suffix : '.min'
35
- } ) )
36
- . pipe ( uglify ( ) )
37
- . pipe ( gulp . dest ( 'dist/src/scripts/' ) )
38
- } ) ;
39
-
40
- gulp . task ( 'vendor-css' , ( ) => {
41
- return gulp . src ( [
42
- 'node_modules/bootstrap/dist/css/bootstrap.min.css'
43
- ] )
44
- . pipe ( concat ( 'vendorcss.css' ) )
45
- . pipe ( rename ( {
46
- suffix : '.min'
47
- } ) )
48
- . pipe ( cssMinify ( ) )
49
- . pipe ( gulp . dest ( 'dist/src/css/' ) )
50
- } ) ;
51
-
52
- // Bundle jS and CSS *************************************************************************************
53
-
54
- gulp . task ( 'tsc' , ( ) => {
55
- return gulp . src ( 'src/app/**/*.ts' )
56
- . pipe ( tscProject ( ) )
57
- . pipe ( gulp . dest ( 'src/jscode' ) ) ;
58
- } ) ;
59
-
60
- // loads all the required files based on systemjs.config.js
61
- // bundles them into bundle.js then minifying into bundle.min.js
62
- gulp . task ( 'build-js' , [ 'tsc' ] , ( ) => {
63
- var builder = new SystemBuilder ( ) ;
64
-
65
- return builder . loadConfig ( 'systemjs.config.js' )
66
- . then ( ( ) => builder . buildStatic ( 'app' , 'dist/src/scripts/bundle.js' , {
67
- minify : false , sourceMaps : true , encodeNames :false
68
- } ) )
69
- . then ( ( ) => gulp . src ( 'dist/src/scripts/bundle.js' )
70
- . pipe ( rename ( {
71
- suffix : '.min'
72
- } ) )
73
- . pipe ( gulp . dest ( 'dist/src/scripts/' ) )
74
- . pipe ( uglify ( ) )
75
- . pipe ( gulp . dest ( 'dist/src/scripts/' ) ) )
76
- . then ( ( ) => gulp . src ( [ 'dist/src/scripts/bundle.js' ] , {
77
- read : false
78
- } )
79
- . pipe ( clean ( ) ) ) ;
80
-
81
- } ) ;
82
-
83
- gulp . task ( 'build-css' , function ( ) {
84
- return gulp . src ( [
85
- 'src/css/main.css'
86
- ] )
87
- . pipe ( rename ( {
88
- suffix : '.min'
89
- } ) )
90
- . pipe ( cssMinify ( ) )
91
- . pipe ( gulp . dest ( 'dist/src/css/' ) )
92
- } ) ;
93
-
94
-
95
- // Copy jS and CSS *************************************************************************************
96
-
97
- gulp . task ( 'copy-html' , function ( ) {
98
- return gulp . src ( 'productionfiles/index.html' )
99
- . pipe ( gulp . dest ( 'dist/' ) ) ;
100
- } ) ;
101
-
102
- gulp . task ( 'copy-component-html' , function ( ) {
103
- return gulp . src ( 'src/app/**/*.html' )
104
- . pipe ( gulp . dest ( 'dist/src/app' ) ) ;
105
- } ) ;
106
-
107
- // Default task *************************************************************************************
108
-
109
- gulp . task ( 'build-prod' , function ( done ) {
110
- runSequence ( [ 'vendor-js' , 'vendor-css' , 'build-js' , 'build-css' , 'copy-html' , 'copy-component-html' ] , done ) ;
111
- } ) ;
1
+ var requireDir = require ( 'require-dir' ) ;
2
+ requireDir ( './gulp-tasks' ) ;
0 commit comments