Skip to content
This repository was archived by the owner on Jun 1, 2020. It is now read-only.

Commit 5f8d2b6

Browse files
committed
Add production tasks
1 parent 0e5d1cf commit 5f8d2b6

File tree

3 files changed

+45
-28
lines changed

3 files changed

+45
-28
lines changed

Gulpfile.js

Lines changed: 42 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ var sourcemaps = require('gulp-sourcemaps');
1717

1818
// Static Server + watching scss/html files
1919
gulp.task('serve', ['sass', 'js'], function() {
20-
browserSync.init({
21-
server: './public'
22-
});
23-
gulp.watch('app/**/*.scss', ['sass']);
24-
gulp.watch('app/**/*.js', ['js']);
25-
gulp.watch('public/*.html').on('change', browserSync.reload);
20+
browserSync.init({
21+
server: './public'
22+
});
23+
gulp.watch('app/**/*.scss', ['sass']);
24+
gulp.watch('app/**/*.js', ['js']);
25+
gulp.watch('public/*.html').on('change', browserSync.reload);
2626
});
2727

2828
// Run lint for sass
@@ -44,41 +44,41 @@ gulp.task('jslint', function() {
4444

4545
// Min js files
4646
gulp.task('uglify', ['js'], function() {
47-
gulp.src('./public/js/app.js')
48-
.pipe(uglify())
49-
.pipe(concat('app.min.js'))
50-
.pipe(gulp.dest('./public/js'))
47+
return gulp.src('./public/js/build.js')
48+
.pipe(uglify())
49+
.pipe(concat('build.js'))
50+
.pipe(gulp.dest('./public/js'))
5151
});
5252

5353
// Min css files
5454
gulp.task('minify-css', ['sass'], function() {
55-
gulp.src('./public/css/main.css')
56-
.pipe(cleanCSS())
57-
.pipe(concat('main.min.css'))
58-
.pipe(gulp.dest('./public/css'))
59-
})
55+
return gulp.src('./public/css/main.css')
56+
.pipe(cleanCSS())
57+
.pipe(concat('main.css'))
58+
.pipe(gulp.dest('./public/css'))
59+
});
6060

6161
// Compile sass into CSS & auto-inject into browsers
6262
gulp.task('sass', ['stylelint'], function() {
63-
return gulp.src('./app/main.scss')
64-
.pipe(sass().on('error', sass.logError))
65-
.pipe(autoprefixer({
66-
browsers: ['last 2 versions'],
67-
cascade: false
68-
}))
69-
.pipe(sourcemaps.init({ loadMaps: true }))
70-
.pipe(sourcemaps.write('./'))
71-
.pipe(gulp.dest('./public/css'))
72-
.pipe(browserSync.stream())
73-
.pipe(notify({message: 'CSS created!', onLast: true}));
63+
return gulp.src('./app/main.scss')
64+
.pipe(sass().on('error', sass.logError))
65+
.pipe(autoprefixer({
66+
browsers: ['last 2 versions'],
67+
cascade: false
68+
}))
69+
.pipe(sourcemaps.init({ loadMaps: true }))
70+
.pipe(sourcemaps.write('./'))
71+
.pipe(gulp.dest('./public/css'))
72+
.pipe(browserSync.stream())
73+
.pipe(notify({message: 'CSS created!', onLast: true}));
7474
});
7575

7676
// Transpile ES6 js (React app) into JS & auto-inject into browsers
7777
gulp.task('js', ['jslint'], function() {
7878
var bundler = browserify('./app/app.js').transform("babelify", {presets: ["es2015", "react"]});
7979
return bundler.bundle()
8080
.on('error', function(err) { console.error(err); this.emit('end'); })
81-
.pipe(source('app.js'))
81+
.pipe(source('build.js'))
8282
.pipe(buffer())
8383
.pipe(sourcemaps.init({ loadMaps: true }))
8484
.pipe(sourcemaps.write('./'))
@@ -87,5 +87,20 @@ gulp.task('js', ['jslint'], function() {
8787
.pipe(notify({message: 'JS bundle created!', onLast: true}));
8888
});
8989

90+
// PRODUCTION
91+
gulp.task('set-prod-node-env', function() {
92+
return process.env.NODE_ENV = 'production';
93+
});
94+
95+
gulp.task('production', ['uglify', 'minify-css', 'set-prod-node-env']);
96+
97+
// Start server without build
98+
gulp.task('start', ['production'], function() {
99+
browserSync.init({
100+
server: './public'
101+
});
102+
});
103+
90104
// Tasks
91105
gulp.task('default', ['serve']);
106+

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
"description": "Basic Structure for React app following Atomic Design",
55
"scripts": {
66
"start": "gulp",
7+
"start-server": "gulp start",
78
"build-dev": "gulp js && gulp sass",
9+
"build-prod": "gulp production",
810
"js-lint": "gulp jslint",
911
"sass-lint": "gulp stylelint"
1012
},

public/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
</head>
88
<body>
99
<div id="app"></div>
10-
<script type="text/javascript" src="js/app.js"></script>
10+
<script type="text/javascript" src="js/build.js"></script>
1111
</body>
1212
</html>

0 commit comments

Comments
 (0)