phoebe-project / phoebe2-ui

web and desktop client for PHOEBE 2
http://phoebe-project.org/clients
GNU General Public License v3.0
4 stars 1 forks source link

Dependency tree outdated #27

Open matthiasfabry opened 1 week ago

matthiasfabry commented 1 week ago

Hi everyone,

I'm trying to get the UI built on my Intel Mac, but it seems that the dependency tree is not up to date anymore:

$ npm install
npm error While resolving: phoebe@1.0.1
npm error Found: react@16.6.3
npm error node_modules/react
npm error   react@"16.6.3" from the root project
npm error
npm error Could not resolve dependency:
npm error peer react@"^15.3.0" from react-query-params@1.0.9
npm error node_modules/react-query-params
npm error   react-query-params@"1.0.9" from the root project

query-params was made for 15.3.0, while the top-level requirement is 16.6.3. Downgrading the top-level requirement breaks other dependencies. Unfortunately I've no Node or JS experience so I do not know what each package's functions is/are, nor do I know which packages to update/change. A simple search on npm shows query-params hasn't been updated for 6 years.

kecnry commented 1 week ago

Thanks for reporting this - I'll make sure this is on our list, but unfortunately we don't have anyone able to commit significant resources to maintaining the UI at this time. If you or anyone is interested in tackling this and wants some help, please reach out and I'd be happy to help get you started.

Are you trying to install from the latest release build or from the source code itself?

matthiasfabry commented 1 week ago

yes, I'm happy to help. I'm of the opinion that if the UI works well, we can extend the reach of PHOEBE. I'm trying to build from source, as I cannot get the pre-built version to work, see #16.

kecnry commented 1 week ago

Long term, what we probably need to do is update as many of the packages as possible to most recent releases and update anything within the source code that is needed to do so, but that will likely take a significant effort. Currently, phoebe's package.json pins specific versions of dependencies to avoid conflicts, but as you noticed, these are now quite outdated. I'm not sure why there is now a conflict between the pinned version of react and the requirement from react-query-params 1.0.9, when that used to work without problems. The easier task for now might be to just find versions of react and react-query-params that are compatible with each other with minimal changes (if any) to the code in the phoebe UI.

This document is useful for understanding the syntax of version requirements: https://github.com/npm/node-semver?tab=readme-ov-file#advanced-range-syntax