12345678910111213141516171819202122232425262728293031 |
- '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();
- });
- }
- }
|