20 Commits

Author SHA1 Message Date
Tom MacWright
25152edeb9 style(prettier): Use prettier for code formatting (#710)
* style(prettier): Use prettier for code formatting

This saves us style issues. Also adds husky and lint-staged for pre-commit testing

Refs https://github.com/documentationjs/documentation/issues/709
2017-04-10 14:25:45 -04:00
Tom MacWright
84c9215811 fix(inference): Refactor membership inference
- Tags with `@lends` are now filtered out early on, so they never
  generate documentation. Lends tags are structural hints only.
- Uses built-in type checks instead of babel-types where appropriate.
- More internal documentation
- Now reuses code for parsing lends between different forms

Previously broken syntax, now working:

```js
/** parent */
export default function() {
  /** child */
  this.a = 1;
}
```
2017-02-24 15:36:55 -05:00
Tom MacWright
631c6925d4 feat(core): Switch to Promises everywhere. Adopt Node v4 ES6 (#648)
* feat(core): Switch to Promises everywhere. Adopt Node v4 ES6

Big changes:

* Uses template strings where appropriate
* Config and argument parsing is unified and there is no such thing
  as formatterOptions anymore. All user-passed options go through
  mergeConfig.
* The node API surface changed (again): `buildSync` is removed,
  building operations return Promises.
* Now using Flow for internal type annotations.

More changes:

* Remove buildSync command
* feat(inference): Partially implement object shorthand support
* Refs #649
* Use Flow annotations to  enforce types
* Keep flow but switch to comment syntax
* Clarify types
* More flow improvements
* Turn server into class
* LinkerStack becomes class too
* Fix comment description type
* Run flow on lint
* Many more flow fixes
* More intense flow refactoring
* Simplify inference steps
* Update inference tests, flow errors down to 1
* Continue refining types
* Fix more flow issues
* Use 'use strict' everywhere
* Make 'ast' property configurable
* Fix many tests
* Fix more tests
* Fix more tests
* Fix augments
* Test Markdown meta support
* Improve test coverage
* Switch back from for of to for for speed
2017-01-27 16:14:19 -05:00
Tom MacWright
e8831e76c5 test(parse): Improve test coverage of glob and doc parsing (#637) 2016-12-26 10:57:24 -05:00
Tom MacWright
df8efa4d3d Update dependencies (#560)
* also deprecated --private option in favor of --access
2016-10-10 17:16:31 -04:00
Tom MacWright
3da1ff6dd0 Source-sorting by default (#410)
* Source-sorting by default

Many changes

* Uses a new version of module-deps that exposes a sort key
  we use to sort documentation.
* Adds inference for methods in objects
* Groups events into a separate comment property

* Add jsdoc property. Refs https://github.com/documentationjs/documentation/pull/388#issuecomment-215791547

* Namespaces and paths

* More powerful paths: paths now include name, kind, and scope
* comments now include a 'namespace' property with a formatted namespace

* Fix tests

* Re-ignore fonts

* Nix sourceKey from output

* Pin dependency versions

* Fix module-deps-sortable ref

* Update tests for right deps
2016-04-29 18:09:52 -04:00
Tom MacWright
7519a5afef Sort documentation in code order. 2016-04-26 13:11:04 -04:00
John Firebaugh
ade4f3499b More correct parsing for kind shorthand (@class, @constant, etc)
* Set the `kind` property of the comment, not a property named by the kind.
* Set the `type` property as appropriate for these shorthands.
* Parse @callback as shorthand for @typedef {Function}
2016-03-29 13:21:47 -07:00
John Firebaugh
65035d39d8 @linkcode and @linkplain are inline tags 2016-03-28 13:19:30 -07:00
John Firebaugh
08d6dc21bd Replace markdown strings with parsed ASTs
This eliminates the need for formatInlineTags and jsdoc-inline-lex, and simplifies the implementation of HTML themes.
2016-03-28 13:19:30 -07:00
John Firebaugh
45b7b50cff Lint unknown tags 2016-03-14 18:45:29 -07:00
John Firebaugh
11a7758e56 Add placeholders for remaining tags 2016-03-14 18:43:09 -07:00
John Firebaugh
bad9c47216 Add @variation support 2016-03-14 18:29:05 -07:00
John Firebaugh
a597741550 Add @ignore support 2016-03-14 18:26:07 -07:00
John Firebaugh
40af71635f Add @interface support 2016-03-14 18:25:57 -07:00
John Firebaugh
e9d17e8795 Add @override and @readonly support 2016-03-14 18:17:18 -07:00
John Firebaugh
0011523f88 Add @abstract support 2016-03-14 17:52:04 -07:00
John Firebaugh
49a1cd9ff6 Clean up @example parsing and expand tests - back to 100% coverage 2016-03-14 17:33:24 -07:00
John Firebaugh
e0591cad4c Organize parse tests by individual tag 2016-03-14 17:31:17 -07:00
John Firebaugh
47eb1eaf26 Massage parse.js and tests to make upcoming changes easier 2016-03-14 14:57:24 -07:00