@gem-mine/fish-codemod-v4

1.0.2 • Public • Published

English | 简体中文

Fish Docs v4 Codemod

A collection of codemod scripts that help upgrade fish v4 using jscodeshift.(Inspired by react-codemod)

NPM version NPM downloads CircleCI

Usage

Before run codemod scripts, you'd better make sure to commit your local git changes firstly.

# global installation
npm i -g @gem-mine/fish-codemod-v4
# or for yarn user
#  yarn global add @gem-mine/fish-codemod-v4
fish-codemod src

# use npx
npx -p @gem-mine/fish-compatible fish-codemod src

Codemod scripts introduction

v3-Component-to-compatible

Replace deprecated Form and Mention from @gem-mine/fish-compatible:

- import { Form, Input, Button, Mention } from 'fish';
+ import { Form, Mention } from '@gem-mine/fish-compatible';
+ import '@gem-mine/fish-compatible/assets/index.css';
+ import { Input, Button } from 'fish';

  ReactDOM.render( (
    <div>
      <Form>
        {getFieldDecorator('username')(<Input />)}
        <Button>Submit</Button>
      </Form>
      <Mention
        style={{ width: '100%' }}
        onChange={onChange}
        defaultValue={toContentState('@afc163')}
        defaultSuggestions={['afc163', 'benjycui']}
        onSelect={onSelect}
      />
    </div>
  );

v3-LocaleProvider-to-v4-ConfigProvider

Replace v3 LocaleProvider with v4 ConfigProvider component.

- import { LocaleProvider } from 'fish';
+ import { ConfigProvider } from 'fish';

  ReactDOM.render(
-   <LocaleProvider {...yourConfig}>
+   <ConfigProvider {...yourConfig}>
      <Main />
-   </LocaleProvider>
+   </ConfigProvider>
    mountNode,
  );

v3-TimePicker-TimeRangePicker-to-v4-RangePicker

TimePicker: replace v3 TimeRangePicker with v4 RangePicker component.

import { TimePicker } from 'fish'

- const { TimeRangePicker } = TimePicker
+ const { RangePicker } = TimePicker

- const Component = () => <TimeRangePicker />
+ const Component = () => <RangePicker />

- const Component1 = () => <TimePicker.TimeRangePicker />
+ const Component1 = () => <TimePicker.RangePicker />

v3-Tree-hideCheckbox-to-v4-checkable

Tree: discard v3 attribute hideCheckbox, use v4 attribute checkable to replace.

import { Tree } from 'fish';

const { TreeNode } = Tree;

const Component = () => (
  <Tree checkable>
    <TreeNode title="parent 1" key="0-0">
      <TreeNode title="parent 1-0" key="0-0-0" disabled>
        <TreeNode title="leaf" key="0-0-0-0" disableCheckbox />
-       <TreeNode title="leaf" key="0-0-0-1" hideCheckbox />
+       <TreeNode title="leaf" key="0-0-0-1" checkable={false} />
      </TreeNode>
    </TreeNode>
  </Tree>
)

License

MIT

Dependents (0)

Package Sidebar

Install

npm i @gem-mine/fish-codemod-v4

Weekly Downloads

7

Version

1.0.2

License

MIT

Unpacked Size

61.9 kB

Total Files

45

Last publish

Collaborators

  • caolvchong
  • wengzp
  • guoyh
  • mraiguo
  • amazebird
  • githoniel
  • janya
  • gylllll