mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-15 04:15:28 +03:00
Move outputDir to a constant. Add an output variable which contains the filenames for each output file. Remove usage of 'let' and 'for(... of [Object])' from osd.js, since uglify doesn't support ES6 and babel failed on google-analytics-bundle.js Fix 'deploy-receiver-css'. uglify() was being called as part of the pipeline instead of the correct minifyCSS() call. Let npm sort the deps rather than editing them manually Add missing openlayers dependency
192 lines
5.1 KiB
JavaScript
192 lines
5.1 KiB
JavaScript
'use strict';
|
|
|
|
var gulp = require('gulp');
|
|
var rename = require('gulp-rename');
|
|
var uglify = require('gulp-uglify');
|
|
var concat = require('gulp-concat');
|
|
var minifyCSS = require('gulp-minify-css');
|
|
|
|
var sources = {};
|
|
|
|
sources.css = [
|
|
'./main.css',
|
|
'./js/libraries/jquery.nouislider.min.css',
|
|
'./js/libraries/jquery.nouislider.pips.min.css',
|
|
'./js/libraries/flightindicators.css',
|
|
'./src/css/tabs/*.css',
|
|
'./src/css/opensans_webfontkit/fonts.css',
|
|
'./src/css/font-awesome/css/font-awesome.css',
|
|
'./src/css/dropdown-lists/css/style_lists.css',
|
|
'./js/libraries/switchery/switchery.css',
|
|
'./js/libraries/jbox/jBox.css'
|
|
];
|
|
|
|
sources.js = [
|
|
'./js/libraries/google-analytics-bundle.js',
|
|
'./node_modules/jquery/dist/jquery.min.js',
|
|
'./node_modules/jquery-ui-npm/jquery-ui.min.js',
|
|
'./js/libraries/d3.min.js',
|
|
'./js/libraries/jquery.nouislider.all.min.js',
|
|
'./node_modules/three/three.min.js',
|
|
'./js/libraries/Projector.js',
|
|
'./js/libraries/CanvasRenderer.js',
|
|
'./js/libraries/jquery.flightindicators.js',
|
|
'./js/libraries/semver.js',
|
|
'./js/libraries/jbox/jBox.min.js',
|
|
'./js/libraries/switchery/switchery.js',
|
|
'./js/libraries/jquery.ba-throttle-debounce.js',
|
|
'./node_modules/inflection/inflection.min.js',
|
|
'./node_modules/bluebird/js/browser/bluebird.min.js',
|
|
'./js/injected_methods.js',
|
|
'./js/intervals.js',
|
|
'./js/timeouts.js',
|
|
'./js/pid_controller.js',
|
|
'./js/simple_smooth_filter.js',
|
|
'./js/walking_average_filter.js',
|
|
'./js/gui.js',
|
|
'./js/msp/MSPCodes.js',
|
|
'./js/msp/MSPHelper.js',
|
|
'./js/msp/MSPchainer.js',
|
|
'./js/port_handler.js',
|
|
'./js/serial.js',
|
|
'./js/model.js',
|
|
'./js/serial_backend.js',
|
|
'./js/data_storage.js',
|
|
'./js/fc.js',
|
|
'./js/msp.js',
|
|
'./js/protocols/stm32.js',
|
|
'./js/protocols/stm32usbdfu.js',
|
|
'./js/localization.js',
|
|
'./js/boards.js',
|
|
'./js/tasks.js',
|
|
'./main.js',
|
|
'./tabs/*.js',
|
|
'./js/eventFrequencyAnalyzer.js',
|
|
'./js/periodicStatusUpdater.js',
|
|
'./js/serial_queue.js',
|
|
'./js/msp_balanced_interval.js',
|
|
'./tabs/advanced_tuning.js',
|
|
'./js/peripherals.js'
|
|
];
|
|
|
|
sources.mapCss = [
|
|
'./node_modules/openlayers/dist/ol.css'
|
|
];
|
|
|
|
sources.mapJs = [
|
|
'./node_modules/openlayers/dist/ol.js'
|
|
];
|
|
|
|
sources.receiverCss = [
|
|
'./css/opensans_webfontkit/fonts.css',
|
|
'./js/libraries/jquery.nouislider.min.css',
|
|
'./js/libraries/jquery.nouislider.pips.min.css',
|
|
'./tabs/receiver_msp.css'
|
|
];
|
|
|
|
sources.receiverJs = [
|
|
'./node_modules/jquery/dist/jquery.min.js',
|
|
'./node_modules/jquery-ui-npm/jquery-ui.min.js',
|
|
'./js/libraries/jquery.nouislider.all.min.js',
|
|
'./tabs/receiver_msp.js'
|
|
];
|
|
|
|
var output = {
|
|
css: 'styles.css',
|
|
js: 'script.js',
|
|
mapCss: 'map.css',
|
|
mapJs: 'map.js',
|
|
receiverCss: 'receiver-msp.css',
|
|
receiverJs: 'receiver-msp.js',
|
|
};
|
|
|
|
var outputDir = './build/';
|
|
|
|
gulp.task('build-css', function () {
|
|
|
|
return gulp.src(sources.css)
|
|
.pipe(concat(output.css))
|
|
.pipe(gulp.dest(outputDir));
|
|
});
|
|
|
|
gulp.task('build-js', function () {
|
|
|
|
return gulp.src(sources.js)
|
|
.pipe(concat(output.js))
|
|
.pipe(gulp.dest(outputDir));
|
|
});
|
|
|
|
gulp.task('build-map-css', function () {
|
|
|
|
return gulp.src(sources.mapCss)
|
|
.pipe(concat(output.mapCss))
|
|
.pipe(gulp.dest(outputDir));
|
|
});
|
|
|
|
gulp.task('build-map-js', function () {
|
|
|
|
return gulp.src(sources.mapJs)
|
|
.pipe(concat(output.mapJs))
|
|
.pipe(gulp.dest(outputDir));
|
|
});
|
|
|
|
gulp.task('deploy-css', function () {
|
|
|
|
return gulp.src(sources.css)
|
|
.pipe(concat(output.css))
|
|
.pipe(minifyCSS())
|
|
.pipe(gulp.dest(outputDir));
|
|
});
|
|
|
|
gulp.task('deploy-js', function () {
|
|
|
|
return gulp.src(sources.js)
|
|
.pipe(concat(output.js))
|
|
.pipe(uglify())
|
|
.pipe(gulp.dest(outputDir));
|
|
});
|
|
|
|
gulp.task('build-receiver-css', function () {
|
|
|
|
return gulp.src(sources.receiverCss)
|
|
.pipe(concat(output.receiverCss))
|
|
.pipe(gulp.dest(outputDir));
|
|
});
|
|
|
|
gulp.task('deploy-receiver-css', function () {
|
|
|
|
return gulp.src(sources.receiverCss)
|
|
.pipe(concat(output.receiverCss))
|
|
.pipe(minifyCSS())
|
|
.pipe(gulp.dest(outputDir));
|
|
});
|
|
|
|
gulp.task('build-receiver-msp-js', function () {
|
|
|
|
return gulp.src(sources.receiverJs)
|
|
.pipe(concat(output.receiverJs))
|
|
.pipe(gulp.dest(outputDir));
|
|
});
|
|
|
|
gulp.task('deploy-receiver-msp-js', function () {
|
|
|
|
return gulp.src(sources.receiverJs)
|
|
.pipe(concat(output.receiverJs))
|
|
.pipe(uglify())
|
|
.pipe(gulp.dest(outputDir));
|
|
});
|
|
|
|
gulp.task('build', ['build-css', 'build-js', 'build-receiver-css', 'build-receiver-msp-js', 'build-map-css', 'build-map-js']);
|
|
gulp.task('deploy', ['deploy-css', 'deploy-js', 'deploy-receiver-css', 'deploy-receiver-msp-js']);
|
|
|
|
gulp.task('watch', function () {
|
|
gulp.watch('js/**/*.js', ['build-js']);
|
|
gulp.watch('css/*.css', ['build-css']);
|
|
gulp.watch('main.css', ['build-css']);
|
|
gulp.watch('main.js', ['build-js']);
|
|
gulp.watch('tabs/*.js', ['build-js']);
|
|
gulp.watch('tabs/*.css', ['build-css']);
|
|
gulp.watch('eventPage.js', ['build-js']);
|
|
});
|
|
|
|
gulp.task('default', ['build']);
|