mirror of
https://github.com/jsdoc/jsdoc.git
synced 2025-12-08 19:46:11 +00:00
move jsdoc/util/logger into a new package
This commit is contained in:
parent
261c116e03
commit
a29a03b2d9
2
.gitignore
vendored
2
.gitignore
vendored
@ -3,7 +3,7 @@
|
|||||||
.tern-port
|
.tern-port
|
||||||
.vscode/
|
.vscode/
|
||||||
coverage/
|
coverage/
|
||||||
/node_modules/
|
**/node_modules/
|
||||||
|
|
||||||
# User-specific files
|
# User-specific files
|
||||||
conf.json
|
conf.json
|
||||||
|
|||||||
34
cli.js
34
cli.js
@ -12,7 +12,7 @@
|
|||||||
module.exports = (() => {
|
module.exports = (() => {
|
||||||
const app = require('jsdoc/app');
|
const app = require('jsdoc/app');
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const stripBom = require('jsdoc/util/stripbom');
|
const stripBom = require('jsdoc/util/stripbom');
|
||||||
const stripJsonComments = require('strip-json-comments');
|
const stripJsonComments = require('strip-json-comments');
|
||||||
const Promise = require('bluebird');
|
const Promise = require('bluebird');
|
||||||
@ -117,29 +117,31 @@ module.exports = (() => {
|
|||||||
cli.exit(1);
|
cli.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (env.opts.debug) {
|
if (!env.opts.test) {
|
||||||
logger.setLevel(logger.LEVELS.DEBUG);
|
if (env.opts.debug) {
|
||||||
}
|
logger.setLevel(logger.LEVELS.DEBUG);
|
||||||
else if (env.opts.verbose) {
|
}
|
||||||
logger.setLevel(logger.LEVELS.INFO);
|
else if (env.opts.verbose) {
|
||||||
}
|
logger.setLevel(logger.LEVELS.INFO);
|
||||||
|
}
|
||||||
|
|
||||||
if (env.opts.pedantic) {
|
if (env.opts.pedantic) {
|
||||||
logger.once('logger:warn', recoverableError);
|
logger.once('logger:warn', recoverableError);
|
||||||
logger.once('logger:error', fatalError);
|
logger.once('logger:error', fatalError);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
logger.once('logger:error', recoverableError);
|
logger.once('logger:error', recoverableError);
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.once('logger:fatal', fatalError);
|
logger.once('logger:fatal', fatalError);
|
||||||
|
}
|
||||||
|
|
||||||
return cli;
|
return cli;
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: docs
|
// TODO: docs
|
||||||
cli.logStart = () => {
|
cli.logStart = () => {
|
||||||
logger.debug( cli.getVersion() );
|
logger.debug(cli.getVersion());
|
||||||
|
|
||||||
logger.debug('Environment info: %j', {
|
logger.debug('Environment info: %j', {
|
||||||
env: {
|
env: {
|
||||||
|
|||||||
7
jsdoc.js
7
jsdoc.js
@ -64,11 +64,8 @@ global.app = (() => require('./lib/jsdoc/app'))();
|
|||||||
}
|
}
|
||||||
|
|
||||||
cli.setVersionInfo()
|
cli.setVersionInfo()
|
||||||
.loadConfig();
|
.loadConfig()
|
||||||
|
.configureLogger();
|
||||||
if (!env.opts.test) {
|
|
||||||
cli.configureLogger();
|
|
||||||
}
|
|
||||||
|
|
||||||
cli.logStart();
|
cli.logStart();
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const stripBom = require('jsdoc/util/stripbom');
|
const stripBom = require('jsdoc/util/stripbom');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
const babelParser = require('@babel/parser');
|
const babelParser = require('@babel/parser');
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
// exported so we can use them in tests
|
// exported so we can use them in tests
|
||||||
const parserOptions = exports.parserOptions = {
|
const parserOptions = exports.parserOptions = {
|
||||||
|
|||||||
@ -4,11 +4,9 @@
|
|||||||
const escape = require('escape-string-regexp');
|
const escape = require('escape-string-regexp');
|
||||||
const jsdoc = {
|
const jsdoc = {
|
||||||
doclet: require('jsdoc/doclet'),
|
doclet: require('jsdoc/doclet'),
|
||||||
name: require('jsdoc/name'),
|
name: require('jsdoc/name')
|
||||||
util: {
|
|
||||||
logger: require('jsdoc/util/logger')
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
let currentModule = null;
|
let currentModule = null;
|
||||||
const SCOPE_NAMES = jsdoc.name.SCOPE.NAMES;
|
const SCOPE_NAMES = jsdoc.name.SCOPE.NAMES;
|
||||||
@ -42,7 +40,7 @@ function createDoclet(comment, e) {
|
|||||||
catch (error) {
|
catch (error) {
|
||||||
flatComment = comment.replace(/[\r\n]/g, '');
|
flatComment = comment.replace(/[\r\n]/g, '');
|
||||||
msg = `cannot create a doclet for the comment "${flatComment}": ${error.message}`;
|
msg = `cannot create a doclet for the comment "${flatComment}": ${error.message}`;
|
||||||
jsdoc.util.logger.error(msg);
|
logger.error(msg);
|
||||||
doclet = new jsdoc.doclet.Doclet('', e);
|
doclet = new jsdoc.doclet.Doclet('', e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@ const jsdoc = {
|
|||||||
doop: require('jsdoc/util/doop')
|
doop: require('jsdoc/util/doop')
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const hasOwnProp = Object.prototype.hasOwnProperty;
|
const hasOwnProp = Object.prototype.hasOwnProperty;
|
||||||
const Syntax = require('@jsdoc/syntax');
|
const Syntax = require('@jsdoc/syntax');
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
const EventEmitter = require('events').EventEmitter;
|
const EventEmitter = require('events').EventEmitter;
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const fs = require('jsdoc/fs');
|
const fs = require('jsdoc/fs');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const path = require('jsdoc/path');
|
const path = require('jsdoc/path');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -8,9 +8,6 @@ const jsdoc = {
|
|||||||
name: require('jsdoc/name'),
|
name: require('jsdoc/name'),
|
||||||
src: {
|
src: {
|
||||||
astnode: require('jsdoc/src/astnode')
|
astnode: require('jsdoc/src/astnode')
|
||||||
},
|
|
||||||
util: {
|
|
||||||
logger: require('jsdoc/util/logger')
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const Syntax = require('@jsdoc/syntax');
|
const Syntax = require('@jsdoc/syntax');
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @module jsdoc/src/walker
|
* @module jsdoc/src/walker
|
||||||
*/
|
*/
|
||||||
const astnode = require('jsdoc/src/astnode');
|
const astnode = require('jsdoc/src/astnode');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const Syntax = require('@jsdoc/syntax');
|
const Syntax = require('@jsdoc/syntax');
|
||||||
|
|
||||||
// TODO: docs
|
// TODO: docs
|
||||||
|
|||||||
@ -15,11 +15,9 @@ const jsdoc = {
|
|||||||
dictionary: require('jsdoc/tag/dictionary'),
|
dictionary: require('jsdoc/tag/dictionary'),
|
||||||
validator: require('jsdoc/tag/validator'),
|
validator: require('jsdoc/tag/validator'),
|
||||||
type: require('jsdoc/tag/type')
|
type: require('jsdoc/tag/type')
|
||||||
},
|
|
||||||
util: {
|
|
||||||
logger: require('jsdoc/util/logger')
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
const logger = require('@jsdoc/logger');
|
||||||
const path = require('jsdoc/path');
|
const path = require('jsdoc/path');
|
||||||
const util = require('util');
|
const util = require('util');
|
||||||
|
|
||||||
@ -70,7 +68,7 @@ function parseType({text, originalTitle}, {canHaveName, canHaveType}, meta) {
|
|||||||
return jsdoc.tag.type.parse(text, canHaveName, canHaveType);
|
return jsdoc.tag.type.parse(text, canHaveName, canHaveType);
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
jsdoc.util.logger.error(
|
logger.error(
|
||||||
'Unable to parse a tag\'s type expression%s with tag title "%s" and text "%s": %s',
|
'Unable to parse a tag\'s type expression%s with tag title "%s" and text "%s": %s',
|
||||||
meta.filename ? ( ` for source file ${path.join(meta.path, meta.filename)}${meta.lineno ? (` in line ${meta.lineno}`) : ''}` ) : '',
|
meta.filename ? ( ` for source file ${path.join(meta.path, meta.filename)}${meta.lineno ? (` in line ${meta.lineno}`) : ''}` ) : '',
|
||||||
originalTitle,
|
originalTitle,
|
||||||
|
|||||||
@ -14,10 +14,10 @@ const jsdoc = {
|
|||||||
type: require('jsdoc/tag/type')
|
type: require('jsdoc/tag/type')
|
||||||
},
|
},
|
||||||
util: {
|
util: {
|
||||||
doop: require('jsdoc/util/doop'),
|
doop: require('jsdoc/util/doop')
|
||||||
logger: require('jsdoc/util/logger')
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
const logger = require('@jsdoc/logger');
|
||||||
const path = require('jsdoc/path');
|
const path = require('jsdoc/path');
|
||||||
const Syntax = require('@jsdoc/syntax');
|
const Syntax = require('@jsdoc/syntax');
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ function setDocletScopeToTitle(doclet, {title}) {
|
|||||||
doclet.setScope(title);
|
doclet.setScope(title);
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
jsdoc.util.logger.error(e.message);
|
logger.error(e.message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1061,7 +1061,7 @@ exports.defineTags = (dictionary, tagDefinitions) => {
|
|||||||
dictionaries = jsdoc.env.conf.tags.dictionaries;
|
dictionaries = jsdoc.env.conf.tags.dictionaries;
|
||||||
|
|
||||||
if (!dictionaries) {
|
if (!dictionaries) {
|
||||||
jsdoc.util.logger.error('The configuration setting "tags.dictionaries" is undefined. ' +
|
logger.error('The configuration setting "tags.dictionaries" is undefined. ' +
|
||||||
'Unable to load tag definitions.');
|
'Unable to load tag definitions.');
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -1074,7 +1074,7 @@ exports.defineTags = (dictionary, tagDefinitions) => {
|
|||||||
const tagDefs = exports[DEFINITIONS[dictName]];
|
const tagDefs = exports[DEFINITIONS[dictName]];
|
||||||
|
|
||||||
if (!tagDefs) {
|
if (!tagDefs) {
|
||||||
jsdoc.util.logger.error('The configuration setting "tags.dictionaries" contains ' +
|
logger.error('The configuration setting "tags.dictionaries" contains ' +
|
||||||
'the unknown dictionary name %s. Ignoring the dictionary.', dictName);
|
'the unknown dictionary name %s. Ignoring the dictionary.', dictName);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
* @requires jsdoc/tag/dictionary
|
* @requires jsdoc/tag/dictionary
|
||||||
*/
|
*/
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
function buildMessage(tagName, {filename, lineno, comment}, desc) {
|
function buildMessage(tagName, {filename, lineno, comment}, desc) {
|
||||||
let result = `The @${tagName} tag ${desc}. File: ${filename}, line: ${lineno}`;
|
let result = `The @${tagName} tag ${desc}. File: ${filename}, line: ${lineno}`;
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
*/
|
*/
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const fs = require('jsdoc/fs');
|
const fs = require('jsdoc/fs');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const stripBom = require('jsdoc/util/stripbom');
|
const stripBom = require('jsdoc/util/stripbom');
|
||||||
const tutorial = require('jsdoc/tutorial');
|
const tutorial = require('jsdoc/tutorial');
|
||||||
|
|||||||
@ -5,6 +5,9 @@
|
|||||||
* {@link module:jsdoc/util/logger} to log warnings and errors.
|
* {@link module:jsdoc/util/logger} to log warnings and errors.
|
||||||
* @module jsdoc/util/error
|
* @module jsdoc/util/error
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Log an exception as an error.
|
* Log an exception as an error.
|
||||||
*
|
*
|
||||||
@ -20,7 +23,6 @@
|
|||||||
* @memberof module:jsdoc/util/error
|
* @memberof module:jsdoc/util/error
|
||||||
*/
|
*/
|
||||||
exports.handle = e => {
|
exports.handle = e => {
|
||||||
const logger = require('jsdoc/util/logger');
|
|
||||||
let msg = e ? ( e.message || JSON.stringify(e) ) : '';
|
let msg = e ? ( e.message || JSON.stringify(e) ) : '';
|
||||||
|
|
||||||
// include the error type if it's an Error object
|
// include the error type if it's an Error object
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
* @module jsdoc/util/markdown
|
* @module jsdoc/util/markdown
|
||||||
*/
|
*/
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const MarkdownIt = require('markdown-it');
|
const MarkdownIt = require('markdown-it');
|
||||||
const marked = require('marked');
|
const marked = require('marked');
|
||||||
const mda = require('markdown-it-anchor');
|
const mda = require('markdown-it-anchor');
|
||||||
|
|||||||
@ -5,7 +5,7 @@ const catharsis = require('catharsis');
|
|||||||
let dictionary = require('jsdoc/tag/dictionary');
|
let dictionary = require('jsdoc/tag/dictionary');
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const inline = require('jsdoc/tag/inline');
|
const inline = require('jsdoc/tag/inline');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const name = require('jsdoc/name');
|
const name = require('jsdoc/name');
|
||||||
const util = require('util');
|
const util = require('util');
|
||||||
|
|
||||||
|
|||||||
5
package-lock.json
generated
5
package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jsdoc",
|
"name": "jsdoc",
|
||||||
"version": "3.6.0-dev",
|
"version": "4.0.0-dev",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -127,6 +127,9 @@
|
|||||||
"to-fast-properties": "^2.0.0"
|
"to-fast-properties": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@jsdoc/logger": {
|
||||||
|
"version": "file:packages/jsdoc-logger"
|
||||||
|
},
|
||||||
"@jsdoc/syntax": {
|
"@jsdoc/syntax": {
|
||||||
"version": "file:packages/jsdoc-syntax"
|
"version": "file:packages/jsdoc-syntax"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "~7.2.3",
|
"@babel/parser": "~7.2.3",
|
||||||
|
"@jsdoc/logger": "file:./packages/jsdoc-logger",
|
||||||
"@jsdoc/syntax": "file:./packages/jsdoc-syntax",
|
"@jsdoc/syntax": "file:./packages/jsdoc-syntax",
|
||||||
"bluebird": "~3.5.0",
|
"bluebird": "~3.5.0",
|
||||||
"catharsis": "~0.8.9",
|
"catharsis": "~0.8.9",
|
||||||
@ -70,7 +71,7 @@
|
|||||||
],
|
],
|
||||||
"lerna": {
|
"lerna": {
|
||||||
"packages": [
|
"packages": [
|
||||||
"packages/*"
|
"packages/*"
|
||||||
],
|
],
|
||||||
"version": "independent"
|
"version": "independent"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
* Logging tools for JSDoc.
|
* Logging tools for JSDoc.
|
||||||
*
|
*
|
||||||
* Log messages are printed to the console based on the current logging level. By default, messages
|
* Log messages are printed to the console based on the current logging level. By default, messages
|
||||||
* at level `{@link module:jsdoc/util/logger.LEVELS.ERROR}` or above are logged; all other messages
|
* at level `{@link module:@jsdoc/logger.LEVELS.ERROR}` or above are logged; all other messages
|
||||||
* are ignored.
|
* are ignored.
|
||||||
*
|
*
|
||||||
* In addition, the module object emits an event whenever a logger method is called, regardless of
|
* In addition, the module object emits an event whenever a logger method is called, regardless of
|
||||||
@ -20,10 +20,10 @@
|
|||||||
* + `%d`: Number.
|
* + `%d`: Number.
|
||||||
* + `%j`: JSON.
|
* + `%j`: JSON.
|
||||||
*
|
*
|
||||||
* @module jsdoc/util/logger
|
* @module @jsdoc/logger
|
||||||
* @extends module:events.EventEmitter
|
* @extends module:events.EventEmitter
|
||||||
* @example
|
* @example
|
||||||
* var logger = require('jsdoc/util/logger');
|
* var logger = require('@jsdoc/logger');
|
||||||
*
|
*
|
||||||
* var data = {
|
* var data = {
|
||||||
* foo: 'bar'
|
* foo: 'bar'
|
||||||
@ -45,9 +45,9 @@ const logger = module.exports = new Logger();
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Logging levels for the JSDoc logger. The default logging level is
|
* Logging levels for the JSDoc logger. The default logging level is
|
||||||
* {@link module:jsdoc/util/logger.LEVELS.ERROR}.
|
* {@link module:@jsdoc/logger.LEVELS.ERROR}.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.LEVELS
|
* @alias module:@jsdoc/logger.LEVELS
|
||||||
* @enum
|
* @enum
|
||||||
* @type {number}
|
* @type {number}
|
||||||
*/
|
*/
|
||||||
@ -55,19 +55,19 @@ const LEVELS = logger.LEVELS = {
|
|||||||
/**
|
/**
|
||||||
* Do not log any messages.
|
* Do not log any messages.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.LEVELS.SILENT
|
* @alias module:@jsdoc/logger.LEVELS.SILENT
|
||||||
*/
|
*/
|
||||||
SILENT: 0,
|
SILENT: 0,
|
||||||
/**
|
/**
|
||||||
* Log fatal errors that prevent JSDoc from running.
|
* Log fatal errors that prevent JSDoc from running.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.LEVELS.FATAL
|
* @alias module:@jsdoc/logger.LEVELS.FATAL
|
||||||
*/
|
*/
|
||||||
FATAL: 10,
|
FATAL: 10,
|
||||||
/**
|
/**
|
||||||
* Log all errors, including errors from which JSDoc can recover.
|
* Log all errors, including errors from which JSDoc can recover.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.LEVELS.ERROR
|
* @alias module:@jsdoc/logger.LEVELS.ERROR
|
||||||
*/
|
*/
|
||||||
ERROR: 20,
|
ERROR: 20,
|
||||||
/**
|
/**
|
||||||
@ -76,39 +76,39 @@ const LEVELS = logger.LEVELS = {
|
|||||||
* + Warnings
|
* + Warnings
|
||||||
* + Errors
|
* + Errors
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.LEVELS.WARN
|
* @alias module:@jsdoc/logger.LEVELS.WARN
|
||||||
*/
|
*/
|
||||||
WARN: 30,
|
WARN: 30,
|
||||||
/**
|
/**
|
||||||
* Log the following messages:
|
* Log the following messages:
|
||||||
*
|
*
|
||||||
* + Informational messages
|
* + Basic informational messages
|
||||||
* + Warnings
|
* + Warnings
|
||||||
* + Errors
|
* + Errors
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.LEVELS.INFO
|
* @alias module:@jsdoc/logger.LEVELS.INFO
|
||||||
*/
|
*/
|
||||||
INFO: 40,
|
INFO: 40,
|
||||||
/**
|
/**
|
||||||
* Log the following messages:
|
* Log the following messages:
|
||||||
*
|
*
|
||||||
* + Debugging messages
|
* + Detailed informational messages
|
||||||
* + Informational messages
|
* + Informational messages
|
||||||
* + Warnings
|
* + Warnings
|
||||||
* + Errors
|
* + Errors
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.LEVELS.DEBUG
|
* @alias module:@jsdoc/logger.LEVELS.VERBOSE
|
||||||
*/
|
*/
|
||||||
DEBUG: 50,
|
VERBOSE: 50,
|
||||||
/**
|
/**
|
||||||
* Log all messages.
|
* Log all messages.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.LEVELS.VERBOSE
|
* @alias module:@jsdoc/logger.LEVELS.DEBUG
|
||||||
*/
|
*/
|
||||||
VERBOSE: 1000
|
DEBUG: 1000
|
||||||
};
|
};
|
||||||
|
|
||||||
const DEFAULT_LEVEL = LEVELS.WARN;
|
const DEFAULT_LEVEL = LEVELS.SILENT;
|
||||||
let logLevel = DEFAULT_LEVEL;
|
let logLevel = DEFAULT_LEVEL;
|
||||||
|
|
||||||
const PREFIXES = {
|
const PREFIXES = {
|
||||||
@ -123,7 +123,7 @@ function addPrefix(args, prefix) {
|
|||||||
let updatedArgs;
|
let updatedArgs;
|
||||||
|
|
||||||
if (prefix && typeof args[0] === 'string') {
|
if (prefix && typeof args[0] === 'string') {
|
||||||
updatedArgs = args.slice(0);
|
updatedArgs = args.slice();
|
||||||
updatedArgs[0] = prefix + updatedArgs[0];
|
updatedArgs[0] = prefix + updatedArgs[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -137,11 +137,9 @@ function wrapLogFunction(name, func) {
|
|||||||
const level = LEVELS[upperCaseName];
|
const level = LEVELS[upperCaseName];
|
||||||
const prefix = PREFIXES[upperCaseName];
|
const prefix = PREFIXES[upperCaseName];
|
||||||
|
|
||||||
return function() {
|
return function(...args) {
|
||||||
let loggerArgs;
|
let loggerArgs;
|
||||||
|
|
||||||
const args = Array.prototype.slice.call(arguments, 0);
|
|
||||||
|
|
||||||
if (logLevel >= level) {
|
if (logLevel >= level) {
|
||||||
loggerArgs = addPrefix(args, prefix);
|
loggerArgs = addPrefix(args, prefix);
|
||||||
func(...loggerArgs);
|
func(...loggerArgs);
|
||||||
@ -158,76 +156,76 @@ function printToStdout(...args) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Log a message at log level {@link module:jsdoc/util/logger.LEVELS.DEBUG}.
|
* Log a message at log level {@link module:@jsdoc/logger.LEVELS.DEBUG}.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.debug
|
* @alias module:@jsdoc/logger.debug
|
||||||
* @param {string} message - The message to log.
|
* @param {string} message - The message to log.
|
||||||
* @param {...*=} values - The values that will replace the message's placeholders.
|
* @param {...*=} values - The values that will replace the message's placeholders.
|
||||||
*/
|
*/
|
||||||
logger.debug = wrapLogFunction('debug', console.info);
|
logger.debug = wrapLogFunction('debug', console.info);
|
||||||
/**
|
/**
|
||||||
* Print a string at log level {@link module:jsdoc/util/logger.LEVELS.DEBUG}. The string is not
|
* Print a string at log level {@link module:@jsdoc/logger.LEVELS.DEBUG}. The string is not
|
||||||
* terminated by a newline.
|
* terminated by a newline.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.printDebug
|
* @alias module:@jsdoc/logger.printDebug
|
||||||
* @param {string} message - The message to log.
|
* @param {string} message - The message to log.
|
||||||
* @param {...*=} values - The values that will replace the message's placeholders.
|
* @param {...*=} values - The values that will replace the message's placeholders.
|
||||||
*/
|
*/
|
||||||
logger.printDebug = wrapLogFunction('debug', printToStdout);
|
logger.printDebug = wrapLogFunction('debug', printToStdout);
|
||||||
/**
|
/**
|
||||||
* Log a message at log level {@link module:jsdoc/util/logger.LEVELS.ERROR}.
|
* Log a message at log level {@link module:@jsdoc/logger.LEVELS.ERROR}.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.error
|
* @alias module:@jsdoc/logger.error
|
||||||
* @param {string} message - The message to log.
|
* @param {string} message - The message to log.
|
||||||
* @param {...*=} values - The values that will replace the message's placeholders.
|
* @param {...*=} values - The values that will replace the message's placeholders.
|
||||||
*/
|
*/
|
||||||
logger.error = wrapLogFunction('error', console.error);
|
logger.error = wrapLogFunction('error', console.error);
|
||||||
/**
|
/**
|
||||||
* Log a message at log level {@link module:jsdoc/util/logger.LEVELS.FATAL}.
|
* Log a message at log level {@link module:@jsdoc/logger.LEVELS.FATAL}.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.fatal
|
* @alias module:@jsdoc/logger.fatal
|
||||||
* @param {string} message - The message to log.
|
* @param {string} message - The message to log.
|
||||||
* @param {...*=} values - The values that will replace the message's placeholders.
|
* @param {...*=} values - The values that will replace the message's placeholders.
|
||||||
*/
|
*/
|
||||||
logger.fatal = wrapLogFunction('fatal', console.error);
|
logger.fatal = wrapLogFunction('fatal', console.error);
|
||||||
/**
|
/**
|
||||||
* Log a message at log level {@link module:jsdoc/util/logger.LEVELS.INFO}.
|
* Log a message at log level {@link module:@jsdoc/logger.LEVELS.INFO}.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.info
|
* @alias module:@jsdoc/logger.info
|
||||||
* @param {string} message - The message to log.
|
* @param {string} message - The message to log.
|
||||||
* @param {...*=} values - The values that will replace the message's placeholders.
|
* @param {...*=} values - The values that will replace the message's placeholders.
|
||||||
*/
|
*/
|
||||||
logger.info = wrapLogFunction('info', console.info);
|
logger.info = wrapLogFunction('info', console.info);
|
||||||
/**
|
/**
|
||||||
* Print a string at log level {@link module:jsdoc/util/logger.LEVELS.INFO}. The string is not
|
* Print a string at log level {@link module:@jsdoc/logger.LEVELS.INFO}. The string is not
|
||||||
* terminated by a newline.
|
* terminated by a newline.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.printInfo
|
* @alias module:@jsdoc/logger.printInfo
|
||||||
* @param {string} message - The message to log.
|
* @param {string} message - The message to log.
|
||||||
* @param {...*=} values - The values that will replace the message's placeholders.
|
* @param {...*=} values - The values that will replace the message's placeholders.
|
||||||
*/
|
*/
|
||||||
logger.printInfo = wrapLogFunction('info', printToStdout);
|
logger.printInfo = wrapLogFunction('info', printToStdout);
|
||||||
/**
|
/**
|
||||||
* Log a message at log level {@link module:jsdoc/util/logger.LEVELS.VERBOSE}.
|
* Log a message at log level {@link module:@jsdoc/logger.LEVELS.VERBOSE}.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.verbose
|
* @alias module:@jsdoc/logger.verbose
|
||||||
* @param {string} message - The message to log.
|
* @param {string} message - The message to log.
|
||||||
* @param {...*=} values - The values that will replace the message's placeholders.
|
* @param {...*=} values - The values that will replace the message's placeholders.
|
||||||
*/
|
*/
|
||||||
logger.verbose = wrapLogFunction('verbose', console.info);
|
logger.verbose = wrapLogFunction('verbose', console.info);
|
||||||
/**
|
/**
|
||||||
* Print a string at log level {@link module:jsdoc/util/logger.LEVELS.VERBOSE}. The string is not
|
* Print a string at log level {@link module:@jsdoc/logger.LEVELS.VERBOSE}. The string is not
|
||||||
* terminated by a newline.
|
* terminated by a newline.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.printVerbose
|
* @alias module:@jsdoc/logger.printVerbose
|
||||||
* @param {string} message - The message to log.
|
* @param {string} message - The message to log.
|
||||||
* @param {...*=} values - The values that will replace the message's placeholders.
|
* @param {...*=} values - The values that will replace the message's placeholders.
|
||||||
*/
|
*/
|
||||||
logger.printVerbose = wrapLogFunction('verbose', printToStdout);
|
logger.printVerbose = wrapLogFunction('verbose', printToStdout);
|
||||||
/**
|
/**
|
||||||
* Log a message at log level {@link module:jsdoc/util/logger.LEVELS.WARN}.
|
* Log a message at log level {@link module:@jsdoc/logger.LEVELS.WARN}.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.warn
|
* @alias module:@jsdoc/logger.warn
|
||||||
* @param {string} message - The message to log.
|
* @param {string} message - The message to log.
|
||||||
* @param {...*=} values - The values that will replace the message's placeholders.
|
* @param {...*=} values - The values that will replace the message's placeholders.
|
||||||
*/
|
*/
|
||||||
@ -236,8 +234,8 @@ logger.warn = wrapLogFunction('warn', console.warn);
|
|||||||
/**
|
/**
|
||||||
* Set the log level.
|
* Set the log level.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.setLevel
|
* @alias module:@jsdoc/logger.setLevel
|
||||||
* @param {module:jsdoc/util/logger.LEVELS} level - The log level to use.
|
* @param {module:@jsdoc/logger.LEVELS} level - The log level to use.
|
||||||
*/
|
*/
|
||||||
logger.setLevel = function(level) {
|
logger.setLevel = function(level) {
|
||||||
logLevel = (level !== undefined) ? level : DEFAULT_LEVEL;
|
logLevel = (level !== undefined) ? level : DEFAULT_LEVEL;
|
||||||
@ -246,8 +244,8 @@ logger.setLevel = function(level) {
|
|||||||
/**
|
/**
|
||||||
* Get the current log level.
|
* Get the current log level.
|
||||||
*
|
*
|
||||||
* @alias module:jsdoc/util/logger.getLevel
|
* @alias module:@jsdoc/logger.getLevel
|
||||||
* @return {module:jsdoc/util/logger.LEVELS} The current log level.
|
* @return {module:@jsdoc/logger.LEVELS} The current log level.
|
||||||
*/
|
*/
|
||||||
logger.getLevel = function() {
|
logger.getLevel = function() {
|
||||||
return logLevel;
|
return logLevel;
|
||||||
5
packages/jsdoc-logger/package-lock.json
generated
Normal file
5
packages/jsdoc-logger/package-lock.json
generated
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "@jsdoc/logger",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"lockfileVersion": 1
|
||||||
|
}
|
||||||
22
packages/jsdoc-logger/package.json
Normal file
22
packages/jsdoc-logger/package.json
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"name": "@jsdoc/logger",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Logger for all JSDoc packages.",
|
||||||
|
"main": "index.js",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/jsdoc3/jsdoc"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"jsdoc"
|
||||||
|
],
|
||||||
|
"author": {
|
||||||
|
"name": "Jeff Williams",
|
||||||
|
"email": "jeffrey.l.williams@gmail.com"
|
||||||
|
},
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/jsdoc3/jsdoc/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/jsdoc3/jsdoc#readme"
|
||||||
|
}
|
||||||
@ -1,64 +1,9 @@
|
|||||||
describe('jsdoc/util/logger', () => {
|
describe('@jsdoc/logger', () => {
|
||||||
const logger = require('jsdoc/util/logger');
|
const EventEmitter = require('events').EventEmitter;
|
||||||
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const loggerArgs = ['foo bar %s', 'hello'];
|
const loggerArgs = ['foo bar %s', 'hello'];
|
||||||
|
|
||||||
it('should exist', () => {
|
|
||||||
expect(logger).toBeDefined();
|
|
||||||
expect(typeof logger).toBe('object');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should inherit from EventEmitter', () => {
|
|
||||||
const EventEmitter = require('events').EventEmitter;
|
|
||||||
|
|
||||||
expect(logger instanceof EventEmitter).toBe(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should export a "debug" method', () => {
|
|
||||||
expect(logger.debug).toBeDefined();
|
|
||||||
expect(typeof logger.debug).toBe('function');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should export an "error" method', () => {
|
|
||||||
expect(logger.error).toBeDefined();
|
|
||||||
expect(typeof logger.error).toBe('function');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should export a "fatal" method', () => {
|
|
||||||
expect(logger.fatal).toBeDefined();
|
|
||||||
expect(typeof logger.fatal).toBe('function');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should export a "getLevel" method', () => {
|
|
||||||
expect(logger.getLevel).toBeDefined();
|
|
||||||
expect(typeof logger.getLevel).toBe('function');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should export an "info" method', () => {
|
|
||||||
expect(logger.info).toBeDefined();
|
|
||||||
expect(typeof logger.info).toBe('function');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should export a "LEVELS" object', () => {
|
|
||||||
expect(logger.LEVELS).toBeDefined();
|
|
||||||
expect(typeof logger.LEVELS).toBe('object');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should export a "setLevel" method', () => {
|
|
||||||
expect(logger.setLevel).toBeDefined();
|
|
||||||
expect(typeof logger.setLevel).toBe('function');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should export a "verbose" method', () => {
|
|
||||||
expect(logger.verbose).toBeDefined();
|
|
||||||
expect(typeof logger.verbose).toBe('function');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should export a "warn" method', () => {
|
|
||||||
expect(logger.warn).toBeDefined();
|
|
||||||
expect(typeof logger.warn).toBe('function');
|
|
||||||
});
|
|
||||||
|
|
||||||
// helpers for testing logger methods
|
// helpers for testing logger methods
|
||||||
function eventIsEmitted(name) {
|
function eventIsEmitted(name) {
|
||||||
let called = false;
|
let called = false;
|
||||||
@ -80,11 +25,65 @@ describe('jsdoc/util/logger', () => {
|
|||||||
logger[name](loggerArgs[0], loggerArgs[1]);
|
logger[name](loggerArgs[0], loggerArgs[1]);
|
||||||
|
|
||||||
expect(capturedArgs).toBeDefined();
|
expect(capturedArgs).toBeDefined();
|
||||||
expect( Array.isArray(capturedArgs) ).toBe(true);
|
expect(Array.isArray(capturedArgs)).toBe(true);
|
||||||
expect(capturedArgs[0]).toBe(loggerArgs[0]);
|
expect(capturedArgs[0]).toBe(loggerArgs[0]);
|
||||||
expect(capturedArgs[1]).toBe(loggerArgs[1]);
|
expect(capturedArgs[1]).toBe(loggerArgs[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
it('should exist', () => {
|
||||||
|
expect(logger).toBeDefined();
|
||||||
|
expect(typeof logger).toBe('object');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should inherit from EventEmitter', () => {
|
||||||
|
expect(logger instanceof EventEmitter).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should have a "debug" method', () => {
|
||||||
|
expect(logger.debug).toBeDefined();
|
||||||
|
expect(typeof logger.debug).toBe('function');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should have an "error" method', () => {
|
||||||
|
expect(logger.error).toBeDefined();
|
||||||
|
expect(typeof logger.error).toBe('function');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should have a "fatal" method', () => {
|
||||||
|
expect(logger.fatal).toBeDefined();
|
||||||
|
expect(typeof logger.fatal).toBe('function');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should have a "getLevel" method', () => {
|
||||||
|
expect(logger.getLevel).toBeDefined();
|
||||||
|
expect(typeof logger.getLevel).toBe('function');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should have an "info" method', () => {
|
||||||
|
expect(logger.info).toBeDefined();
|
||||||
|
expect(typeof logger.info).toBe('function');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should have a "LEVELS" property', () => {
|
||||||
|
expect(logger.LEVELS).toBeDefined();
|
||||||
|
expect(typeof logger.LEVELS).toBe('object');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should have a "setLevel" method', () => {
|
||||||
|
expect(logger.setLevel).toBeDefined();
|
||||||
|
expect(typeof logger.setLevel).toBe('function');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should have a "verbose" method', () => {
|
||||||
|
expect(logger.verbose).toBeDefined();
|
||||||
|
expect(typeof logger.verbose).toBe('function');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should have a "warn" method', () => {
|
||||||
|
expect(logger.warn).toBeDefined();
|
||||||
|
expect(typeof logger.warn).toBe('function');
|
||||||
|
});
|
||||||
|
|
||||||
describe('debug', () => {
|
describe('debug', () => {
|
||||||
const methodName = 'debug';
|
const methodName = 'debug';
|
||||||
|
|
||||||
@ -122,8 +121,8 @@ describe('jsdoc/util/logger', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('getLevel', () => {
|
describe('getLevel', () => {
|
||||||
it('should return LEVELS.SILENT when we are running tests', () => {
|
it('should return LEVELS.SILENT by default', () => {
|
||||||
expect( logger.getLevel() ).toBe(logger.LEVELS.SILENT);
|
expect(logger.getLevel()).toBe(logger.LEVELS.SILENT);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -143,20 +142,20 @@ describe('jsdoc/util/logger', () => {
|
|||||||
const LEVELS = logger.LEVELS;
|
const LEVELS = logger.LEVELS;
|
||||||
|
|
||||||
it('should include the correct properties', () => {
|
it('should include the correct properties', () => {
|
||||||
expect(LEVELS.VERBOSE).toBeDefined();
|
|
||||||
expect(LEVELS.DEBUG).toBeDefined();
|
expect(LEVELS.DEBUG).toBeDefined();
|
||||||
|
expect(LEVELS.VERBOSE).toBeDefined();
|
||||||
expect(LEVELS.INFO).toBeDefined();
|
expect(LEVELS.INFO).toBeDefined();
|
||||||
expect(LEVELS.WARN).toBeDefined();
|
expect(LEVELS.WARN).toBeDefined();
|
||||||
expect(LEVELS.ERROR).toBeDefined();
|
expect(LEVELS.ERROR).toBeDefined();
|
||||||
expect(LEVELS.SILENT).toBeDefined();
|
expect(LEVELS.FATAL).toBeDefined();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should weight the logging levels correctly relative to one another', () => {
|
it('should weight the logging levels correctly relative to one another', () => {
|
||||||
expect(LEVELS.VERBOSE).toBeGreaterThan(LEVELS.DEBUG);
|
expect(LEVELS.DEBUG).toBeGreaterThan(LEVELS.VERBOSE);
|
||||||
expect(LEVELS.DEBUG).toBeGreaterThan(LEVELS.INFO);
|
expect(LEVELS.VERBOSE).toBeGreaterThan(LEVELS.INFO);
|
||||||
expect(LEVELS.INFO).toBeGreaterThan(LEVELS.WARN);
|
expect(LEVELS.INFO).toBeGreaterThan(LEVELS.WARN);
|
||||||
expect(LEVELS.WARN).toBeGreaterThan(LEVELS.ERROR);
|
expect(LEVELS.WARN).toBeGreaterThan(LEVELS.ERROR);
|
||||||
expect(LEVELS.ERROR).toBeGreaterThan(LEVELS.SILENT);
|
expect(LEVELS.ERROR).toBeGreaterThan(LEVELS.FATAL);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -167,9 +166,10 @@ describe('jsdoc/util/logger', () => {
|
|||||||
logger.setLevel(oldLevel);
|
logger.setLevel(oldLevel);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should update the log level', () => {
|
it('should update the log level when set', () => {
|
||||||
logger.setLevel(logger.LEVELS.VERBOSE);
|
logger.setLevel(logger.LEVELS.VERBOSE);
|
||||||
expect( logger.getLevel() ).toBe(logger.LEVELS.VERBOSE);
|
|
||||||
|
expect(logger.getLevel()).toBe(logger.LEVELS.VERBOSE);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -3,12 +3,9 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "Enumerates the types of AST nodes that JSDoc recognizes.",
|
"description": "Enumerates the types of AST nodes that JSDoc recognizes.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
|
||||||
"test": "gulp test"
|
|
||||||
},
|
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/jsdoc3/jsdoc.git"
|
"url": "https://github.com/jsdoc3/jsdoc"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"jsdoc"
|
"jsdoc"
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @module plugins/sourcetag
|
* @module plugins/sourcetag
|
||||||
*/
|
*/
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
exports.handlers = {
|
exports.handlers = {
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -2,7 +2,7 @@ const doop = require('jsdoc/util/doop');
|
|||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const fs = require('jsdoc/fs');
|
const fs = require('jsdoc/fs');
|
||||||
const helper = require('jsdoc/util/templateHelper');
|
const helper = require('jsdoc/util/templateHelper');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const path = require('jsdoc/path');
|
const path = require('jsdoc/path');
|
||||||
const taffy = require('taffydb').taffy;
|
const taffy = require('taffydb').taffy;
|
||||||
const template = require('jsdoc/template');
|
const template = require('jsdoc/template');
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
var env = require('jsdoc/env');
|
var env = require('jsdoc/env');
|
||||||
var fs = require('jsdoc/fs');
|
var fs = require('jsdoc/fs');
|
||||||
var logger = require('jsdoc/util/logger');
|
var logger = require('@jsdoc/logger');
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
|
|
||||||
fs.existsSync = fs.existsSync || path.existsSync;
|
fs.existsSync = fs.existsSync || path.existsSync;
|
||||||
@ -31,6 +31,7 @@ opts.matcher = new RegExp("(" + match + ")\\.(" + extensions + ")$", 'i');
|
|||||||
|
|
||||||
var specFolders = [
|
var specFolders = [
|
||||||
path.join(env.dirname, 'test/specs'),
|
path.join(env.dirname, 'test/specs'),
|
||||||
|
path.join(env.dirname, 'packages/jsdoc-logger/test/specs'),
|
||||||
path.join(env.dirname, 'packages/jsdoc-syntax/test/specs'),
|
path.join(env.dirname, 'packages/jsdoc-syntax/test/specs'),
|
||||||
path.join(env.dirname, 'plugins/test/specs')
|
path.join(env.dirname, 'plugins/test/specs')
|
||||||
];
|
];
|
||||||
@ -44,9 +45,6 @@ var onComplete;
|
|||||||
var runNextFolder = module.exports = function(callback) {
|
var runNextFolder = module.exports = function(callback) {
|
||||||
testsCompleteCallback = testsCompleteCallback || callback;
|
testsCompleteCallback = testsCompleteCallback || callback;
|
||||||
|
|
||||||
// silence the logger while we run the tests
|
|
||||||
logger.setLevel(logger.LEVELS.SILENT);
|
|
||||||
|
|
||||||
if (index < specFolders.length) {
|
if (index < specFolders.length) {
|
||||||
jasmine.executeSpecsInFolder(specFolders[index], onComplete, opts);
|
jasmine.executeSpecsInFolder(specFolders[index], onComplete, opts);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,7 +48,7 @@ describe('multiple doclets per symbol', () => {
|
|||||||
|
|
||||||
it('When a file contains a JSDoc comment with an @also tag, and the "tags.allowUnknownTags" ' +
|
it('When a file contains a JSDoc comment with an @also tag, and the "tags.allowUnknownTags" ' +
|
||||||
'option is set to false, the file can be parsed without errors.', () => {
|
'option is set to false, the file can be parsed without errors.', () => {
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
const errors = [];
|
const errors = [];
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
describe('empty JSDoc comments', () => {
|
describe('empty JSDoc comments', () => {
|
||||||
it('should not report an error when a JSDoc comment contains only whitespace', () => {
|
it('should not report an error when a JSDoc comment contains only whitespace', () => {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('JSX support', () => {
|
describe('JSX support', () => {
|
||||||
it('should parse JSX files without errors', () => {
|
it('should parse JSX files without errors', () => {
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
function parseJsx() {
|
function parseJsx() {
|
||||||
return jasmine.getDocSetFromFile('test/fixtures/jsx.js');
|
return jasmine.getDocSetFromFile('test/fixtures/jsx.js');
|
||||||
|
|||||||
@ -3,7 +3,7 @@ const hasOwnProp = Object.prototype.hasOwnProperty;
|
|||||||
describe('jsdoc/package', () => {
|
describe('jsdoc/package', () => {
|
||||||
let emptyPackage;
|
let emptyPackage;
|
||||||
const jsdocPackage = require('jsdoc/package');
|
const jsdocPackage = require('jsdoc/package');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const Package = jsdocPackage.Package;
|
const Package = jsdocPackage.Package;
|
||||||
|
|
||||||
function checkPackageProperty(name, value) {
|
function checkPackageProperty(name, value) {
|
||||||
|
|||||||
@ -26,7 +26,7 @@ describe('jsdoc/src/astbuilder', () => {
|
|||||||
|
|
||||||
describe('build', () => {
|
describe('build', () => {
|
||||||
// TODO: more tests
|
// TODO: more tests
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
spyOn(logger, 'error');
|
spyOn(logger, 'error');
|
||||||
|
|||||||
@ -6,11 +6,9 @@ describe('jsdoc/src/parser', () => {
|
|||||||
src: {
|
src: {
|
||||||
handlers: require('jsdoc/src/handlers'),
|
handlers: require('jsdoc/src/handlers'),
|
||||||
parser: require('jsdoc/src/parser')
|
parser: require('jsdoc/src/parser')
|
||||||
},
|
|
||||||
util: {
|
|
||||||
logger: require('jsdoc/util/logger')
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
const logger = require('@jsdoc/logger');
|
||||||
const path = require('jsdoc/path');
|
const path = require('jsdoc/path');
|
||||||
|
|
||||||
it('should exist', () => {
|
it('should exist', () => {
|
||||||
@ -38,10 +36,10 @@ describe('jsdoc/src/parser', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should log a fatal error on bad input', () => {
|
it('should log a fatal error on bad input', () => {
|
||||||
spyOn(jsdoc.util.logger, 'fatal');
|
spyOn(logger, 'fatal');
|
||||||
jsdoc.src.parser.createParser('not-a-real-parser-ever');
|
jsdoc.src.parser.createParser('not-a-real-parser-ever');
|
||||||
|
|
||||||
expect(jsdoc.util.logger.fatal).toHaveBeenCalled();
|
expect(logger.fatal).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@ describe('jsdoc/tag', () => {
|
|||||||
dictionary: require('jsdoc/tag/dictionary'),
|
dictionary: require('jsdoc/tag/dictionary'),
|
||||||
type: require('jsdoc/tag/type')
|
type: require('jsdoc/tag/type')
|
||||||
};
|
};
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
it('should exist', () => {
|
it('should exist', () => {
|
||||||
expect(jsdoc.tag).toBeDefined();
|
expect(jsdoc.tag).toBeDefined();
|
||||||
|
|||||||
@ -2,7 +2,7 @@ describe('jsdoc/tag/dictionary/definitions', () => {
|
|||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const definitions = require('jsdoc/tag/dictionary/definitions');
|
const definitions = require('jsdoc/tag/dictionary/definitions');
|
||||||
const Dictionary = require('jsdoc/tag/dictionary').Dictionary;
|
const Dictionary = require('jsdoc/tag/dictionary').Dictionary;
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
it('should exist', () => {
|
it('should exist', () => {
|
||||||
expect(definitions).toBeDefined();
|
expect(definitions).toBeDefined();
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
describe('jsdoc/tag/validator', () => {
|
describe('jsdoc/tag/validator', () => {
|
||||||
const doop = require('jsdoc/util/doop');
|
const doop = require('jsdoc/util/doop');
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const tag = require('jsdoc/tag');
|
const tag = require('jsdoc/tag');
|
||||||
const validator = require('jsdoc/tag/validator');
|
const validator = require('jsdoc/tag/validator');
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('jsdoc/tutorial/resolver', () => {
|
describe('jsdoc/tutorial/resolver', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const resolver = require('jsdoc/tutorial/resolver');
|
const resolver = require('jsdoc/tutorial/resolver');
|
||||||
const tutorial = require('jsdoc/tutorial');
|
const tutorial = require('jsdoc/tutorial');
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
describe('jsdoc/util/error', () => {
|
describe('jsdoc/util/error', () => {
|
||||||
const error = require('jsdoc/util/error');
|
const error = require('jsdoc/util/error');
|
||||||
const handle = error.handle;
|
const handle = error.handle;
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
it('should exist', () => {
|
it('should exist', () => {
|
||||||
expect(error).toBeDefined();
|
expect(error).toBeDefined();
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('jsdoc/util/markdown', () => {
|
describe('jsdoc/util/markdown', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const markdown = require('jsdoc/util/markdown');
|
const markdown = require('jsdoc/util/markdown');
|
||||||
|
|
||||||
it('should exist', () => {
|
it('should exist', () => {
|
||||||
|
|||||||
@ -8,7 +8,7 @@ describe("jsdoc/util/templateHelper", () => {
|
|||||||
const doop = require('jsdoc/util/doop');
|
const doop = require('jsdoc/util/doop');
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const helper = require('jsdoc/util/templateHelper');
|
const helper = require('jsdoc/util/templateHelper');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
const resolver = require('jsdoc/tutorial/resolver');
|
const resolver = require('jsdoc/tutorial/resolver');
|
||||||
const taffy = require('taffydb').taffy;
|
const taffy = require('taffydb').taffy;
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
describe('@define tag', () => {
|
describe('@define tag', () => {
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
describe('JSDoc tags', () => {
|
describe('JSDoc tags', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@dict tag', () => {
|
describe('@dict tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@export tag', () => {
|
describe('@export tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@externs tag', () => {
|
describe('@externs tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@implicitCast tag', () => {
|
describe('@implicitCast tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
describe('@interface tag', () => {
|
describe('@interface tag', () => {
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const docSet = jasmine.getDocSetFromFile('test/fixtures/interface-implements.js');
|
const docSet = jasmine.getDocSetFromFile('test/fixtures/interface-implements.js');
|
||||||
const testerInterface = docSet.getByLongname('ITester')[0];
|
const testerInterface = docSet.getByLongname('ITester')[0];
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@noalias tag', () => {
|
describe('@noalias tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@nocollapse tag', () => {
|
describe('@nocollapse tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@nocompile tag', () => {
|
describe('@nocompile tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
describe('@package tag', () => {
|
describe('@package tag', () => {
|
||||||
const docSet = jasmine.getDocSetFromFile('test/fixtures/packagetag.js');
|
const docSet = jasmine.getDocSetFromFile('test/fixtures/packagetag.js');
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@polymerBehavior tag', () => {
|
describe('@polymerBehavior tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@polymer tag', () => {
|
describe('@polymer tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@preserve tag', () => {
|
describe('@preserve tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
describe('@private tag', () => {
|
describe('@private tag', () => {
|
||||||
const docSet = jasmine.getDocSetFromFile('test/fixtures/privatetag.js');
|
const docSet = jasmine.getDocSetFromFile('test/fixtures/privatetag.js');
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
describe('@protected tag', () => {
|
describe('@protected tag', () => {
|
||||||
const docSet = jasmine.getDocSetFromFile('test/fixtures/protectedtag.js');
|
const docSet = jasmine.getDocSetFromFile('test/fixtures/protectedtag.js');
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@struct tag', () => {
|
describe('@struct tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@suppress tag', () => {
|
describe('@suppress tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@template tag', () => {
|
describe('@template tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
describe('@type tag', () => {
|
describe('@type tag', () => {
|
||||||
const docSet = jasmine.getDocSetFromFile('test/fixtures/typetag.js');
|
const docSet = jasmine.getDocSetFromFile('test/fixtures/typetag.js');
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
describe('@unrestricted tag', () => {
|
describe('@unrestricted tag', () => {
|
||||||
const env = require('jsdoc/env');
|
const env = require('jsdoc/env');
|
||||||
const logger = require('jsdoc/util/logger');
|
const logger = require('@jsdoc/logger');
|
||||||
|
|
||||||
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
const allowUnknownTags = Boolean(env.conf.tags.allowUnknownTags);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user