Здесь происходит что-то внутреннее, в своих тестах я видел, что порядок был иногда случайным, иногда основанным на времени модификации, иногда в порядке. В любом случае, лучше всего использовать инструмент, чтобы наши потоки всегда были в том порядке, в котором мы их хотим.
gulp-order существует для этой цели. Он может принимать определенные c пути и синтаксис глобуса, которые у вас уже есть, так что вы можете повторно передать его плагину:
const { src, dest, watch, series, parallel } = require('gulp');
const concat = require('gulp-concat');
const uglify = require('gulp-uglify');
const order = require('gulp-order'); // Added
var merge2 = require('merge2');
const files = {
jsSrcPath: [
'../node_modules/jquery/dist/jquery.js',
'../node_modules/bootstrap/dist/js/bootstrap.js',
'js/*.js'
],
jsDstPath: 'dist'
}
function jsTask() {
return merge2(files.jsSrcPath.map(function (file) {
return src(file)
}))
.pipe(order(files.jsSrcPath)) // Added
.pipe(concat('app.js'))
.pipe(uglify())
.pipe(dest(files.jsDstPath));
}
function watchTask() {
watch(files.jsSrcPath, jsTask);
}
exports.default = series(
jsTask,
watchTask
);