node-lts-versions

1.6.3 • Public • Published

CI Conventional Commits

Node.js LTS versions

Retrieve a list of Long Term Stable versions of Node.js.

The output of the yaml function is designed to populate a GitHub Actions matrix declaration so that your CI is always testing with every Active LTS version of Node.js.

Usage

This action has three outputs:

  • active is currently active node.js versions
  • lts is a subset of active versions.
  • min is the lowest LTS version

At the time of writing, active=[14,16,18] and lts=[14,16]. Node.js v18 is due to start LTS in five more months.

manually (the normal way)

  test:
    strategy:
      matrix:
        os: [ ubuntu-latest, windows-latest, macos-latest ]
        node-version: [ 18, 20 ]
      fail-fast: false
    steps:

automatically

  test:
    needs: get-lts
    strategy:
      matrix:
        os: [ ubuntu-latest, windows-latest, macos-latest ]
        node-version: ${{ fromJson(needs.get-lts.outputs.lts) }}
      fail-fast: false
    steps:
  get-lts:
    runs-on: ubuntu-latest
    steps:
      - id: get
        uses: msimerson/node-lts-versions@v1
    outputs:
      active: ${{ steps.get.outputs.active }}
      lts: ${{ steps.get.outputs.lts }}
      min: ${{ steps.get.outputs.min }}

Example

✗ node main.js
::setOutput name=active::["18", "20"]
::setOutput name=lts::["18", "20"]
::setOutput name=min::"18"

RAW

const ltsv = require('node-lts-versions')
ltsv.fetchLTS().then(() => {
    console.log(ltsv.json())
    console.log(ltsv.yaml())
    ltsv.print()
})

Methods

fetch

Retrieves Node.js version information. Prints active LTS versions in several formats.

json

["18", "20"]

yaml

[ '18', '20' ]

print

Ver Codename  Latest Release    LTS Period
18  Hydrogen  v18.19.0  2023-11-29  2022-04-18 to 2024-10-17
20  Iron  v20.11.0  2024-01-09  2023-04-17 to 2025-10-16

Reference

Future

Got ideas? Contributions are welcome. Submit a PR with tests and it will likely be accepted.

Package Sidebar

Install

npm i node-lts-versions

Weekly Downloads

81

Version

1.6.3

License

BSD-3-Clause

Unpacked Size

204 kB

Total Files

10

Last publish

Collaborators

  • tnpi