remove jsdoc/app module and global.app

This commit is contained in:
Jeff Williams 2019-01-22 07:39:20 -08:00
parent 02c1722eb9
commit cd4dcce9e5
4 changed files with 12 additions and 42 deletions

16
cli.js
View File

@ -10,7 +10,6 @@
* @private * @private
*/ */
module.exports = (() => { module.exports = (() => {
const app = require('jsdoc/app');
const env = require('jsdoc/env'); const env = require('jsdoc/env');
const logger = require('@jsdoc/logger'); const logger = require('@jsdoc/logger');
const stripBom = require('jsdoc/util/stripbom'); const stripBom = require('jsdoc/util/stripbom');
@ -297,16 +296,19 @@ module.exports = (() => {
// TODO: docs // TODO: docs
cli.scanFiles = () => { cli.scanFiles = () => {
const Filter = require('jsdoc/src/filter').Filter; const Filter = require('jsdoc/src/filter').Filter;
const Scanner = require('jsdoc/src/scanner').Scanner;
let filter; let filter;
let scanner;
env.opts._ = buildSourceList(); env.opts._ = buildSourceList();
// are there any files to scan and parse? // are there any files to scan and parse?
if (env.conf.source && env.opts._.length) { if (env.conf.source && env.opts._.length) {
filter = new Filter(env.conf.source); 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); (env.opts.recurse ? env.conf.recurseDepth : undefined), filter);
} }
@ -340,14 +342,14 @@ module.exports = (() => {
const parser = require('jsdoc/src/parser'); const parser = require('jsdoc/src/parser');
const plugins = require('jsdoc/plugins'); const plugins = require('jsdoc/plugins');
app.jsdoc.parser = parser.createParser(env.conf.parser); props.parser = parser.createParser(env.conf.parser);
if (env.conf.plugins) { if (env.conf.plugins) {
env.conf.plugins = resolvePluginPaths(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; return cli;
}; };
@ -360,7 +362,7 @@ module.exports = (() => {
let docs; let docs;
let packageDocs; 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 // If there is no package.json, just create an empty package
packageDocs = new Package(props.packageJson); packageDocs = new Package(props.packageJson);
@ -373,7 +375,7 @@ module.exports = (() => {
borrow.resolveBorrows(docs); borrow.resolveBorrows(docs);
logger.debug('Post-processing complete.'); logger.debug('Post-processing complete.');
app.jsdoc.parser.fireProcessingComplete(docs); props.parser.fireProcessingComplete(docs);
return cli; return cli;
}; };

View File

@ -44,16 +44,6 @@
*/ */
global.env = (() => require('./lib/jsdoc/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 env = global.env;
const cli = require('./cli'); const cli = require('./cli');

View File

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

View File

@ -1,7 +1,6 @@
/* global jsdoc */ /* global jsdoc */
// TODO: consolidate with specs/jsdoc/parser and specs/jsdoc/plugins // TODO: consolidate with specs/jsdoc/parser and specs/jsdoc/plugins
describe('plugins', () => { describe('plugins', () => {
const app = require('jsdoc/app');
const env = require('jsdoc/env'); const env = require('jsdoc/env');
const path = require('jsdoc/path'); const path = require('jsdoc/path');
@ -10,15 +9,13 @@ describe('plugins', () => {
path.normalize(`${env.dirname}/test/fixtures/testPlugin1`), path.normalize(`${env.dirname}/test/fixtures/testPlugin1`),
path.normalize(`${env.dirname}/test/fixtures/testPlugin2`) path.normalize(`${env.dirname}/test/fixtures/testPlugin2`)
]; ];
const parser = jsdoc.createParser();
// TODO: decouple this from the global parser
app.jsdoc.parser = jsdoc.createParser();
global.jsdocPluginsTest = global.jsdocPluginsTest || {}; 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", () => { it("should fire the plugin's event handlers", () => {
expect(global.jsdocPluginsTest.plugin1.fileBegin).toBeDefined(); expect(global.jsdocPluginsTest.plugin1.fileBegin).toBeDefined();