Library Requirements - dondi/GRNsight GitHub Wiki

These requirements were last reviewed March 19, 2025 as part of issue https://github.com/dondi/GRNsight/issues/1189. For GRNsight to run, it is safest to have exactly the versions specified.

Node.js/NPM LTS v18.20.8 (Node.js) & v10.8.2 (NPM)

  • To install, go to https://nodejs.org/en/download/
  • NPM is bundled with node.js
  • Note that the server is running Node.js v18.19.1, but v18.20.8 is what is currently available. Newer versions of Node.js appear to be compatible as well, with the exception of Node 17 due to a one-time issue involving SSL. Changing to Node 16 and below or Node 18 or above addresses this.

Note that when you run npm install as part of the Initial Setup, these packages will load automatically.

Node-xlsx v0.24.0 - released on 3/2/2023

Mocha v11.1.0 - released on 2/27/2024

  • To install, use $ npm install mocha

Pug v3.0.3 - released on 2/17/2023

  • To install, use $ npm install [email protected]
  • Note: Jade has been renamed to Pug and should be installed with the new package name.

Google Apis v144.0.0 - released on 2/1/2024

  • To install, use $ npm install googleapis --save

Multiparty v4.2.3 - released on 10/20/2021

  • To install, use $ npm install multiparty

Cors v2.8.1 - released on 9/8/2016

  • To install, use $ npm install cors

Chai v4.5.0 - released on 2/16/2024

  • To install, use $ npm install chai

Cytoscape v3.31.0 - released on 3/9/2024

  • To install, use $ npm install cytoscape

Stylus v0.54.5 - released on 4/27/2016

  • To install, use $ npm install stylus

nyc v15.1.0 - released on 5/20/2020

  • To install, use $ npm install nyc
  • Note: Replaces Istanbul for code coverage -- Istanbul has been deprecated in favor of nyc, which provides improved support for modern JavaScript environments."

Express v4.21.2 - released on 9/14/2023

Moment v2.30.1 - released on 12/28/2023

  • To install, use $ npm install moment

Should v13.2.3 - released on 1/5/2018

  • To install, use $ npm install should

Supertest v7.0.0 - released on 11/16/2023

  • To install, use $ npm install supertest

ESLint v9.20.1 - released on 2/26/2024

  • To install, use $ npm install eslint
  • Note: As of ESLint v9, .eslintignore is no longer supported. Instead, define ignored files in eslint.config.js under the ignores property.
  • Note: .eslintrc.* is deprecated; migrate configurations to eslint.config.js following the official migration guide.

Webpack v5.97.1 - released on 3/13/2024

  • To install, use $ npm install webpack

Coveralls v3.1.1 - released on 11/24/2020

  • To install, use $ npm install coveralls

Sequelize v6.37.5 - released on 3/10/2024

  • To install, use $ npm install sequelize

Dependency Update Procedure

When we are made aware of an update to these dependencies (we can proactively sign up for notifications on most of these), the process for validating the update would be:

  1. Install the update on beta
  2. Observe beta to see how well the update fares
  3. After sufficient successful use, we can update main accordingly and update this document
  4. If an update breaks beta, we update this document with a fixed version
  5. Periodically (~every 6 months) we can revisit the "capped" versions to decide what needs to be done for that version.