HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/apklausos/assets/packages/adminsidepanel/gulpfile.js
// globals process
'use strict';
const
    gulp = require('gulp'),
    uglify = require('gulp-uglify'),
    pump = require('pump'),
    concat = require('gulp-concat'),
    rename = require('gulp-rename'),
    sassLint = require('gulp-sass-lint'),
    eslint = require('gulp-eslint'),
    sourcemaps = require('gulp-sourcemaps'),
    autoprefixer = require('gulp-autoprefixer'),
    runSequence = require('run-sequence'),
    babel = require('gulp-babel'),
    webpack = require('webpack'),
    gulpWebpack = require('gulp-webpack'),
    sass = require('gulp-sass');

//filename definitions
const 
    cssOutFile = 'lsadminsidepanel.css',
    cssOutFileProducton = 'lsadminsidepanel.min.css',
    jsOutFile = 'lsadminsidepanel.js',
    jsOutFileDebug = 'lsadminsidepanel.debug.js',
    jsOutFileProducton = 'lsadminsidepanel.min.js';

gulp.task('default', function (cb) {
    runSequence('compile:production', 'compile', cb);
});

//general combined tasks
gulp.task('compile', ['sass', 'webpack', 'babelify']);
gulp.task('compile:production', function (cb) {
    runSequence(['sass:production', 'webpack:production'], 'compress', 'compresslibs', cb);
});
gulp.task('lint', ['sass:lint', 'js:lint']);


//Watcher tasks
gulp.task('watch', ['compile', 'lint', 'webpack:watch', 'sass:watch']);
gulp.task('sass:watch', function () {
    gulp.watch('./scss/*.scss', ['sass']);
});
gulp.task('webpack:watch', function () {
    gulp.watch(['./src/**/**.js', './src/**/**.vue'], ['webpack']);
});

gulp.task('lint:watch', function () {
    gulp.watch(['./src/**/**.js', './src/**/**.vue'], ['js:lint']);
});


//compile tasks
gulp.task('sass', function () {
    return gulp.src('./scss/main.scss')
        .pipe(sass().on('error', sass.logError))
        .pipe(concat(cssOutFile))
        .pipe(gulp.dest('./build'));
});

gulp.task('sass:production', function (cb) {
    pump(
        [
            gulp.src('./scss/main.scss'),
            sourcemaps.init(),
            sass({
                outputStyle: 'compressed'
            }).on('error', sass.logError),
            autoprefixer(),
            concat(cssOutFileProducton),
            sourcemaps.write(),
            gulp.dest('./build')
        ], cb);
});

gulp.task('webpack', function (cb) {
    process.env.NODE_ENV = 'development';
    process.env.WEBPACK_ENV = 'development';
    pump(
        [
            gulp.src('src/adminsidepanelmain.js'),
            gulpWebpack(require('./webpack.config.js'), webpack),
            gulp.dest('build/')
        ],
        cb
    );
});
gulp.task('webpack:production', function (cb) {
    process.env.NODE_ENV = 'production';
    process.env.WEBPACK_ENV = 'production';
    pump(
        [
            gulp.src('src/adminsidepanelmain.js'),
            gulpWebpack(require('./webpack.config.js'), webpack),
            gulp.dest('build/')
        ],
        cb
    );
});

gulp.task('babelify', function(cb){
    pump([
        gulp.src('build/'+jsOutFile),
        sourcemaps.init(),
        babel({
            presets: [['env', {'targets' : { 'browsers' :  ['last 2 versions', 'ie 10'] }}]]
        }),
        concat(jsOutFileDebug),
        gulp.dest('build')
    ],
    cb );
});

//linter

gulp.task('sass:lint', function (cb) {
    pump(
        [
            gulp.src('scss/**/*.s+(a|c)ss'),
            sassLint({
                options: {
                    formatter: 'stylish',
                    'merge-default-rules': false
                },
                files: {
                    ignore: '**/*.scss'
                },
                rules: {
                    'no-ids': 1,
                    'no-mergeable-selectors': 0
                }
            }),
            sassLint.format(),
            sassLint.failOnError()
        ], cb);
});

gulp.task('js:lint', function (cb) {
    pump(
        [
            gulp.src(['./src/**/*.js', '!node_modules/**', ]),
            eslint(),
            eslint.formatEach(),
            eslint.failAfterError('compact', process.stderr),
        ], cb);
});

//production ready tasks

gulp.task('compress', function (cb) {
    pump(
        [
            gulp.src('build/'+jsOutFile),
            sourcemaps.init(),
            babel({
                presets: [['env', {'targets' : { 'browsers' :  ['last 2 versions', 'ie 10'] }}]]
            }),
            uglify(),
            concat(jsOutFileProducton),
            gulp.dest('build')
        ],
        cb
    );
});

gulp.task('compresslibs', function (cb) {
    pump([
        gulp.src('lib/*.js'),
        gulp.dest('build')
    ],
    pump(
        [
            gulp.src('lib/*.js'),
            sourcemaps.init(),
            babel({
                presets: [['env', {'targets' : { 'browsers' :  ['last 2 versions', 'ie 10'] }}]]
            }),
            uglify(),
            rename({ suffix: '.min' }),
            gulp.dest('build')
        ],
        cb
    )
    );
});