Npm / jemma problems releasing

Maybe not really ontology-sdk question more akin to #npm and #jemma

I have a simple Plotyly Dash application where I can upload and render some graphs, this works well in the vscode / vite preview. But when I try to delploy it the release fails.

I get the following error


Starting job ri.jemma.main.job.00000002-0bff-ba6e-ac86-3d99e2245d60
Cloning repository ri.stemma.main.repository.17d9efac-63e7-49e7-bf9d-cf5970c933af.
Cloned repository. Took 690 ms
Restoring remote caches...
Done restoring remote caches. Took 89 ms
Detected platform: linux-x64
/app/ri.jemma.main.job.00000002-0bff-ba6e-ac86-3d99e2245d60-bd1ba5ab-0601-49ad-bf1e-9bf4c10bb34c/repo/.node-installation /app/ri.jemma.main.job.00000002-0bff-ba6e-ac86-3d99e2245d60-bd1ba5ab-0601-49ad-bf1e-9bf4c10bb34c/repo
Downloading nodejs from https://<foundry-1983438356>/compute/614014/foundry/asset-server/assets/static/nodejs-bundle/0.340.0/default/asset/vv24.10.0/node-vv24.10.0-linux-x64.tar.gz
Traceback (most recent call last):
  File "/app/ri.jemma.main.job.00000002-0bff-ba6e-ac86-3d99e2245d60-bd1ba5ab-0601-49ad-bf1e-9bf4c10bb34c/repo/.jemma/download-node.py", line 13, in <module>
    with urllib.request.urlopen(request) as response:
  File "/usr/lib/python3.10/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found

I am trying to upgrade npm here

13:59:58 ~/repo/.jemma (master *)$ cat settings.sh 
#!/usr/bin/env bash
#export NODE_INSTALLATION_VERSION=18.18.0
export NODE_INSTALLATION_VERSION=24.10.0

package.json

{
  "name": "vibe-ew-webapp",
  "private": true,
  "version": "1.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "dev:remote": "vite --mode code-workspaces",
    "build": "tsc -b && vite build",
    "lint": "eslint .",
    "lint:fix": "eslint --report-unused-disable-directives --max-warnings 0 --fix",
    "preview": "vite preview",
    "test": "vitest",
    "test:run": "vitest run",
    "test:coverage": "vitest --coverage"
  },
  "dependencies": {
    "@ewanalysis-app/sdk": "latest",
    "@osdk/client": "^2.4.2",
    "@osdk/oauth": "^1.1.0",
    "@osdk/react": "^0.3.0",
    "@types/papaparse": "^5.3.16",
    "papaparse": "^5.5.3",
    "plotly.js-dist-min": "^2.35.2",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "react-plotly.js": "^2.6.0",
    "react-router-dom": "^6.23.1"
  },
  "devDependencies": {
    "@eslint/js": "^9.19.0",
    "@testing-library/jest-dom": "^6.9.1",
    "@testing-library/react": "^15.0.7",
    "@testing-library/user-event": "^14.6.1",
    "@types/node": "^20.12.12",
    "@types/react": "^18.3.12",
    "@types/react-dom": "^18.3.1",
    "@types/react-plotly.js": "^2.6.3",
    "@typescript-eslint/eslint-plugin": "^8.32.0",
    "@typescript-eslint/parser": "^8.32.0",
    "@vitejs/plugin-react": "^4.3.3",
    "eslint": "^9.19.0",
    "eslint-plugin-import": "^2.31.0",
    "eslint-plugin-jsx-a11y": "^6.10.1",
    "eslint-plugin-prettier": "^5.2.1",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-hooks": "^5.0.0",
    "eslint-plugin-react-refresh": "^0.4.14",
    "globals": "^15.11.0",
    "jsdom": "^25.0.1",
    "typescript": "~5.5.4",
    "typescript-eslint": "^8.32.0",
    "vite": "^5.4.10",
    "vitest": "^2.1.8"
  }
}

There is a limited set of nodejs releases installed at any given time, which on the backend is tracked by the asset called nodejs-bundle (as seen in the URL where you get a 404). If you want. to use nodejs 24, the supported version at this moment is 24.7.0, so setting that version number should allow you to progress, assuming there are no other breaks in the build due to the upgrade.