reactn icon indicating copy to clipboard operation
reactn copied to clipboard

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

Open RyanNerd opened this issue 3 years ago • 2 comments

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: [email protected]
npm ERR! Found: @types/[email protected]
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 [email protected]
npm ERR! node_modules/reactn
npm ERR!   reactn@"^2.2.7" from the root project

RyanNerd avatar Dec 02 '21 11:12 RyanNerd

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.

quisido avatar Dec 04 '21 05:12 quisido

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.

RyanNerd avatar Dec 04 '21 13:12 RyanNerd