:book: documentation for modern JavaScript

Overview

The documentation system for modern JavaScript

Circle CI npm version Gitter David Inline docs

📅 Current maintenance status

  • Supports modern JavaScript: ES5, ES2017, JSX, Vue and Flow type annotations.
  • Infers parameters, types, membership, and more. Write less documentation: let the computer write it for you.
  • Integrates with GitHub to link directly from documentation to the code it refers to.
  • Customizable output: HTML, JSON, Markdown, and more

Examples

Documentation

User Guide

Globally install documentation using the npm package manager:

$ npm install -g documentation

This installs a command called documentation in your path, that you can point at JSDoc-annotated source code to generate human-readable documentation. First, run documentation with the --help option for help:

Usage:

# generate markdown docs for index.js and files it references
documentation build index.js -f md

# generate html docs for all files in src
documentation build src/** -f html -o docs

# document index.js, ignoring any files it requires or imports
documentation build index.js -f md --shallow

# build and serve HTML docs for app.js
documentation serve app.js

# build, serve, and live-update HTML docs for app.js
documentation serve --watch app.js

# validate JSDoc syntax in util.js
documentation lint util.js

# update the API section of README.md with docs from index.js
documentation readme index.js --section=API

# build docs for all values exported by index.js
documentation build --document-exported index.js

# build html docs for a TypeScript project
documentation build index.ts --parse-extension ts -f html -o docs

Commands:
  serve [input..]   generate, update, and display HTML documentation
  build [input..]   build documentation
  lint [input..]    check for common style and uniformity mistakes
  readme [input..]  inject documentation into your README.md

Options:
  --version  Show version number                                       [boolean]
  --help     Show help                                                 [boolean]

Contributing

We have plenty of issues that we'd love help with.

  • Robust and complete JSDoc support, including typedefs.
  • Strong support for HTML and Markdown output
  • Documentation coverage, statistics, and validation

documentation is an OPEN Open Source Project. This means that:

Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.

Comments
  • Support ES6 modules

    Support ES6 modules

    events.js:141
          throw er; // Unhandled 'error' event
                ^
    Error: Parsing file *: 'import' and 'export' may appear only with 'sourceType: module' (4:0)
    

    I see in the README that ES6 code is supported, but I do no see any documentation supporting this. How would one use the documentation package to build documentation for an ES6 project?

    bug 
    opened by benderTheCrime 28
  • Support custom babel config

    Support custom babel config

    Proposal:

    Allow users to support their own babel configuration via new cli option:

    documentation build --babel=./babel.config.js
    

    Aims to resolve: https://github.com/documentationjs/documentation/issues/1149, https://github.com/documentationjs/documentation/issues/140

    This will need some refinement of implementation, but if the overall concept is acceptable, that should be easy to resolve.

    opened by dougalg 25
  • Flow docs

    Flow docs

    Hi!

    This is the HTML generate by the following code: screen shot 2016-09-12 at 20 30 24

    // @flow
    type FlightParams = {
      airline: string;
    };
    
    type Flight = {
      display: string
    }
    
    const Fligths = {
      /**
       * Test
       */
      getFlights: (data: FlightParams): Promise<Flight[]> => {
        return client.get(GET_FLIGHTS_ENDPOINT, { query: data })
          .then((response): Array<Flight> => {
            return response.flights.map((flight): Flight => {
              return {
                display: flight.label
              }
            });
          })
      }
    }
    
    export default Fligths;
    

    Shouldn't it create docs for the params and return values? I am using documentation 4.0.0-beta9

    Thanks!

    opened by montogeek 21
  • Documentation used to work, now it's broken

    Documentation used to work, now it's broken

    I'm getting the error below when I try to build docs against the latest release of my project.

    Reasonably cryptic. Any guidance? I'm looking through the source for JSDoc syntax errors. But some clearer error messaging to handle whatever error case this is would be rad in a future release.

    Love the package. Thanks for the hard work.

    [email protected] docs /Users/nsipplsw/nodal-core-dev/nodal documentation build core/module.js -o docs -f html

    /usr/local/lib/node_modules/documentation/node_modules/globals-docs/index.js:48 var d = lowerCased[env[i]][name.toLowerCase()]; ^

    TypeError: Cannot read property 'toLowerCase' of undefined at module.exports.getDoc (/usr/local/lib/node_modules/documentation/node_modules/globals-docs/index.js:48:40) at getNamedLink (/usr/local/lib/node_modules/documentation/node_modules/documentation-theme-default/index.js:58:14) at autolink (/usr/local/lib/node_modules/documentation/node_modules/documentation-theme-default/index.js:71:13) at Object. (/usr/local/lib/node_modules/documentation/node_modules/documentation-theme-default/index.js:135:12) at Object.eval (eval at createFunctionContext (/usr/local/lib/node_modules/documentation/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js:221:23), :6:93)

    opened by nsipplswezey 14
  • Redesign

    Redesign

    The current look of documentation is just what I cobbled together: it could look so much better with the help of a good designer, or lots of hours of my time. Either way...

    • I want to rely less on indentation on the left side
    • Left side color is kinda gross. threejs has a better one
    • Color of links should be better
    • Better fonts
    • More fun syntax highlighting

    v2

    2015-07-05 at 9 55 pm ### v3 2015-07-19 at 9 14 pm enhancement 
    opened by tmcw 14
  • Vue packages version mismatch

    Vue packages version mismatch

    I'm trying to document a small project:

      ...
      "dependencies": {
        "dotenv": "^8.2.0"
      },
      "devDependencies": {
        "ava": "^3.13.0",
        "documentation": "^13.0.2"
      },
    

    Whenever I run npx document or pnpx document I get the error:

    Vue packages version mismatch:
    
    - [email protected] (<pnpm workspace>\node_modules\.pnpm\[email protected]\node_modules\vue\index.js)
    - [email protected] (<pnpm workspace>\node_modules\.pnpm\[email protected]\node_modules\vue-template-compiler\package.json)
    
    This may cause things to work incorrectly. Make sure to use the same version for both.
    If you are using vue-loader@>=10.0, simply update vue-template-compiler.
    If you are using vue-loader@<10.0 or vueify, re-installing vue-loader/vueify should bump vue-template-compiler to the latest.
    

    I'm using pnpm as package manager and have no Vue projects, but I do have one vite project.

    opened by jakobrosenberg 13
  • Unexpected token error when parsing import.meta.url

    Unexpected token error when parsing import.meta.url

    • What version of documentation.js are you using?: 12.2.0
    • How are you running documentation.js (on the CLI, Node.js API, Grunt, other?): CLI

    minimal input

    import { x } from "y";
    import.meta.url;
    
    documentation build sample.mjs
    
    Error: Parsing file sample.mjs: Unexpected token (5:6)
        at Deps.parseDeps (node_modules/module-deps-sortable/index.js:515:28)
        at fromSource (node_modules/module-deps-sortable/index.js:450:44)
        at node_modules/module-deps-sortable/index.js:444:17
        at ConcatStream.<anonymous> (node_modules/module-deps-sortable/node_modules/concat-stream/index.js:36:43)
        at ConcatStream.emit (events.js:327:22)
        at finishMaybe (node_modules/module-deps-sortable/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js:475:14)
        at endWritable (node_modules/module-deps-sortable/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js:485:3)
        at ConcatStream.Writable.end (node_modules/module-deps-sortable/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js:455:41)
        at DuplexWrapper.onend (node_modules/readable-stream/lib/_stream_readable.js:577:10)
        at Object.onceWrapper (events.js:421:28)
    
    
    opened by arlac77 13
  • Unexpected token from documentation readme?

    Unexpected token from documentation readme?

    installed with

    npm install -g documentation

    with Warn optional skipping failed optional dependency fsevents

    Ran:

    documentation build src/** -f html -o docs

    got

    /usr/local/lib/node_modules/documentation/lib/commands/readme.js:63
      const log = (...data) => {
                   ^^^
    
    SyntaxError: Unexpected token ...
        at exports.runInThisContext (vm.js:53:16)
        at Module._compile (module.js:374:25)
        at Object.Module._extensions..js (module.js:417:10)
        at Module.load (module.js:344:32)
        at Function.Module._load (module.js:301:12)
        at Module.require (module.js:354:17)
        at require (internal/module.js:12:17)
        at Object.<anonymous> (/usr/local/lib/node_modules/documentation/lib/commands/index.js:18:11)
        at Module._compile (module.js:410:26)
        at Object.Module._extensions..js (module.js:417:10)
    
    opened by SumNeuron 13
  • WIP upgrade to babel 7 scoped packages

    WIP upgrade to babel 7 scoped packages

    #1029, #996

    Keeping this MR open as WIP until problems are gone. And the problems are:

    • Babelify package is not official repo but ylemkimon/babelify, because it would otherwise expect babel 6 and not work in this setup. (suggested by @vihanb)
    • Some tests are failing. This MR has already a few adjustments to address breaking changes. I think Babelify produces a bit different AST which is a source of few snapshot reds. And some complaints about forEach on undefined are a total mystery for me at this point.
    opened by maciej-ka 13
  • Update babel7 to the latest version 🚀

    Update babel7 to the latest version 🚀

    There have been updates to the babel7 monorepo:

    These versions are not covered by your current version range.

    If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

    This monorepo update includes releases of one or more dependencies which all belong to the babel7 group definition.


    Find out more about this release.

    FAQ and help

    There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


    Your Greenkeeper bot :palm_tree:

    greenkeeper 
    opened by greenkeeper[bot] 11
  • Fix args regression: readme --shallow --format (Invalid second argument)

    Fix args regression: readme --shallow --format (Invalid second argument)

    There was a regression regarding arguments, introduced in [email protected] (227db1c9ee493b8fac033714e230ed1c3defe78b) when the yargs dependency was upgraded in package.json from ^6.0.1 to ^9.0.1.

    yargs@7 is more strict on correctness of how it's used, which is what caused the error YError: Invalid second argument. Expected object but received string.

    This PR fixes that, and updates yarn.lock based on package.json because that hadn't been done in a while.

    Now documentation readme --shallow --format=.... works again.


    Fixes #959. Similar to PR #953.

    opened by hugojosefson 11
  • Version 14 - Import no longer working

    Version 14 - Import no longer working

    **If you're reporting a bug, please include input code, output documentation, I upgraded from 13.2.5 to 14.0.1 but i cant figure out how to import the node api anymore. This is what i get:

    med 'default'
    file:///Users/tim.mcconechy/Dev/enterprise/scripts/rollup-plugins/deprecation-notice.js:4
    import documentation from 'documentation';
           ^^^^^^^^^^^^^
        at ModuleJob._instantiate (node:internal/modules/esm/module_job:123:21)
        at ModuleJob.run (node:internal/modules/esm/module_job:189:5)
        at async Promise.all (index 0)
        at ESMLoader.import (node:internal/modules/esm/loader:530:24)
        at importModuleDynamicallyWrapper (node:internal/vm/module:438:15)
        at getConfigFileExport (/Users/tim.mcconechy/Dev/enterprise/node_modules/rollup/dist/shared/loadConfigFile.js:432:17)
        at Object.loadConfigFile (/Users/tim.mcconechy/Dev/enterprise/node_modules/rollup/dist/shared/loadConfigFile.js:391:59)
        at getConfigs (/Users/tim.mcconechy/Dev/enterprise/node_modules/rollup/dist/bin/rollup:1680:39)
        at runRollup (/Users/tim.mcconechy/Dev/enterprise/node_modules/rollup/dist/bin/rollup:1657:43)
    

    So seems import documentation from 'documentation'; is no longer valid? How can i do this now?

    • What version of documentation.js are you using?: 14.0.1

    • How are you running documentation.js (on the CLI, Node.js API, Grunt, other?): Node

    opened by tmcconechy 0
  • build(deps): bump @vue/compiler-sfc from 3.2.37 to 3.2.45

    build(deps): bump @vue/compiler-sfc from 3.2.37 to 3.2.45

    Bumps @vue/compiler-sfc from 3.2.37 to 3.2.45.

    Release notes

    Sourced from @​vue/compiler-sfc's releases.

    v3.2.45

    Please refer to CHANGELOG.md for details.

    v3.2.44

    Please refer to CHANGELOG.md for details.

    v3.2.43

    Please refer to CHANGELOG.md for details.

    v3.2.42

    Please refer to CHANGELOG.md for details.

    v3.2.41

    Please refer to CHANGELOG.md for details.

    v3.2.40

    Please refer to CHANGELOG.md for details.

    v3.2.39

    Please refer to CHANGELOG.md for details.

    v3.2.38

    Please refer to CHANGELOG.md for details.

    Changelog

    Sourced from @​vue/compiler-sfc's changelog.

    3.2.45 (2022-11-11)

    Bug Fixes

    • compiler/v-model: catch incorrect v-model usage on prop bindings (001184e), closes #5584
    • custom-elements: also dispatch hyphenated version of emitted events (#5378) (0b39e46), closes #5373
    • custom-elements: custom element should re-instantiate when inserted again (#6966) (67890da), closes #6934
    • custom-elements: define declared properties in constructor (#5328) (55382ae)
    • custom-elements: ensure custom elements can inherit provides from ancestors (#5098) (192dcb6), closes #5096
    • custom-elements: fix event emitting for async custom elements (#5601) (665f2ae), closes #5599
    • custom-elements: fix number type props casting check (89f37ce), closes #5793 #5794
    • custom-elements: properties set pre-upgrade should not show up in $attrs (afe8899)
    • custom-elements: respect slot props in custom element mode (ffef822)
    • custom-elements: should not reflect non-decalred properties set before upgrade (5e50909)
    • hmr/keep-alive: fix error in reload component (#7049) (a54bff2), closes #7042
    • runtime-core: fix move/removal of static fragments containing text nodes (#6858) (4049ffc), closes #6852
    • sfc: also generate getter for import bindings during dev (0594400)
    • sfc: ensure <script setup> binding behavior consistency on this between prod and dev (f73925d), closes #6248
    • sfc: ensure consistent dev/prod behavior for non-reactive variables declared in <script setup> (5a3d45a), closes #5655
    • teleport/css-v-bind: fix css v-bind for teleported content (42239cf), closes #4605 #4609
    • teleport/css-v-bind: fix css v-bind in teleport in child component slot (11214ee)
    • v-model: fix incorrect codegen for non-ref bindings (15e889a), closes #6241

    3.2.44 (2022-11-09)

    Bug Fixes

    • watch: for immediate watch with single source, ensure cb is called with undefined as oldValue (#7075) (5dc593b), closes #7074

    3.2.43 (2022-11-09)

    Bug Fixes

    • watch: ensure oldValue in multi-source watcher is always an array (23e85e2), closes #7070

    3.2.42 (2022-11-09)

    Bug Fixes

    • compiler-core/v-on: only apply case preservation on native elements (#6902) (5bfe438), closes #6900

    ... (truncated)

    Commits
    • 6f663d4 release: v3.2.45
    • 0594400 fix(sfc): also generate getter for import bindings during dev
    • 5a3d45a fix(sfc): ensure consistent dev/prod behavior for non-reactive variables decl...
    • 15e889a fix(v-model): fix incorrect codegen for non-ref bindings
    • ec795bf release: v3.2.44
    • 71977ec release: v3.2.43
    • f023d49 release: v3.2.42
    • 57c9013 fix(compiler-sfc): only escape parsing-breaking characters in v-bind css var ...
    • 8a882ce fix(compiler-sfc): handle method shorthand syntax in withDefaults (#6972)
    • 910fa76 fix(compiler-sfc): resolve computed object key (#6963)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • build(deps-dev): bump prettier from 2.7.1 to 2.8.1

    build(deps-dev): bump prettier from 2.7.1 to 2.8.1

    Bumps prettier from 2.7.1 to 2.8.1.

    Release notes

    Sourced from prettier's releases.

    2.8.1

    🔗 Changelog

    2.8.0

    diff

    🔗 Release note

    Changelog

    Sourced from prettier's changelog.

    2.8.1

    diff

    Fix SCSS map in arguments (#9184 by @​agamkrbit)

    // Input
    $display-breakpoints: map-deep-merge(
      (
        "print-only": "only print",
        "screen-only": "only screen",
        "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})",
      ),
      $display-breakpoints
    );
    

    // Prettier 2.8.0 $display-breakpoints: map-deep-merge( ( "print-only": "only print", "screen-only": "only screen", "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, " sm ")-1})", ), $display-breakpoints );

    // Prettier 2.8.1 $display-breakpoints: map-deep-merge( ( "print-only": "only print", "screen-only": "only screen", "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})", ), $display-breakpoints );

    Support auto accessors syntax (#13919 by @​sosukesuzuki)

    Support for Auto Accessors Syntax landed in TypeScript 4.9.

    (Doesn't work well with babel-ts parser)

    class Foo {
      accessor foo: number = 3;
    </tr></table> 
    

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • build(deps-dev): bump husky from 8.0.1 to 8.0.2

    build(deps-dev): bump husky from 8.0.1 to 8.0.2

    Bumps husky from 8.0.1 to 8.0.2.

    Release notes

    Sourced from husky's releases.

    v8.0.2

    • docs: remove deprecated npm set-script
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • build(deps): bump vfile from 5.3.4 to 5.3.6

    build(deps): bump vfile from 5.3.4 to 5.3.6

    Bumps vfile from 5.3.4 to 5.3.6.

    Release notes

    Sourced from vfile's releases.

    5.3.6

    • db8c841 Add support for passing VFileMessage to message in types

    Full Changelog: https://github.com/vfile/vfile/compare/5.3.5...5.3.6

    5.3.5

    Full Changelog: https://github.com/vfile/vfile/compare/5.3.4...5.3.5

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • build(deps): bump pify from 6.0.0 to 6.1.0

    build(deps): bump pify from 6.0.0 to 6.1.0

    Bumps pify from 6.0.0 to 6.1.0.

    Release notes

    Sourced from pify's releases.

    v6.1.0

    • Add TypeScript definitions (#86) e13efc7

    https://github.com/sindresorhus/pify/compare/v6.0.0...v6.1.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
Releases(v14.0.0)
  • v14.0.0(Aug 19, 2022)

  • v13.2.5(Apr 25, 2021)

  • v13.2.4(Apr 21, 2021)

  • v13.2.3(Apr 21, 2021)

  • v6.2.0(Apr 11, 2018)

  • v6.1.0(Mar 8, 2018)

  • v6.0.0(Mar 2, 2018)

    And in doing so, updates the mime dependency and updates the version of node we target in Babel configuration, so... is probably slightly faster, in tiny ways.

    Source code(tar.gz)
    Source code(zip)
  • v5.5.0(Mar 2, 2018)

  • v4.0.0-beta.18(Dec 29, 2016)

    Bug Fixes

    • cli: Fix error reporting in the CLI (88c8f9a)
    • markdown: Start headings in Markdown at h2 (#644) (2ae5d8f)

    Features

    • bin: Support globs on windows and use smarter recursion (#629) (cb8fdfa), closes #607
    • markdown: Add table of contents support for Markdown mode (#645) (4c66fb1)

    Performance Improvements

    • dependencies: Move standard-changelog to devDependencies (#636) (7a66b3f)
    Source code(tar.gz)
    Source code(zip)
  • v4.0.0-beta15(Nov 23, 2016)

  • v4.0.0-beta14(Nov 21, 2016)

    • Highlight all Markdown, not just examples. Fixes #610
    • Fix for --config only strip comments on json files (#611)
    • Merge inferred return type like we do for params. Refs #359 (#604)
    • Support webpack's System.import with nice handy babel plugin (#603)
    • Format optional types with ? instead of [] (#538)
    • Fix membership assignment for old-fashioned prototype members (#599)
    • Update Node API documentation to include only exposed API surface (#585)
    • Add too-much-inference troubleshooting topic
    Source code(tar.gz)
    Source code(zip)
  • v4.0.0-beta5(Jun 1, 2016)

  • v4.0.0-beta4(Jun 1, 2016)

  • v4.0.0-beta3(May 26, 2016)

    • Updates theme to a much-improved design
    • Fix augments tag display in HTML
    • Improve name detection of ES6-exported methods and variables
    • Allow documentation of Object.prototype methods
    Source code(tar.gz)
    Source code(zip)
  • v4.0.0-beta2(Mar 25, 2016)

    • Fixes export { foo } from './bar' style export
    • Fixed CLI usage examples to simply say documentation instead of /usr/bin/documentation or similar.
    Source code(tar.gz)
    Source code(zip)
  • v4.0.0-beta1(Mar 25, 2016)

    Now using Babel 6!

    Much long-awaited upgrade makes documentation.js compatible with fresh new Babel-using codebases.

    And also:

    • GitHub Enterprise support
    • New tag support: abstract, override, readonly, interface, variation, see, todo (only in parsing phase, not yet in all outputs)
    • Parses jsx and es6 extensions by default, as well as .js
    • Fixes polyglot mode
    • Now shows the @throws tag content in Markdown output
    • Support for example captions
    Source code(tar.gz)
    Source code(zip)
  • v4.0.0-beta(Jan 24, 2016)

    Revitalized documentation.js command line interface!

    The documentation utility now takes commands:

    • documentation build extracts and formats documentation
    • documentation serve provides an auto-reloading server (#236)
    • documentation lint reviews files for inconsistencies
    • documentation readme patches API documentation into a readme (#313 by @anandthakker)

    This functionality was previously included in dev-documentation and has been folded into documentation proper.

    Much more flexible themes

    Themes are now much more customizable. In documentation.js 3.x and before, themes were required to use Handlebars templates and produce a single page. In documentation.js 4.x and beyond, they are JavaScript modules that can use any template engine and produce any number of files. See the new theme documentation for details.

    More precise traversal

    Inference in 4.x is stricter than in 3.x: comments must be adjacent to the statements they document. This should make documentation generation much more predictable.

    Support for the revealing module pattern

    /** Foo */
    function Foo() {
      /** Test */
      function bar() {}
      return {
        bar: bar
      };
    }
    

    New support for the JavaScript module pattern! This was implemented in #324 by Charlie Brown.

    Breaking changes

    Source code(tar.gz)
    Source code(zip)
  • v3.0.4(Dec 7, 2015)

  • v3.0.0(Nov 28, 2015)

    The largest change to documentation.js so far.

    Dropping streams

    This a major refactor of the documentation.js interface with a focus on simplifying the system. Up until this point, documentation.js was built around node.js streams, which are low-level representations of asynchronous series of data. While this abstraction was appropriate for the input and github streams, which are asynchronous, the majority of documentation.js's internals are simple and synchronous functions for which basic functional composition makes more sense than stream semantics.

    Documentation 3.0.0 uses simple functional composition for operations like parmameter inference, rather than streams.

    Stronger support for ES6, ES7, and Flow

    We've switched to Babel as our source code parser, which means that we have much broader support of new JavaScript features, including import/export syntax and new features in ES6.

    Babel also parses Flow type annotations, and new inference code means that we can infer

    • Parameter names & types
    • Return types

    Without any explicit JSDoc tags. This means that for many simple functions, we can generate great documentation with less writing.

    Stronger module support

    Documentation.js now has much better inference for membership and names of symbols exported via exports or module.exports.

    Support for nested symbols

    The parent/child relationship between symbols is now fully hierarchical, and symbols can be nested to any depth. For instance:

    /**
     * A global Parent class.
     */
    var Parent = function () {};
    
    /**
     * A Child class.
     */
    Parent.Child = function () {};
    
    /**
     * A Grandchild class.
     */
    Parent.Child.Grandchild = function () {};
    

    In addition, filtering by access is now applied to the entire hierarchy: if you mark a class as @private, neither it nor its children will be included in the output by default, regardless of the access specifiers of the children.

    mdast-based Markdown output

    We've switched from templating Markdown output with Handlebars.js to generating an abstract syntax tree of desired output and stringifying it with mdast. This lets documentation.js output complex Markdown without having to worry about escaping and properly formatting certain elements.

    Test coverage 100%

    documentation.js returns to 100% test coverage, so every single line of code is covered by our large library of text fixtures and specific tests.

    --lint mode

    Specifying the --lint flag makes documentation.js check for non-standard types, like String, or missing namespaces. If the encountered files have any problems, it pretty-prints helpful debug messages and exits with status 1, and otherwise exits with no output and status 0.

    Breaking changes

    • The --version flag is now --project-version. --version now outputs documentation.js's version
    Source code(tar.gz)
    Source code(zip)
