CharlesStover / reactn

React, but with built-in global state management.
https://www.npmjs.com/package/reactn
MIT License
1.89k stars 85 forks source link

Set `peerDependencies` to `"@types/react": "^16.8.0 | ^17.0.2"` #216

Open RyanNerd opened 2 years ago

RyanNerd commented 2 years ago

To reduce bloat I try to have all my imports use reactn. For example: import React, {useEffect, useState} from 'reactn'; However, with some more esoteric imports I am forced to import from React: import {InputHTMLAttributes} from 'react';

Bumping the @types/react to the latest version may also resolve this issue #98

Also, since I am using the latest React version when I do an NPM install I have to use the --force switch. Here's the NPM Error vomit:

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: rxchart@0.10.15
npm ERR! Found: @types/react@17.0.37
npm ERR! node_modules/@types/react
npm ERR!   @types/react@"^17.0.37" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer @types/react@"^16.8.0" from reactn@2.2.7
npm ERR! node_modules/reactn
npm ERR!   reactn@"^2.2.7" from the root project
quisido commented 2 years ago

A good solution may be to move @types/react to a peer dependency that supports either 16.x or 17.x, as bumping it to 17.x could be a breaking change for users still using 16.

RyanNerd commented 2 years ago

A good solution may be to move @types/react to a peer dependency that supports either 16.x or 17.x, as bumping it to 17.x could be a breaking change for users still using 16.

Perhaps this change?

  "peerDependencies": {
    "@types/react": "^16.8.0 | ^17.0.2"
  }

I moved my TypeScript defs to DevDependencies which solved the bloat issue.