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
*/
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;
};

View File

@ -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');

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 */
// 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();