Skip to content

Commit dd46604

Browse files
authored
chore(deps): Use new JSX transform (#11524)
* original work from jon * index and icons pages are not processed by jsx transform changes * disable lint rules on doc index and icons pages * syntax err on disable lint rules * fix issue with lint error disable
1 parent 4c026dd commit dd46604

File tree

26 files changed

+22
-28
lines changed

26 files changed

+22
-28
lines changed

Diff for: babel.config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
module.exports = {
2-
presets: ['@babel/preset-typescript', '@babel/preset-react'],
2+
presets: ['@babel/preset-typescript', ['@babel/preset-react', { runtime: 'automatic' }]],
33
plugins: ['@babel/plugin-transform-modules-commonjs']
44
};

Diff for: eslint.config.mjs

+15-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import patternflyReact from 'eslint-plugin-patternfly-react';
44
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
55
import reactCompiler from 'eslint-plugin-react-compiler';
66
import reactHooks from 'eslint-plugin-react-hooks';
7-
import reactRecommended from 'eslint-plugin-react/configs/recommended.js';
7+
import react from 'eslint-plugin-react';
88
import testingLibrary from 'eslint-plugin-testing-library';
99
import globals from 'globals';
1010
import tseslint from 'typescript-eslint';
@@ -23,7 +23,8 @@ export default [
2323
},
2424
js.configs.recommended,
2525
...tseslint.configs.recommended,
26-
reactRecommended,
26+
react.configs.flat.recommended,
27+
react.configs.flat['jsx-runtime'],
2728
eslintPluginPrettierRecommended,
2829
{
2930
plugins: {
@@ -98,6 +99,18 @@ export default [
9899
'no-eval': 'error',
99100
'no-new-wrappers': 'error',
100101
'no-prototype-builtins': 'off',
102+
'no-restricted-imports': [
103+
'warn',
104+
{
105+
paths: [
106+
{
107+
name: 'react',
108+
importNames: ['default'],
109+
message: 'Please use named imports when importing from React.'
110+
}
111+
]
112+
}
113+
],
101114
'no-shadow': 'off',
102115
'no-throw-literal': 'error',
103116
'no-trailing-spaces': 'off',

Diff for: packages/react-charts/src/victory/components/ChartUtils/chart-container.tsx

-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
/* eslint-disable camelcase */
22
import chart_container_cursor_line_Fill from '@patternfly/react-tokens/dist/esm/chart_container_cursor_line_Fill';
3-
4-
import * as React from 'react';
53
import { ContainerType, createContainer as victoryCreateContainer } from 'victory-create-container';
64
import { ChartCursorTooltip } from '../ChartCursorTooltip/ChartCursorTooltip';
75
import { ChartLabel } from '../ChartLabel/ChartLabel';

Diff for: packages/react-core/src/components/Avatar/examples/AvatarBasic.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { Avatar } from '@patternfly/react-core';
32
import avatarImg from '../../assets/avatarImg.svg';
43

Diff for: packages/react-core/src/components/Avatar/examples/AvatarBordered.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { Avatar } from '@patternfly/react-core';
32
import avatarImg from '../../assets/avatarImg.svg';
43

Diff for: packages/react-core/src/components/Button/__mocks__/Button.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { ButtonProps } from '../';
32

43
export const Button = ({ children, variant, isInline, onClick, iconPosition, icon, ...props }: ButtonProps) => (

Diff for: packages/react-core/src/components/Drawer/__tests__/DrawerPanelDescription.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { render, screen } from '@testing-library/react';
32
import { DrawerPanelDescription } from '../DrawerPanelDescription';
43
import styles from '@patternfly/react-styles/css/components/Drawer/drawer';

Diff for: packages/react-core/src/components/HelperText/__mocks__/HelperText.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { HelperTextProps } from '../';
32

43
export const HelperText = ({ children, isLiveRegion }: HelperTextProps) => (

Diff for: packages/react-core/src/components/HelperText/__mocks__/HelperTextItem.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { HelperTextItemProps } from '../';
32

43
export const HelperTextItem = ({ children, variant }: HelperTextItemProps) => (

Diff for: packages/react-core/src/components/Menu/__mocks__/Menu.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { MenuProps } from '../Menu';
32
import cssMenuMinWidth from '@patternfly/react-tokens/dist/esm/c_menu_MinWidth';
43

Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
import React from 'react';
2-
31
export const MenuContent = ({ children }) => <div>{children}</div>;

Diff for: packages/react-core/src/components/Menu/__mocks__/MenuGroup.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { MenuGroupProps } from '../MenuGroup';
32

43
export const MenuGroup = ({ className, children, label, labelHeadingLevel }: MenuGroupProps) => (

Diff for: packages/react-core/src/components/Menu/__mocks__/MenuItem.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { MenuItemProps } from '../MenuItem';
32

43
export const MenuItem = ({ className, children, description, itemId }: MenuItemProps) => (

Diff for: packages/react-core/src/components/Menu/__mocks__/MenuList.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { MenuListProps } from '../MenuList';
32

43
export const MenuList = ({ className, children }: MenuListProps) => (

Diff for: packages/react-core/src/components/ProgressStepper/examples/ProgressStepperHelpPopover.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { ProgressStepper, ProgressStep, Popover } from '@patternfly/react-core';
32

43
export const PopoverProgressStep = () => (

Diff for: packages/react-core/src/helpers/FocusTrap/FocusTrap.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { createFocusTrap, FocusTrap as FocusTrapInstance, Options as FocusTrapOptions } from 'focus-trap';
2-
import React, { ComponentPropsWithRef, forwardRef, useEffect, useImperativeHandle, useRef } from 'react';
2+
import { ComponentPropsWithRef, forwardRef, useEffect, useImperativeHandle, useRef } from 'react';
33
import { useUnmountEffect } from '../useUnmountEffect';
44

55
export interface FocusTrapProps extends ComponentPropsWithRef<'div'> {

Diff for: packages/react-core/src/helpers/Popper/__mocks__/Popper.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { PopperProps } from '../Popper';
32

43
export const Popper = ({

Diff for: packages/react-core/tsconfig.json

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{
22
"extends": "../tsconfig.base.json",
33
"compilerOptions": {
4-
"jsx": "react",
54
"rootDir": "./src",
65
"outDir": "./dist/esm",
76
"tsBuildInfoFile": "dist/esm.tsbuildinfo",

Diff for: packages/react-docs/patternfly-docs/pages/icons.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
12
import React from 'react';
23
import { Content } from '@patternfly/react-core/dist/esm/components/Content';
34
import { Grid, GridItem } from '@patternfly/react-core/dist/esm/layouts/Grid';

Diff for: packages/react-docs/patternfly-docs/pages/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
12
import React from 'react';
23
import { PageSection } from '@patternfly/react-core/dist/esm/components/Page/PageSection';
34
import { Title } from '@patternfly/react-core/dist/esm/components/Title';

Diff for: packages/react-icons/scripts/writeIcons.mjs

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export default ${jsName};
5151
};
5252

5353
const writeDTSExport = (fname, jsName, icon) => {
54-
const text = `import * as React from 'react';
54+
const text = `import { ComponentClass } from 'react';
5555
import { SVGIconProps } from '../createIcon';
5656
export declare const ${jsName}Config: {
5757
name: '${jsName}',
@@ -61,7 +61,7 @@ export declare const ${jsName}Config: {
6161
yOffset: ${icon.yOffset || 0},
6262
xOffset: ${icon.xOffset || 0},
6363
};
64-
export declare const ${jsName}: React.ComponentClass<SVGIconProps>;
64+
export declare const ${jsName}: ComponentClass<SVGIconProps>;
6565
export default ${jsName};
6666
`.trim();
6767
const filename = `${fname}.d.ts`;

Diff for: packages/react-integration/tsconfig.json

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"noImplicitAny": true,
55
"module": "es6",
66
"target": "es5",
7-
"jsx": "react",
87
"lib": ["dom", "es6"],
98
"allowJs": true,
109
"types": ["cypress"]

Diff for: packages/react-table/src/components/Table/utils/decorators/draggable.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import * as React from 'react';
21
import { IExtra, IFormatterValueType, ITransform } from '../../TableTypes';
32
import { DraggableCell } from '../../DraggableCell';
43

Diff for: packages/react-table/src/components/Table/utils/decorators/editable.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import * as React from 'react';
21
import { IExtra, IFormatterValueType, ITransform, IRowCell, OnRowEdit, RowErrors, RowEditType } from '../../TableTypes';
32
import { EditColumn } from '../../EditColumn';
43
import tableStyles from '@patternfly/react-styles/css/components/Table/table';

Diff for: packages/react-table/tsconfig.json

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{
22
"extends": "../tsconfig.base.json",
33
"compilerOptions": {
4-
"jsx": "react",
54
"rootDir": "./src",
65
"outDir": "./dist/esm",
76
"tsBuildInfoFile": "dist/esm.tsbuildinfo",

Diff for: packages/tsconfig.base.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"compilerOptions": {
33
"assumeChangesOnlyAffectDirectDependencies": true,
4-
"jsx": "react",
4+
"jsx": "react-jsx",
55
"lib": [
66
"es2015",
77
"dom"

0 commit comments

Comments
 (0)