| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | 
							- #!/usr/bin/env node
 
- // initialize the environment for Node.js
 
- (() => {
 
-     const fs = require('fs');
 
-     const path = require('path');
 
-     let env;
 
-     let jsdocPath = __dirname;
 
-     const pwd = process.cwd();
 
-     // Create a custom require method that adds `lib/jsdoc` and `node_modules` to the module
 
-     // lookup path. This makes it possible to `require('jsdoc/foo')` from external templates and
 
-     // plugins, and within JSDoc itself. It also allows external templates and plugins to
 
-     // require JSDoc's module dependencies without installing them locally.
 
-     /* eslint-disable no-global-assign, no-redeclare */
 
-     require = require('requizzle')({
 
-         requirePaths: {
 
-             before: [path.join(__dirname, 'lib')],
 
-             after: [path.join(__dirname, 'node_modules')]
 
-         },
 
-         infect: true
 
-     });
 
-     /* eslint-enable no-global-assign, no-redeclare */
 
-     // resolve the path if it's a symlink
 
-     if ( fs.statSync(jsdocPath).isSymbolicLink() ) {
 
-         jsdocPath = path.resolve( path.dirname(jsdocPath), fs.readlinkSync(jsdocPath) );
 
-     }
 
-     env = require('./lib/jsdoc/env');
 
-     env.dirname = jsdocPath;
 
-     env.pwd = pwd;
 
-     env.args = process.argv.slice(2);
 
- })();
 
- /**
 
-  * Data about the environment in which JSDoc is running, including the configuration settings that
 
-  * were used to run JSDoc.
 
-  *
 
-  * @deprecated As of JSDoc 3.4.0. Use `require('jsdoc/env')` to access the `env` object. The global
 
-  * `env` object will be removed in a future release.
 
-  * @namespace
 
-  * @name env
 
-  */
 
- global.env = (() => require('./lib/jsdoc/env'))();
 
- /**
 
-  * Data that must be shared across the entire application.
 
-  *
 
-  * @deprecated As of JSDoc 3.4.0. Avoid using the `app` object. The global `app` object and the
 
-  * `jsdoc/app` module will be removed in a future release.
 
-  * @namespace
 
-  * @name app
 
-  */
 
- global.app = (() => require('./lib/jsdoc/app'))();
 
- (() => {
 
-     const env = global.env;
 
-     const cli = require('./cli');
 
-     function cb(errorCode) {
 
-         cli.logFinish();
 
-         cli.exit(errorCode || 0);
 
-     }
 
-     cli.setVersionInfo()
 
-         .loadConfig();
 
-     if (!env.opts.test) {
 
-         cli.configureLogger();
 
-     }
 
-     cli.logStart();
 
-     if (env.opts.debug) {
 
-         /**
 
-          * Recursively print an object's properties to stdout. This method is safe to use with
 
-          * objects that contain circular references.
 
-          *
 
-          * This method is available only when JSDoc is run with the `--debug` option.
 
-          *
 
-          * @global
 
-          * @name dump
 
-          * @private
 
-          * @param {...*} obj - Object(s) to print to stdout.
 
-          */
 
-         global.dump = (...args) => {
 
-             console.log(require('./lib/jsdoc/util/dumper').dump(args));
 
-         };
 
-     }
 
-     cli.runCommand(cb);
 
- })();
 
 
  |