UNPKG

1.28 kBJavaScriptView Raw
1 /**
2 * Copyright 2013-2021 the PM2 project authors. All rights reserved.
3 * Use of this source code is governed by a license that
4 * can be found in the LICENSE file.
5 */
6var url = require('url');
7// Inject custom modules
8var ProcessUtils = require('./ProcessUtils')
9ProcessUtils.injectModules()
10
11if (typeof(process.env.source_map_support) != "undefined" &&
12 process.env.source_map_support !== "false") {
13 require('source-map-support').install();
14}
15
16// Rename the process
17process.title = process.env.PROCESS_TITLE || 'node ' + process.env.pm_exec_path;
18
19if (process.connected &&
20 process.send &&
21 process.versions &&
22 process.versions.node)
23 process.send({
24 'node_version': process.versions.node
25 });
26
27// Require the real application
28if (process.env.pm_exec_path) {
29 if (ProcessUtils.isESModule(process.env.pm_exec_path) === true) {
30 import(url.pathToFileURL(process.env.pm_exec_path));
31 }
32 else
33 require('module')._load(process.env.pm_exec_path, null, true);
34}
35else
36 throw new Error('Could not _load() the script');
37
38// Change some values to make node think that the user's application
39// was started directly such as `node app.js`
40process.mainModule = process.mainModule || {};
41process.mainModule.loaded = false;
42require.main = process.mainModule;