HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/javago_test/node_modules/@mapbox/node-pre-gyp/lib/clean.js
'use strict';

module.exports = exports = clean;

exports.usage = 'Removes the entire folder containing the compiled .node module';

const rm = require('rimraf');
const exists = require('fs').exists || require('path').exists;
const versioning = require('./util/versioning.js');
const napi = require('./util/napi.js');
const path = require('path');

function clean(gyp, argv, callback) {
  const package_json = gyp.package_json;
  const napi_build_version = napi.get_napi_build_version_from_command_args(argv);
  const opts = versioning.evaluate(package_json, gyp.opts, napi_build_version);
  const to_delete = opts.module_path;
  if (!to_delete) {
    return callback(new Error('module_path is empty, refusing to delete'));
  } else if (path.normalize(to_delete) === path.normalize(process.cwd())) {
    return callback(new Error('module_path is not set, refusing to delete'));
  } else {
    exists(to_delete, (found) => {
      if (found) {
        if (!gyp.opts.silent_clean) console.log('[' + package_json.name + '] Removing "%s"', to_delete);
        return rm(to_delete, callback);
      }
      return callback();
    });
  }
}