Skip to content

Commit

Permalink
Merge branch 'releases/3.6' into esrijs-sdk-3.6.1
Browse files Browse the repository at this point in the history
* releases/3.6: (109 commits)
  Add 3.6.1 changelog.
  3.6.1
  Parse type applications correctly in Node.js 12. (jsdoc#1643)
  Update .gitignore.
  3.6.0
  Add 3.6.0 changelog.
  Update dependencies, plus the URLs for the GitHub repos and docs.
  update docs with new template (jsdoc#1604)
  switch to new-ish ECMAScript syntax
  update ESLint config
  migrate from `babylon` to `@babel/parser`
  Update ajv to the latest version 🚀 (jsdoc#1599)
  only run CI with Node.js versions that actually exist
  migrate from `markdown-it-named-headers` to `markdown-it-anchor` (jsdoc#1481)
  update dependencies and supported Node.js versions
  3.5.5 changelog
  Prefer copyFileSync from here over native (jsdoc#1440)
  upgrade Babylon
  fix test breakage
  3.5.4 changelog
  ...

# Conflicts:
#	.gitignore
#	.travis.yml
#	CHANGES.md
#	LICENSE.md
#	README.md
#	cli.js
#	lib/jsdoc/fs.js
#	lib/jsdoc/path.js
#	lib/jsdoc/src/astbuilder.js
#	lib/jsdoc/src/handlers.js
#	lib/jsdoc/src/parser.js
#	lib/jsdoc/src/visitor.js
#	lib/jsdoc/src/walker.js
#	lib/jsdoc/util/logger.js
#	lib/jsdoc/util/markdown.js
#	lib/jsdoc/util/templateHelper.js
#	package.json
#	test/specs/documentation/alias.js
#	test/specs/documentation/anonymousclassparam.js
#	test/specs/documentation/arrowfunction.js
#	test/specs/documentation/classproperties.js
#	test/specs/documentation/this.js
#	test/specs/documentation/trailingcomment.js
#	test/specs/jsdoc/name.js
#	test/specs/jsdoc/path.js
#	test/specs/jsdoc/src/astnode.js
#	test/specs/jsdoc/src/visitor.js
  • Loading branch information
lheberlie committed May 6, 2019
2 parents 0ec3bb6 + 03b8abd commit 92ba6c3
Show file tree
Hide file tree
Showing 275 changed files with 15,086 additions and 8,476 deletions.
25 changes: 20 additions & 5 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
{
"env": {
"es6": true,
"jasmine": true,
"node": true
},

"parserOptions": {
"sourceType": "module"
},

"rules": {
// Possible errors
"for-direction": "error",
"getter-return": "error",
"no-async-promise-executor": "error",
"no-await-in-loop": "error",
"no-compare-neg-zero": "error",
"no-cond-assign": "error",
Expand All @@ -27,6 +34,7 @@
"no-inner-declarations": ["error", "functions"],
"no-invalid-regexp": "error",
"no-irregular-whitespace": "error",
"no-misleading-character-class": "error",
"no-obj-calls": "error",
"no-prototype-builtins": "error",
"no-regex-spaces": "error",
Expand All @@ -36,15 +44,15 @@
"no-unreachable": "error",
"no-unsafe-finally": "error",
"no-unsafe-negation": "error",
"require-atomic-updates": "error",
"use-isnan": "error",
"valid-jsdoc": "off",
"valid-typeof": "error",

// Best practices
"accessor-pairs": "error",
"array-callback-return": "error",
"block-scoped-var": "off",
"class-methods-use-this": "off",
"class-methods-use-this": "error",
"complexity": "off", // TODO: enable
"consistent-return": "error",
"curly": ["error", "all"],
Expand All @@ -53,6 +61,7 @@
"dot-notation": "error",
"eqeqeq": ["error", "smart"],
"guard-for-in": "error",
"max-classes-per-file": "off",
"no-alert": "error",
"no-caller": "error",
"no-case-declarations": "error",
Expand All @@ -64,6 +73,7 @@
"no-eval": "error",
"no-extend-native": "error",
"no-extra-bind": "error",
"no-extra-label": "error",
"no-fallthrough": "off", // disabled due to bug in ESLint
"no-floating-decimal": "error",
"no-global-assign": "error",
Expand Down Expand Up @@ -107,6 +117,7 @@
"prefer-promise-reject-errors": "error",
"radix": "error",
"require-await": "error",
"require-unicode-regexp": "off",
"vars-on-top": "off", // TODO: enable
"wrap-iife": ["error", "inside"],
"yoda": "error",
Expand All @@ -116,7 +127,6 @@

// Variables
"init-declarations": "off",
"no-catch-shadow": "off",
"no-delete-var": "error",
"no-label-var": "error",
"no-restricted-globals": ["error", "app", "env"],
Expand Down Expand Up @@ -162,9 +172,11 @@
"func-name-matching": ["error", "always"],
"func-names": "off",
"func-style": "off",
"function-paren-newline": "off",
"id-blacklist": "off",
"id-length": "off",
"id-match": "off",
"implicit-arrow-linebreak": "off",
"indent": ["error", 4, {
"SwitchCase": 1
}],
Expand All @@ -180,13 +192,16 @@
"line-comment-position": "off",
"linebreak-style": "off",
"lines-around-comment": "off",
"lines-between-class-members": "off",
"max-depth": "off", // TODO: enable
"max-len": "off", // TODO: enable
"max-lines": "off",
"max-lines-per-function": "off",
"max-nested-callbacks": "off",
"max-params": "off", // TODO: enable
"max-statements": "off",
"max-statements-per-line": "off",
"multiline-comment-style": "off",
"multiline-ternary": "off",
"new-cap": "error",
"new-parens": "error",
Expand Down Expand Up @@ -235,9 +250,9 @@
"prev": ["const", "let", "var"],
"next": ["const", "let", "var"]
}],
"prefer-object-spread": "off",
"quote-props": "off",
"quotes": ["error", "single", "avoid-escape"],
"require-jsdoc": "off",
"semi": ["error", "always"],
"semi-spacing": "error",
"semi-style": ["error", "last"],
Expand All @@ -259,7 +274,7 @@

// ECMAScript 2015
"arrow-body-style": ["error", "as-needed"],
"arrow-parens": ["error", "always"],
"arrow-parens": "off",
"arrow-spacing": ["error", {
"before": true,
"after": true
Expand Down
45 changes: 42 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,48 @@
# Development-related files
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Tool-specific files and directories
.eslintcache
.node_repl_history
.npm
.nyc_output
.tern-port
.tool-versions
.vscode/
.yarn-integrity
bower_components/
coverage/
/node_modules/
tmp/

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Output of 'npm pack'
*.tgz

# dotenv environment variables file
.env
.env.test

# User-specific files
conf.json
Expand Down
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
language: node_js

node_js:
- "4"
- "6"
- "8"
- "10"
- "12"

install: npm install -g gulp; npm install
83 changes: 45 additions & 38 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,36 @@
This file describes notable changes in each version of JSDoc 3.


## 3.6.1 (May 2019)

Prevents a crash when using type applications in Node.js 12. ([#1643][1643])


## 3.6.0 (May 2019)

### Major changes

+ JSDoc is now compatible with Node.js 12.
+ JSDoc now recognizes all documented Closure Compiler tags. ([#605][605])

### Enhancements

+ You can now use the `templates.useShortNamesInLinks` configuration setting to show the short name
of each symbol in link text (for example, `baz`), rather than the full longname (for example,
`foo.bar.baz`). ([#738][738])
+ When you enable the Markdown plugin, you can now specify a function that performs syntax
highlighting in code blocks. ([#1412][1412])
+ The default template now places namespaces near the top of the TOC. ([#1410][1410])

### Bug fixes

+ When you add a JSDoc comment to an ES2015 constructor, JSDoc now preserves all of the JSDoc tags,
not only the description and parameters. ([#1129][1129])
+ The `@exports` tag now works correctly when it is combined with the `@enum` tag. ([#970][970])
+ When you enable the Markdown plugin, and you use a code fence with the language set to `plain`,
JSDoc no longer pretty-prints the code block in the generated documentation. ([#1361][1361])


## 3.5.5 (September 2017)

Fixes a compatibility issue with Node.js 8.5.0. (#1438)
Expand Down Expand Up @@ -73,26 +103,26 @@ language features:

+ You can now use a JavaScript file to configure JSDoc. The JavaScript file must be a CommonJS
module that exports a single configuration object. See the
[documentation](http://usejsdoc.org/about-configuring-jsdoc.html) for details and examples.
[documentation](https://jsdoc.app/about-configuring-jsdoc.html) for details and examples.
+ Fixed multiple issues with documenting ES2015 classes and modules. See "Bug fixes" for details.
+ JSDoc now requires Node.js 4.2.0 or later.

### New tags

**Note**: Third-party templates may not support these new tags.

+ You can now use the new [`@async` tag](http://usejsdoc.org/tags-async.html) to indicate that a
+ You can now use the new [`@async` tag](https://jsdoc.app/tags-async.html) to indicate that a
function is asynchronous (that is, that it was declared with the syntax `async function foo() {}`).
In general, you do not need to use this tag, because JSDoc autodetects asynchronous functions.
(#1188)
+ You can now use the new [`@generator` tag](http://usejsdoc.org/tags-generator.html) to indicate
+ You can now use the new [`@generator` tag](https://jsdoc.app/tags-generator.html) to indicate
that a function is a generator function. In general, you do not need to use this tag, because JSDoc
autodetects generator functions. (#1158)
+ You can now use the new [`@hideconstructor` tag](http://usejsdoc.org/tags-hideconstructor.html) to
+ You can now use the new [`@hideconstructor` tag](https://jsdoc.app/tags-hideconstructor.html) to
tell JSDoc to hide a class's constructor from the documentation. (#952)
+ You can now use the new [`@package` tag](http://usejsdoc.org/tags-package.html) to indicate that a
+ You can now use the new [`@package` tag](https://jsdoc.app/tags-package.html) to indicate that a
symbol is package-private. (#962)
+ You can now use the new [`@yields` tag](http://usejsdoc.org/tags-yields.html) to document the
+ You can now use the new [`@yields` tag](https://jsdoc.app/tags-yields.html) to document the
value that is yielded by a generator function. (#1388)

### Enhancements
Expand Down Expand Up @@ -177,38 +207,6 @@ use JSDoc as a linter to check for syntax errors and unrecognized tags in docume
(#1160)


## 3.4.3 (November 2016)

Updated JSDoc's `LICENSE.md` file.


## 3.4.2 (October 2016)

+ Classes exported from an ES2015 module are now documented correctly. (#1137)
+ Fixed an issue that prevented plugins and templates from being loaded correctly. (#1259)
+ Fixed a crash when using the experimental object spread operator in assignments. (#1258)


## 3.4.1 (September 2016)

### Enhancements
+ When installing JSDoc from NPM, all dependencies are now pulled from NPM. (#961)
+ The configuration setting `tags.allowUnknownTags` may now contain an array of tag names that should be allowed. (#1159)

### Bug fixes
+ When an ES2015 module's default export is a class, JSDoc now documents the class correctly. (#1113, #1120)
+ JSDoc no longer crashes when an ES2015 module exports an anonymous class. (#1113)
+ JSDoc no longer crashes when the experimental object spread operator is used. (#1141)
+ In ES2015 methods, JSDoc now autodetects whether a parameter is a default or repeatable parameter. (#1144)
+ The Markdown plugin now works correctly with inline tags that contain special characters, such as `{@link chat."#channel"}`. (#1035)
+ When JSDoc is run in a directory that has a `plugins/` or `templates/` directory, JSDoc can now discover plugins and templates in other directories. (#1081)

### Templates
+ The default template now uses appropriate styles for displaying tables. (#1064)
+ The default template's CSS file no longer uses the same style for both `<h2>` and `<h3>` elements. (#1108)
+ JSDoc now includes a `silent` template that generates no output. This template makes it easier to use JSDoc as a linter to check for syntax errors and unrecognized tags in documentation comments. (#1160)


## 3.4.0 (November 2015)

### Major changes
Expand Down Expand Up @@ -797,3 +795,12 @@ modules. (4ce17195)
## 3.0.0 (May 2012)

Initial release.

[605]: https://github.com/jsdoc/jsdoc/issues/605
[738]: https://github.com/jsdoc/jsdoc/issues/738
[970]: https://github.com/jsdoc/jsdoc/issues/970
[1129]: https://github.com/jsdoc/jsdoc/issues/1129
[1361]: https://github.com/jsdoc/jsdoc/issues/1361
[1410]: https://github.com/jsdoc/jsdoc/issues/1410
[1412]: https://github.com/jsdoc/jsdoc/issues/1412
[1643]: https://github.com/jsdoc/jsdoc/issues/1643
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ fastest way to get your pull request merged in.** Some things, particularly how
you set up your branches and work with git, are just suggestions, but pretty good
ones.

1. **Create a remote to track the base jsdoc3/jsdoc repository**
1. **Create a remote to track the base jsdoc/jsdoc repository**
This is just a convenience to make it easier to update your ```<tracking branch>```
(more on that shortly). You would execute something like:

git remote add base git://github.com/jsdoc3/jsdoc.git
git remote add base git://github.com/jsdoc/jsdoc.git

Here 'base' is the name of the remote. Feel free to use whatever you want.

Expand Down
Loading

0 comments on commit 92ba6c3

Please sign in to comment.