corona-warn-app / cwa-map-public-frontend

Corona-Warn-App Map Public Frontend
https://map.schnelltestportal.de/
2 stars 2 forks source link

npm run serve fails with Node.js 18 #30

Closed MikeMcC399 closed 1 year ago

MikeMcC399 commented 1 year ago

Description

If the Active LTS (Long Term Support) version of Node.js (18) is used then building the website fails with error

"Error: error:0308010C:digital envelope routines::unsupported"

Steps to reproduce

On Ubuntu

nvm use lts/hydrogen
npm ci
npm run serve

Full log file:

 npm run serve

> cwa-map-public-frontend@1.2.2 serve
> webpack serve --mode=development

<i> [webpack-dev-server] [HPM] Proxy created: /api  -> http://localhost:9090
(node:5022) [DEP_WEBPACK_DEV_SERVER_CONSTRUCTOR] DeprecationWarning: Using 'compiler' as the first argument is deprecated. Please use 'options' as the first argument and 'compiler' as the second argument.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5022) [DEP_WEBPACK_DEV_SERVER_LISTEN] DeprecationWarning: 'listen' is deprecated. Please use async 'start' or 'startCallback' methods.
<i> [webpack-dev-server] Project is running at:
<i> [webpack-dev-server] Loopback: http://localhost:9000/
<i> [webpack-dev-server] On Your Network (IPv4): http://192.168.8.128:9000/
<i> [webpack-dev-server] Content not from webpack is served from '/home/mike/github/cwa-map-public-frontend/dist' directory
node:internal/crypto/hash:71
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at BulkUpdateDecorator.hashFactory (/home/mike/github/cwa-map-public-frontend/node_modules/webpack/lib/util/createHash.js:145:18)
    at BulkUpdateDecorator.update (/home/mike/github/cwa-map-public-frontend/node_modules/webpack/lib/util/createHash.js:46:50)
    at RawSource.updateHash (/home/mike/github/cwa-map-public-frontend/node_modules/webpack-sources/lib/RawSource.js:64:8)
    at NormalModule._initBuildHash (/home/mike/github/cwa-map-public-frontend/node_modules/webpack/lib/NormalModule.js:870:17)
    at handleParseResult (/home/mike/github/cwa-map-public-frontend/node_modules/webpack/lib/NormalModule.js:936:10)
    at /home/mike/github/cwa-map-public-frontend/node_modules/webpack/lib/NormalModule.js:1028:4
    at processResult (/home/mike/github/cwa-map-public-frontend/node_modules/webpack/lib/NormalModule.js:745:11)
    at /home/mike/github/cwa-map-public-frontend/node_modules/webpack/lib/NormalModule.js:809:5 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.12.0

Suggestion

Run npm install webpack@latest

and commit change to repository.

Workaround

Change README: Prequisites to explicitly specify Node.js Maintenance version 16.x.

MikeMcC399 commented 1 year ago
MikeMcC399 commented 1 year ago

The compatibility issue with Node.js 18 is now solved, however the deprecation warnings remain.

MikeMcC399 commented 1 year ago