Jeff Williams
617b3236bf
Replace old, vendored Jasmine with current npm package.
...
JSDoc-specific test functions are now properties of a `jsdoc` global, not a `jasmine` global.
Also updates license files to reflect the fact that we no longer vendor anything.
2019-05-12 15:10:38 -07:00
Jeff Williams
aa0b6c1bfa
switch to new-ish ECMAScript syntax
...
With help from Lebab, plus a lot of manual cleanup. (And more cleanup to come, I'm sure.)
2019-01-15 18:39:10 -08:00
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