539 Commits

Author SHA1 Message Date
Jeff Williams
cd4dcce9e5 remove jsdoc/app module and global.app 2019-01-22 07:39:20 -08:00
Jeff Williams
02c1722eb9 use lodash to clone objects 2019-01-21 19:59:33 -08:00
Jeff Williams
704341b6f3 remove deprecated jsdoc/util/error module 2019-01-21 19:45:17 -08:00
Jeff Williams
5f578e803b migrate from old, vendored Jasmine to jasmine package (#1602)
Plus some miscellaneous cleanup.
2019-01-21 19:38:07 -08:00
Jeff Williams
f27aba37b7 first pass at template overhaul and template API changes
API changes:
+ No more `jsdoc/template` module. Each JSDoc template uses whatever templating system it wants.
+ No more TaffyDB. Each template finds doclets however it wants. (TODO: Update `jsdoc/util/templateHelper` so none of its methods expect a TaffyDB object.)
+ Templates are now loaded with `require('my-template-name-here')`. The resulting object must include a `publish` method.
+ The `publish` method now takes two parameters: a `data` object with `doclets` and `tutorials` properties, and an `options` object. `data.doclets` is just an array.

Other notable changes:
+ No more `haruki` template.
+ Moved the `default` and `silent` templates to new packages.
+ The `.tmpl` files for the `default` template (now called `@jsdoc/template-original`) no longer use custom delimiters.
2019-01-21 14:13:43 -08:00
Jeff Williams
3b8b0b479b migrate from underscore to lodash 2019-01-21 10:52:46 -08:00
Jeff Williams
a29a03b2d9 move jsdoc/util/logger into a new package 2019-01-19 21:49:27 -08:00
Jeff Williams
261c116e03 move jsdoc/src/syntax into a new package 2019-01-19 13:26:16 -08: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
27f9a33116 migrate from babylon to @babel/parser 2019-01-13 15:22:47 -08:00
Jeff Williams
2c6bcd4407 prevent crash when an anonymous class is passed as a parameter (#1416) 2017-07-29 16:50:01 -07:00
Jeff Williams
e8bca1f490 add templates.useShortNamesInLinks config option (#738)
When this option is set to `true`, the `{@link}`, `{@linkcode}`, and `{@linkplain}` tags will use the short name, not the longname, as the link text. For example, `{@link foo.bar.baz}` will result in the link text `baz`.

This option has no effect when link text is provided as part of the tag (for example, `{@link foo.bar.baz My link text here}`).

As part of this change, I also simplified many of the tests for the `resolveLinks` method.
2017-07-23 18:35:26 -07:00
Jeff Williams
2c47d4b306 allow users to specify a highlighter for Markdown code blocks (#1412) 2017-07-23 15:01:27 -07:00
Jeff Williams
a63337b5c8 don't pretty-print code blocks that begin with "```plain" (#1361) 2017-07-23 12:30:07 -07:00
Jeff Williams
1c99ec39eb make the exports tag work correctly when combined with the enum tag (#970) 2017-07-22 20:29:56 -07:00
Jeff Williams
8191227607 use the markdown-it Markdown parser by default (#1243)
The marked parser is deprecated in JSDoc 3.6.0 and will be removed in JSDoc 3.7.0.
2017-07-22 19:00:24 -07:00
Jeff Williams
d29a4dd3c1 update JSON schema to draft-06, and use ajv to validate doclets 2017-07-22 14:12:58 -07:00
Jeff Williams
90827aab0f move externs test spec to the correct directory 2017-07-22 11:45:17 -07:00
Jeff Williams
7738610a9f support the nosideeffects tag (Closure Compiler only) (#605) 2017-07-21 18:42:53 -07:00
Jeff Williams
2f99af8fbb support the modifies tag (JSDoc and Closure Compiler) (#605) 2017-07-21 17:29:47 -07:00
Jeff Williams
56b52779c4 support the typedef tag correctly for Closure Compiler (#605) 2017-07-21 15:23:04 -07:00
Jeff Williams
e33f48c471 support the this tag correctly for Closure Compiler (#605) 2017-07-21 14:04:53 -07:00
Jeff Williams
2164532d30 support the unrestricted tag (Closure Compiler only) (#605) 2017-07-16 20:35:47 -07:00
Jeff Williams
25a271e727 support the template tag (Closure Compiler only) (#567, #605) 2017-07-16 20:05:40 -07:00
Jeff Williams
7afa146990 support the record tag (Closure Compiler only) (#605) 2017-07-16 20:00:48 -07:00
Jeff Williams
b13bb67fbb support the public tag for Closure Compiler (#605) 2017-07-16 19:51:50 -07:00
Jeff Williams
a9a68f3442 support the suppress tag (Closure Compiler only) (#605) 2017-07-16 19:14:27 -07:00
Jeff Williams
0d2a312c2e support the struct tag (Closure Compiler only) (#605) 2017-07-16 19:11:45 -07:00
Jeff Williams
60143a457f support preserve tag (Closure Compiler only) (#605) 2017-07-16 18:48:40 -07:00
Jeff Williams
e810cb7d0f support the polymerBehavior tag (Closure Compiler only) (#605) 2017-07-16 18:41:44 -07:00
Jeff Williams
5432a2a6b0 support the polymer tag (Closure Compiler only) (#605) 2017-07-16 18:38:21 -07:00
Jeff Williams
9c443c7802 support the nocompile tag (Closure Compiler only) (#605) 2017-07-16 18:34:15 -07:00
Jeff Williams
21583fe8a1 support the nocollapse tag (Closure Compiler only) (#605) 2017-07-16 18:31:08 -07:00
Jeff Williams
157255f7f7 support the noalias tag (Closure Compiler only) (#605) 2017-07-16 18:26:33 -07:00
Jeff Williams
e45a719cd0 support the implicitCast tag (Closure Compiler only) (#605) 2017-07-16 18:21:19 -07:00
Jeff Williams
adf742615e support the fileoverview tag in the Closure Compiler dictionary (#605) 2017-07-16 17:03:01 -07:00
Jeff Williams
afe7c3564a support the externs tag (Closure Compiler only) (#605) 2017-07-16 16:52:17 -07:00
Jeff Williams
d06ba2788a support the export tag (Closure Compiler only) (#605) 2017-07-16 16:47:58 -07:00
Jeff Williams
2e739594b8 support the dict tag (Closure Compiler only) (#605) 2017-07-16 16:32:04 -07:00
Jeff Williams
bca700216e support the define tag (Closure Compiler only) (#605) 2017-07-16 16:19:55 -07:00
Jeff Williams
857a346f4b add jasmine.replaceTagDictionary and jasmine.restoreTagDictionary test helpers 2017-07-16 15:19:17 -07:00
Jeff Williams
f4bf81606f fix problems with methods and properties in classes returned by arrow function expressions (#1409)
+ don't prepend `undefined` to method and property names
+ use the parent class's alias
2017-07-16 14:10:52 -07:00
Jeff Williams
cc66657512 don't ignore properties like examples on ES2015 class constructors (#1129) 2017-07-15 16:03:13 -07:00
Jeff Williams
b28379e398 make the @override tag work as expected (#1215)
The `@override` tag no longer causes all other doclet properties to be ignored. Instead, the doclet will keep its own properties and inherit any missing properties from the parent class or interface.
2017-07-15 15:33:18 -07:00
Jeff Williams
4aa3ee8f96 turn Doclet#merge into doclet.combine 2017-07-15 14:01:12 -07:00
Jeff Williams
d4c2c400c5 slight change to merge behavior 2017-07-15 09:46:52 -07:00
Jeff Williams
0551bd49ed add merge method to doclets (#1215) 2017-07-14 21:39:21 -07:00
Jeff Williams
5026e449e2 work around Babylon comment-attachment bug (#1396)
https://github.com/babel/babylon/issues/619
2017-07-13 19:19:28 -07:00
Jeff Williams
d7c7fea358 use the correct longname for constructors of ES2015 classes with @alias tags (#1395) 2017-07-13 17:09:07 -07:00
Jeff Williams
a3523abebc fix crash when a class property has no value (#1400) 2017-07-12 19:03:46 -07:00