no longer possible to install npm deps
the repo has entered dependency hell, where npm can't resolve a set of packages that satisfy all dependencies. specifically peer dependencies
❯ npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: react-stripe-elements@6.1.2
npm ERR! Found: react@17.0.2
npm ERR! node_modules/react
npm ERR! dev react@"^17.0.2" from the root project
npm ERR! peer react@"17.0.2" from react-dom@17.0.2
npm ERR! node_modules/react-dom
npm ERR! dev react-dom@"^17.0.2" from the root project
npm ERR! 1 more (react-popper)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^15.5.4 || ^16.0.0-0" from react-stripe-elements@6.1.2
npm ERR! node_modules/react-stripe-elements
npm ERR! dev react-stripe-elements@"^6.1.2" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: react@16.14.0
npm ERR! node_modules/react
npm ERR! peer react@"^15.5.4 || ^16.0.0-0" from react-stripe-elements@6.1.2
npm ERR! node_modules/react-stripe-elements
npm ERR! dev react-stripe-elements@"^6.1.2" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
running npm install --force
does fix the conflict and everything still seems to work correctly, but i'll need to submit a test donation with stripe to make sure.
this all seems like it's stemming from the old react-stripe-elements. unfortunately, that library has changed so much that we would have to re-architect all the javascript, so we can't just update the library.
this also breaks CI builds, because lektor b -f npm
can't install the npm dependencies.
committing the updated package.lock doesn't fix this.