datasets / publicbodies

A database of public bodies such as government departments, ministries etc.
http://publicbodies.org
MIT License
63 stars 26 forks source link

Update website to use a modern / currently supported stack #110

Closed augusto-herrmann closed 3 years ago

augusto-herrmann commented 3 years ago

The website uses very early node.js and express framework. Most libraries used are either deprecated, have been substituted for new versions (e.g. jade -> pug) or are no longer supported. npm reports that the package versions used have many vulnerabilities, some of which are classified as "high" and "critical".

As per the log when trying to run it on node.js 12:

npm WARN deprecated less-middleware@0.1.15: Updated API and improved functionality.
npm WARN deprecated mkdirp@0.3.5: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported

> leveldown@6.0.0 install /home/node/portal/node_modules/leveldown
> node-gyp-build

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN publicbodies@0.1.0 license should be a valid SPDX license expression

added 159 packages from 149 contributors and audited 160 packages in 11.598s

13 packages are looking for funding
  run `npm fund` for details

found 29 vulnerabilities (10 low, 11 moderate, 7 high, 1 critical)
  run `npm audit fix` to fix them, or `npm audit` for details

We need to port the website to current javascript and node.js. Alternatively, it could also could be reimplemented on another language and framework that is currently supported.