BJS is using deprecated packages

Sorry for the wall of text, but I think this communicates the issue well:

[jp@wtop babylon.js]$ npm ci
npm warn EBADENGINE Unsupported engine {
npm warn EBADENGINE   package: 'memlab@1.1.51',
npm warn EBADENGINE   required: { node: '18.x || 19.x || 20.x', npm: '7.x || 8.x || 9.x || 10.x' },
npm warn EBADENGINE   current: { node: 'v22.3.0', npm: '10.8.1' }
npm warn EBADENGINE }
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated npmlog@5.0.1: This package is no longer supported.
npm warn deprecated rimraf@2.4.5: Rimraf versions prior to v4 are no longer supported
npm warn deprecated rimraf@2.5.4: Rimraf versions prior to v4 are no longer supported
npm warn deprecated rimraf@2.7.1: Rimraf versions prior to v4 are no longer supported
npm warn deprecated @humanwhocodes/config-array@0.11.14: Use @eslint/config-array instead
npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm warn deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm warn deprecated are-we-there-yet@2.0.0: This package is no longer supported.
npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@6.0.4: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm warn deprecated gauge@3.0.2: This package is no longer supported.

> @babylonjs/root@1.0.0 prepare
> ts-patch install -s && npm run build:tools && npm i @dev/build-tools -D && npm run build:assets && npm run build:test-tools


> @babylonjs/root@1.0.0 build:tools
> npm run build -w @dev/build-tools && npm run build -w eslint-plugin-babylonjs


> @dev/build-tools@1.0.0 build
> npm run compile


> @dev/build-tools@1.0.0 compile
> tsc -b tsconfig.build.json


> eslint-plugin-babylonjs@1.0.0 build
> tsc -b tsconfig.build.json

npm warn EBADENGINE Unsupported engine {
npm warn EBADENGINE   package: 'memlab@1.1.51',
npm warn EBADENGINE   required: { node: '18.x || 19.x || 20.x', npm: '7.x || 8.x || 9.x || 10.x' },
npm warn EBADENGINE   current: { node: 'v22.3.0', npm: '10.8.1' }
npm warn EBADENGINE }
npm warn deprecated npmlog@5.0.1: This package is no longer supported.
npm warn deprecated are-we-there-yet@2.0.0: This package is no longer supported.
npm warn deprecated gauge@3.0.2: This package is no longer supported.

up to date, audited 2027 packages in 10s

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

found 0 vulnerabilities

BJS is using some deprecated packages. Can we update them?

I am taking care of updating the packages. And am doing it constantly. Most deprecated packages are used by other packages we are using and not babylon directly.

1 Like

With rimraf (for example), it looks like BJS has 3.0.2 installed directly (looking at npm ls rimraf), and “Rimraf versions prior to v4 are no longer supported”.

By the way, I appreciate you taking the time to work with me.

I very much love npm messages. No longer supported? by who? it worked so far, there is no need to update for the sake of updating. Of course, if there is a reason to update - we do.
There is no major repository without a list of 20 messages just like that. same goes to npm audit. The same goes to unsupported engine. memlab works wonderfully with any engine, they just never changed the definitions in package.json.

I see what you mean, but I have to disagree on the “list of 20 messages just like that.”- I maintain a complete NodeJS file system emulator (ZenFS), which has 0 deprecated packages and 0 vulnerabilities across the supply chain.

Obviously, Babylon is much more complicated than a file system emulator, so the supply chain is bigger.

I am taking care of updating the packages.

I was trying to bring attention to the issue just in case no one knew, I’m happy to know that the dependencies are being tracked.

Thanks for your time.

I didn’t say all repos are like that. This is why I said “no major repository”. I am pretty sure react’s repository has those as well. Three.js as well. Babylon depends on hundreds of packages. If we wanted to keep it message free we will invest the first 30 minutes of each day updating packages. Not going to happen :slight_smile:

I am all for keeping everything updated. And I am doing it, probably once a week. There are many things that needs to be tested after making such updates, so I prefer doing it myself.

1 Like

That makes perfect sense. As I mentioned before, I just thought I’d bring it up in case it wasn’t being looked at.