Owner
a documentation system so good, you'll actually write documentation
null
ESDoc - Good Documentation for JavaScript

ESDoc ESDoc is a documentation generator for JavaScript. Please try it out! Features Generates good documentation. Measures documentation coverage. In

ESDoc 2.7k Dec 29, 2022
YUI Javascript Documentation Tool

YUIDoc YUI's JavaScript Documentation engine. Overview YUIDoc is a Node.js application used at build time to generate API documentation for JavaScript

YUI Library 889 Dec 25, 2022
Main repository for the Sphinx documentation builder

Sphinx Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of mul

null 5.1k Jan 2, 2023
Pointers to useful, well-written, and otherwise beautiful documentation.

DO YOU WANT TO BUILD AND WRITE GLORIOUS TECHNICAL DOCUMENTATION FULL TIME? EMAIL [email protected]. WE NEED YOU. Beautiful Docs I love documentation. If

Mark Phillips 7.9k Jan 4, 2023
dexy 2.2 1.9 L4 Python is a free-form literate documentation tool for writing any kind of technical document incorporating code.

Dexy Dexy is open source automation software with features especially designed for documentation and reporting. More information at http://dexy.it Doc

null 304 Sep 30, 2022
A collaborative newsroom documentation site, powered by Google Docs.

A collaborative newsroom documentation site, powered by Google Docs.

