Skip to content

Commit

Permalink
feat(codemod): rename InvalidObject to MissingPage
Browse files Browse the repository at this point in the history
  • Loading branch information
adamviktora committed Sep 23, 2024
1 parent 64f0fbf commit 6c111f1
Show file tree
Hide file tree
Showing 6 changed files with 100 additions and 0 deletions.
5 changes: 5 additions & 0 deletions packages/eslint-plugin-pf-codemods/src/ruleCustomization.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,9 @@ export const cleanupRules = [
"no-unused-imports-v5",
"no-unused-imports-v6",
"no-duplicate-import-specifiers",

// These rules rename components. These components also have mods renaming props on them.
// -> we have to rename the component after the rules renaming props finish
"component-groups-invalidObject-rename-to-missingPage",
"component-groups-notAuthorized-rename-to-unauthorizedAccess",
];
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
### component-groups-invalidObject-rename-to-missingPage [(react-component-groups/#313)](https://github.com/patternfly/react-component-groups/pull/313)

In react-component-groups, we've renamed InvalidObject component to MissingPage

#### Examples

In:

```jsx
%inputExample%
```

Out:

```jsx
%outputExample%
```

Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
const ruleTester = require("../../ruletester");
import * as rule from "./component-groups-invalidObject-rename-to-missingPage";

const errors = [
{
message: `InvalidObject has been renamed to MissingPage.`,
type: "JSXOpeningElement",
},
];

ruleTester.run("component-groups-invalidObject-rename-to-missingPage", rule, {
valid: [
// missing import
{
code: `<InvalidObject />`,
},
// import from wrong package
{
code: `import { InvalidObject } from '@patternfly/react-core'; <InvalidObject />`,
},
],
invalid: [
{
code: `import { InvalidObject } from '@patternfly/react-component-groups'; <InvalidObject />`,
output: `import { MissingPage } from '@patternfly/react-component-groups'; <MissingPage data-codemods />`,
errors,
},
// named import with alias
{
code: `import { InvalidObject as InvObj } from '@patternfly/react-component-groups'; <InvObj />`,
output: `import { MissingPage as InvObj } from '@patternfly/react-component-groups'; <InvObj />`,
errors,
},
// default imports
{
code: `import InvalidObject from '@patternfly/react-component-groups/dist/cjs/InvalidObject/index'; <InvalidObject />`,
output: `import MissingPage from '@patternfly/react-component-groups/dist/cjs/MissingPage/index'; <MissingPage data-codemods />`,
errors,
},
{
code: `import InvalidObject from '@patternfly/react-component-groups/dist/esm/InvalidObject/index'; <InvalidObject />`,
output: `import MissingPage from '@patternfly/react-component-groups/dist/esm/MissingPage/index'; <MissingPage data-codemods />`,
errors,
},
{
code: `import InvalidObject from '@patternfly/react-component-groups/dist/dynamic/InvalidObject'; <InvalidObject />`,
output: `import MissingPage from '@patternfly/react-component-groups/dist/dynamic/MissingPage'; <MissingPage data-codemods />`,
errors,
},
// default import with name not matching the component name
{
code: `import InvObj from '@patternfly/react-component-groups/dist/dynamic/InvalidObject'; <InvObj />`,
output: `import InvObj from '@patternfly/react-component-groups/dist/dynamic/MissingPage'; <InvObj />`,
errors,
},
],
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { renameComponent } from "../../helpers/renameComponent";

// https://github.com/patternfly/react-component-groups/pull/313
module.exports = {
meta: { fixable: "code" },
create: renameComponent(
{
InvalidObject: "MissingPage",
},
"@patternfly/react-component-groups"
),
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { InvalidObject } from "@patternfly/react-component-groups";

export const ComponentGroupsInvalidObjectRenameToMissingPageInput =
() => <InvalidObject />;
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { MissingPage } from "@patternfly/react-component-groups";

export const ComponentGroupsInvalidObjectRenameToMissingPageInput =
() => <MissingPage data-codemods />;

0 comments on commit 6c111f1

Please sign in to comment.