Skip to content

Commit 940a50b

Browse files
authored
Fix usage with esModuleInterop disabled (JedWatson#4928)
* Allow usage without esModuleInterop * Create popular-rats-kick.md * Format
1 parent 4e06d22 commit 940a50b

18 files changed

+76
-27
lines changed

.changeset/popular-rats-kick.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'react-select': patch
3+
---
4+
5+
Fix usage with esModuleInterop disabled

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@
124124
"test": "npm run test:jest && npm run test:cypress",
125125
"test:jest": "jest --coverage",
126126
"e2e": "concurrently --kill-others --success=first --names 'SERVER,E2E' 'yarn start:test --progress=false --no-info' 'yarn test:cypress'",
127-
"type-check": "tsc --build packages/react-select/tsconfig.json && tsc --build docs/tsconfig.json && tsc --build cypress/tsconfig.json",
127+
"type-check": "tsc --build packages/react-select/tsconfig.json && tsc --build packages/react-select/src/__tests__/tsconfig.json && tsc --build docs/tsconfig.json && tsc --build cypress/tsconfig.json",
128128
"precommit": "yarn run type-check",
129129
"postinstall": "preconstruct dev",
130130
"test:cypress": "yarn test:cypress:chrome && yarn test:cypress:firefox",

packages/react-select/src/Async.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
import React, { MutableRefObject, ReactElement, RefAttributes } from 'react';
1+
import * as React from 'react';
2+
import {
3+
forwardRef,
4+
MutableRefObject,
5+
ReactElement,
6+
RefAttributes,
7+
} from 'react';
28
import Select from './Select';
39
import { GroupBase } from './types';
410
import useStateManager from './useStateManager';
@@ -15,7 +21,7 @@ type AsyncSelect = <
1521
RefAttributes<Select<Option, IsMulti, Group>>
1622
) => ReactElement;
1723

