HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-172-31-4-197 6.8.0-1036-aws #38~22.04.1-Ubuntu SMP Fri Aug 22 15:44:33 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/myc/api-management/node_modules/.bin/juice
#!/usr/bin/env node

var juice = require('..');
var cli = require('../lib/cli');
var fs = require('fs');
var path = require('path');

var program = cli.getProgram();

if (program.args.length < 2) {
  program.help();
}

var [inputFile, outputFile] = program.args;
var options = cli.argsToOptions(program);
var queue = [];

if (options.optionsFile) {
  var optionsFromFile = require(path.resolve(process.cwd(),options.optionsFile));
  options = Object.assign({}, optionsFromFile, options, {
    webResources: Object.assign(
      {},
      optionsFromFile && optionsFromFile.webResources,
      options && options.webResources
    )
  });
}

if (options.cssFile) {
  queue.push(function() {
    fs.readFile(options.cssFile, function(err, css) {
      if (handleError(err)) { return; }
      options.extraCss = css.toString();
      next();
    });
  });
}

next();

function doJuice() {
  delete options.cssFile;
  delete options.optionsFile;

  juice.juiceFile(inputFile, options, function(err, html) {
    if (handleError(err)) { return; }
    fs.writeFile(outputFile, html, handleError);
  });
}

function next() {
  if (queue.length) {
    return queue.pop()();
  }
  doJuice();
}

function handleError(err) {
  if (err) {
    console.error(err.stack);
    process.exit(1);
  }
  return !!err;
}