Skip to content

Commit 2f52754

Browse files
committed
Improve gulpfile
- Add watch task - Upgrade to use ES6 syntax
1 parent fd55e73 commit 2f52754

File tree

1 file changed

+76
-70
lines changed

1 file changed

+76
-70
lines changed

gulpfile.js

Lines changed: 76 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,103 @@
1-
var gulp = require('gulp'),
2-
expect = require('gulp-expect-file'),
3-
concat = require('gulp-concat'),
4-
uglify = require('gulp-uglify'),
5-
shell = require('gulp-shell');
1+
const gulp = require('gulp');
2+
const expect = require('gulp-expect-file');
3+
const concat = require('gulp-concat');
4+
const uglify = require('gulp-uglify');
5+
const shell = require('gulp-shell');
66

7-
function expectFiles(ary) {
7+
const expectFiles = (ary) => {
88
return gulp.src(ary).pipe(expect(ary));
99
}
1010

11-
var base = [
12-
'../setimmediate/setImmediate.js',
13-
'../paho/src/mqttws31.js',
14-
'src/webduino.js',
15-
'src/core/EventEmitter.js',
16-
'src/core/util.js',
17-
'src/util/promisify.js',
18-
'src/core/Transport.js',
19-
'src/transport/MqttTransport.js',
20-
'src/transport/WebSocketTransport.js',
21-
'src/core/Pin.js',
22-
'src/core/Module.js',
23-
'src/core/Board.js',
24-
'src/core/WebArduino.js',
25-
'src/core/Arduino.js',
26-
'../chrome-api-proxy/lib/chrome._api.js',
27-
'../chrome-api-proxy/lib/chrome.serial.js',
28-
'../webduino-serial-transport/src/SerialTransport.js',
29-
'../chrome-api-proxy/lib/chrome.bluetooth.js',
30-
'../webduino-bluetooth-transport/src/BluetoothTransport.js'
31-
],
32-
boards = [
33-
'src/board/Smart.js'
34-
],
35-
modules = [
36-
'src/module/DataTransfer.js',
37-
'src/module/IRRAW.js',
38-
'src/module/DFPlayer.js',
39-
'src/module/LCD1602.js',
40-
'src/module/Led.js',
41-
'src/module/RGBLed.js',
42-
'src/module/Button.js',
43-
'src/module/Ultrasonic.js',
44-
'src/module/Servo.js',
45-
'src/module/Tilt.js',
46-
'src/module/Pir.js',
47-
'src/module/Shock.js',
48-
'src/module/Sound.js',
49-
'src/module/Relay.js',
50-
'src/module/Dht.js',
51-
'src/module/Buzzer.js',
52-
'src/module/Max7219.js',
53-
'src/module/ADXL345.js',
54-
'src/module/HX711.js',
55-
'src/module/SSD1306.js',
56-
'src/module/Barcode.js',
57-
'src/module/IRLed.js',
58-
'src/module/IRRecv.js',
59-
'src/module/Joystick.js',
60-
'src/module/MQ2.js',
61-
'src/module/Photocell.js',
62-
'src/module/Pot.js',
63-
'src/module/RFID.js',
64-
'src/module/Soil.js',
65-
'src/module/G3.js',
66-
'src/module/Stepper.js'
67-
];
11+
const SOURCE_DIR = 'src';
12+
const DIST_DIR = 'dist';
13+
const base = [
14+
'../setimmediate/setImmediate.js',
15+
'../paho/src/mqttws31.js',
16+
'src/webduino.js',
17+
'src/core/EventEmitter.js',
18+
'src/core/util.js',
19+
'src/util/promisify.js',
20+
'src/core/Transport.js',
21+
'src/transport/MqttTransport.js',
22+
'src/transport/WebSocketTransport.js',
23+
'src/core/Pin.js',
24+
'src/core/Module.js',
25+
'src/core/Board.js',
26+
'src/core/WebArduino.js',
27+
'src/core/Arduino.js',
28+
'../chrome-api-proxy/lib/chrome._api.js',
29+
'../chrome-api-proxy/lib/chrome.serial.js',
30+
'../webduino-serial-transport/src/SerialTransport.js',
31+
'../chrome-api-proxy/lib/chrome.bluetooth.js',
32+
'../webduino-bluetooth-transport/src/BluetoothTransport.js'
33+
];
34+
const boards = [
35+
'src/board/Smart.js'
36+
];
37+
const modules = [
38+
'src/module/DataTransfer.js',
39+
'src/module/IRRAW.js',
40+
'src/module/DFPlayer.js',
41+
'src/module/LCD1602.js',
42+
'src/module/Led.js',
43+
'src/module/RGBLed.js',
44+
'src/module/Button.js',
45+
'src/module/Ultrasonic.js',
46+
'src/module/Servo.js',
47+
'src/module/Tilt.js',
48+
'src/module/Pir.js',
49+
'src/module/Shock.js',
50+
'src/module/Sound.js',
51+
'src/module/Relay.js',
52+
'src/module/Dht.js',
53+
'src/module/Buzzer.js',
54+
'src/module/Max7219.js',
55+
'src/module/ADXL345.js',
56+
'src/module/HX711.js',
57+
'src/module/SSD1306.js',
58+
'src/module/Barcode.js',
59+
'src/module/IRLed.js',
60+
'src/module/IRRecv.js',
61+
'src/module/Joystick.js',
62+
'src/module/MQ2.js',
63+
'src/module/Photocell.js',
64+
'src/module/Pot.js',
65+
'src/module/RFID.js',
66+
'src/module/Soil.js',
67+
'src/module/G3.js',
68+
'src/module/Stepper.js'
69+
];
6870

6971
gulp.task('clean', shell.task([
70-
'rm -rf dist docs'
72+
`rm -rf ${DIST_DIR} docs`
7173
]));
7274

7375
gulp.task('docs', ['clean'], shell.task([
7476
'./node_modules/.bin/yuidoc -c yuidoc.json ./src'
7577
]));
7678

77-
gulp.task('dev', ['clean'], function () {
79+
gulp.task('dev', ['clean'], () => {
7880
expectFiles(base)
7981
.pipe(concat('webduino-base.js'))
80-
.pipe(gulp.dest('dist'));
82+
.pipe(gulp.dest(DIST_DIR));
8183
expectFiles(base.concat(boards).concat(modules))
8284
.pipe(concat('webduino-all.js'))
83-
.pipe(gulp.dest('dist'));
85+
.pipe(gulp.dest(DIST_DIR));
8486
});
8587

86-
gulp.task('prod', ['clean'], function () {
88+
gulp.task('prod', ['clean'], () => {
8789
expectFiles(base)
8890
.pipe(concat('webduino-base.min.js'))
8991
.pipe(uglify())
90-
.pipe(gulp.dest('dist'));
92+
.pipe(gulp.dest(DIST_DIR));
9193
expectFiles(base.concat(boards).concat(modules))
9294
.pipe(concat('webduino-all.min.js'))
9395
.pipe(uglify())
94-
.pipe(gulp.dest('dist'));
96+
.pipe(gulp.dest(DIST_DIR));
97+
});
98+
99+
gulp.task('watch', () => {
100+
gulp.watch(SOURCE_DIR + '/**/*.js', ['dev']);
95101
});
96102

97103
gulp.task('default', ['docs', 'dev', 'prod']);

0 commit comments

Comments
 (0)