Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maximum call stack size exceeded #89

Closed
jasonk opened this issue Dec 31, 2019 · 8 comments
Closed

Maximum call stack size exceeded #89

jasonk opened this issue Dec 31, 2019 · 8 comments
Labels

Comments

@jasonk
Copy link

jasonk commented Dec 31, 2019

I had a whole bunch of source files that caused jsdoc2md to throw RangeError: Maximum call stack size exceeded. when I attempted to render them. I managed to reduce the issue down to this minimal reproduction (with v 5.0.3):

Foo.js:

/** */
export class Foo {
  constructor() { }
}

template.hbs:

{{#class name="Foo"}}{{>docs}}{{/class}}

Result:

$ jsdoc2md --files ./Foo.js --template ./template.hbs
RangeError: Maximum call stack size exceeded

It doesn't appear to matter whether or not there is content in the jsdoc block, it seems like the only things required to trigger it are a doc block before the class and the class must have a constructor.

More info, if it's helpful...
$ jsdoc2md --version
5.0.3

$ jsdoc2md --files ./Foo.js --template ./template.hbs --config
{
  "files": [
    "./Foo.js"
  ],
  "template": "./template.hbs"
}

$ jsdoc2md --files ./Foo.js --template ./template.hbs --json
[
  {
    "id": "Foo",
    "longname": "Foo",
    "name": "Foo",
    "kind": "class",
    "scope": "instance",
    "memberof": "Foo",
    "meta": {
      "lineno": 1,
      "filename": "Foo.js",
      "path": "/Users/jasonk/jsdoc2md-repro"
    },
    "order": 0
  }
]

$ jsdoc2md --files ./Foo.js --template ./template.hbs --jsdoc
[
  {
    "comment": "/** */",
    "meta": {
      "range": [
        7,
        44
      ],
      "filename": "Foo.js",
      "lineno": 1,
      "columnno": 7,
      "path": "/Users/jasonk/jsdoc2md-repro",
      "code": {
        "id": "astnode100000002",
        "name": "exports.Foo",
        "type": "ClassDeclaration"
      }
    },
    "name": "Foo",
    "longname": "Foo",
    "kind": "class",
    "scope": "global",
    "undocumented": true
  },
  {
    "comment": "",
    "meta": {
      "range": [
        14,
        44
      ],
      "filename": "Foo.js",
      "lineno": 1,
      "columnno": 14,
      "path": "/Users/jasonk/jsdoc2md-repro",
      "code": {
        "id": "astnode100000003",
        "name": "Foo",
        "type": "ClassDeclaration",
        "paramnames": []
      }
    },
    "undocumented": true,
    "name": "Foo",
    "longname": "Foo",
    "kind": "class",
    "scope": "global"
  },
  {
    "comment": "",
    "meta": {
      "range": [
        26,
        42
      ],
      "filename": "Foo.js",
      "lineno": 1,
      "columnno": 26,
      "path": "/Users/jasonk/jsdoc2md-repro",
      "code": {
        "id": "astnode100000006",
        "name": "exports.Foo",
        "type": "MethodDefinition",
        "paramnames": []
      },
      "vars": {
        "": null
      }
    },
    "undocumented": true,
    "name": "Foo",
    "longname": "Foo#Foo",
    "kind": "class",
    "memberof": "Foo",
    "scope": "instance",
    "params": []
  },
  {
    "comment": "",
    "meta": {
      "range": [
        26,
        42
      ],
      "filename": "Foo.js",
      "lineno": 1,
      "columnno": 26,
      "path": "/Users/jasonk/jsdoc2md-repro",
      "code": {
        "id": "astnode100000006",
        "name": "exports.Foo",
        "type": "MethodDefinition",
        "paramnames": []
      }
    },
    "name": "Foo",
    "longname": "Foo",
    "kind": "class",
    "memberof": "Foo",
    "scope": "instance"
  },
  {
    "kind": "package",
    "longname": "package:undefined",
    "files": [
      "/Users/jasonk/jsdoc2md-repro/Foo.js"
    ]
  }
]
@jasonk
Copy link
Author

jasonk commented Dec 31, 2019

After some more debugging I managed to get a stack trace. Looks like it might actually be a dmd issue:

RangeError: Maximum call stack size exceeded
    at Function.keys (<anonymous>)
    at testValue (/Users/jasonk/jsdoc2md-repro/node_modules/test-value/index.js:23:19)
    at /Users/jasonk/jsdoc2md-repro/node_modules/test-value/index.js:81:12
    at Array.filter (<anonymous>)
    at _identifiers (/Users/jasonk/jsdoc2md-repro/node_modules/dmd/helpers/ddata.js:460:38)
    at Object._children (/Users/jasonk/jsdoc2md-repro/node_modules/dmd/helpers/ddata.js:478:16)
    at /Users/jasonk/jsdoc2md-repro/node_modules/dmd/helpers/ddata.js:506:27
    at Array.forEach (<anonymous>)
    at iterate (/Users/jasonk/jsdoc2md-repro/node_modules/dmd/helpers/ddata.js:504:20)
    at /Users/jasonk/jsdoc2md-repro/node_modules/dmd/helpers/ddata.js:506:9

@jasonk
Copy link
Author

jasonk commented Dec 31, 2019

I've tracked this down as far as the descendants function in dmd/helpers/ddata.js. Maybe it's because it's late and I'll figure it out tomorrow after sleeping on it, but at the moment I'm not really following what this function is trying to do. The function itself looks like this:

function descendants (options) {
  var min = typeof options.hash.min !== 'undefined' ? options.hash.min : 2
  delete options.hash.min
  options.hash.memberof = this.id
  var output = []
  function iterate (childrenList) {
    if (childrenList.length) {
      childrenList.forEach(function (child) {
        output.push(child)
        iterate(_children.call(child, options))
      })
    }
  }
  iterate(_children.call(this, options))
  if (output.length >= (min || 0)) return output
}

The problem is that the call to _children.call that is inside the iterate function is returning exactly the same thing that the one outside the iterate function is returning, so once it enters this function that iterate gets called recursively on the same object a few thousand times until it blows the stack..

@75lb
Copy link
Member

75lb commented Dec 31, 2019

I'm not yet sure what is causing the stack issue (i haven't traced it) but as is stressed in the wiki, an ESM module must include a @module declaration at the top.

This should work.

/**
 * @module something
 */

/**
 * A description.
 */
export class Foo {
  constructor() {}
}

@kodmunki
Copy link

kodmunki commented Mar 26, 2020

@jasonk did @75lb suggestion work for you? I have gone through my library (that incidentally has been building jsdoc2md successfully many months) and added the suggested @module but it is still not building for me. (Throws Max Stack exception)

@brianjacobs-natgeo
Copy link

i get the "maximum call stack size exceeded" error when i do this

/**
 * @module something
 */

/**
 * A description.
*  @alias module:something
 * @typicalname othersomething
 */
export class Foo {
  constructor() {}
}

if change the export syntax, no more error

class Foo {
  constructor() {}
}

export {Foo}

using [email protected]

@Squareys
Copy link

Squareys commented Jun 8, 2021

I hastily refactored the function yesterday, avoiding the recursion, which fixes the issue here:

/**
return a flat list containing all decendants
@param [sortBy] {string} - "kind"
@param [min] {number} - only returns if there are `min` children
@this {identifier}
@returns {identifier[]}
@static
*/
function descendants (options) {
    var min = typeof options.hash.min !== 'undefined' ? options.hash.min : 2
    delete options.hash.min
    options.hash.memberof = this.id
    var output = []
    var newList = [this];
    while(newList.length) {
        const oldList = newList;
        newList = [];
        for(let el of oldList) {
            for(let c of _children.call(el, options)) {
                if(c.id === this.id) continue;
                output.push(c);
                newList.push(c)
            }
        }
    }
    if (output.length >= (min || 0)) return output
}

Only to hit the same issue at another point in code, though -- probably sig() in ddata.js

In case it helps: when removing export, the issue is avoided.

@75lb 75lb added the bug label Aug 27, 2024
@75lb 75lb transferred this issue from jsdoc2md/jsdoc-to-markdown Aug 27, 2024
@75lb
Copy link
Member

75lb commented Aug 27, 2024

Reproduced - thanks for the reproduction case @jasonk.. It's due to this doclet's id being equal to its memberof value in the jsdoc2md --json output (which comes from jsdoc via jsdoc-parse)..

  {
    "id": "Foo",
    ...
    "memberof": "Foo",
    ...
  }

It's at least 10 years since I wrote this app but from memory, the raw jsdoc output is flat, just an array of doclet metadata objects which have no structure.. this was not useful for feeding into a template engine like Handlebars where the output documentation was required to have structure (e.g. module -> exported class -> public/private properties/methods etc).. So the jsdoc-parse module was created to transform jsdoc output into something with structure, where the tree structure is represented using generated, unique doclet id values and memberof properties pointing to the unique doclet id they are a member of..

So, in this case the code encounters doclet id: Foo then sets about searching for its children (doclets that are memberof: Foo).. A child is found (id: Foo), so the code checks whether this child has children (doclets with memberof: Foo) - it does.. itself..

You get the idea - recursive.. Anyway, I'll implement a fix then post again later.

75lb added a commit that referenced this issue Aug 27, 2024
…ted. #89

Fixes a 'maximum call stack size exceeded' error.
75lb added a commit that referenced this issue Aug 27, 2024
…ted. #89

Fixes a 'maximum call stack size exceeded' error.
@75lb
Copy link
Member

75lb commented Aug 29, 2024

A fix for this is implmemented and will be in the next version.. will post again once that goes live.. In the meantime, you can test the prerelease:

npm install jsdoc-to-markdown@next

@75lb 75lb closed this as completed Aug 29, 2024
solaris007 referenced this issue in adobe/spacecat-shared Sep 4, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[googleapis](https://redirect.github.com/googleapis/google-api-nodejs-client)
| [`142.0.0` ->
`144.0.0`](https://renovatebot.com/diffs/npm/googleapis/142.0.0/144.0.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/googleapis/144.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/googleapis/144.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/googleapis/142.0.0/144.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/googleapis/142.0.0/144.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[jsdoc-to-markdown](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown)
| [`8.0.3` ->
`9.0.0`](https://renovatebot.com/diffs/npm/jsdoc-to-markdown/8.0.3/9.0.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/jsdoc-to-markdown/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jsdoc-to-markdown/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jsdoc-to-markdown/8.0.3/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jsdoc-to-markdown/8.0.3/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>googleapis/google-api-nodejs-client (googleapis)</summary>

###
[`v144.0.0`](https://redirect.github.com/googleapis/google-api-nodejs-client/blob/HEAD/CHANGELOG.md#14400-2024-08-30)

[Compare
Source](https://redirect.github.com/googleapis/google-api-nodejs-client/compare/googleapis-v143.0.0...googleapis-v144.0.0)

##### ⚠ BREAKING CHANGES

-   **migrationcenter:** This release has breaking changes.
-   **discoveryengine:** This release has breaking changes.
-   **content:** This release has breaking changes.
-   **compute:** This release has breaking changes.
-   **aiplatform:** This release has breaking changes.

##### Features

- **aiplatform:** update the API
([5608606](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/560860666d0ddffa1424ce9c404109ce9f3ac6f7))
- **alloydb:** update the API
([ada8fc6](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/ada8fc685e70ac650421bc6eccf9d5e12e47720f))
- **artifactregistry:** update the API
([698b77f](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/698b77f53f1683f3c5c6a67c874bc66a7b1c18f6))
- **compute:** update the API
([42c636d](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/42c636d95a50083214fa77604de496f03b96d784))
- **content:** update the API
([65db039](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/65db03915d0b74ee864ec54cb23a3eb549df6ebf))
- **dataproc:** update the API
([0ce260e](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/0ce260e745c14e69a876a8ae68638229340465ad))
- **discoveryengine:** update the API
([d7d6c3f](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/d7d6c3f1726c4647f42fe1cc02e189bb1ddbc7ab))
- **healthcare:** update the API
([4767f7a](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/4767f7ac66946a69e766b3560d36142f52681be9))
- **migrationcenter:** update the API
([d42c0fd](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/d42c0fd2364d050bf206f650ffd7a7bc865b7aec))
- regenerate index files
([2f2ab88](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/2f2ab8899c2296147016111461b9ee8a80d8c5ec))
- **securitycenter:** update the API
([b82bcee](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/b82bceec5286bf7e018e33c6674ed17b7f644698))
- **servicenetworking:** update the API
([770e82d](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/770e82d4274e4121b68730ee809c841a7cf103d5))

##### Bug Fixes

- **analyticsadmin:** update the API
([9b434bb](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/9b434bb40d59f70cdf0873986109d68fd5f0c4ee))
- **analyticsdata:** update the API
([725603f](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/725603f462bdee7a46e53c3fca6a83590d326a7c))
- **assuredworkloads:** update the API
([d19c969](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/d19c9692a940fac059512bf2059e9f0e954f49f7))
- **cloudasset:** update the API
([09063b6](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/09063b6fa3f09756153326cef180c5750409d655))
- **cloudfunctions:** update the API
([158373f](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/158373f1d84156c77b347f5925fa1bcde28acc8a))
- **places:** update the API
([f9b8acb](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/f9b8acbc01ca8d32a86827fb7813f7b0a10c06a6))
- **retail:** update the API
([f2c43de](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/f2c43de9cf0fb7f398ae00147c7578bde1bdca5a))
- **sheets:** update the API
([2c4f5c4](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/2c4f5c4289630060b4ab221715790867492d222c))
- **workspaceevents:** update the API
([dbdb567](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/dbdb5670b40f930facb092aa26e0540bf41e9d77))

###
[`v143.0.0`](https://redirect.github.com/googleapis/google-api-nodejs-client/blob/HEAD/CHANGELOG.md#14300-2024-08-27)

[Compare
Source](https://redirect.github.com/googleapis/google-api-nodejs-client/compare/googleapis-v142.0.0...googleapis-v143.0.0)

##### ⚠ BREAKING CHANGES

-   **vmmigration:** This release has breaking changes.
-   **dialogflow:** This release has breaking changes.
-   **dfareporting:** This release has breaking changes.
-   **compute:** This release has breaking changes.
-   **backupdr:** This release has breaking changes.
-   **alloydb:** This release has breaking changes.

##### Features

- **accessapproval:** update the API
([cf90cc5](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/cf90cc55062dc3ba4708ccbcaff90f4ebbc1853b))
- **alloydb:** update the API
([a65f1c6](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/a65f1c6b3afc77831875f13ff365f81446ce20b1))
- **androidmanagement:** update the API
([5366254](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/5366254d09e981b9e0dd97a7d66bec74dc362099))
- **androidpublisher:** update the API
([39227ab](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/39227abcc4e15f60b66eba06e8f12e4f988ad008))
- **assuredworkloads:** update the API
([4a6bb6a](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/4a6bb6afb5f48331b77b393f83afcc89aeeb3a43))
- **backupdr:** update the API
([42f5614](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/42f561492446c7acd519b2fae69d8d26826fa86b))
- **batch:** update the API
([3d92a17](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/3d92a17f62147ec8b2835235b662f1cad0b22e9c))
- **chat:** update the API
([24087bb](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/24087bba4d4c8841e04f97fd87d075bfcbfd91c7))
- **cloudasset:** update the API
([2f72369](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/2f7236928e32e49a3144b2fd4937931ac770f9ff))
- **cloudkms:** update the API
([d790478](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/d79047865541d80777c203276cf7cd2c1263da3b))
- **compute:** update the API
([07afb29](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/07afb29aacc1065a71c07c2f3fac9add8aa2b824))
- **connectors:** update the API
([e313580](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/e313580d2d6bdcb4a90a00376b12b6dba101300b))
- **containeranalysis:** update the API
([f67b2f1](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/f67b2f199f41f639f824f6872a5dc1f36b0e9bc4))
- **container:** update the API
([c798230](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/c798230310d4fbada896c2a5c8dc5a322aaefd8e))
- **customsearch:** update the API
([b0db98e](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/b0db98e665385c8ac8a52a070ff20a9943c104ed))
- **dataflow:** update the API
([1f67690](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/1f6769038476c3668f525cac94b4fb8ef8c7fbb6))
- **dataplex:** update the API
([ed2ce18](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/ed2ce18e28fd05eff735da24b0af68437ccae0a8))
- **dfareporting:** update the API
([f690620](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/f690620a4dc6c0f4b2390cf7bd4e7520fefc1606))
- **dialogflow:** update the API
([7e85135](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/7e8513507641937ced2254fd140f98488226de17))
- **discoveryengine:** update the API
([a71fc00](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/a71fc0044dc152600f98fab793bd4da9f38afae2))
- **displayvideo:** update the API
([64a72df](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/64a72df736168da551b9e1ada86b3a2595291ffd))
- **firebasedynamiclinks:** update the API
([8f190a1](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/8f190a1b12e4d2d1ff7ef4357f023bf442c1653f))
- **firebaseml:** update the API
([b6ef740](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/b6ef740ae5920f2d8fcb1260c144063c6c5bd250))
- **gkeonprem:** update the API
([c344788](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/c3447883c154ee15b5412989824f7a7c677f856c))
- **healthcare:** update the API
([f267f00](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/f267f00de372bb5ea2a2a8e53a80f71fa4939c4a))
- **looker:** update the API
([96cf760](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/96cf76098cf60a929957856d8e4acc4e8735e697))
- **merchantapi:** update the API
([f9aa1e5](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/f9aa1e52ab76989b668106f466e634994a78386f))
- **migrationcenter:** update the API
([1c2cc5f](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/1c2cc5f4e24ec807ec18b0e5341bf4528418e903))
- **networkmanagement:** update the API
([3c4d5be](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/3c4d5bedeebefae2c2a4c553c15fd8e97314d8f1))
- **networkservices:** update the API
([08c6b8f](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/08c6b8f4d2f9228cc03c9ea33b7b8b27d6b5f83e))
- **notebooks:** update the API
([80ae519](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/80ae51937f70b562e729cf7002fc383e7dd40a16))
- **privateca:** update the API
([1601667](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/1601667b9453f0794ff0b836a1da203c388ad455))
- **recaptchaenterprise:** update the API
([f26a373](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/f26a3735f9f180854b1ddf90e38cd52718b541b9))
- **redis:** update the API
([98cd830](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/98cd830d6378293f1f09d356c512fabbbe873230))
- regenerate index files
([ecd017c](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/ecd017c8f0dbfbbcf9c99884462fce5e36965466))
- **run:** update the API
([008997a](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/008997a09ab9b04010e1a6990e2027bca81ab5c7))
- **searchads360:** update the API
([44d0e72](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/44d0e72d60589a4640760f4025c479af340d57a2))
- **servicenetworking:** update the API
([e673e80](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/e673e80007c4ce25a1e7ebb808b5f677e7f32d59))
- **solar:** update the API
([36d8685](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/36d868518c22daaf01b43b26d4ec4dc6e5666e90))
- **sqladmin:** update the API
([fe2dacf](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/fe2dacfc9d9e22b886933adfa1bcd7eb532185f7))
- **storage:** update the API
([cae4993](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/cae49936785d6e4532bf5e78c4a4aec48ba1139c))
- **translate:** update the API
([841a829](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/841a82938451a65ba84422285229061afbd7a5aa))
- **vmmigration:** update the API
([614baa2](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/614baa252fdccd0fb3d7b444570733ae34374af4))
- **workflowexecutions:** update the API
([7e5f42a](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/7e5f42a7c7b74d580dabe8dcc94ebfe95fdb9ac5))
- **workflows:** update the API
([467b748](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/467b748af9574c1e16d23fb3fc4ad5f1df999e48))
- **workstations:** update the API
([4b60597](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/4b6059747dd903095babcd69a7f56f7d3d076ec2))
- **youtube:** update the API
([3d838e7](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/3d838e7dc4a5fa26933a0042355cad3f63d8b9a6))

##### Bug Fixes

- **analyticsadmin:** update the API
([90c32f5](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/90c32f578b1ca14cc97b972430dc3c46b90225d8))
- **androidenterprise:** update the API
([bc97b0e](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/bc97b0e91f823a24ed71802070f508d3063d03c8))
- **artifactregistry:** update the API
([3702a0d](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/3702a0d062838d9c11e5b54bbac1c3703e94fc9f))
- **bigquery:** update the API
([2aca035](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/2aca0358c5cd5f5d83b9aaf276ebe84dd5a93a44))
- **chromemanagement:** update the API
([71a65a8](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/71a65a88bb182e71a54c2c1134b35a73e979c3f8))
- **cloudcontrolspartner:** update the API
([5ed5388](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/5ed53884e9a1ea1cc400977996a3a3e51c35ab97))
- **cloudtasks:** update the API
([ab3a2bc](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/ab3a2bc0892c51516b473e7c20f7cd8978e9b883))
- **cloudtrace:** update the API
([e6d9ca4](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/e6d9ca416645e58b93b41b462f96875d8316687c))
- **datastream:** update the API
([73a27e5](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/73a27e556dd1cf98a57d879cb1416fcc9c5bd3d7))
- **dlp:** update the API
([52cf151](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/52cf151b18840bfdd8b04b08dd5f99b55a0eb2bd))
- **drive:** update the API
([d1f9ef2](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/d1f9ef2c0cee23a87f3033b9565fcfb70b3df974))
- **gkehub:** update the API
([75d45d7](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/75d45d767bc0c0ad8c03c4855cd43f896b67c91d))
- **retail:** update the API
([2179668](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/2179668e37934ee952551833881bfa1d7b2056bd))
- **secretmanager:** update the API
([144ba15](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/144ba152a0cccc9b1c20f522cbe0255ab6fd97d9))
- **spanner:** update the API
([ccac052](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/ccac0528486986aa6aabd08defd08b68b7c4060f))
- **texttospeech:** update the API
([c9e1e37](https://redirect.github.com/googleapis/google-api-nodejs-client/commit/c9e1e374cc6c6e578d81c57c41b6b95e6e21c4f1))

</details>

<details>
<summary>jsdoc2md/jsdoc-to-markdown (jsdoc-to-markdown)</summary>

###
[`v9.0.0`](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown/releases/tag/v9.0.0)

[Compare
Source](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown/compare/v8.0.3...v9.0.0)

The default output has not changed. The minimum required Node version is
still v12.17. The goals for this release were bug fixing and
simplification. Feel free to comment in the [release
discussion](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown/discussions/305)
or post an issue.

#### Breaking changes since v8.0.3

- Removed `.renderSync()`, `.getTemplateDataSync()` and
`.getJsdocDataSync()`. The jsdoc2md API is now async-only.
- Previously, passing either `option.files` or `option.source` was
mandatory. Now, it is either `option.files`, `option.source` or
`option.configure`.
[https:/jsdoc2md/jsdoc-api/issues/27](https://redirect.github.com/jsdoc2md/jsdoc-api/issues/27)

#### Non-breaking changes

- Fixed a bug where it was possible for a handlebars template to be
passed into the jsdoc-api `template` option.
[#&#8203;303](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown/issues/303)
- Support clever-links, monospace-links, `{@&#8203;linkcode}` and
`{@&#8203;linkplain}`.
[#&#8203;301](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown/issues/301)
- Fixed a 'maximum call stack size exceeded' error. The user now gets a
warning if the malformed input which formerly caused the error is
detected.
[https:/jsdoc2md/dmd/issues/89](https://redirect.github.com/jsdoc2md/dmd/issues/89)
- Fixed an issue where the dmd internal partials failed to load if a
user's directory name contained special glob characters.
[https:/jsdoc2md/dmd/issues/82](https://redirect.github.com/jsdoc2md/dmd/issues/82)
- Added the `--EOL` option to control line-endings. Fixes
[https:/jsdoc2md/dmd/issues/92](https://redirect.github.com/jsdoc2md/dmd/issues/92).
- Fixed an issue where setting `{ pedantic: false }` confused the
underlying jsdoc.
[https:/jsdoc2md/jsdoc-api/issues/22](https://redirect.github.com/jsdoc2md/jsdoc-api/issues/22)
- Can now pass an array of strings to `.source`.
[https:/jsdoc2md/jsdoc-api/issues/11](https://redirect.github.com/jsdoc2md/jsdoc-api/issues/11)
- Added support for `@hideconstructor`.
[https:/jsdoc2md/dmd/issues/94](https://redirect.github.com/jsdoc2md/dmd/issues/94)
- Print a warning when the most common mistake is detected (`@module`
tag required)
[https:/jsdoc2md/dmd/issues/96](https://redirect.github.com/jsdoc2md/dmd/issues/96)
- Fixed an issue where a `@example` was excluded in the output if the
doclet did not contain a description.
[https:/jsdoc2md/jsdoc-parse/issues/33](https://redirect.github.com/jsdoc2md/jsdoc-parse/issues/33)

#### Other improvements

- Greatly optimised the dependency tree - upgraded all deps to their
latest versions (removing deprecation warnings) and factored many old
modules out of the project.

#### Upgrade notes

- Update your code replacing any use of `.renderSync()`,
`.getTemplateDataSync()` and `.getJsdocDataSync()` with their async
equivalents.
- To see an example of API usage, see
[here](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown/wiki/How-to-create-one-output-file-per-class).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 2pm on Monday" in timezone
Europe/Zurich, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/adobe/spacecat-shared).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
solaris007 referenced this issue in adobe/spacecat-audit-post-processor Sep 5, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[jsdoc-to-markdown](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown)
| [`8.0.3` ->
`9.0.0`](https://renovatebot.com/diffs/npm/jsdoc-to-markdown/8.0.3/9.0.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/jsdoc-to-markdown/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jsdoc-to-markdown/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jsdoc-to-markdown/8.0.3/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jsdoc-to-markdown/8.0.3/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>jsdoc2md/jsdoc-to-markdown (jsdoc-to-markdown)</summary>

###
[`v9.0.0`](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown/releases/tag/v9.0.0)

[Compare
Source](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown/compare/v8.0.3...v9.0.0)

The default output has not changed. The minimum required Node version is
still v12.17. The goals for this release were bug fixing and
simplification. Feel free to comment in the [release
discussion](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown/discussions/305)
or post an issue.

#### Breaking changes since v8.0.3

- Removed `.renderSync()`, `.getTemplateDataSync()` and
`.getJsdocDataSync()`. The jsdoc2md API is now async-only.
- Previously, passing either `option.files` or `option.source` was
mandatory. Now, it is either `option.files`, `option.source` or
`option.configure`.
[https:/jsdoc2md/jsdoc-api/issues/27](https://redirect.github.com/jsdoc2md/jsdoc-api/issues/27)

#### Non-breaking changes

- Fixed a bug where it was possible for a handlebars template to be
passed into the jsdoc-api `template` option.
[#&#8203;303](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown/issues/303)
- Support clever-links, monospace-links, `{@&#8203;linkcode}` and
`{@&#8203;linkplain}`.
[#&#8203;301](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown/issues/301)
- Fixed a 'maximum call stack size exceeded' error. The user now gets a
warning if the malformed input which formerly caused the error is
detected.
[https:/jsdoc2md/dmd/issues/89](https://redirect.github.com/jsdoc2md/dmd/issues/89)
- Fixed an issue where the dmd internal partials failed to load if a
user's directory name contained special glob characters.
[https:/jsdoc2md/dmd/issues/82](https://redirect.github.com/jsdoc2md/dmd/issues/82)
- Added the `--EOL` option to control line-endings. Fixes
[https:/jsdoc2md/dmd/issues/92](https://redirect.github.com/jsdoc2md/dmd/issues/92).
- Fixed an issue where setting `{ pedantic: false }` confused the
underlying jsdoc.
[https:/jsdoc2md/jsdoc-api/issues/22](https://redirect.github.com/jsdoc2md/jsdoc-api/issues/22)
- Can now pass an array of strings to `.source`.
[https:/jsdoc2md/jsdoc-api/issues/11](https://redirect.github.com/jsdoc2md/jsdoc-api/issues/11)
- Added support for `@hideconstructor`.
[https:/jsdoc2md/dmd/issues/94](https://redirect.github.com/jsdoc2md/dmd/issues/94)
- Print a warning when the most common mistake is detected (`@module`
tag required)
[https:/jsdoc2md/dmd/issues/96](https://redirect.github.com/jsdoc2md/dmd/issues/96)
- Fixed an issue where a `@example` was excluded in the output if the
doclet did not contain a description.
[https:/jsdoc2md/jsdoc-parse/issues/33](https://redirect.github.com/jsdoc2md/jsdoc-parse/issues/33)

#### Other improvements

- Greatly optimised the dependency tree - upgraded all deps to their
latest versions (removing deprecation warnings) and factored many old
modules out of the project.

#### Upgrade notes

- Update your code replacing any use of `.renderSync()`,
`.getTemplateDataSync()` and `.getJsdocDataSync()` with their async
equivalents.
- To see an example of API usage, see
[here](https://redirect.github.com/jsdoc2md/jsdoc-to-markdown/wiki/How-to-create-one-output-file-per-class).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 2pm on Monday" in timezone
Europe/Zurich, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/adobe/spacecat-audit-post-processor).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

5 participants