{
  "$schema": "https://doc-kit.nodejs.org/schemas/api-doc/1.0.1.json",
  "id": "core",
  "path": "/core",
  "type": "module",
  "module": "core",
  "title": "`@nodevu/core`",
  "introducedIn": null,
  "sourceLink": {
    "path": "core/index.js",
    "url": "https://github.com/cutenode/nodevu/blob/main/core/index.js"
  },
  "stability": null,
  "added": [],
  "deprecated": [],
  "removed": [],
  "napiVersion": [],
  "changes": [],
  "description": "The core, online-only module of nodevu. It fetches the Node.js release index\nand release schedule, then merges them into one object keyed by release line,\nadding what it can work out from dates and release flags: the current phase of\neach line, its newest and oldest LTS and security releases, and the files each\nrelease ships.\n\n```bash\nnpm install @nodevu/core\n```\n\nThen call it for the data:\n\n```js\nconst nodevu = require('@nodevu/core');\n\nconst data = await nodevu();\n\nconsole.log(data.v20.support.codename); // 'Iron'\n```",
  "summary": "The core, online-only module of nodevu. It fetches the Node.js release index and release schedule, then merges them into one object keyed by release line, adding what it can work out from dates and release flags: the current phase of each line, its newest and oldest LTS and security releases, and the files each release ships.",
  "examples": [
    {
      "language": "bash",
      "displayName": null,
      "code": "npm install @nodevu/core"
    },
    {
      "language": "js",
      "displayName": null,
      "code": "const nodevu = require('@nodevu/core');\n\nconst data = await nodevu();\n\nconsole.log(data.v20.support.codename); // 'Iron'"
    }
  ],
  "children": [
    {
      "kind": "method",
      "id": "nodevuoptions",
      "name": "nodevu",
      "title": "`nodevu([options])`",
      "scope": "module",
      "overloadOf": null,
      "stability": null,
      "added": [],
      "deprecated": [],
      "removed": [],
      "napiVersion": [],
      "changes": [],
      "signature": {
        "parameters": [
          {
            "name": "options",
            "type": {
              "text": "Object",
              "links": [
                {
                  "name": "Object",
                  "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
                  "start": 0,
                  "end": 6
                }
              ]
            },
            "description": "",
            "default": null,
            "optional": true,
            "rest": false,
            "properties": [
              {
                "name": "fetch",
                "type": {
                  "text": "Function",
                  "links": [
                    {
                      "name": "Function",
                      "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function",
                      "start": 0,
                      "end": 8
                    }
                  ]
                },
                "description": "The `fetch` implementation to request the data with.",
                "default": "globalThis.fetch",
                "optional": true,
                "rest": false,
                "properties": []
              },
              {
                "name": "now",
                "type": {
                  "text": "string",
                  "links": [
                    {
                      "name": "string",
                      "href": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#string_type",
                      "start": 0,
                      "end": 6
                    }
                  ]
                },
                "description": "An ISO 8601 date to work out each release line's phase\nagainst. A Luxon `DateTime` works too. Mostly useful for tests.",
                "default": "`DateTime.now()` from Luxon",
                "optional": true,
                "rest": false,
                "properties": []
              },
              {
                "name": "urls",
                "type": {
                  "text": "Object",
                  "links": [
                    {
                      "name": "Object",
                      "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
                      "start": 0,
                      "end": 6
                    }
                  ]
                },
                "description": "",
                "default": null,
                "optional": false,
                "rest": false,
                "properties": [
                  {
                    "name": "index",
                    "type": {
                      "text": "string",
                      "links": [
                        {
                          "name": "string",
                          "href": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#string_type",
                          "start": 0,
                          "end": 6
                        }
                      ]
                    },
                    "description": "The full URL of the release index.",
                    "default": "'https://nodejs.org/dist/index.json'",
                    "optional": true,
                    "rest": false,
                    "properties": []
                  },
                  {
                    "name": "schedule",
                    "type": {
                      "text": "string",
                      "links": [
                        {
                          "name": "string",
                          "href": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#string_type",
                          "start": 0,
                          "end": 6
                        }
                      ]
                    },
                    "description": "The full URL of the release schedule.",
                    "default": "'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json'",
                    "optional": true,
                    "rest": false,
                    "properties": []
                  }
                ]
              }
            ]
          }
        ],
        "returns": {
          "type": {
            "text": "Promise<Object>",
            "links": [
              {
                "name": "Promise",
                "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise",
                "start": 0,
                "end": 7
              },
              {
                "name": "Object",
                "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
                "start": 8,
                "end": 14
              }
            ]
          },
          "description": "Fulfills with an object that has a key per\nrelease line, newest first, such as `v22`, or `v0.10` for the `0.x` lines. Each value is\ndescribed in [Release lines](#release-lines)."
        }
      },
      "description": "This is the module's only export. The result is large: every release Node.js\nhas published, with its dependencies and files. To read it without a network\nrequest, use [`@nodevu/static`](static.html).",
      "summary": "This is the module's only export. The result is large: every release Node.js has published, with its dependencies and files. To read it without a network request, use `@nodevu/static`.",
      "examples": [],
      "children": []
    },
    {
      "kind": "section",
      "id": "release-lines",
      "name": "Release lines",
      "title": "Release lines",
      "scope": "module",
      "overloadOf": null,
      "stability": null,
      "added": [],
      "deprecated": [],
      "removed": [],
      "napiVersion": [],
      "changes": [],
      "description": "Each release line in the result has `releases` and `security`, and `support`\nwhen the release schedule lists the line.",
      "summary": "Each release line in the result has `releases` and `security`, and `support` when the release schedule lists the line.",
      "examples": [],
      "children": [
        {
          "kind": "property",
          "id": "linereleases",
          "name": "releases",
          "title": "`line.releases`",
          "scope": "module",
          "overloadOf": null,
          "stability": null,
          "added": [],
          "deprecated": [],
          "removed": [],
          "napiVersion": [],
          "changes": [],
          "type": {
            "text": "Object",
            "links": [
              {
                "name": "Object",
                "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
                "start": 0,
                "end": 6
              }
            ]
          },
          "default": null,
          "description": "Every release in the line, newest first, keyed by version, such as `v17.6.0`.\nEach value is described in [Releases](#releases).",
          "summary": "Every release in the line, newest first, keyed by version, such as `v17.6.0`. Each value is described in Releases.",
          "examples": [],
          "children": []
        },
        {
          "kind": "property",
          "id": "linesupport",
          "name": "support",
          "title": "`line.support`",
          "scope": "module",
          "overloadOf": null,
          "stability": null,
          "added": [],
          "deprecated": [],
          "removed": [],
          "napiVersion": [],
          "changes": [],
          "type": {
            "text": "Object",
            "links": [
              {
                "name": "Object",
                "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
                "start": 0,
                "end": 6
              }
            ]
          },
          "default": null,
          "description": "Only present when the release schedule has a start date for\nthe line.",
          "summary": "",
          "examples": [],
          "children": []
        },
        {
          "kind": "property",
          "id": "linesecurity",
          "name": "security",
          "title": "`line.security`",
          "scope": "module",
          "overloadOf": null,
          "stability": null,
          "added": [],
          "deprecated": [],
          "removed": [],
          "napiVersion": [],
          "changes": [],
          "type": {
            "text": "Object",
            "links": [
              {
                "name": "Object",
                "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
                "start": 0,
                "end": 6
              }
            ]
          },
          "default": null,
          "description": "",
          "summary": "",
          "examples": [],
          "children": []
        }
      ]
    },
    {
      "kind": "section",
      "id": "releases",
      "name": "Releases",
      "title": "Releases",
      "scope": "module",
      "overloadOf": null,
      "stability": null,
      "added": [],
      "deprecated": [],
      "removed": [],
      "napiVersion": [],
      "changes": [],
      "description": "Each release in [`line.releases`](#linereleases) has these properties.",
      "summary": "Each release in `line.releases` has these properties.",
      "examples": [],
      "children": [
        {
          "kind": "property",
          "id": "releasesemver",
          "name": "semver",
          "title": "`release.semver`",
          "scope": "module",
          "overloadOf": null,
          "stability": null,
          "added": [],
          "deprecated": [],
          "removed": [],
          "napiVersion": [],
          "changes": [],
          "type": {
            "text": "Object",
            "links": [
              {
                "name": "Object",
                "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
                "start": 0,
                "end": 6
              }
            ]
          },
          "default": null,
          "description": "",
          "summary": "",
          "examples": [],
          "children": []
        },
        {
          "kind": "property",
          "id": "releasereleasedate",
          "name": "releaseDate",
          "title": "`release.releaseDate`",
          "scope": "module",
          "overloadOf": null,
          "stability": null,
          "added": [],
          "deprecated": [],
          "removed": [],
          "napiVersion": [],
          "changes": [],
          "type": {
            "text": "string",
            "links": [
              {
                "name": "string",
                "href": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#string_type",
                "start": 0,
                "end": 6
              }
            ]
          },
          "default": null,
          "description": "The release date, such as `'2022-02-22'`.",
          "summary": "",
          "examples": [],
          "children": []
        },
        {
          "kind": "property",
          "id": "releasemodules",
          "name": "modules",
          "title": "`release.modules`",
          "scope": "module",
          "overloadOf": null,
          "stability": null,
          "added": [],
          "deprecated": [],
          "removed": [],
          "napiVersion": [],
          "changes": [],
          "type": {
            "text": "Object",
            "links": [
              {
                "name": "Object",
                "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
                "start": 0,
                "end": 6
              }
            ]
          },
          "default": null,
          "description": "",
          "summary": "",
          "examples": [],
          "children": []
        },
        {
          "kind": "property",
          "id": "releasedependencies",
          "name": "dependencies",
          "title": "`release.dependencies`",
          "scope": "module",
          "overloadOf": null,
          "stability": null,
          "added": [],
          "deprecated": [],
          "removed": [],
          "napiVersion": [],
          "changes": [],
          "type": {
            "text": "Object",
            "links": [
              {
                "name": "Object",
                "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
                "start": 0,
                "end": 6
              }
            ]
          },
          "default": null,
          "description": "The versions of the dependencies bundled with the release.\nOne the index doesn't list is `undefined`.",
          "summary": "",
          "examples": [],
          "children": []
        },
        {
          "kind": "property",
          "id": "releasefiles",
          "name": "files",
          "title": "`release.files`",
          "scope": "module",
          "overloadOf": null,
          "stability": null,
          "added": [],
          "deprecated": [],
          "removed": [],
          "napiVersion": [],
          "changes": [],
          "type": {
            "text": "Object",
            "links": [
              {
                "name": "Object",
                "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
                "start": 0,
                "end": 6
              }
            ]
          },
          "default": null,
          "description": "",
          "summary": "",
          "examples": [],
          "children": []
        },
        {
          "kind": "property",
          "id": "releaselts",
          "name": "lts",
          "title": "`release.lts`",
          "scope": "module",
          "overloadOf": null,
          "stability": null,
          "added": [],
          "deprecated": [],
          "removed": [],
          "napiVersion": [],
          "changes": [],
          "type": {
            "text": "Object",
            "links": [
              {
                "name": "Object",
                "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
                "start": 0,
                "end": 6
              }
            ]
          },
          "default": null,
          "description": "",
          "summary": "",
          "examples": [],
          "children": []
        },
        {
          "kind": "property",
          "id": "releasealpha",
          "name": "alpha",
          "title": "`release.alpha`",
          "scope": "module",
          "overloadOf": null,
          "stability": null,
          "added": [],
          "deprecated": [],
          "removed": [],
          "napiVersion": [],
          "changes": [],
          "type": {
            "text": "Object",
            "links": [
              {
                "name": "Object",
                "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
                "start": 0,
                "end": 6
              }
            ]
          },
          "default": null,
          "description": "",
          "summary": "",
          "examples": [],
          "children": []
        },
        {
          "kind": "property",
          "id": "releasesecurity",
          "name": "security",
          "title": "`release.security`",
          "scope": "module",
          "overloadOf": null,
          "stability": null,
          "added": [],
          "deprecated": [],
          "removed": [],
          "napiVersion": [],
          "changes": [],
          "type": {
            "text": "Object",
            "links": [
              {
                "name": "Object",
                "href": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
                "start": 0,
                "end": 6
              }
            ]
          },
          "default": null,
          "description": "",
          "summary": "",
          "examples": [],
          "children": []
        }
      ]
    }
  ]
}