UNPKG

@sumup-oss/eslint-plugin-circuit-ui

Version:
104 lines (103 loc) 3.62 kB
/** * Copyright 2025, SumUp Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { RuleTester } from '@typescript-eslint/rule-tester'; import { noRenamedComponents } from './index.js'; const ruleTester = new RuleTester({ languageOptions: { parserOptions: { ecmaFeatures: { jsx: true, }, }, }, }); ruleTester.run('no-renamed-components', noRenamedComponents, { valid: [ { name: 'different component from Circuit UI', code: ` import {Button} from '@sumup-oss/circuit-ui'; function Component() { return <Button /> }`, }, { name: 'similar component from another package', code: ` import {Popover} from 'some-other-package'; function Component() { return <Popover /> }`, }, ], invalid: [ { name: 'matched component from Circuit UI', code: ` import {Popover} from '@sumup-oss/circuit-ui'; function Component() { return <Popover /> }`, output: ` import {ActionMenu} from '@sumup-oss/circuit-ui'; function Component() { return <ActionMenu /> }`, errors: [{ messageId: 'renamed' }, { messageId: 'renamed' }], }, { name: 'matched component from Circuit UI', code: `import {PopoverProps} from '@sumup-oss/circuit-ui';`, output: `import {ActionMenuProps} from '@sumup-oss/circuit-ui';`, errors: [{ messageId: 'renamed' }], }, { name: 'matched component from Circuit UI', code: `import {PopoverItemProps} from '@sumup-oss/circuit-ui';`, output: `import {ActionMenuItemProps} from '@sumup-oss/circuit-ui';`, errors: [{ messageId: 'renamed' }], }, { name: 'matched renamed import from Circuit UI', code: ` import {Popover as CircuitPopover} from '@sumup-oss/circuit-ui'; function Component() { return <CircuitPopover /> }`, output: ` import {ActionMenu as CircuitPopover} from '@sumup-oss/circuit-ui'; function Component() { return <CircuitPopover /> }`, errors: [{ messageId: 'renamed' }], }, { name: 'matched renamed import from Circuit UI', code: ` import {PopoverProps as CircuitPopoverProps} from '@sumup-oss/circuit-ui';`, output: ` import {ActionMenuProps as CircuitPopoverProps} from '@sumup-oss/circuit-ui';`, errors: [{ messageId: 'renamed' }], }, { name: 'matched renamed import from Circuit UI', code: ` import {PopoverItemProps as CircuitPopoverItemProps} from '@sumup-oss/circuit-ui';`, output: ` import {ActionMenuItemProps as CircuitPopoverItemProps} from '@sumup-oss/circuit-ui';`, errors: [{ messageId: 'renamed' }], }, ], });