mirror of
https://github.com/netbymatt/ws4kp.git
synced 2026-04-14 07:39:29 -07:00
- Adds METAR (Meteorological Aerodrome Report) parsing capabilities - metar-taf-parser has no dependencies, so impact is small
42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
/* eslint-disable import/no-extraneous-dependencies */
|
|
import { src, series, dest } from 'gulp';
|
|
import { deleteAsync } from 'del';
|
|
import rename from 'gulp-rename';
|
|
|
|
const clean = () => deleteAsync(['./server/scripts/vendor/auto/**']);
|
|
|
|
const vendorFiles = [
|
|
'./node_modules/luxon/build/es6/luxon.js',
|
|
'./node_modules/luxon/build/es6/luxon.js.map',
|
|
'./node_modules/nosleep.js/dist/NoSleep.js',
|
|
'./node_modules/suncalc/suncalc.js',
|
|
'./node_modules/swiped-events/src/swiped-events.js',
|
|
];
|
|
|
|
// Special handling for metar-taf-parser - only copy main file and English locale
|
|
const metarFiles = [
|
|
'./node_modules/metar-taf-parser/metar-taf-parser.js',
|
|
'./node_modules/metar-taf-parser/locale/en.js',
|
|
];
|
|
|
|
const copy = () => src(vendorFiles)
|
|
.pipe(rename((path) => {
|
|
path.dirname = path.dirname.toLowerCase();
|
|
path.basename = path.basename.toLowerCase();
|
|
path.extname = path.extname.toLowerCase();
|
|
if (path.basename === 'luxon') path.extname = '.mjs';
|
|
}))
|
|
.pipe(dest('./server/scripts/vendor/auto'));
|
|
|
|
const copyMetar = () => src(metarFiles, { base: './node_modules/metar-taf-parser' })
|
|
.pipe(rename((path) => {
|
|
path.basename = path.basename.toLowerCase();
|
|
path.extname = path.extname.toLowerCase();
|
|
if (path.basename === 'metar-taf-parser') path.extname = '.mjs';
|
|
}))
|
|
.pipe(dest('./server/scripts/vendor/auto'));
|
|
|
|
const updateVendor = series(clean, copy, copyMetar);
|
|
|
|
export default updateVendor;
|