18-
const AsyncSelect = React.forwardRef(
24+
const AsyncSelect = forwardRef(
1925
<Option, IsMulti extends boolean, Group extends GroupBase<Option>>(
2026
props: AsyncProps<Option, IsMulti, Group>,
2127
ref:

packages/react-select/src/AsyncCreatable.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1+
import * as React from 'react';
2+
import {
3+
forwardRef,
4+
MutableRefObject,
5+
ReactElement,
6+
RefAttributes,
7+
} from 'react';
18
import Select from './Select';
29
import { GroupBase } from './types';
3-
import React, { MutableRefObject, ReactElement, RefAttributes } from 'react';
410
import useAsync, { AsyncAdditionalProps } from './useAsync';
511
import useStateManager, { StateManagerProps } from './useStateManager';
612
import useCreatable, { CreatableAdditionalProps } from './useCreatable';
@@ -22,7 +28,7 @@ type AsyncCreatableSelect = <
2228
RefAttributes<Select<Option, IsMulti, Group>>
2329
) => ReactElement;
2430

25-
const AsyncCreatableSelect = React.forwardRef(
31+
const AsyncCreatableSelect = forwardRef(
2632
<Option, IsMulti extends boolean, Group extends GroupBase<Option>>(
2733
props: AsyncCreatableProps<Option, IsMulti, Group>,
2834
ref:

packages/react-select/src/Creatable.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
import React, { MutableRefObject, ReactElement, RefAttributes } from 'react';
1+
import * as React from 'react';
2+
import {
3+
forwardRef,
4+
MutableRefObject,
5+
ReactElement,
6+
RefAttributes,
7+
} from 'react';
28
import Select from './Select';
39
import { GroupBase } from './types';
410
import useStateManager, { StateManagerProps } from './useStateManager';
@@ -20,7 +26,7 @@ type CreatableSelect = <
2026
RefAttributes<Select<Option, IsMulti, Group>>
2127
) => ReactElement;
2228

23-
const CreatableSelect = React.forwardRef(
29+
const CreatableSelect = forwardRef(
2430
<Option, IsMulti extends boolean, Group extends GroupBase<Option>>(
2531
props: CreatableProps<Option, IsMulti, Group>,
2632
ref:

packages/react-select/src/NonceProvider.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import React, { Component, ReactNode } from 'react';
1+
import * as React from 'react';
2+
import { Component, ReactNode } from 'react';
23
import { CacheProvider } from '@emotion/react';
34
import createCache from '@emotion/cache';
45
import memoizeOne from 'memoize-one';

packages/react-select/src/Select.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import React, {
1+
import * as React from 'react';
2+
import {
23
Component,
34
FocusEventHandler,
45
FormEventHandler,
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"compilerOptions": {
3+
"target": "es6",
4+
"module": "commonjs",
5+
"jsx": "react",
6+
"noEmit": true,
7+
"strict": true,
8+
"esModuleInterop": true,
9+
"forceConsistentCasingInFileNames": true,
10+
"resolveJsonModule": true
11+
}
12+
}

packages/react-select/src/animated/Input.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import React, { ReactElement } from 'react';
1+
import * as React from 'react';
2+
import { ReactElement } from 'react';
23
import { TransitionProps } from 'react-transition-group/Transition';
34
import { InputProps } from '../components/Input';
45
import { GroupBase } from '../types';

packages/react-select/src/animated/MultiValue.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import React, { ReactElement } from 'react';
1+
import * as React from 'react';
2+
import { ReactElement } from 'react';
23
import { TransitionProps } from 'react-transition-group/Transition';
34
import { MultiValueProps } from '../components/MultiValue';
45
import { Collapse } from './transitions';

packages/react-select/src/animated/Placeholder.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import React, { ReactElement } from 'react';
1+
import * as React from 'react';
2+
import { ReactElement } from 'react';
23
import { PlaceholderProps } from '../components/Placeholder';
34
import { Fade, collapseDuration } from './transitions';
45
import { GroupBase } from '../types';

packages/react-select/src/animated/SingleValue.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import React, { ReactElement } from 'react';
1+
import * as React from 'react';
2+
import { ReactElement } from 'react';
23
import { SingleValueProps } from '../components/SingleValue';
34
import { Fade } from './transitions';
45
import { GroupBase } from '../types';

packages/react-select/src/animated/ValueContainer.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import React, { useEffect, useState, ReactElement, ReactNode } from 'react';
1+
import * as React from 'react';
2+
import { useEffect, useState, ReactElement, ReactNode } from 'react';
23
import { TransitionGroup } from 'react-transition-group';
34
import { ValueContainerProps } from '../components/containers';
45
import { GroupBase } from '../types';

packages/react-select/src/animated/transitions.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import React, {
1+
import * as React from 'react';
2+
import {
23
Component,
34
ComponentType,
45
createRef,

packages/react-select/src/components/LiveRegion.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/** @jsx jsx */
2-
import React, { ReactNode, useMemo } from 'react';
2+
import { Fragment, ReactNode, useMemo } from 'react';
33
import { jsx } from '@emotion/react';
44
import A11yText from '../internal/A11yText';
55
import { defaultAriaLiveMessages, AriaSelection } from '../accessibility';
@@ -189,16 +189,16 @@ const LiveRegion = <
189189
const ariaContext = `${ariaFocused} ${ariaResults} ${ariaGuidance}`;
190190

191191
const ScreenReaderText = (
192-
<React.Fragment>
192+
<Fragment>
193193
<span id="aria-selection">{ariaSelected}</span>
194194
<span id="aria-context">{ariaContext}</span>
195-
</React.Fragment>
195+
</Fragment>
196196
);
197197

198198
const isInitialFocus = ariaSelection?.action === 'initial-input-focus';
199199

200200
return (
201-
<React.Fragment>
201+
<Fragment>
202202
{/* We use 'aria-describedby' linked to this component for the initial focus */}
203203
{/* action, then for all other actions we use the live region below */}
204204
<A11yText id={id}>{isInitialFocus && ScreenReaderText}</A11yText>
@@ -209,7 +209,7 @@ const LiveRegion = <
209209
>
210210
{isFocused && !isInitialFocus && ScreenReaderText}
211211
</A11yText>
212-
</React.Fragment>
212+
</Fragment>
213213
);
214214
};
215215

packages/react-select/src/internal/ScrollManager.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/** @jsx jsx */
22
import { jsx } from '@emotion/react';
3-
import React, { ReactElement, RefCallback } from 'react';
3+
import { Fragment, ReactElement, RefCallback } from 'react';
44
import useScrollCapture from './useScrollCapture';
55
import useScrollLock from './useScrollLock';
66

@@ -41,14 +41,14 @@ export default function ScrollManager({
4141
};
4242

4343
return (
44-
<React.Fragment>
44+
<Fragment>
4545
{lockEnabled && (
4646
<div
4747
onClick={blurSelectInput}
4848
css={{ position: 'fixed', left: 0, bottom: 0, right: 0, top: 0 }}
4949
/>
5050
)}
5151
{children(targetRef)}
52-
</React.Fragment>
52+
</Fragment>
5353
);
5454
}

packages/react-select/src/stateManager.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
import React, { MutableRefObject, ReactElement, RefAttributes } from 'react';
1+
import * as React from 'react';
2+
import {
3+
forwardRef,
4+
MutableRefObject,
5+
ReactElement,
6+
RefAttributes,
7+
} from 'react';
28

39
import { GroupBase } from './types';
410
import Select from './Select';
@@ -15,7 +21,7 @@ type StateManagedSelect = <
1521
RefAttributes<Select<Option, IsMulti, Group>>
1622
) => ReactElement;
1723

18-
const StateManagedSelect = React.forwardRef(
24+
const StateManagedSelect = forwardRef(
1925
<Option, IsMulti extends boolean, Group extends GroupBase<Option>>(
2026
props: StateManagerProps<Option, IsMulti, Group>,
2127
ref:

packages/react-select/tsconfig.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
"jsx": "react",
66
"noEmit": true,
77
"strict": true,
8-
"esModuleInterop": true,
98
"forceConsistentCasingInFileNames": true,
109
"resolveJsonModule": true
11-
}
10+
},
11+
"exclude": ["src/__tests__"]
1212
}

0 commit comments

Comments
 (0)