43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
|
/**
|
||
|
* Copyright 2013-2022 the PM2 project authors. All rights reserved.
|
||
|
* Use of this source code is governed by a license that
|
||
|
* can be found in the LICENSE file.
|
||
|
*/
|
||
|
var url = require('url');
|
||
|
// Inject custom modules
|
||
|
var ProcessUtils = require('./ProcessUtils')
|
||
|
ProcessUtils.injectModules()
|
||
|
|
||
|
if (typeof(process.env.source_map_support) != "undefined" &&
|
||
|
process.env.source_map_support !== "false") {
|
||
|
require('source-map-support').install();
|
||
|
}
|
||
|
|
||
|
// Rename the process
|
||
|
process.title = process.env.PROCESS_TITLE || 'node ' + process.env.pm_exec_path;
|
||
|
|
||
|
if (process.connected &&
|
||
|
process.send &&
|
||
|
process.versions &&
|
||
|
process.versions.node)
|
||
|
process.send({
|
||
|
'node_version': process.versions.node
|
||
|
});
|
||
|
|
||
|
// Require the real application
|
||
|
if (process.env.pm_exec_path) {
|
||
|
if (ProcessUtils.isESModule(process.env.pm_exec_path) === true) {
|
||
|
import(url.pathToFileURL(process.env.pm_exec_path));
|
||
|
}
|
||
|
else
|
||
|
require('module')._load(process.env.pm_exec_path, null, true);
|
||
|
}
|
||
|
else
|
||
|
throw new Error('Could not _load() the script');
|
||
|
|
||
|
// Change some values to make node think that the user's application
|
||
|
// was started directly such as `node app.js`
|
||
|
process.mainModule = process.mainModule || {};
|
||
|
process.mainModule.loaded = false;
|
||
|
require.main = process.mainModule;
|