549 Commits

Author SHA1 Message Date
Jeff Williams
50f6f1ca11 don't validate Tag objects in the constructor
Plus semi-related cleanup.
2019-02-03 15:34:37 -08:00
Jeff Williams
a36f6c5e3d move jsdoc/name to @jsdoc/name, plus related cleanup 2019-02-03 14:34:34 -08:00
Jeff Williams
32f8aed805 replace jsdoc/src/filter and jsdoc/src/scanner
Plus some semi-related cleanup.
2019-02-02 14:42:20 -08:00
Jeff Williams
85cbed9c0c change loading process for plugins and Markdown highlighters; remove jsdoc/path
We now simply use `require()` to load plugins and Markdown highlighters.

Note that `@jsdoc/util.path.commonPrefix`, unlike `jsdoc/path.commonPrefix`, does not append `path.sep` to the return value.

Includes other minor cleanup.
2019-01-27 15:18:28 -08:00
Jeff Williams
6220b76a3d remove jsdoc/fs 2019-01-26 21:00:19 -08:00
Jeff Williams
22e3ccacf9 remove jsdoc/util/dumper 2019-01-26 15:26:11 -08:00
Jeff Williams
2a95dcaa43 replace jsdoc/util/stripbom with strip-bom package 2019-01-26 15:12:19 -08:00
Jeff Williams
b717edb267 misc cleanup 2019-01-26 15:07:22 -08:00
Jeff Williams
25c37411d9 add @jsdoc/cli and @jsdoc/util modules
`@jsdoc/cli` deals with command-line arguments, and `@jsdoc/util` casts values to appropriate types.
2019-01-26 12:02:55 -08:00
Jeff Williams
4badaef5fd better config loading (#1550)
+ Use `cosmiconfig` instead of rolling our own code (which gives us YAML support)
+ Look for the config in these locations, and in this order:
    + A `jsdoc` property in `package.json`
    + `.jsdocrc` (can be JSON or YAML; comments not allowed for JSON)
    + `.jsdocrc.json` (comments allowed)
    + `.jsdocrc.yaml`
    + `.jsdocrc.yml`
    + `.jsdocrc.js`
    + `jsdoc.config.js`
2019-01-25 19:33:18 -08:00
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