125 Commits

Author SHA1 Message Date
Jeff Williams
8b26b6d669 remove author tags, and clean up JSDoc comments without leading asterisks
Most of the existing author tags are grossly out of date at this point. The definitive reference for who has contributed what is available at https://github.com/jsdoc3/jsdoc/graphs/contributors.
2017-07-06 00:01:11 -07:00
Jeff Williams
a097e2f299 get rid of jsdoc/util/runtime (#1383); delint 2017-07-05 22:57:11 -07:00
Jeff Williams
15b57e52f3 overhaul ESLint config; delint 2017-07-05 21:05:52 -07:00
Tim Schaub
621f012211 Remove Rhino support 2015-10-30 13:11:43 -06:00
Alex Nicksay
13f09f397c Clean up space-after-keywords lint violations
This eliminates the following when running `gulp lint`:

> error  Keyword "catch" must be followed by whitespace

Closes #1083
2015-10-07 10:46:18 -04:00
Jeff Williams
93bd06c9e2 update gulp-eslint; delint 2015-08-13 16:23:19 -07:00
Jeff Williams
8ea7078d39 modify dumper.dump() to support multiple arguments; only define the dump() global in debug mode (#812) 2015-02-18 17:24:02 -08:00
Jeff Williams
f9073e6361 turn app global into a module, and use the module instead of the global (#812)
The `app` global remains available, since templates and plugins may rely upon it, but it's deprecated as of JSDoc 3.4.0.
2015-02-18 09:27:40 -08:00
Jeff Williams
ae94af0cd8 turn env global into a module, and use the module instead of the global (#812)
The `env` global remains available, since templates and plugins may rely upon it, but it's deprecated as of JSDoc 3.4.0.
2015-02-17 19:07:10 -08:00
Jeff Williams
0daeb2e947 improve dumper module and global dump function (#811)
- Fixed an issue in the dumper module that caused non-circular references between objects to be treated as circular references. For example, in an array of objects A and B, if B.a refers to A, the value of B.a can now be dumped.
- The dumper module is now much faster when the built-in class `Set` is not available.
- The global dump function is now much faster and is less likely to dump the value `<CircularRef>`.
2014-11-27 10:03:26 -08:00
Jeff Williams
2d870909a6 allow templates/plugins to override JSDoc dependencies on Node.js (#671)
Also removes Requizzle from git, because this module is not used on Rhino.
2014-06-15 11:38:42 -07:00
Jeff Williams
6b0c06eddd allow external templates/plugins to require() things in node_modules (#665) 2014-06-11 13:03:29 -07:00
Jeff Williams
fd5ca944d2 abolish the post-install script and template/plugin copying (#519, #612)
JSDoc has a few requirements that are somewhat unusual for a Node.js app:

1. We need `require('jsdoc/foo')` to work from any module.
2. We need `require('jsdoc/foo')` to work from external code, such as templates and plugins.

Prior to this commit, JSDoc did two separate things to meet these requirements:

1. Use an npm post-install script to create a symlink from `lib/jsdoc` to `node_modules/jsdoc`.
2. When a user runs JSDoc, copy templates and plugins into the JSDoc directory.

These fixes worked, sort of. But they also caused numerous issues with file permissions, especially on Windows.

We now use the Requizzle module, which hacks the Node.js module system to support JSDoc's use cases. There's no longer a post-install script, and there's no need for a symlink in `node_modules`.
2014-06-09 17:27:06 -07:00
Jeff Williams
bce238bb51 replace JSHint with ESLint (and associated cleanup) 2014-04-19 10:38:02 -07:00
Jeff Williams
49ad746e49 trailing whitespace cleanup 2014-03-04 13:47:57 -08:00
Jeff Williams
48e6c392d5 huge whitespace cleanup
- remove all trailing whitespace
- for consistency, replace all tabs with spaces
2014-03-03 07:43:01 -08:00
Jeff Williams
c9b0237c12 overhaul logging and error handling (#416) 2013-12-23 15:25:28 -08:00
Jeff Williams
f55feb1a0e 'use strict'ify 2013-11-11 23:49:54 -08:00
Jeff Williams
e0df71b1ae fix various path-related issues on Windows
- add env.pwd global, and use it instead of process.env.PWD, which is
undefined in Node.js on Windows
- normalize paths where necessary
2013-11-10 16:57:48 -08:00
Jeff Williams
705e72b77f permissions change 2013-11-05 20:57:03 -08:00
Jeff Williams
f7256d8d07 make npm installs work correctly; misc cross-platform fixes; cleanup
includes new Rhino jar that strips hashbangs before execution:
https://github.com/jsdoc3/rhino/commit/95487737
2013-11-02 23:14:04 -07:00
Jeff Williams
de4297b20b refactor jsdoc.js; update Rhino
- Switched to a new Rhino fork: https://github.com/jsdoc3/rhino
  (currently reflects mozilla/rhino HEAD + enhancements for JSDoc)
- Removed jsdoc/util/global; new Rhino fork provides a `global` alias
  just like Node.js
- Moved most of jsdoc.js into cli.js, and refactored for clarity
2013-10-27 10:46:27 -07:00
Jeff Williams
751bea1b0a fixes for Node.js compatibility (see details)
- new Rhino .jar to help find module paths
(https://github.com/hegemonic/rhino/commit/31b70105)
- make __dirname and process.cwd() provide the current module path; use
only env.dirname for JSDoc's home dir; fix callers
- get rid of jsdoc/util/include (and update test framework accordingly)
- avoid running Rhino/Node.js tests on the wrong runtime
- remove support for global 'publish' function, which relied upon
jsdoc/util/include
- update jsdoc/util/dumper for consistency with Node.js'
JSON.stringify()
- fix jsdoc/util/runtime to detect Node.js correctly
- add Node.js versions of jsdoc/fs and jsdoc/path
- other minor cleanup
2013-10-25 23:30:56 -07:00
Jeff Williams
9745685dde make the fs.statSync shim throw an error (consistent with Node.js) 2013-10-23 09:32:20 -07:00
Jeff Williams
e02afd570e create parser, THEN attach plugins
fixes broken test
2013-10-21 09:11:23 -07:00
Jeff Williams
23003541ad add config setting to choose a parser 2013-10-21 08:54:39 -07:00
Jeff Williams
e7752cde18 Merge branch 'master' into parsimony
Conflicts:
	lib/jsdoc/name.js
	lib/jsdoc/src/handlers.js
	lib/jsdoc/src/parser.js
	lib/jsdoc/tag/dictionary/definitions.js
	lib/jsdoc/util/templateHelper.js
	package.json
	test/specs/documentation/alias.js
	test/specs/documentation/modules.js
	test/specs/tags/augmentstag.js
	test/specs/tags/overviewtag.js
2013-10-21 08:42:29 -07:00
Jeff Williams
735a9b790c esprima parser (currently disabled) 2013-10-21 08:02:03 -07:00
Jeff Williams
77546a9d52 more fixes to ensure that we always generate valid filenames (#440) 2013-10-02 22:37:28 -07:00
Jeff Williams
c058a60ed1 hook up node visitors; gratuitous refactor of 'runtime' module (formerly 'vm'); move runtime-specific code
includes updated Rhino jar:
https://github.com/hegemonic/rhino/commit/b63c00d5
2013-07-05 09:11:27 -07:00
Jeff Williams
a507eced37 fail when a nonexistent config file is specified (#425) 2013-06-23 15:21:19 -07:00
Jeff Williams
11be32b325 fireProcessingComplete cleanup 2013-06-02 16:49:49 -07:00
Ernst Haagsman
93859fe94c processingComplete event: covered by unit tests
The processingComplete event now contains an object with the docs array under the 'doclets' key. The event is now covered by a unit test.
2013-05-15 11:18:03 +02:00
Ernst Haagsman
d4ee1d324e Plugins: Created processingComplete event
The processingComplete event fires after all processing has been
done. It gets the entire docs as its only parameter.
2013-05-10 11:56:34 +02:00
Jeff Williams
692f9c9290 fix fallback code for loading conf.json 2013-04-23 11:24:18 -07:00
Jeff Williams
ac857da48d add the config file path to the error (#407) 2013-04-23 09:12:05 -07:00
Jeff Williams
352aa84091 refactor requires; don't suppress exceptions if the config file cannot be parsed (#407) 2013-04-23 09:02:02 -07:00
Jeff Williams
8c65d81e23 match Node.js' console.log/error/info/warn/trace; speed up -X option (#298) 2013-04-18 23:16:47 -07:00
Jeff Williams
a3286e38bc remove jsVersion config property (#390) 2013-04-17 17:45:46 -07:00
Jeff Williams
f90f631980 address changes in recent JSHint versions
- be sneaky about assignment to global "app" and "env"
- disable the newly aggressive test for trailing whitespace
2013-03-07 21:48:17 -08:00
Gergely Aradszki
ef9660119f Merge source includes with command line arguments *before* checking for README.md and package.json.
Allows to set these in configs source.includes.
2013-02-17 14:54:09 +01:00
Jeff Williams
41f538feb9 exit after catching a Rhino exception (#325) 2013-01-28 20:58:27 -08:00
Jeff Williams
7d4dd38902 store version info in env.version, and display version number in default template output (#321) 2013-01-27 21:07:23 -08:00
Jeff Williams
87cd24728f allow plugins to be installed outside of the JSDoc directory (#277) 2013-01-27 07:56:43 -08:00
Jeff Williams
b814da3e8b support -v option; provide more detailed version info (#303) 2013-01-17 18:06:31 -08:00
mathematicalcoffee
ac14eda668 added --version switch. 2013-01-18 10:16:41 +10:00
Jeff Williams
d73570defc make fs module consistent with Node.js (#211) 2012-12-26 19:03:05 -08:00
Jeff Williams
b786527ea4 add mechanism for loading VM-specific functions (#289) 2012-12-26 11:56:33 -08:00
Jeff Williams
e4236eaa42 remove most globals from jsdoc.js (#287)
for clarity, also forward-declared all variables in main()
2012-12-25 04:55:50 -08:00
Jeff Williams
6c9ef48324 clean up VM-specific code (#210) 2012-12-23 17:57:38 -08:00