From cd4dcce9e56f9992fd39eb339ccf64b51c815251 Mon Sep 17 00:00:00 2001 From: Jeff Williams Date: Tue, 22 Jan 2019 07:39:20 -0800 Subject: [PATCH] remove `jsdoc/app` module and `global.app` --- cli.js | 16 +++++++++------- jsdoc.js | 10 ---------- lib/jsdoc/app.js | 19 ------------------- test/specs/plugins/plugins.js | 9 +++------ 4 files changed, 12 insertions(+), 42 deletions(-) delete mode 100644 lib/jsdoc/app.js diff --git a/cli.js b/cli.js index b3ef43bb..365b10e3 100644 --- a/cli.js +++ b/cli.js @@ -10,7 +10,6 @@ * @private */ module.exports = (() => { - const app = require('jsdoc/app'); const env = require('jsdoc/env'); const logger = require('@jsdoc/logger'); const stripBom = require('jsdoc/util/stripbom'); @@ -297,16 +296,19 @@ module.exports = (() => { // TODO: docs cli.scanFiles = () => { const Filter = require('jsdoc/src/filter').Filter; + const Scanner = require('jsdoc/src/scanner').Scanner; let filter; + let scanner; env.opts._ = buildSourceList(); // are there any files to scan and parse? if (env.conf.source && env.opts._.length) { filter = new Filter(env.conf.source); + scanner = new Scanner(); - env.sourceFiles = app.jsdoc.scanner.scan(env.opts._, + env.sourceFiles = scanner.scan(env.opts._, (env.opts.recurse ? env.conf.recurseDepth : undefined), filter); } @@ -340,14 +342,14 @@ module.exports = (() => { const parser = require('jsdoc/src/parser'); const plugins = require('jsdoc/plugins'); - app.jsdoc.parser = parser.createParser(env.conf.parser); + props.parser = parser.createParser(env.conf.parser); if (env.conf.plugins) { env.conf.plugins = resolvePluginPaths(env.conf.plugins); - plugins.installPlugins(env.conf.plugins, app.jsdoc.parser); + plugins.installPlugins(env.conf.plugins, props.parser); } - handlers.attachTo(app.jsdoc.parser); + handlers.attachTo(props.parser); return cli; }; @@ -360,7 +362,7 @@ module.exports = (() => { let docs; let packageDocs; - props.docs = docs = app.jsdoc.parser.parse(env.sourceFiles, env.opts.encoding); + props.docs = docs = props.parser.parse(env.sourceFiles, env.opts.encoding); // If there is no package.json, just create an empty package packageDocs = new Package(props.packageJson); @@ -373,7 +375,7 @@ module.exports = (() => { borrow.resolveBorrows(docs); logger.debug('Post-processing complete.'); - app.jsdoc.parser.fireProcessingComplete(docs); + props.parser.fireProcessingComplete(docs); return cli; }; diff --git a/jsdoc.js b/jsdoc.js index 1895ec13..7e20f693 100755 --- a/jsdoc.js +++ b/jsdoc.js @@ -44,16 +44,6 @@ */ 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'); diff --git a/lib/jsdoc/app.js b/lib/jsdoc/app.js deleted file mode 100644 index 9a62f361..00000000 --- a/lib/jsdoc/app.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Objects that are shared across the entire application. - * - * @deprecated As of JSDoc 3.4.0. Do not use this module. It will be removed in a future release. - * @module jsdoc/app - */ -module.exports = { - /** - * Namespace for shared objects. - * - * @namespace - * @type {Object} - */ - jsdoc: { - name: require('jsdoc/name'), - parser: null, - scanner: new (require('jsdoc/src/scanner').Scanner)() - } -}; diff --git a/test/specs/plugins/plugins.js b/test/specs/plugins/plugins.js index bb0ee50f..1b6077dd 100644 --- a/test/specs/plugins/plugins.js +++ b/test/specs/plugins/plugins.js @@ -1,7 +1,6 @@ /* global jsdoc */ // TODO: consolidate with specs/jsdoc/parser and specs/jsdoc/plugins describe('plugins', () => { - const app = require('jsdoc/app'); const env = require('jsdoc/env'); const path = require('jsdoc/path'); @@ -10,15 +9,13 @@ describe('plugins', () => { path.normalize(`${env.dirname}/test/fixtures/testPlugin1`), path.normalize(`${env.dirname}/test/fixtures/testPlugin2`) ]; - - // TODO: decouple this from the global parser - app.jsdoc.parser = jsdoc.createParser(); + const parser = jsdoc.createParser(); global.jsdocPluginsTest = global.jsdocPluginsTest || {}; - require('jsdoc/plugins').installPlugins(pluginPaths, app.jsdoc.parser); + require('jsdoc/plugins').installPlugins(pluginPaths, parser); - docSet = jsdoc.getDocSetFromFile('test/fixtures/plugins.js', app.jsdoc.parser, false); + docSet = jsdoc.getDocSetFromFile('test/fixtures/plugins.js', parser, false); it("should fire the plugin's event handlers", () => { expect(global.jsdocPluginsTest.plugin1.fileBegin).toBeDefined();