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
- To install, use
$ npm install [email protected]
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
- To install, use
$ npm install [email protected]
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,
.eslintignoreis no longer supported. Instead, define ignored files ineslint.config.jsunder theignoresproperty. - Note:
.eslintrc.*is deprecated; migrate configurations toeslint.config.jsfollowing 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:
- Install the update on
beta - Observe beta to see how well the update fares
- After sufficient successful use, we can update
mainaccordingly and update this document - If an update breaks
beta, we update this document with a fixed version - Periodically (~every 6 months) we can revisit the "capped" versions to decide what needs to be done for that version.