MCPcopy Create free account
hub / github.com/Unitech/pm2 / uninstall

Function uninstall

lib/API/Modules/TAR.js:206–246  ·  view source on GitHub ↗

* Retrieve from module package.json the name of each application * delete process and delete folder

(PM2, module_name, cb)

Source from the content-addressed store, hash-verified

204 * delete process and delete folder
205 */
206function uninstall(PM2, module_name, cb) {
207 var module_path = path.join(cst.DEFAULT_MODULE_PATH, module_name);
208
209 Common.logMod(`Removing ${module_name} from auto startup`)
210
211 try {
212 var pkg = require(path.join(module_path, 'package.json'))
213 } catch(e) {
214 Common.errMod('Could not retrieve module package.json');
215 return cb(e)
216 }
217
218 var apps = pkg.apps || pkg.pm2
219 apps = [].concat(apps);
220
221 /**
222 * Some time a module can have multiple processes
223 */
224 forEachLimit(apps, 1, (app, next) => {
225 var app_name
226
227 if (!app.name) {
228 Common.renderApplicationName(app)
229 }
230
231 if (apps.length > 1)
232 app_name = `${module_name}:${app.name}`
233 else if (apps.length == 1 && pkg.name != apps[0].name)
234 app_name = `${module_name}:${app.name}`
235 else
236 app_name = app.name
237
238 PM2._operate('deleteProcessId', app_name, () => {
239 deleteModulePath(module_name)
240 next()
241 })
242 }, () => {
243 Configuration.unsetSync(`${cst.MODULE_CONF_PREFIX_TAR}:${module_name}`)
244 cb(null)
245 })
246}
247
248
249/**

Callers

nothing calls this directly

Calls 4

cbFunction · 0.85
deleteModulePathFunction · 0.85
_operateMethod · 0.80
nextFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…