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