The New York Times 1k Dec 26, 2022
Adaptation of the popular mkdocs-material material design theme to the sphinx documentation system

Sphinx-Immaterial Theme This theme is an adaptation of the popular mkdocs-material theme for the Sphinx documentation tool. This theme is regularly ma

Jeremy Maitin-Shepard 89 Jan 4, 2023
Simple JavaScript Duckumentation generator.

Warning: JSDuck is no more maintained! If you're looking to adopt a documentation tool, try something else. If you're using JSDuck, consider moving ov

Sencha Labs 1.5k Nov 28, 2022
null 147 Dec 8, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
AweSome Book App displays the book details entered by user and saves the information in Local storage. User can add and remove a book title/author to the library and from the library.

Awesome Book App with ES6 Used npm init -y command to create package.json file. Created the entry point for the JavaScript code called index.js Create

Krishna Prasad Acharya 8 Aug 15, 2022
This is a single page web application that keeps tracks of books. Book details captured are the book title, author and ISBN. User can add a book, view a list of books and also remove any un wanted books.

Project Name This is a single page web application that keeps tracks of books. Book details captured are the book title, author and ISBN. User can add

Olivier 6 Nov 20, 2022
:book: documentation for modern JavaScript

The documentation system for modern JavaScript ?? Current maintenance status Supports modern JavaScript: ES5, ES2017, JSX, Vue and Flow type annotatio

null 5.6k Jan 4, 2023
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A documentation bot built using slash-create for its documentation, functionality derived from Eris Docs bot.

docs-bot A service that handles navigation of a docgen project manifest. Commands All arguments are required. $ npx slash-up list /docs - Search docu

/create 4 Dec 15, 2022
Awesome-book is an online library website where a user can store a collection of books. Different book can be added and removed. Built with JavaScript using Dom

Awesome-book Description Awesome-book is an online library website where a user can store a collection of books. Differents book can be added and remo

tarike bouari 8 Sep 9, 2022
A single-page application that allows users to keep track of their books. Users can add the book details (book title and author) and also, and the books can also be removed. Built with JavaScript, HTML, and CSS

Project Name Awesome book with ES6 Description the project. This is a single page application that allows users to keep track of their books. Users ca

Micheal Oguntayo 4 Oct 13, 2022
:books: The definitive guide to TypeScript and possibly the best TypeScript book :book:. Free and Open Source 🌹

TypeScript Deep Dive I've been looking at the issues that turn up commonly when people start using TypeScript. This is based on the lessons from Stack

Basarat Ali Syed 18.7k Jan 4, 2023