HEX
Server: LiteSpeed
System: Linux sinope.sitehostingserver.com 5.14.0-611.49.2.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Apr 30 09:05:08 EDT 2026 x86_64
User: aprilnet (1155)
PHP: 8.2.32
Disabled: popen,imap_mail,exec,passthru,system,shell_exec,proc_open,pcntl_exec,eval,allow_url_fopen,allow_url_include,mail,proc_get_status,get_cfg_var,disk_free_space,disk_total_space,diskfreespace,getmygid,getmyinode,getmypid,geymyuid,proc_nice,proc_terminate,proc_close,apache_child_terminate,chown,lchgrp,lchown,link,readlink,highlight_file,show_source,php_strip_whitespace,get_meta_tags,dl,leak,pfsockopen,event_new,pcntl_signal,pcntl_alarm,register_tick_function,apache_setenv,define_syslog_variables,escapeshellarg,escapeshellcmd,ini_alter,ini_restore,inject_code,openlog,syslog,xmlrpc_entity_decode,phpAds_remoteInfo,phpAds_XmlRpc,phpAds_xmlrpcDecode,phpAds_xmlrpcEncode,chgrp,php_eval,safe_dir,root,ftok,egy_perl,symlink,wscript
Upload Files
File: /home/aprilnet/public_html/sciohost.org/wp-content/plugins/cookie-law-info/lite/admin/build.js
const fs = require('fs-extra');
const path = require('path');
const { execSync } = require('child_process');

const devRoot = path.resolve(__dirname, '../../');
const buildRoot = path.resolve(__dirname, '../../../build/cookie-law-info');
const buildAdmin = path.join(buildRoot, 'lite/admin');
const distDev = path.join(buildAdmin, 'dist-dev');
const distProd = path.join(buildAdmin, 'dist-prod');
const distFinal = path.join(buildAdmin, 'dist');

// Use vue-cli-service from the local dev env
const vueCli = path.resolve(__dirname, 'node_modules/.bin/vue-cli-service');

async function build() {
  try {
    console.log('๐Ÿ“ฆ Copying plugin to build directory...');

    const filter = (src) =>
      !/node_modules/.test(src) &&
      !/dist(-dev|-prod)?/.test(src);

    await fs.copy(devRoot, buildRoot, { filter });
    console.log('โœ… Copied to:', buildRoot);

    console.log('๐Ÿ”จ Building development (expanded)...');
    execSync(`${vueCli} build --mode development --dest "${distDev}"`, {
      cwd: __dirname,
      stdio: 'inherit',
    });

    console.log('๐Ÿ”จ Building production (minified)...');
    execSync(`${vueCli} build --mode production --dest "${distProd}"`, {
      cwd: __dirname,
      stdio: 'inherit',
    });

    console.log('๐Ÿ”จ Running webpack-lite build...');
    execSync('yarn run build-webpack-lite', {
      cwd: __dirname,
      stdio: 'inherit',
    });

    console.log('๐Ÿ”— Merging all dist folders...');
    await fs.emptyDir(distFinal);

    for (const src of [distDev, distProd]) {
      if (await fs.pathExists(src)) {
        await fs.copy(src, distFinal, { overwrite: true });
        console.log(`โœ”๏ธ  Merged from: ${src}`);
      } else {
        console.warn(`โš ๏ธ  Skipped missing: ${src}`);
      }
    }

    console.log('๐Ÿงน Cleaning up...');
    await fs.remove(path.join(buildAdmin, 'node_modules'));
    await fs.remove(path.join(buildAdmin, 'src'));
    await fs.remove(path.join(buildRoot, '.git'));
    await fs.remove(path.join(buildRoot, '.gitignore'));
    await fs.remove(distDev);
    await fs.remove(distProd);

    console.log('๐ŸŽ‰ Final build completed at:', distFinal);
  } catch (err) {
    console.error('โŒ Build failed:', err);
  }
}

build();